From e6696a175861764aa7c999aff103c79edc03522b Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Wed, 24 Jun 2020 16:01:56 +0100 Subject: [PATCH] Add comparator output for receptacles --- .../wizardry/block/BlockReceptacle.java | 19 +++++++++++++++++++ .../tileentity/TileEntityReceptacle.java | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/electroblob/wizardry/block/BlockReceptacle.java b/src/main/java/electroblob/wizardry/block/BlockReceptacle.java index 25ee0585..069074e0 100644 --- a/src/main/java/electroblob/wizardry/block/BlockReceptacle.java +++ b/src/main/java/electroblob/wizardry/block/BlockReceptacle.java @@ -206,4 +206,23 @@ public class BlockReceptacle extends BlockTorch implements ITileEntityProvider { return new TileEntityReceptacle(); } + @Override + public boolean hasComparatorInputOverride(IBlockState state){ + return true; + } + + @Override + public int getComparatorInputOverride(IBlockState state, World world, BlockPos pos){ + + TileEntity tileEntity = world.getTileEntity(pos); + + if(tileEntity instanceof TileEntityReceptacle){ + Element element = ((TileEntityReceptacle)tileEntity).getElement(); + return element == null ? 0 : element.ordinal() + 1; + } + + return super.getComparatorInputOverride(state, world, pos); + } + + } diff --git a/src/main/java/electroblob/wizardry/tileentity/TileEntityReceptacle.java b/src/main/java/electroblob/wizardry/tileentity/TileEntityReceptacle.java index 7f322774..9967f91c 100644 --- a/src/main/java/electroblob/wizardry/tileentity/TileEntityReceptacle.java +++ b/src/main/java/electroblob/wizardry/tileentity/TileEntityReceptacle.java @@ -20,11 +20,12 @@ public class TileEntityReceptacle extends TileEntity { this.element = element; } + @Nullable public Element getElement(){ return element; } - public void setElement(Element element){ + public void setElement(@Nullable Element element){ this.element = element; world.notifyNeighborsRespectDebug(pos, blockType, true); // Update altar if connected world.checkLight(pos);