diff --git a/BauSystem_15/src/de/steamwar/bausystem/world/AutoLoader_15.java b/BauSystem_15/src/de/steamwar/bausystem/world/AutoLoader_15.java index daa04b0..0ffa968 100644 --- a/BauSystem_15/src/de/steamwar/bausystem/world/AutoLoader_15.java +++ b/BauSystem_15/src/de/steamwar/bausystem/world/AutoLoader_15.java @@ -3,8 +3,10 @@ package de.steamwar.bausystem.world; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; import org.bukkit.block.data.BlockData; import org.bukkit.block.data.Powerable; +import org.bukkit.block.data.type.Switch; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; @@ -33,7 +35,24 @@ class AutoLoader_15 { Powerable powerable = (Powerable) data; powerable.setPowered(active); block.setBlockData(powerable); - updateBlock(block.getLocation()); + + if (data instanceof Switch){ + Switch swtch = (Switch) data; + Block relative; + switch(swtch.getFace()){ + case FLOOR: + relative = block.getRelative(BlockFace.DOWN); + break; + case CEILING: + relative = block.getRelative(BlockFace.UP); + break; + default: + relative = block.getRelative(swtch.getFacing()); + break; + } + relative.getState().update(true); + updateBlock(relative.getLocation()); + } return true; }