PaperMC/paper-server/nms-patches/MobSpawnerTrader.patch
CraftBukkit/Spigot 932b0a5bf6 #802: Add methods to modify despawn delay for wandering villagers
By: DiamondDagger590 <diamonddagger590@gmail.com>
2021-02-15 19:30:15 +11:00

29 lines
2.2 KiB
Diff

--- a/net/minecraft/server/MobSpawnerTrader.java
+++ b/net/minecraft/server/MobSpawnerTrader.java
@@ -83,7 +83,7 @@
return false;
}
- EntityVillagerTrader entityvillagertrader = (EntityVillagerTrader) EntityTypes.WANDERING_TRADER.spawnCreature(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition2, EnumMobSpawn.EVENT, false, false);
+ EntityVillagerTrader entityvillagertrader = (EntityVillagerTrader) EntityTypes.WANDERING_TRADER.spawnCreature(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition2, EnumMobSpawn.EVENT, false, false, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
if (entityvillagertrader != null) {
for (int i = 0; i < 2; ++i) {
@@ -91,7 +91,7 @@
}
this.b.a(entityvillagertrader.getUniqueID());
- entityvillagertrader.u(48000);
+ // entityvillagertrader.u(48000); // CraftBukkit - moved to EntityVillagerTrader constructor. This lets the value be modified by plugins on CreatureSpawnEvent
entityvillagertrader.g(blockposition1);
entityvillagertrader.a(blockposition1, 16);
return true;
@@ -106,7 +106,7 @@
BlockPosition blockposition = this.a((IWorldReader) worldserver, entityvillagertrader.getChunkCoordinates(), i);
if (blockposition != null) {
- EntityLlamaTrader entityllamatrader = (EntityLlamaTrader) EntityTypes.TRADER_LLAMA.spawnCreature(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition, EnumMobSpawn.EVENT, false, false);
+ EntityLlamaTrader entityllamatrader = (EntityLlamaTrader) EntityTypes.TRADER_LLAMA.spawnCreature(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition, EnumMobSpawn.EVENT, false, false, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
if (entityllamatrader != null) {
entityllamatrader.setLeashHolder(entityvillagertrader, true);