Run spotlessApply on previous commit

This commit is contained in:
KingRainbow44
2023-04-23 23:12:01 -04:00
parent c9d6225194
commit e85d269518
19 changed files with 579 additions and 276 deletions

View File

@@ -1,13 +1,12 @@
package emu.grasscutter.data.binout;
import static emu.grasscutter.game.ability.AbilityLocalIdGenerator.*;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
import emu.grasscutter.game.ability.AbilityLocalIdGenerator;
import java.util.HashMap;
import java.util.Map;
import static emu.grasscutter.game.ability.AbilityLocalIdGenerator.*;
public class AbilityData {
public String abilityName;
public Map<String, AbilityModifier> modifiers;
@@ -19,44 +18,67 @@ public class AbilityData {
// onAbilityStart
// onKill
public final Map<Integer, AbilityModifierAction> localIdToAction
= new HashMap<>();
public final Map<Integer, AbilityModifierAction> localIdToAction = new HashMap<>();
private boolean _initialized = false;
public void initialize() {
if(_initialized) return;
if (_initialized) return;
_initialized = true;
if(modifiers == null) return;
if (modifiers == null) return;
var _modifiers = modifiers.values().toArray(new AbilityModifier[0]);
var modifierIndex = 0; for (var modifier : _modifiers) {
var modifierIndex = 0;
for (var modifier : _modifiers) {
long configIndex = 0L;
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onAdded, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onRemoved, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onBeingHit, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onAttackLanded, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onHittingOther, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onThinkInterval, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onKill, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onCrash, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onAvatarIn, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onAvatarOut, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onReconnect, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onChangeAuthority, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onVehicleIn, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onVehicleOut, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onZoneEnter, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onZoneExit, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onHeal, localIdToAction);
this.initializeActionSubCategory(modifierIndex, configIndex++, modifier.onBeingHealed, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onAdded, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onRemoved, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onBeingHit, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onAttackLanded, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onHittingOther, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onThinkInterval, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onKill, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onCrash, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onAvatarIn, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onAvatarOut, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onReconnect, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onChangeAuthority, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onVehicleIn, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onVehicleOut, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onZoneEnter, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onZoneExit, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onHeal, localIdToAction);
this.initializeActionSubCategory(
modifierIndex, configIndex++, modifier.onBeingHealed, localIdToAction);
modifierIndex++;
}
}
private void initializeActionSubCategory(long modifierIndex, long configIndex, AbilityModifierAction[] actions, Map<Integer, AbilityModifierAction> localIdToAction) {
if(actions == null) return;
private void initializeActionSubCategory(
long modifierIndex,
long configIndex,
AbilityModifierAction[] actions,
Map<Integer, AbilityModifierAction> localIdToAction) {
if (actions == null) return;
var generator = new AbilityLocalIdGenerator(ConfigAbilitySubContainerType.MODIFIER_ACTION);
generator.modifierIndex = modifierIndex;

View File

@@ -1,19 +1,23 @@
package emu.grasscutter.data.binout;
import java.io.Serializable;
import com.google.gson.annotations.SerializedName;
import emu.grasscutter.data.common.DynamicFloat;
import emu.grasscutter.game.props.ElementType;
import java.io.Serializable;
public class AbilityModifier implements Serializable {
private static final long serialVersionUID = -2001232313615923575L;
@SerializedName(value="onAdded", alternate={"KCICDEJLIJD"})
@SerializedName(
value = "onAdded",
alternate = {"KCICDEJLIJD"})
public AbilityModifierAction[] onAdded;
@SerializedName(value="onThinkInterval", alternate={"PBDDACFFPOE"})
@SerializedName(
value = "onThinkInterval",
alternate = {"PBDDACFFPOE"})
public AbilityModifierAction[] onThinkInterval;
public AbilityModifierAction[] onRemoved;
public AbilityModifierAction[] onBeingHit;
public AbilityModifierAction[] onAttackLanded;
@@ -38,74 +42,241 @@ public class AbilityModifier implements Serializable {
public static class AbilityModifierAction implements Serializable {
public enum Type {
ActCameraRadialBlur, ActCameraShake, AddAvatarSkillInfo, AddChargeBarValue,
AddClimateMeter, AddElementDurability, AddGlobalValue, AddGlobalValueToTarget,
AddRegionalPlayVarValue, ApplyModifier, AttachAbilityStateResistance, AttachBulletAimPoint,
AttachEffect, AttachEffectFirework, AttachElementTypeResistance, AttachModifier,
AttachUIEffect, AvatarCameraParam, AvatarEnterCameraShot, AvatarEnterFocus,
AvatarEnterViewBias, AvatarExitCameraShot, AvatarExitClimb, AvatarExitFocus,
AvatarExitViewBias, AvatarShareCDSkillStart, AvatarSkillStart, BroadcastNeuronStimulate,
CalcDvalinS04RebornPoint, CallLuaTask, ChangeEnviroWeather, ChangeFollowDampTime,
ChangeGadgetUIInteractHint, ChangePlayMode, ChangeTag, ChangeUGCRayTag,
ClearEndura, ClearGlobalPos, ClearGlobalValue, ClearLocalGadgets,
ClearLockTarget, ClearPos, ConfigAbilityAction, ControlEmotion,
CopyGlobalValue, CreateGadget, CreateMovingPlatform, CreateTile,
DamageByAttackValue, DebugLog, DestroyTile, DoBlink,
DoTileAction, DoWatcherSystemAction, DoWidgetSystemAction, DropSubfield,
DummyAction, DungeonFogEffects, ElementAttachForActivityGacha, EnableAIStealthy,
EnableAfterImage, EnableAvatarFlyStateTrail, EnableAvatarMoveOnWater, EnableBulletCollisionPluginTrigger,
EnableGadgetIntee, EnableHeadControl, EnableHitBoxByName, EnableMainInterface,
EnablePartControl, EnablePositionSynchronization, EnablePushColliderName, EnableRocketJump,
EnableSceneTransformByName, EnterCameraLock, EntityDoSkill, EquipAffixStart,
ExecuteGadgetLua, FireAISoundEvent, FireChargeBarEffect, FireEffect,
FireEffectFirework, FireEffectForStorm, FireFishingEvent, FireHitEffect,
FireSubEmitterEffect, FireUIEffect, FixedMonsterRushMove, ForceAirStateFly,
ForceEnableShakeOffButton, GenerateElemBall, GetFightProperty, GetInteractIdToGlobalValue,
GetPos, HealHP, HideUIBillBoard, IgnoreMoveColToRockCol,
KillGadget, KillPlayEntity, KillSelf, KillServerGadget,
LoseHP, ModifyAvatarSkillCD, ModifyVehicleSkillCD, PlayEmoSync,
Predicated, PushDvalinS01Process, PushInterActionByConfigPath, PushPos,
Randomed, ReTriggerAISkillInitialCD, RefreshUICombatBarLayout, RegisterAIActionPoint,
ReleaseAIActionPoint, RemoveAvatarSkillInfo, RemoveModifier, RemoveModifierByAbilityStateResistanceID,
RemoveServerBuff, RemoveUniqueModifier, RemoveVelocityForce, Repeated,
ResetAIAttackTarget, ResetAIResistTauntLevel, ResetAIThreatBroadcastRange, ResetAnimatorTrigger,
ReviveDeadAvatar, ReviveElemEnergy, ReviveStamina, SectorCityManeuver,
SendEffectTrigger, SendEffectTriggerToLineEffect, SendEvtElectricCoreMoveEnterP1, SendEvtElectricCoreMoveInterrupt,
ServerLuaCall, ServerLuaTriggerEvent, ServerMonsterLog, SetAIHitFeeling,
SetAISkillCDAvailableNow, SetAISkillCDMultiplier, SetAISkillGCD, SetAnimatorBool,
SetAnimatorFloat, SetAnimatorInt, SetAnimatorTrigger, SetAvatarCanShakeOff,
SetAvatarHitBuckets, SetCanDieImmediately, SetChargeBarValue, SetDvalinS01FlyState,
SetEmissionScaler, SetEntityScale, SetExtraAbilityEnable, SetExtraAbilityState,
SetGlobalDir, SetGlobalPos, SetGlobalValue, SetGlobalValueByTargetDistance,
SetGlobalValueToOverrideMap, SetKeepInAirVelocityForce, SetMaterialParamFloatByTransform, SetNeuronEnable,
SetOverrideMapValue, SetPartControlTarget, SetPoseBool, SetPoseFloat,
SetPoseInt, SetRandomOverrideMapValue, SetRegionalPlayVarValue, SetSelfAttackTarget,
SetSkillAnchor, SetSpecialCamera, SetSurroundAnchor, SetSystemValueToOverrideMap,
SetTargetNumToGlobalValue, SetUICombatBarAsh, SetUICombatBarSpark, SetVelocityIgnoreAirGY,
SetWeaponAttachPointRealName, SetWeaponBindState, ShowExtraAbility, ShowProgressBarAction,
ShowReminder, ShowScreenEffect, ShowTextMap, ShowUICombatBar,
StartDither, SumTargetWeightToSelfGlobalValue, Summon, SyncToStageScript,
TriggerAbility, TriggerAttackEvent, TriggerAttackTargetMapEvent, TriggerAudio,
TriggerAuxWeaponTrans, TriggerBullet, TriggerCreateGadgetToEquipPart, TriggerDropEquipParts,
TriggerFaceAnimation, TriggerGadgetInteractive, TriggerHideWeapon, TriggerSetCastShadow,
TriggerSetPassThrough, TriggerSetRenderersEnable, TriggerSetShadowRamp, TriggerSetVisible,
TriggerTaunt, TriggerThrowEquipPart, TriggerUGCGadgetMove, TryFindBlinkPoint,
TryFindBlinkPointByBorn, TryTriggerPlatformStartMove, TurnDirection, TurnDirectionToPos,
UpdateReactionDamage, UseSkillEliteSet, WidgetSkillStart;
ActCameraRadialBlur,
ActCameraShake,
AddAvatarSkillInfo,
AddChargeBarValue,
AddClimateMeter,
AddElementDurability,
AddGlobalValue,
AddGlobalValueToTarget,
AddRegionalPlayVarValue,
ApplyModifier,
AttachAbilityStateResistance,
AttachBulletAimPoint,
AttachEffect,
AttachEffectFirework,
AttachElementTypeResistance,
AttachModifier,
AttachUIEffect,
AvatarCameraParam,
AvatarEnterCameraShot,
AvatarEnterFocus,
AvatarEnterViewBias,
AvatarExitCameraShot,
AvatarExitClimb,
AvatarExitFocus,
AvatarExitViewBias,
AvatarShareCDSkillStart,
AvatarSkillStart,
BroadcastNeuronStimulate,
CalcDvalinS04RebornPoint,
CallLuaTask,
ChangeEnviroWeather,
ChangeFollowDampTime,
ChangeGadgetUIInteractHint,
ChangePlayMode,
ChangeTag,
ChangeUGCRayTag,
ClearEndura,
ClearGlobalPos,
ClearGlobalValue,
ClearLocalGadgets,
ClearLockTarget,
ClearPos,
ConfigAbilityAction,
ControlEmotion,
CopyGlobalValue,
CreateGadget,
CreateMovingPlatform,
CreateTile,
DamageByAttackValue,
DebugLog,
DestroyTile,
DoBlink,
DoTileAction,
DoWatcherSystemAction,
DoWidgetSystemAction,
DropSubfield,
DummyAction,
DungeonFogEffects,
ElementAttachForActivityGacha,
EnableAIStealthy,
EnableAfterImage,
EnableAvatarFlyStateTrail,
EnableAvatarMoveOnWater,
EnableBulletCollisionPluginTrigger,
EnableGadgetIntee,
EnableHeadControl,
EnableHitBoxByName,
EnableMainInterface,
EnablePartControl,
EnablePositionSynchronization,
EnablePushColliderName,
EnableRocketJump,
EnableSceneTransformByName,
EnterCameraLock,
EntityDoSkill,
EquipAffixStart,
ExecuteGadgetLua,
FireAISoundEvent,
FireChargeBarEffect,
FireEffect,
FireEffectFirework,
FireEffectForStorm,
FireFishingEvent,
FireHitEffect,
FireSubEmitterEffect,
FireUIEffect,
FixedMonsterRushMove,
ForceAirStateFly,
ForceEnableShakeOffButton,
GenerateElemBall,
GetFightProperty,
GetInteractIdToGlobalValue,
GetPos,
HealHP,
HideUIBillBoard,
IgnoreMoveColToRockCol,
KillGadget,
KillPlayEntity,
KillSelf,
KillServerGadget,
LoseHP,
ModifyAvatarSkillCD,
ModifyVehicleSkillCD,
PlayEmoSync,
Predicated,
PushDvalinS01Process,
PushInterActionByConfigPath,
PushPos,
Randomed,
ReTriggerAISkillInitialCD,
RefreshUICombatBarLayout,
RegisterAIActionPoint,
ReleaseAIActionPoint,
RemoveAvatarSkillInfo,
RemoveModifier,
RemoveModifierByAbilityStateResistanceID,
RemoveServerBuff,
RemoveUniqueModifier,
RemoveVelocityForce,
Repeated,
ResetAIAttackTarget,
ResetAIResistTauntLevel,
ResetAIThreatBroadcastRange,
ResetAnimatorTrigger,
ReviveDeadAvatar,
ReviveElemEnergy,
ReviveStamina,
SectorCityManeuver,
SendEffectTrigger,
SendEffectTriggerToLineEffect,
SendEvtElectricCoreMoveEnterP1,
SendEvtElectricCoreMoveInterrupt,
ServerLuaCall,
ServerLuaTriggerEvent,
ServerMonsterLog,
SetAIHitFeeling,
SetAISkillCDAvailableNow,
SetAISkillCDMultiplier,
SetAISkillGCD,
SetAnimatorBool,
SetAnimatorFloat,
SetAnimatorInt,
SetAnimatorTrigger,
SetAvatarCanShakeOff,
SetAvatarHitBuckets,
SetCanDieImmediately,
SetChargeBarValue,
SetDvalinS01FlyState,
SetEmissionScaler,
SetEntityScale,
SetExtraAbilityEnable,
SetExtraAbilityState,
SetGlobalDir,
SetGlobalPos,
SetGlobalValue,
SetGlobalValueByTargetDistance,
SetGlobalValueToOverrideMap,
SetKeepInAirVelocityForce,
SetMaterialParamFloatByTransform,
SetNeuronEnable,
SetOverrideMapValue,
SetPartControlTarget,
SetPoseBool,
SetPoseFloat,
SetPoseInt,
SetRandomOverrideMapValue,
SetRegionalPlayVarValue,
SetSelfAttackTarget,
SetSkillAnchor,
SetSpecialCamera,
SetSurroundAnchor,
SetSystemValueToOverrideMap,
SetTargetNumToGlobalValue,
SetUICombatBarAsh,
SetUICombatBarSpark,
SetVelocityIgnoreAirGY,
SetWeaponAttachPointRealName,
SetWeaponBindState,
ShowExtraAbility,
ShowProgressBarAction,
ShowReminder,
ShowScreenEffect,
ShowTextMap,
ShowUICombatBar,
StartDither,
SumTargetWeightToSelfGlobalValue,
Summon,
SyncToStageScript,
TriggerAbility,
TriggerAttackEvent,
TriggerAttackTargetMapEvent,
TriggerAudio,
TriggerAuxWeaponTrans,
TriggerBullet,
TriggerCreateGadgetToEquipPart,
TriggerDropEquipParts,
TriggerFaceAnimation,
TriggerGadgetInteractive,
TriggerHideWeapon,
TriggerSetCastShadow,
TriggerSetPassThrough,
TriggerSetRenderersEnable,
TriggerSetShadowRamp,
TriggerSetVisible,
TriggerTaunt,
TriggerThrowEquipPart,
TriggerUGCGadgetMove,
TryFindBlinkPoint,
TryFindBlinkPointByBorn,
TryTriggerPlatformStartMove,
TurnDirection,
TurnDirectionToPos,
UpdateReactionDamage,
UseSkillEliteSet,
WidgetSkillStart;
}
@SerializedName("$type")
public Type type;
public String target;
@SerializedName(value = "amount", alternate = "PDLLIFICICJ")
public DynamicFloat amount = DynamicFloat.ZERO;
public DynamicFloat amountByCasterAttackRatio = DynamicFloat.ZERO;
public DynamicFloat amountByCasterCurrentHPRatio = DynamicFloat.ZERO;
public DynamicFloat amountByCasterMaxHPRatio = DynamicFloat.ZERO;
public DynamicFloat amountByGetDamage = DynamicFloat.ZERO;
public DynamicFloat amountByTargetCurrentHPRatio = DynamicFloat.ZERO;
public DynamicFloat amountByTargetMaxHPRatio = DynamicFloat.ZERO;
@SerializedName(value = "ignoreAbilityProperty", alternate = "HHFGADCJJDI")
public boolean ignoreAbilityProperty;
public String modifierName;
public int param1;
@@ -113,7 +284,8 @@ public class AbilityModifier implements Serializable {
public int param3;
}
//The following should be implemented into DynamicFloat if older resource formats need to be supported
// The following should be implemented into DynamicFloat if older resource formats need to be
// supported
// public static class AbilityModifierValue {
// public boolean isFormula;
// public boolean isDynamic;

View File

@@ -6,7 +6,6 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.scripts.SceneIndexManager;
import emu.grasscutter.utils.GridPosition;
import emu.grasscutter.utils.Position;
import java.util.*;
public class Grid {
@@ -15,14 +14,13 @@ public class Grid {
public Map<GridPosition, Set<Integer>> grid = new LinkedHashMap<>();
/**
* Creates an optimized cache of the grid.
*/
/** Creates an optimized cache of the grid. */
private void optimize() {
if (this.gridOptimized == null) {
var gridValues = new ArrayList<Map.Entry<GridPosition, Set<Integer>>>();
this.grid.forEach((k, v) -> gridValues.add(new AbstractMap.SimpleEntry<>(k, v)));
this.gridOptimized = SceneIndexManager.buildIndex(2, gridValues, entry -> entry.getKey().toPoint());
this.gridOptimized =
SceneIndexManager.buildIndex(2, gridValues, entry -> entry.getKey().toPoint());
}
}
@@ -57,7 +55,7 @@ public class Grid {
// Construct a list of nearby groups.
SceneIndexManager.queryNeighbors(gridOptimized, pos.toDoubleArray(), vision_range_grid + 1)
.forEach(e -> nearbyGroups.addAll(e.getValue()));
.forEach(e -> nearbyGroups.addAll(e.getValue()));
return this.nearbyGroups;
}
}