SteamWar/BauSystem
Archiviert
13
0

Merge pull request 'Fix Loader Redstone' (#89) from loaderfix into master

Reviewed-by: Lixfel <lixfel@steamwar.de>
Dieser Commit ist enthalten in:
Lixfel 2020-08-29 11:33:04 +02:00
Commit d075664abb

Datei anzeigen

@ -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;