3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-18 12:30:06 +01:00

Add Beacon block state for hopper events. Fixes BUKKIT-3932

Dieser Commit ist enthalten in:
Travis Watkins 2013-03-29 22:26:27 -05:00
Ursprung 377be0a79e
Commit ee572114dd
3 geänderte Dateien mit 40 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -22,7 +22,7 @@ public class TileEntityBeacon extends TileEntity implements IInventory {
private int maxStack = MAX_STACK;
public ItemStack[] getContents() {
return null;
return new ItemStack[] { this.h }; // Should be inventorySlot
}
public void onOpen(CraftHumanEntity who) {

Datei anzeigen

@ -0,0 +1,37 @@
package org.bukkit.craftbukkit.block;
import net.minecraft.server.TileEntityBeacon;
import org.bukkit.block.Block;
import org.bukkit.block.Beacon;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.inventory.CraftInventory;
import org.bukkit.inventory.Inventory;
public class CraftBeacon extends CraftBlockState implements Beacon {
private final CraftWorld world;
private final TileEntityBeacon beacon;
public CraftBeacon(final Block block) {
super(block);
world = (CraftWorld) block.getWorld();
beacon = (TileEntityBeacon) world.getTileEntityAt(getX(), getY(), getZ());
}
public Inventory getInventory() {
return new CraftInventory(beacon);
}
@Override
public boolean update(boolean force) {
boolean result = super.update(force);
if (result) {
beacon.update();
}
return result;
}
}

Datei anzeigen

@ -265,6 +265,8 @@ public class CraftBlock implements Block {
return new CraftSkull(this);
case COMMAND:
return new CraftCommandBlock(this);
case BEACON:
return new CraftBeacon(this);
default:
return new CraftBlockState(this);
}