--- a/net/minecraft/world/entity/npc/MobSpawnerTrader.java +++ b/net/minecraft/world/entity/npc/MobSpawnerTrader.java @@ -101,7 +101,7 @@ return false; } - EntityVillagerTrader entityvillagertrader = EntityTypes.WANDERING_TRADER.spawn(worldserver, blockposition2, EntitySpawnReason.EVENT); + EntityVillagerTrader entityvillagertrader = EntityTypes.WANDERING_TRADER.spawn(worldserver, blockposition2, EntitySpawnReason.EVENT, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit if (entityvillagertrader != null) { for (int j = 0; j < 2; ++j) { @@ -109,7 +109,7 @@ } this.serverLevelData.setWanderingTraderId(entityvillagertrader.getUUID()); - entityvillagertrader.setDespawnDelay(48000); + // entityvillagertrader.setDespawnDelay(48000); // CraftBukkit - moved to EntityVillagerTrader constructor. This lets the value be modified by plugins on CreatureSpawnEvent entityvillagertrader.setWanderTarget(blockposition1); entityvillagertrader.restrictTo(blockposition1, 16); return true; @@ -124,7 +124,7 @@ BlockPosition blockposition = this.findSpawnPositionNear(worldserver, entityvillagertrader.blockPosition(), i); if (blockposition != null) { - EntityLlamaTrader entityllamatrader = EntityTypes.TRADER_LLAMA.spawn(worldserver, blockposition, EntitySpawnReason.EVENT); + EntityLlamaTrader entityllamatrader = EntityTypes.TRADER_LLAMA.spawn(worldserver, blockposition, EntitySpawnReason.EVENT, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit if (entityllamatrader != null) { entityllamatrader.setLeashedTo(entityvillagertrader, true);