Skip to content

Commit

Permalink
Added trigger chain for dbs! #4
Browse files Browse the repository at this point in the history
  • Loading branch information
MrTroble committed Jan 11, 2019
1 parent 9367fc4 commit 3eb8b63
Showing 1 changed file with 20 additions and 1 deletion.
Expand Up @@ -13,6 +13,7 @@
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraft.util.NonNullList;
Expand Down Expand Up @@ -45,7 +46,7 @@ public void update() {
}
if (localSpeed <= 1) {
localSpeed = speed;
boolean powered = needsrs ? world.isBlockPowered(pos) : !world.isBlockPowered(pos);
boolean powered = isPowered(pos, 0);
if (powered && extended < 10) {
if (localSpeed == 0) {
for (int i = extended; i < 10; i++) {
Expand All @@ -69,6 +70,24 @@ public void update() {
localSpeed--;
}

public boolean isPowered(BlockPos old, int depth) {
boolean powered = needsrs ? world.isBlockPowered(pos) : !world.isBlockPowered(pos);
if(depth > 10)return powered;
if(needsrs && !powered) {
for(EnumFacing face : EnumFacing.VALUES) {
BlockPos pos2 = pos.offset(face);
if(pos2.equals(old))continue;
TileEntity ent = world.getTileEntity(pos2);
if(ent != null && ent instanceof TileEntityDrawBridge) {
if(powered = ((TileEntityDrawBridge)ent).isPowered(pos, depth + 1)) {
return powered;
}
}
}
}
return powered;
}

private void extend() {
EnumFacing facing = world.getBlockState(pos).getValue(BlockDrawBridge.FACING);
trySetBlock(facing);
Expand Down

0 comments on commit 3eb8b63

Please sign in to comment.