4d40e87b33
Had to drop some hunks modifying getEntities, as those methods were rewritten by Mojang in 1.17
35 lines
2.1 KiB
Diff
35 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BrodyBeckwith <brody@beckwith.dev>
|
|
Date: Fri, 9 Oct 2020 20:30:12 -0400
|
|
Subject: [PATCH] Allow disabling mob spawner spawn egg transformation
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index dd23c6dc5e680006c10329433c059fc9b85dd1cc..adf3ddd9ea295aafc8f8a5c0196d7c6ef54d0c4b 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -84,6 +84,11 @@ public class PaperWorldConfig {
|
|
fixCuringZombieVillagerDiscountExploit = getBoolean("game-mechanics.fix-curing-zombie-villager-discount-exploit", fixCuringZombieVillagerDiscountExploit);
|
|
}
|
|
|
|
+ public boolean disableMobSpawnerSpawnEggTransformation = false;
|
|
+ private void disableMobSpawnerSpawnEggTransformation() {
|
|
+ disableMobSpawnerSpawnEggTransformation = getBoolean("game-mechanics.disable-mob-spawner-spawn-egg-transformation", disableMobSpawnerSpawnEggTransformation);
|
|
+ }
|
|
+
|
|
public short keepLoadedRange;
|
|
private void keepLoadedRange() {
|
|
keepLoadedRange = (short) (getInt("keep-spawn-loaded-range", Math.min(spigotConfig.viewDistance, 10)) * 16);
|
|
diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
|
index dd69c9b132fb52c60c44b3e029924412ecc28133..32a9a752e1afdcdaffa5198f3577856f742c9136 100644
|
|
--- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
|
+++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
|
@@ -61,7 +61,7 @@ public class SpawnEggItem extends Item {
|
|
Direction enumdirection = context.getClickedFace();
|
|
BlockState iblockdata = world.getBlockState(blockposition);
|
|
|
|
- if (iblockdata.is(Blocks.SPAWNER)) {
|
|
+ if (!world.paperConfig.disableMobSpawnerSpawnEggTransformation && iblockdata.is(Blocks.SPAWNER)) { // Paper
|
|
BlockEntity tileentity = world.getBlockEntity(blockposition);
|
|
|
|
if (tileentity instanceof SpawnerBlockEntity) {
|