Entity#fromMobSpawner()
This commit is contained in:
@@ -40,7 +40,7 @@
|
||||
} else {
|
||||
boolean flag = false;
|
||||
RandomSource randomsource = world.getRandom();
|
||||
@@ -157,13 +164,24 @@
|
||||
@@ -157,13 +164,25 @@
|
||||
((Mob) entity).finalizeSpawn(world, world.getCurrentDifficultyAt(entity.blockPosition()), EntitySpawnReason.SPAWNER, (SpawnGroupData) null);
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
}
|
||||
|
||||
- if (!world.tryAddFreshEntityWithPassengers(entity)) {
|
||||
+ entity.spawnedViaMobSpawner = true; // Paper
|
||||
+ // CraftBukkit start
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) {
|
||||
+ continue;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
public final class TrialSpawner {
|
||||
|
||||
@@ -219,14 +224,19 @@
|
||||
@@ -219,13 +224,19 @@
|
||||
}
|
||||
|
||||
entityinsentient.setPersistenceRequired();
|
||||
@@ -24,17 +24,17 @@
|
||||
}
|
||||
|
||||
- if (!world.tryAddFreshEntityWithPassengers(entity)) {
|
||||
+ entity.spawnedViaMobSpawner = true; // Paper
|
||||
+ // CraftBukkit start
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callTrialSpawnerSpawnEvent(entity, pos).isCancelled()) {
|
||||
return Optional.empty();
|
||||
+ return Optional.empty();
|
||||
+ }
|
||||
+ if (!world.tryAddFreshEntityWithPassengers(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.TRIAL_SPAWNER)) {
|
||||
+ // CraftBukkit end
|
||||
+ return Optional.empty();
|
||||
return Optional.empty();
|
||||
} else {
|
||||
TrialSpawner.FlameParticle trialspawner_a = this.isOminous ? TrialSpawner.FlameParticle.OMINOUS : TrialSpawner.FlameParticle.NORMAL;
|
||||
|
||||
@@ -248,6 +258,15 @@
|
||||
@@ -248,6 +259,15 @@
|
||||
ObjectArrayList<ItemStack> objectarraylist = loottable.getRandomItems(lootparams);
|
||||
|
||||
if (!objectarraylist.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user