mirror of https://github.com/FabricMC/yarn.git
Revamp control to be more accurate (#2513)
* Revamp control to be more accurate Fixes stepAngleTowards to be clampAngle, 3 mob entity methods I initially wanted to just map the shulker look control class, turns out the whole look control system has some wrong names. Signed-off-by: liach <liach@users.noreply.github.com> * Update mappings/net/minecraft/entity/mob/MobEntity.mapping Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com> Co-authored-by: liach <liach@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com>
This commit is contained in:
parent
54912de905
commit
967ba53ab5
|
@ -1,7 +0,0 @@
|
||||||
CLASS net/minecraft/class_1332 net/minecraft/entity/ai/control/AquaticLookControl
|
|
||||||
FIELD field_30200 ADDED_PITCH I
|
|
||||||
FIELD field_30201 ADDED_YAW I
|
|
||||||
FIELD field_6357 maxYawDifference I
|
|
||||||
METHOD <init> (Lnet/minecraft/class_1308;I)V
|
|
||||||
ARG 1 entity
|
|
||||||
ARG 2 maxYawDifference
|
|
|
@ -1,15 +1,27 @@
|
||||||
CLASS net/minecraft/class_1330 net/minecraft/entity/ai/control/BodyControl
|
CLASS net/minecraft/class_1330 net/minecraft/entity/ai/control/BodyControl
|
||||||
FIELD field_30194 MAX_HEAD_YAW I
|
COMMENT The body control ensures a mob's head and body yaws are kept up with each other.
|
||||||
FIELD field_30195 MAX_ACTIVE_TICKS I
|
FIELD field_30194 BODY_KEEP_UP_THRESHOLD I
|
||||||
|
FIELD field_30195 ROTATE_BODY_START_TICK I
|
||||||
FIELD field_30196 ROTATION_INCREMENTS I
|
FIELD field_30196 ROTATION_INCREMENTS I
|
||||||
FIELD field_6354 lastHeadYaw F
|
FIELD field_6354 lastHeadYaw F
|
||||||
FIELD field_6355 activeTicks I
|
FIELD field_6355 bodyAdjustTicks I
|
||||||
FIELD field_6356 entity Lnet/minecraft/class_1308;
|
FIELD field_6356 entity Lnet/minecraft/class_1308;
|
||||||
METHOD <init> (Lnet/minecraft/class_1308;)V
|
METHOD <init> (Lnet/minecraft/class_1308;)V
|
||||||
ARG 1 entity
|
ARG 1 entity
|
||||||
METHOD method_20243 rotateLook ()V
|
METHOD method_20243 keepUpBody ()V
|
||||||
METHOD method_20244 rotateHead ()V
|
COMMENT Keeps up the body yaw by ensuring it is within the {@linkplain
|
||||||
METHOD method_20245 rotateBody ()V
|
COMMENT MobEntity#getMaxHeadRotation max head rotation} from the head yaw.
|
||||||
|
METHOD method_20244 keepUpHead ()V
|
||||||
|
COMMENT Keeps up the head yaw by ensuring it is within the {@linkplain
|
||||||
|
COMMENT MobEntity#getMaxHeadRotation max head rotation} from the body yaw.
|
||||||
|
METHOD method_20245 slowlyAdjustBody ()V
|
||||||
|
COMMENT Gradually adjusts the body yaw toward the head yaw, starting after 10 ticks of
|
||||||
|
COMMENT {@linkplain #bodyAdjustTicks wait} and finishes by the 20th tick.
|
||||||
METHOD method_20246 isIndependent ()Z
|
METHOD method_20246 isIndependent ()Z
|
||||||
METHOD method_20247 isMoving ()Z
|
METHOD method_20247 isMoving ()Z
|
||||||
METHOD method_6224 tick ()V
|
METHOD method_6224 tick ()V
|
||||||
|
COMMENT Ticks the body control.
|
||||||
|
COMMENT
|
||||||
|
COMMENT @implSpec If the entity {@linkplain #isMoving() has moved}, its body yaw
|
||||||
|
COMMENT adjusts to its head yaw. Otherwise, if the entity is {@linkplain
|
||||||
|
COMMENT #isIndependent() not steered}, its head yaw adjusts to its body yaw.
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
CLASS net/minecraft/class_1333 net/minecraft/entity/ai/control/LookControl
|
CLASS net/minecraft/class_1333 net/minecraft/entity/ai/control/LookControl
|
||||||
FIELD field_6358 pitchSpeed F
|
COMMENT The look control adjusts a mob's rotations to look at a target position.
|
||||||
FIELD field_6359 yawSpeed F
|
FIELD field_6358 maxPitchChange F
|
||||||
FIELD field_6360 active Z
|
FIELD field_6359 maxYawChange F
|
||||||
|
FIELD field_6360 pending Z
|
||||||
FIELD field_6361 entity Lnet/minecraft/class_1308;
|
FIELD field_6361 entity Lnet/minecraft/class_1308;
|
||||||
FIELD field_6362 lookZ D
|
FIELD field_6362 z D
|
||||||
FIELD field_6363 lookY D
|
FIELD field_6363 y D
|
||||||
FIELD field_6364 lookX D
|
FIELD field_6364 x D
|
||||||
METHOD <init> (Lnet/minecraft/class_1308;)V
|
METHOD <init> (Lnet/minecraft/class_1308;)V
|
||||||
ARG 1 entity
|
ARG 1 entity
|
||||||
METHOD method_19615 lookAt (Lnet/minecraft/class_243;)V
|
METHOD method_19615 lookAt (Lnet/minecraft/class_243;)V
|
||||||
|
@ -21,14 +22,23 @@ CLASS net/minecraft/class_1333 net/minecraft/entity/ai/control/LookControl
|
||||||
METHOD method_20433 shouldStayHorizontal ()Z
|
METHOD method_20433 shouldStayHorizontal ()Z
|
||||||
METHOD method_35111 lookAt (Lnet/minecraft/class_1297;)V
|
METHOD method_35111 lookAt (Lnet/minecraft/class_1297;)V
|
||||||
ARG 1 entity
|
ARG 1 entity
|
||||||
|
METHOD method_36980 clampHeadYaw ()V
|
||||||
|
METHOD method_37355 (Ljava/lang/Float;)V
|
||||||
|
ARG 1 pitch
|
||||||
|
METHOD method_37356 (Ljava/lang/Float;)V
|
||||||
|
ARG 1 yaw
|
||||||
METHOD method_6225 getLookX ()D
|
METHOD method_6225 getLookX ()D
|
||||||
METHOD method_6226 lookAt (Lnet/minecraft/class_1297;FF)V
|
METHOD method_6226 lookAt (Lnet/minecraft/class_1297;FF)V
|
||||||
ARG 1 entity
|
ARG 1 entity
|
||||||
ARG 2 yawSpeed
|
ARG 2 maxYawChange
|
||||||
ARG 3 pitchSpeed
|
ARG 3 maxPitchChange
|
||||||
METHOD method_6227 getLookY ()D
|
METHOD method_6227 getLookY ()D
|
||||||
METHOD method_6228 getLookZ ()D
|
METHOD method_6228 getLookZ ()D
|
||||||
METHOD method_6229 changeAngle (FFF)F
|
METHOD method_6229 changeAngle (FFF)F
|
||||||
|
COMMENT Changes the angle from {@code from} to {@code to}, or by {@code max} degrees
|
||||||
|
COMMENT if {@code to} is too big a change.
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>This is the same as {@link MobEntity#changeAngle(float, float, float)}.
|
||||||
ARG 1 from
|
ARG 1 from
|
||||||
ARG 2 to
|
ARG 2 to
|
||||||
ARG 3 max
|
ARG 3 max
|
||||||
|
@ -36,7 +46,7 @@ CLASS net/minecraft/class_1333 net/minecraft/entity/ai/control/LookControl
|
||||||
ARG 1 x
|
ARG 1 x
|
||||||
ARG 3 y
|
ARG 3 y
|
||||||
ARG 5 z
|
ARG 5 z
|
||||||
ARG 7 yawSpeed
|
ARG 7 maxYawChange
|
||||||
ARG 8 pitchSpeed
|
ARG 8 maxPitchChange
|
||||||
METHOD method_6231 tick ()V
|
METHOD method_6231 tick ()V
|
||||||
METHOD method_6232 isActive ()Z
|
METHOD method_6232 isPending ()Z
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
CLASS net/minecraft/class_1332 net/minecraft/entity/ai/control/YawAdjustingLookControl
|
||||||
|
COMMENT The yaw adjusting look control adjusts the entity's body yaw to be close to the
|
||||||
|
COMMENT head yaw. In vanilla, this is used by entities that cannot rotate their heads
|
||||||
|
COMMENT easily, such as axolotl and dolphin.
|
||||||
|
FIELD field_30200 ADDED_PITCH I
|
||||||
|
FIELD field_30201 ADDED_YAW I
|
||||||
|
FIELD field_6357 yawAdjustThreshold I
|
||||||
|
METHOD <init> (Lnet/minecraft/class_1308;I)V
|
||||||
|
ARG 1 entity
|
||||||
|
ARG 2 yawAdjustThreshold
|
||||||
|
METHOD method_37357 (Ljava/lang/Float;)V
|
||||||
|
ARG 1 pitch
|
||||||
|
METHOD method_37358 (Ljava/lang/Float;)V
|
||||||
|
ARG 1 yaw
|
|
@ -48,7 +48,12 @@ CLASS net/minecraft/class_1308 net/minecraft/entity/mob/MobEntity
|
||||||
ARG 1 id
|
ARG 1 id
|
||||||
METHOD method_19540 setAttacking (Z)V
|
METHOD method_19540 setAttacking (Z)V
|
||||||
ARG 1 attacking
|
ARG 1 attacking
|
||||||
METHOD method_20240 getLookYawSpeed ()I
|
METHOD method_20240 getMaxLookYawChange ()I
|
||||||
|
COMMENT {@return the maximum degrees which the yaw can change when looking}
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>This is used by the look control.
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>The default return value is {@code 10}.
|
||||||
METHOD method_20417 updateGoalControls ()V
|
METHOD method_20417 updateGoalControls ()V
|
||||||
METHOD method_20636 canMobSpawn (Lnet/minecraft/class_1299;Lnet/minecraft/class_1936;Lnet/minecraft/class_3730;Lnet/minecraft/class_2338;Ljava/util/Random;)Z
|
METHOD method_20636 canMobSpawn (Lnet/minecraft/class_1299;Lnet/minecraft/class_1936;Lnet/minecraft/class_3730;Lnet/minecraft/class_2338;Ljava/util/Random;)Z
|
||||||
ARG 0 type
|
ARG 0 type
|
||||||
|
@ -163,9 +168,13 @@ CLASS net/minecraft/class_1308 net/minecraft/entity/mob/MobEntity
|
||||||
METHOD method_5958 mobTick ()V
|
METHOD method_5958 mobTick ()V
|
||||||
METHOD method_5959 initGoals ()V
|
METHOD method_5959 initGoals ()V
|
||||||
METHOD method_5960 changeAngle (FFF)F
|
METHOD method_5960 changeAngle (FFF)F
|
||||||
ARG 1 oldAngle
|
COMMENT Changes the angle from {@code from} to {@code to}, or by {@code max} degrees
|
||||||
ARG 2 newAngle
|
COMMENT if {@code to} is too big a change.
|
||||||
ARG 3 maxChangeInAngle
|
COMMENT
|
||||||
|
COMMENT <p>This is the same as {@link LookControl#changeAngle(float, float, float)}.
|
||||||
|
ARG 1 from
|
||||||
|
ARG 2 to
|
||||||
|
ARG 3 max
|
||||||
METHOD method_5961 isLeftHanded ()Z
|
METHOD method_5961 isLeftHanded ()Z
|
||||||
METHOD method_5962 getMoveControl ()Lnet/minecraft/class_1335;
|
METHOD method_5962 getMoveControl ()Lnet/minecraft/class_1335;
|
||||||
METHOD method_5963 createBodyControl ()Lnet/minecraft/class_1330;
|
METHOD method_5963 createBodyControl ()Lnet/minecraft/class_1330;
|
||||||
|
@ -187,7 +196,14 @@ CLASS net/minecraft/class_1308 net/minecraft/entity/mob/MobEntity
|
||||||
ARG 1 upwardSpeed
|
ARG 1 upwardSpeed
|
||||||
METHOD method_5977 setAiDisabled (Z)V
|
METHOD method_5977 setAiDisabled (Z)V
|
||||||
ARG 1 aiDisabled
|
ARG 1 aiDisabled
|
||||||
METHOD method_5978 getLookPitchSpeed ()I
|
METHOD method_5978 getMaxLookPitchChange ()I
|
||||||
|
COMMENT {@return the maximum degrees which the pitch can change when looking}
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>This is used by the look control.
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>It can return from {@code 1} for entities that can hardly raise their head,
|
||||||
|
COMMENT like axolotols or dolphins, or {@code 180} for entities that can freely raise
|
||||||
|
COMMENT and lower their head, like guardians. The default return value is {@code 40}.
|
||||||
METHOD method_5979 canSpawn (Lnet/minecraft/class_1936;Lnet/minecraft/class_3730;)Z
|
METHOD method_5979 canSpawn (Lnet/minecraft/class_1936;Lnet/minecraft/class_3730;)Z
|
||||||
ARG 1 world
|
ARG 1 world
|
||||||
ARG 2 spawnReason
|
ARG 2 spawnReason
|
||||||
|
@ -197,7 +213,14 @@ CLASS net/minecraft/class_1308 net/minecraft/entity/mob/MobEntity
|
||||||
METHOD method_5984 updateEnchantments (Lnet/minecraft/class_1266;)V
|
METHOD method_5984 updateEnchantments (Lnet/minecraft/class_1266;)V
|
||||||
ARG 1 difficulty
|
ARG 1 difficulty
|
||||||
METHOD method_5985 getVisibilityCache ()Lnet/minecraft/class_1413;
|
METHOD method_5985 getVisibilityCache ()Lnet/minecraft/class_1413;
|
||||||
METHOD method_5986 getBodyYawSpeed ()I
|
METHOD method_5986 getMaxHeadRotation ()I
|
||||||
|
COMMENT {@return the maximum degrees which the head yaw can differ from the body yaw}
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>This is used by the body control.
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>It can return from {@code 1} for entities that can hardly rotate their head,
|
||||||
|
COMMENT like axolotols or dolphins, or {@code 180} for entities that can freely rotate
|
||||||
|
COMMENT their head, like shulkers. The default return value is {@code 75}.
|
||||||
METHOD method_5987 isAiDisabled ()Z
|
METHOD method_5987 isAiDisabled ()Z
|
||||||
METHOD method_5988 getLookControl ()Lnet/minecraft/class_1333;
|
METHOD method_5988 getLookControl ()Lnet/minecraft/class_1333;
|
||||||
METHOD method_5990 playSpawnEffects ()V
|
METHOD method_5990 playSpawnEffects ()V
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
CLASS net/minecraft/class_1606 net/minecraft/entity/mob/ShulkerEntity
|
CLASS net/minecraft/class_1606 net/minecraft/entity/mob/ShulkerEntity
|
||||||
|
FIELD field_33765 SOUTH_VECTOR Lnet/minecraft/class_1160;
|
||||||
FIELD field_7337 openProgress F
|
FIELD field_7337 openProgress F
|
||||||
FIELD field_7339 prevOpenProgress F
|
FIELD field_7339 prevOpenProgress F
|
||||||
FIELD field_7340 teleportLerpTimer I
|
FIELD field_7340 teleportLerpTimer I
|
||||||
|
@ -53,3 +54,6 @@ CLASS net/minecraft/class_1606 net/minecraft/entity/mob/ShulkerEntity
|
||||||
ARG 2 shulker
|
ARG 2 shulker
|
||||||
CLASS class_1611 PeekGoal
|
CLASS class_1611 PeekGoal
|
||||||
FIELD field_7352 counter I
|
FIELD field_7352 counter I
|
||||||
|
CLASS class_6376 ShulkerLookControl
|
||||||
|
METHOD <init> (Lnet/minecraft/class_1606;Lnet/minecraft/class_1308;)V
|
||||||
|
ARG 2 entity
|
||||||
|
|
|
@ -72,7 +72,7 @@ CLASS net/minecraft/class_5762 net/minecraft/entity/passive/AxolotlEntity
|
||||||
CLASS class_5764 AxolotlLookControl
|
CLASS class_5764 AxolotlLookControl
|
||||||
METHOD <init> (Lnet/minecraft/class_5762;Lnet/minecraft/class_5762;I)V
|
METHOD <init> (Lnet/minecraft/class_5762;Lnet/minecraft/class_5762;I)V
|
||||||
ARG 2 axolotl
|
ARG 2 axolotl
|
||||||
ARG 3 maxYawDifference
|
ARG 3 yawAdjustThreshold
|
||||||
CLASS class_5765 AxolotlMoveControl
|
CLASS class_5765 AxolotlMoveControl
|
||||||
FIELD field_28340 axolotl Lnet/minecraft/class_5762;
|
FIELD field_28340 axolotl Lnet/minecraft/class_5762;
|
||||||
METHOD <init> (Lnet/minecraft/class_5762;)V
|
METHOD <init> (Lnet/minecraft/class_5762;)V
|
||||||
|
|
|
@ -240,11 +240,17 @@ CLASS net/minecraft/class_3532 net/minecraft/util/math/MathHelper
|
||||||
ARG 2 end
|
ARG 2 end
|
||||||
METHOD method_17822 sign (D)I
|
METHOD method_17822 sign (D)I
|
||||||
ARG 0 value
|
ARG 0 value
|
||||||
METHOD method_20306 stepAngleTowards (FFF)F
|
METHOD method_20306 clampAngle (FFF)F
|
||||||
COMMENT Steps from {@code from} degrees towards {@code to} degrees, changing the value by at most {@code step} degrees.
|
COMMENT Clamps {@code value}, as an angle, between {@code mean - delta} and {@code
|
||||||
ARG 0 from
|
COMMENT mean + delta} degrees.
|
||||||
ARG 1 to
|
COMMENT
|
||||||
ARG 2 step
|
COMMENT @return the clamped {@code value}
|
||||||
|
ARG 0 value
|
||||||
|
COMMENT the value to clamp
|
||||||
|
ARG 1 mean
|
||||||
|
COMMENT the mean value of the clamp angle range
|
||||||
|
ARG 2 delta
|
||||||
|
COMMENT the maximum difference allowed from the mean, must not be negative
|
||||||
METHOD method_20390 approximatelyEquals (DD)Z
|
METHOD method_20390 approximatelyEquals (DD)Z
|
||||||
ARG 0 a
|
ARG 0 a
|
||||||
ARG 2 b
|
ARG 2 b
|
||||||
|
@ -326,13 +332,23 @@ CLASS net/minecraft/class_3532 net/minecraft/util/math/MathHelper
|
||||||
ARG 0 string
|
ARG 0 string
|
||||||
ARG 1 fallback
|
ARG 1 fallback
|
||||||
METHOD method_34948 parseDouble (Ljava/lang/String;DD)D
|
METHOD method_34948 parseDouble (Ljava/lang/String;DD)D
|
||||||
|
COMMENT {@return the parsed double; {@code fallback} if {@code string} is not an
|
||||||
|
COMMENT double; or {@code min} if the parsed double is too small}
|
||||||
ARG 0 string
|
ARG 0 string
|
||||||
|
COMMENT the string to parse
|
||||||
ARG 1 fallback
|
ARG 1 fallback
|
||||||
|
COMMENT the fallback for unparsable {@code string}
|
||||||
ARG 3 min
|
ARG 3 min
|
||||||
|
COMMENT the minimum if the parsed value is too small
|
||||||
METHOD method_34949 parseInt (Ljava/lang/String;II)I
|
METHOD method_34949 parseInt (Ljava/lang/String;II)I
|
||||||
|
COMMENT {@return the parsed integer; {@code fallback} if {@code string} is not an
|
||||||
|
COMMENT integer; or {@code min} if the parsed integer is too small}
|
||||||
ARG 0 string
|
ARG 0 string
|
||||||
|
COMMENT the string to parse
|
||||||
ARG 1 fallback
|
ARG 1 fallback
|
||||||
|
COMMENT the fallback for unparsable {@code string}
|
||||||
ARG 2 min
|
ARG 2 min
|
||||||
|
COMMENT the minimum if the parsed value is too small
|
||||||
METHOD method_34951 getCumulativeDistribution ([D)[D
|
METHOD method_34951 getCumulativeDistribution ([D)[D
|
||||||
ARG 0 values
|
ARG 0 values
|
||||||
METHOD method_34952 multiplyColors (II)I
|
METHOD method_34952 multiplyColors (II)I
|
||||||
|
|
Loading…
Reference in New Issue