1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00

Fixed Block Inventory still opening if a Block is in its way

This commit is contained in:
mrCookieSlime 2016-05-29 10:36:54 +02:00
parent cc90907aa6
commit 1a7c6010d9

View File

@ -191,11 +191,11 @@ public class ItemListener implements Listener {
if (e.getClickedBlock() != null && BlockStorage.hasBlockInfo(e.getClickedBlock())) {
String id = BlockStorage.checkID(e.getClickedBlock());
if (BlockMenuPreset.isInventory(id)) {
if (p.isSneaking() && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_INPUT, true));
else if (p.isSneaking() && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT, true));
else if (p.isSneaking() && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT_ADVANCED, true));
else if (p.isSneaking() && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_IMPORT_BUS, true));
else if (p.isSneaking() && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_EXPORT_BUS, true));
if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_INPUT, true));
else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT, true));
else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT_ADVANCED, true));
else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_IMPORT_BUS, true));
else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_EXPORT_BUS, true));
else {
e.setCancelled(true);
BlockStorage storage = BlockStorage.getStorage(e.getClickedBlock().getWorld());
@ -215,6 +215,10 @@ public class ItemListener implements Listener {
else e.setCancelled(true);
}
private boolean canPlaceBlock(Player p, Block relative) {
return p.isSneaking() && relative.getType().equals(Material.AIR);
}
@EventHandler
public void onEat(PlayerItemConsumeEvent e) {
if (e.getItem() != null) {