OpenCubicChunks / CubicChunks

Infinite* height mod for Minecraft
MIT License
534 stars 69 forks source link

Entities utilizing PathNavigateGround to move not moving at Y=-1000 #421

Closed Foghrye4 closed 5 years ago

Foghrye4 commented 5 years ago

Happen at least since version 902. Not happened at most at version 899. Zombies, creeper, illagers and villagers stand still independent from player game mode at Y=-1000. Spiders move normally. At Y=1000 everything is fine.

I blame https://github.com/OpenCubicChunks/CubicChunks/commit/448248e0dbc4c59deb627f692ef6cea72347164c

Version 903:

    524  putfield net.minecraft.pathfinding.PathPoint.field_186286_l : float [312]
    527  aload 8 [pathpoint]
    529  areturn
    530  iconst_0
    531  istore 25 [i]
    533  iload_2 [y]
    534  aload_0 [this]
    535  iconst_0
    536  invokespecial net.minecraft.pathfinding.WalkNodeProcessor.constant$getMinHeight_GetSafePoint$zcc000(int) : int [386]
    539  if_icmple 652
    542  aload 13 [pathnodetype]
    544  getstatic net.minecraft.pathfinding.PathNodeType.OPEN : net.minecraft.pathfinding.PathNodeType [309]
    547  if_acmpne 652
    550  iinc 2 -1 [y]
    553  iload 25 [i]
    555  iinc 25 1 [i]
    558  aload_0 [this]

Version 899:

   521  invokestatic java.lang.Math.max(float, float) : float [261]
    524  putfield net.minecraft.pathfinding.PathPoint.field_186286_l : float [312]
    527  aload 8 [pathpoint]
    529  areturn
    530  aload_0 [this]
    531  iconst_0
    532  invokespecial net.minecraft.pathfinding.WalkNodeProcessor.constant$getMinHeight_GetSafePoint$zcc000(int) : int [386]
    535  istore 25 [i]
    537  iload_2 [y]
    538  ifle 651
    541  aload 13 [pathnodetype]
    543  getstatic net.minecraft.pathfinding.PathNodeType.OPEN : net.minecraft.pathfinding.PathNodeType [309]
    546  if_acmpne 651
    549  iinc 2 -1 [y]
    552  iload 25 [i]
    554  iinc 25 1 [i]
    557  aload_0 [this]
    558  getfield net.minecraft.pathfinding.WalkNodeProcessor.field_186326_b : net.minecraft.entity.EntityLiving [50]
    561  invokevirtual net.minecraft.entity.EntityLiving.func_82143_as() : int [389]
    564  if_icmplt 569
    567  aconst_null
    568  areturn
Barteks2x commented 5 years ago

I'm sure the code was correct in my dev environment, did you test it in dev?

That would suggest a difference between dev and obfuscated.

Foghrye4 commented 5 years ago

Nope, same while running from IDE.