30 lines
		
	
	
	
		
			2.1 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
	
		
			2.1 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
|   | --- a/net/minecraft/util/SpawnUtil.java
 | ||
|  | +++ b/net/minecraft/util/SpawnUtil.java
 | ||
|  | @@ -18,6 +18,12 @@
 | ||
|  |      public SpawnUtil() {} | ||
|  |   | ||
|  |      public static <T extends EntityInsentient> Optional<T> trySpawnMob(EntityTypes<T> entitytypes, EnumMobSpawn enummobspawn, WorldServer worldserver, BlockPosition blockposition, int i, int j, int k, SpawnUtil.a spawnutil_a) { | ||
|  | +        // CraftBukkit start
 | ||
|  | +        return trySpawnMob(entitytypes, enummobspawn, worldserver, blockposition, i, j, k, spawnutil_a, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT);
 | ||
|  | +    }
 | ||
|  | +
 | ||
|  | +    public static <T extends EntityInsentient> Optional<T> trySpawnMob(EntityTypes<T> entitytypes, EnumMobSpawn enummobspawn, WorldServer worldserver, BlockPosition blockposition, int i, int j, int k, SpawnUtil.a spawnutil_a, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) {
 | ||
|  | +        // CraftBukkit end
 | ||
|  |          BlockPosition.MutableBlockPosition blockposition_mutableblockposition = blockposition.mutable(); | ||
|  |   | ||
|  |          for (int l = 0; l < i; ++l) { | ||
|  | @@ -26,11 +32,11 @@
 | ||
|  |   | ||
|  |              blockposition_mutableblockposition.setWithOffset(blockposition, i1, k, j1); | ||
|  |              if (worldserver.getWorldBorder().isWithinBounds((BlockPosition) blockposition_mutableblockposition) && moveToPossibleSpawnPosition(worldserver, k, blockposition_mutableblockposition, spawnutil_a)) { | ||
|  | -                T t0 = (EntityInsentient) entitytypes.create(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition_mutableblockposition, enummobspawn, false, false);
 | ||
|  | +                T t0 = entitytypes.create(worldserver, (NBTTagCompound) null, (IChatBaseComponent) null, (EntityHuman) null, blockposition_mutableblockposition, enummobspawn, false, false); // CraftBukkit - decompile error
 | ||
|  |   | ||
|  |                  if (t0 != null) { | ||
|  |                      if (t0.checkSpawnRules(worldserver, enummobspawn) && t0.checkSpawnObstruction(worldserver)) { | ||
|  | -                        worldserver.addFreshEntityWithPassengers(t0);
 | ||
|  | +                        worldserver.addFreshEntityWithPassengers(t0, reason); // CraftBukkit
 | ||
|  |                          return Optional.of(t0); | ||
|  |                      } | ||
|  |   |