fixed crash w enderscape and issue w jumpy bug not having full health when it spawns
This commit is contained in:
1 parent
446029a445
commit
db99ce1b96
2 files changed
+9
-5
No files matched your search
@@ -26,6 +26,7 @@ import net.minecraft.world.entity.Mob;
|
|||||||
import net.minecraft.world.entity.MobSpawnType;
|
import net.minecraft.world.entity.MobSpawnType;
|
||||||
import net.minecraft.world.entity.MoverType;
|
import net.minecraft.world.entity.MoverType;
|
||||||
import net.minecraft.world.entity.SpawnGroupData;
|
import net.minecraft.world.entity.SpawnGroupData;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeInstance;
|
||||||
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
|
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
|
||||||
import net.minecraft.world.entity.ai.attributes.Attributes;
|
import net.minecraft.world.entity.ai.attributes.Attributes;
|
||||||
import net.minecraft.world.entity.ai.goal.FloatGoal;
|
import net.minecraft.world.entity.ai.goal.FloatGoal;
|
||||||
@@ -178,6 +179,10 @@ public class JumpyBugEntity extends Monster implements GeoEntity {
|
|||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData spawnGroupData) {
|
public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData spawnGroupData) {
|
||||||
|
AttributeInstance maxHealthAttribute = this.getAttribute(Attributes.MAX_HEALTH);
|
||||||
|
if (maxHealthAttribute != null) {
|
||||||
|
maxHealthAttribute.setBaseValue(AntarchySettings.jumpyBugHealth());
|
||||||
|
}
|
||||||
this.setHealth((float) AntarchySettings.jumpyBugHealth());
|
this.setHealth((float) AntarchySettings.jumpyBugHealth());
|
||||||
return super.finalizeSpawn(level, difficulty, spawnReason, spawnGroupData);
|
return super.finalizeSpawn(level, difficulty, spawnReason, spawnGroupData);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,12 +77,11 @@ public abstract class AbstractMinecartMixin implements AntimetalMinecartAccess {
|
|||||||
return BaseRailBlock.isRail(state);
|
return BaseRailBlock.isRail(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Redirect(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/vehicle/AbstractMinecart;moveAlongTrack(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V"))
|
@Inject(method = "moveAlongTrack", at = @At("HEAD"), cancellable = true)
|
||||||
private void antarchy$redirectMoveAlongTrack(AbstractMinecart self, BlockPos pos, BlockState state) {
|
private void antarchy$redirectMoveAlongTrack(BlockPos pos, BlockState state, CallbackInfo ci) {
|
||||||
if (antarchy$antimetalActive && antarchy$antimetalRailPos != null && antarchy$antimetalRailState != null) {
|
if (antarchy$antimetalActive && antarchy$antimetalRailPos != null && antarchy$antimetalRailState != null) {
|
||||||
AntimetalMinecartPhysics.moveAlongTrack(self, antarchy$antimetalRailPos, antarchy$antimetalRailState);
|
AntimetalMinecartPhysics.moveAlongTrack((AbstractMinecart) (Object) this, antarchy$antimetalRailPos, antarchy$antimetalRailState);
|
||||||
} else {
|
ci.cancel();
|
||||||
this.moveAlongTrack(pos, state);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user