mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-09 19:49:35 +01:00
8398e12b34
By: md_5 <git@md-5.net>
24 lines
1.3 KiB
Diff
24 lines
1.3 KiB
Diff
--- a/net/minecraft/world/level/MobSpawnerAbstract.java
|
|
+++ b/net/minecraft/world/level/MobSpawnerAbstract.java
|
|
@@ -52,6 +52,7 @@
|
|
|
|
public void setEntityId(EntityTypes<?> entitytypes, @Nullable World world, RandomSource randomsource, BlockPosition blockposition) {
|
|
this.getOrCreateNextSpawnData(world, randomsource, blockposition).getEntityToSpawn().putString("id", BuiltInRegistries.ENTITY_TYPE.getKey(entitytypes).toString());
|
|
+ this.spawnPotentials = SimpleWeightedRandomList.empty(); // CraftBukkit - SPIGOT-3496, MC-92282
|
|
}
|
|
|
|
private boolean isNearPlayer(World world, BlockPosition blockposition) {
|
|
@@ -154,7 +155,12 @@
|
|
}
|
|
}
|
|
|
|
- if (!worldserver.tryAddFreshEntityWithPassengers(entity)) {
|
|
+ // CraftBukkit start
|
|
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, blockposition).isCancelled()) {
|
|
+ continue;
|
|
+ }
|
|
+ if (!worldserver.tryAddFreshEntityWithPassengers(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER)) {
|
|
+ // CraftBukkit end
|
|
this.delay(worldserver, blockposition);
|
|
return;
|
|
}
|