All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minecraft.server.TileEntityMobSpawner Maven / Gradle / Ivy

package net.minecraft.server;

public class TileEntityMobSpawner extends TileEntity implements IUpdatePlayerListBox {
	
	private final MobSpawnerAbstract a = new MobSpawnerAbstract() {
		public void a(int i) {
			world.playBlockAction(position, Blocks.MOB_SPAWNER, i, 0);
		}
		
		@Override
		public World getSpawnerWorld() {
			return world;
		}
		
		@Override
		public BlockPosition getSpawnerPosition() {
			return position;
		}
		
		@Override
		public void setSpawnData(SpawnData data) {
			super.setSpawnData(data);
			if (world != null)
				world.notify(getSpawnerPosition());
		}
	};
	
	public TileEntityMobSpawner() {
	}
	
	public void a(NBTTagCompound nbttagcompound) {
		super.a(nbttagcompound);
		this.a.readFromNBT(nbttagcompound);
	}
	
	public void b(NBTTagCompound nbttagcompound) {
		super.b(nbttagcompound);
		this.a.writeToNBT(nbttagcompound);
	}
	
	public void c() {
		this.a.updateSpawner();
	}
	
	public Packet getUpdatePacket() {
		NBTTagCompound nbttagcompound = new NBTTagCompound();
		
		this.b(nbttagcompound);
		nbttagcompound.remove("SpawnPotentials");
		return new PacketPlayOutTileEntityData(this.position, 1, nbttagcompound);
	}
	
	public boolean c(int i, int j) {
		return this.a.setDelayToMin(i) || super.c(i, j);
	}
	
	public MobSpawnerAbstract getSpawner() {
		return this.a;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy