Commits
jameslfc19 authored and md_5 committed 8408de02d23
1 1 | package org.bukkit.craftbukkit.block; |
2 2 | |
3 + | import net.minecraft.server.BlockBarrel; |
3 4 | import net.minecraft.server.IBlockData; |
4 5 | import net.minecraft.server.SoundEffects; |
5 6 | import net.minecraft.server.TileEntityBarrel; |
6 7 | import org.bukkit.Material; |
7 8 | import org.bukkit.block.Barrel; |
8 9 | import org.bukkit.block.Block; |
9 10 | import org.bukkit.craftbukkit.inventory.CraftInventory; |
10 11 | import org.bukkit.inventory.Inventory; |
11 12 | |
12 13 | public class CraftBarrel extends CraftLootable<TileEntityBarrel> implements Barrel { |
31 32 | } |
32 33 | |
33 34 | return new CraftInventory(this.getTileEntity()); |
34 35 | } |
35 36 | |
36 37 | |
37 38 | public void open() { |
38 39 | requirePlaced(); |
39 40 | if (!getTileEntity().opened) { |
40 41 | IBlockData blockData = getTileEntity().getBlock(); |
41 - | getTileEntity().setOpenFlag(blockData, true); |
42 - | getTileEntity().playOpenSound(blockData, SoundEffects.BLOCK_BARREL_OPEN); |
42 + | boolean open = blockData.get(BlockBarrel.b); |
43 + | |
44 + | if (!open) { |
45 + | getTileEntity().setOpenFlag(blockData, true); |
46 + | getTileEntity().playOpenSound(blockData, SoundEffects.BLOCK_BARREL_OPEN); |
47 + | } |
43 48 | } |
44 49 | getTileEntity().opened = true; |
45 50 | } |
46 51 | |
47 52 | |
48 53 | public void close() { |
49 54 | requirePlaced(); |
50 55 | if (getTileEntity().opened) { |
51 56 | IBlockData blockData = getTileEntity().getBlock(); |
52 57 | getTileEntity().setOpenFlag(blockData, false); |