Files
Purpur/patches/server/0191-Config-to-disable-hostile-mob-spawn-on-ice.patch
BillyGalbreath 1d3f710297 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
840e72091 [CI-SKIP] [Auto] Rebuild Patches
a33232d4a Add beacon activation and deactivation events (#5121)
bc7ea673a Add internal channel initialization listeners (#5557)
b28ad17ac Check for world change in MoveEvent API methods
3095c7592 [Auto] Updated Upstream (CraftBukkit)
f56989c97 Add RespawnFlags to PlayerRespawnEvent (#5533)
7579c2667 Add more API to PlayerMoveEvent (#5553)
2021-04-30 16:18:11 -05:00

41 lines
2.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Encode42 <me@encode42.dev>
Date: Tue, 23 Mar 2021 15:40:45 -0400
Subject: [PATCH] Config to disable hostile mob spawn on ice
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityMonster.java b/src/main/java/net/minecraft/world/entity/monster/EntityMonster.java
index c484e27650364b6537fe6b2e8e14de98382b86a3..096a7b76e0ae42ba8b859159e20fb72e101fe6de 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntityMonster.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityMonster.java
@@ -95,6 +95,12 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
}
public static boolean a(WorldAccess worldaccess, BlockPosition blockposition, Random random) {
+ // Purpur start
+ net.minecraft.world.level.block.state.IBlockData spawnBlock = worldaccess.getType(blockposition.down());
+ if ((!worldaccess.getMinecraftWorld().purpurConfig.mobsSpawnOnPackedIce && spawnBlock.equals(net.minecraft.world.level.block.Blocks.PACKED_ICE)) || (!worldaccess.getMinecraftWorld().purpurConfig.mobsSpawnOnBlueIce && spawnBlock.equals(net.minecraft.world.level.block.Blocks.BLUE_ICE))) {
+ return false;
+ }
+ // Purpur end
if (worldaccess.getBrightness(EnumSkyBlock.SKY, blockposition) > random.nextInt(32)) {
return false;
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a927869cdb6e935226a20200827bd297aac4e8b2..2f544d8bb44a1bee18468cb8611591413507c521 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -483,8 +483,12 @@ public class PurpurWorldConfig {
}
public boolean snowOnBlueIce = true;
+ public boolean mobsSpawnOnPackedIce = true;
+ public boolean mobsSpawnOnBlueIce = true;
private void iceSettings() {
snowOnBlueIce = getBoolean("blocks.blue_ice.allow-snow-formation", snowOnBlueIce);
+ mobsSpawnOnPackedIce = getBoolean("blocks.packed_ice.allow-mob-spawns", mobsSpawnOnPackedIce);
+ mobsSpawnOnBlueIce = getBoolean("blocks.blue_ice.allow-mob-spawns", mobsSpawnOnBlueIce);
}
public boolean chestOpenWithBlockOnTop = false;