Merge pull request 'Fix Loader Redstone' (#89) from loaderfix into master
Reviewed-by: Lixfel <lixfel@steamwar.de>
Dieser Commit ist enthalten in:
Commit
d075664abb
@ -3,12 +3,15 @@ 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;
|
||||
|
||||
class AutoLoader_15 {
|
||||
|
||||
private AutoLoader_15() {
|
||||
}
|
||||
|
||||
@ -30,10 +33,32 @@ class AutoLoader_15 {
|
||||
Powerable powerable = (Powerable) data;
|
||||
powerable.setPowered(active);
|
||||
block.setBlockData(powerable);
|
||||
block.getState().update(true);
|
||||
|
||||
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;
|
||||
}
|
||||
updateBlock(relative);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static void updateBlock(Block block) {
|
||||
BlockData data = block.getBlockData();
|
||||
block.setType(Material.BARRIER, true);
|
||||
block.setBlockData(data, true);
|
||||
}
|
||||
|
||||
static void onPlayerInteract(IAutoLoader loader, PlayerInteractEvent event) {
|
||||
if (event.getAction() != Action.RIGHT_CLICK_BLOCK && event.getAction() != Action.PHYSICAL)
|
||||
return;
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren