29 lines
		
	
	
	
		
			2.1 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			29 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);
 | |
|                      }
 | |
|  
 | 
