diff options
Diffstat (limited to 'CraftBukkit-Patches/0073-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch')
-rw-r--r-- | CraftBukkit-Patches/0073-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/CraftBukkit-Patches/0073-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch b/CraftBukkit-Patches/0073-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch new file mode 100644 index 0000000000..ea5494fa31 --- /dev/null +++ b/CraftBukkit-Patches/0073-Add-Option-to-Nerf-Mobs-from-Spawner-s.patch @@ -0,0 +1,84 @@ +From 2a00eb8a54efd19242c35ab1b0e4eefed740cb5f Mon Sep 17 00:00:00 2001 +From: md_5 <[email protected]> +Date: Sun, 2 Feb 2014 16:55:46 +0000 +Subject: [PATCH] Add Option to Nerf Mobs from Spawner's + + +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index 134e06b..f1bad28 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -119,6 +119,7 @@ public abstract class Entity { + public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); + public final boolean defaultActivationState; + public long activatedTick = 0; ++ public boolean fromMobSpawner; + public void inactiveTick() { } + // Spigot end + +diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java +index a812656..f6c4788 100644 +--- a/src/main/java/net/minecraft/server/EntityInsentient.java ++++ b/src/main/java/net/minecraft/server/EntityInsentient.java +@@ -400,6 +400,12 @@ public abstract class EntityInsentient extends EntityLiving { + this.world.methodProfiler.a("checkDespawn"); + this.w(); + this.world.methodProfiler.b(); ++ // Spigot Start ++ if ( this.fromMobSpawner ) ++ { ++ return; ++ } ++ // Spigot End + this.world.methodProfiler.a("sensing"); + this.bq.a(); + this.world.methodProfiler.b(); +diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +index e39d533..2276905 100644 +--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java ++++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +@@ -136,6 +136,12 @@ public abstract class MobSpawnerAbstract { + SpawnerSpawnEvent event = CraftEventFactory.callSpawnerSpawnEvent(entity, this.b(), this.c(), this.d()); + if (!event.isCancelled()) { + entity.world.addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit ++ // Spigot Start ++ if ( entity.world.spigotConfig.nerfSpawnerMobs ) ++ { ++ entity.fromMobSpawner = true; ++ } ++ // Spigot End + } + // CraftBukkit end + } +@@ -181,6 +187,12 @@ public abstract class MobSpawnerAbstract { + SpawnerSpawnEvent event = CraftEventFactory.callSpawnerSpawnEvent(entity, this.b(), this.c(), this.d()); + if (!event.isCancelled()) { + this.a().addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit ++ // Spigot Start ++ if ( entity.world.spigotConfig.nerfSpawnerMobs ) ++ { ++ entity.fromMobSpawner = true; ++ } ++ // Spigot End + } + // Spigot end + } +diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java +index b8e144d..d7766bb 100644 +--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java ++++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +@@ -252,4 +252,11 @@ public class SpigotWorldConfig + zombieAggressiveTowardsVillager = getBoolean( "zombie-aggressive-towards-villager", true ); + log( "Zombie Aggressive Towards Villager: " + zombieAggressiveTowardsVillager ); + } ++ ++ public boolean nerfSpawnerMobs; ++ private void nerfSpawnerMobs() ++ { ++ nerfSpawnerMobs = getBoolean( "nerf-spawner-mobs", false ); ++ log( "Nerfing mobs spawned from spawners: " + nerfSpawnerMobs ); ++ } + } +-- +1.9.1 + |