Constructor / Destructor have a connected state
This commit is contained in:
@@ -56,6 +56,7 @@ public class BlockCable extends BlockCoverable {
|
|||||||
protected static final PropertyBool WEST = PropertyBool.create("west");
|
protected static final PropertyBool WEST = PropertyBool.create("west");
|
||||||
protected static final PropertyBool UP = PropertyBool.create("up");
|
protected static final PropertyBool UP = PropertyBool.create("up");
|
||||||
protected static final PropertyBool DOWN = PropertyBool.create("down");
|
protected static final PropertyBool DOWN = PropertyBool.create("down");
|
||||||
|
protected static final PropertyBool CONNECTED = PropertyBool.create("connected");
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@@ -97,6 +98,10 @@ public class BlockCable extends BlockCoverable {
|
|||||||
return new TileCable();
|
return new TileCable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasConnectivityState() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BlockStateContainer createBlockState() {
|
protected BlockStateContainer createBlockState() {
|
||||||
BlockStateContainer.Builder builder = new BlockStateContainer.Builder(this);
|
BlockStateContainer.Builder builder = new BlockStateContainer.Builder(this);
|
||||||
@@ -113,6 +118,10 @@ public class BlockCable extends BlockCoverable {
|
|||||||
builder.add(DIRECTION);
|
builder.add(DIRECTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (hasConnectivityState()) {
|
||||||
|
builder.add(CONNECTED);
|
||||||
|
}
|
||||||
|
|
||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,8 +136,14 @@ public class BlockCable extends BlockCoverable {
|
|||||||
.withProperty(UP, hasConnectionWith(world, pos, EnumFacing.UP))
|
.withProperty(UP, hasConnectionWith(world, pos, EnumFacing.UP))
|
||||||
.withProperty(DOWN, hasConnectionWith(world, pos, EnumFacing.DOWN));
|
.withProperty(DOWN, hasConnectionWith(world, pos, EnumFacing.DOWN));
|
||||||
|
|
||||||
|
TileNode tile = (TileNode) world.getTileEntity(pos);
|
||||||
|
|
||||||
if (getPlacementType() != null) {
|
if (getPlacementType() != null) {
|
||||||
state = state.withProperty(DIRECTION, ((TileNode) world.getTileEntity(pos)).getDirection());
|
state = state.withProperty(DIRECTION, tile.getDirection());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasConnectivityState()) {
|
||||||
|
state = state.withProperty(CONNECTED, tile.isConnected());
|
||||||
}
|
}
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
|
@@ -91,6 +91,11 @@ public class BlockConstructor extends BlockCable {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasConnectivityState() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EnumPlacementType getPlacementType() {
|
public EnumPlacementType getPlacementType() {
|
||||||
return EnumPlacementType.ANY;
|
return EnumPlacementType.ANY;
|
||||||
|
@@ -48,6 +48,11 @@ public class BlockDestructor extends BlockCable {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasConnectivityState() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EnumPlacementType getPlacementType() {
|
public EnumPlacementType getPlacementType() {
|
||||||
return EnumPlacementType.ANY;
|
return EnumPlacementType.ANY;
|
||||||
|
@@ -44,6 +44,7 @@ public class TileConstructor extends TileMultipartNode implements IComparable, I
|
|||||||
block = SlotSpecimen.getBlockState(worldObj, pos.offset(getDirection()), getStackInSlot(0));
|
block = SlotSpecimen.getBlockState(worldObj, pos.offset(getDirection()), getStackInSlot(0));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(1, this);
|
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(1, this);
|
||||||
|
|
||||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, this, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING);
|
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, this, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING);
|
||||||
@@ -172,6 +173,11 @@ public class TileConstructor extends TileMultipartNode implements IComparable, I
|
|||||||
return upgrades;
|
return upgrades;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasConnectivityState() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getType() {
|
public int getType() {
|
||||||
return worldObj.isRemote ? TYPE.getValue() : type;
|
return worldObj.isRemote ? TYPE.getValue() : type;
|
||||||
|
@@ -194,6 +194,11 @@ public class TileDestructor extends TileMultipartNode implements IComparable, IF
|
|||||||
return itemFilters;
|
return itemFilters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasConnectivityState() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IItemHandler getDrops() {
|
public IItemHandler getDrops() {
|
||||||
return upgrades;
|
return upgrades;
|
||||||
|
@@ -17,6 +17,12 @@
|
|||||||
"transform": "forge:default-block"
|
"transform": "forge:default-block"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"connected": {
|
||||||
|
"true": {
|
||||||
|
},
|
||||||
|
"false": {
|
||||||
|
}
|
||||||
|
},
|
||||||
"direction": {
|
"direction": {
|
||||||
"north": {
|
"north": {
|
||||||
"submodel": "refinedstorage:constructor_destructor_north"
|
"submodel": "refinedstorage:constructor_destructor_north"
|
||||||
|
@@ -17,6 +17,12 @@
|
|||||||
"transform": "forge:default-block"
|
"transform": "forge:default-block"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"connected": {
|
||||||
|
"true": {
|
||||||
|
},
|
||||||
|
"false": {
|
||||||
|
}
|
||||||
|
},
|
||||||
"direction": {
|
"direction": {
|
||||||
"north": {
|
"north": {
|
||||||
"submodel": "refinedstorage:constructor_destructor_north"
|
"submodel": "refinedstorage:constructor_destructor_north"
|
||||||
|
Reference in New Issue
Block a user