From f316ffa3e237d6ce0fc3e0f8ee8337baf1316c93 Mon Sep 17 00:00:00 2001 From: gnembon <41132274+gnembon@users.noreply.github.com> Date: Wed, 24 Jan 2024 23:52:01 +0100 Subject: [PATCH] 24w04a --- gradle.properties | 2 +- .../PiglinBrute_getPlacementTypeMixin.java | 20 ++++--------------- .../carpet/utils/PerimeterDiagnostics.java | 4 +--- src/main/java/carpet/utils/SpawnReporter.java | 4 ++-- 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/gradle.properties b/gradle.properties index 53973899..9bdd6867 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check https://fabricmc.net/develop/ - minecraft_version=24w03a + minecraft_version=24w04a loader_version=0.15.6 jsr305_version=3.0.2 fabric_version=0.91.1+1.20.3 diff --git a/src/main/java/carpet/mixins/PiglinBrute_getPlacementTypeMixin.java b/src/main/java/carpet/mixins/PiglinBrute_getPlacementTypeMixin.java index 0a0376de..3b5b9089 100644 --- a/src/main/java/carpet/mixins/PiglinBrute_getPlacementTypeMixin.java +++ b/src/main/java/carpet/mixins/PiglinBrute_getPlacementTypeMixin.java @@ -1,33 +1,21 @@ package carpet.mixins; import carpet.CarpetSettings; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.Mob; -import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.SpawnPlacementType; +import net.minecraft.world.entity.SpawnPlacementTypes; import net.minecraft.world.entity.SpawnPlacements; -import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.entity.monster.piglin.Piglin; -import net.minecraft.world.entity.monster.piglin.PiglinBrute; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.ServerLevelAccessor; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.levelgen.Heightmap; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(SpawnPlacements.class) public class PiglinBrute_getPlacementTypeMixin { @Inject(method = "getPlacementType", at = @At("HEAD"), cancellable = true) - private static void getPlacementType(EntityType entityType, CallbackInfoReturnable cir) { + private static void getPlacementType(final EntityType entityType, final CallbackInfoReturnable cir) { if (CarpetSettings.piglinsSpawningInBastions && entityType == EntityType.PIGLIN_BRUTE) { - cir.setReturnValue(SpawnPlacements.Type.ON_GROUND); + cir.setReturnValue(SpawnPlacementTypes.ON_GROUND); } } } diff --git a/src/main/java/carpet/utils/PerimeterDiagnostics.java b/src/main/java/carpet/utils/PerimeterDiagnostics.java index 0245419d..0b7be1b6 100644 --- a/src/main/java/carpet/utils/PerimeterDiagnostics.java +++ b/src/main/java/carpet/utils/PerimeterDiagnostics.java @@ -176,9 +176,7 @@ public class PerimeterDiagnostics } } - SpawnPlacements.Type spt = SpawnPlacements.getPlacementType(sle.type); - - if (NaturalSpawner.isSpawnPositionOk(spt, worldServer, pos, sle.type)) + if (SpawnPlacements.isSpawnPositionOk(sle.type, worldServer, pos)) { el.moveTo(pos.getX() + 0.5F, pos.getY(), pos.getZ()+0.5F, 0.0F, 0.0F); return el.checkSpawnObstruction(worldServer) && el.checkSpawnRules(worldServer, MobSpawnType.NATURAL) && diff --git a/src/main/java/carpet/utils/SpawnReporter.java b/src/main/java/carpet/utils/SpawnReporter.java index 0dc7c819..4bee4ad4 100644 --- a/src/main/java/carpet/utils/SpawnReporter.java +++ b/src/main/java/carpet/utils/SpawnReporter.java @@ -414,7 +414,7 @@ public class SpawnReporter { if (SpawnPlacements.getPlacementType(spawnEntry.type) == null) continue; // vanilla bug - boolean canSpawn = NaturalSpawner.isSpawnPositionOk(SpawnPlacements.getPlacementType(spawnEntry.type), worldIn, pos, spawnEntry.type); + boolean canSpawn = SpawnPlacements.isSpawnPositionOk(spawnEntry.type, worldIn, pos); int willSpawn = -1; boolean fits = false; @@ -444,7 +444,7 @@ public class SpawnReporter { if ( SpawnPlacements.checkSpawnRules(etype,worldIn, MobSpawnType.NATURAL, pos, worldIn.random) && - NaturalSpawner.isSpawnPositionOk(SpawnPlacements.getPlacementType(etype), worldIn, pos, etype) && + SpawnPlacements.isSpawnPositionOk(etype, worldIn, pos) && mob.checkSpawnRules(worldIn, MobSpawnType.NATURAL) // && mob.canSpawn(worldIn) // entity collisions // mostly - except ocelots )