detector texture
This commit is contained in:
@@ -1,23 +1,46 @@
|
||||
package storagecraft.block;
|
||||
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockState;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import storagecraft.StorageCraft;
|
||||
import storagecraft.StorageCraftGUI;
|
||||
import storagecraft.tile.TileDetector;
|
||||
|
||||
// @TODO: This texture behaves differently
|
||||
public class BlockDetector extends BlockMachine
|
||||
{
|
||||
public static final PropertyBool POWERED = PropertyBool.create("powered");
|
||||
|
||||
public BlockDetector()
|
||||
{
|
||||
super("detector");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockState createBlockState()
|
||||
{
|
||||
return new BlockState(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
POWERED
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
|
@@ -14,7 +14,6 @@ import storagecraft.StorageCraft;
|
||||
import storagecraft.StorageCraftGUI;
|
||||
import storagecraft.tile.TileWirelessTransmitter;
|
||||
|
||||
// @TODO: This texture behaves differently
|
||||
public class BlockWirelessTransmitter extends BlockMachine
|
||||
{
|
||||
public static final PropertyBool WORKING = PropertyBool.create("working");
|
||||
|
@@ -114,5 +114,6 @@ public class ClientProxy extends CommonProxy
|
||||
mesher.register(Item.getItemFromBlock(StorageCraftBlocks.DESTRUCTOR), 0, new ModelResourceLocation("storagecraft:destructor", "inventory"));
|
||||
mesher.register(Item.getItemFromBlock(StorageCraftBlocks.SOLDERER), 0, new ModelResourceLocation("storagecraft:solderer", "inventory"));
|
||||
mesher.register(Item.getItemFromBlock(StorageCraftBlocks.WIRELESS_TRANSMITTER), 0, new ModelResourceLocation("storagecraft:wireless_transmitter", "inventory"));
|
||||
mesher.register(Item.getItemFromBlock(StorageCraftBlocks.DETECTOR), 0, new ModelResourceLocation("storagecraft:detector", "inventory"));
|
||||
}
|
||||
}
|
||||
|
@@ -29,7 +29,7 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
||||
private int mode = MODE_EQUAL;
|
||||
private int amount = 0;
|
||||
|
||||
private boolean providesPower = false;
|
||||
private boolean powered = false;
|
||||
|
||||
public TileDetector()
|
||||
{
|
||||
@@ -49,7 +49,7 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
||||
{
|
||||
ItemStack slot = inventory.getStackInSlot(0);
|
||||
|
||||
boolean lastProvidesPower = providesPower;
|
||||
boolean lastPowered = powered;
|
||||
|
||||
if (slot != null)
|
||||
{
|
||||
@@ -64,13 +64,13 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
||||
switch (mode)
|
||||
{
|
||||
case MODE_UNDER:
|
||||
providesPower = item.getQuantity() < amount;
|
||||
powered = item.getQuantity() < amount;
|
||||
break;
|
||||
case MODE_EQUAL:
|
||||
providesPower = item.getQuantity() == amount;
|
||||
powered = item.getQuantity() == amount;
|
||||
break;
|
||||
case MODE_ABOVE:
|
||||
providesPower = item.getQuantity() > amount;
|
||||
powered = item.getQuantity() > amount;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -82,24 +82,24 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
||||
{
|
||||
if (mode == MODE_UNDER && amount != 0)
|
||||
{
|
||||
providesPower = true;
|
||||
powered = true;
|
||||
}
|
||||
else if (mode == MODE_EQUAL && amount == 0)
|
||||
{
|
||||
providesPower = true;
|
||||
powered = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
providesPower = false;
|
||||
powered = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
providesPower = false;
|
||||
powered = false;
|
||||
}
|
||||
|
||||
if (providesPower != lastProvidesPower)
|
||||
if (powered != lastPowered)
|
||||
{
|
||||
worldObj.markBlockForUpdate(pos);
|
||||
worldObj.notifyBlockOfStateChange(pos, StorageCraftBlocks.DETECTOR);
|
||||
@@ -107,9 +107,9 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
||||
}
|
||||
}
|
||||
|
||||
public boolean providesPower()
|
||||
public boolean isPowered()
|
||||
{
|
||||
return providesPower;
|
||||
return powered;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -191,7 +191,7 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
||||
compare = buf.readInt();
|
||||
mode = buf.readInt();
|
||||
amount = buf.readInt();
|
||||
providesPower = buf.readBoolean();
|
||||
powered = buf.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -202,7 +202,7 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
||||
buf.writeInt(compare);
|
||||
buf.writeInt(mode);
|
||||
buf.writeInt(amount);
|
||||
buf.writeBoolean(providesPower);
|
||||
buf.writeBoolean(powered);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
55
src/main/resources/assets/storagecraft/blockstates/detector.json
Executable file
55
src/main/resources/assets/storagecraft/blockstates/detector.json
Executable file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "orientable",
|
||||
"textures": {
|
||||
"side": "storagecraft:blocks/detector_unpowered",
|
||||
"top": "storagecraft:blocks/detector_unpowered",
|
||||
"front": "storagecraft:blocks/detector_unpowered"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"inventory": [
|
||||
{
|
||||
"y": 0
|
||||
}
|
||||
],
|
||||
"connected": {
|
||||
"true": {
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
},
|
||||
"direction": {
|
||||
"north": {
|
||||
"y": 0
|
||||
},
|
||||
"east": {
|
||||
"y": 90
|
||||
},
|
||||
"south": {
|
||||
"y": 180
|
||||
},
|
||||
"west": {
|
||||
"y": 270
|
||||
},
|
||||
"up": {
|
||||
"x": 270
|
||||
},
|
||||
"down": {
|
||||
"x": 90
|
||||
}
|
||||
},
|
||||
"powered": {
|
||||
"true": {
|
||||
"textures": {
|
||||
"side": "storagecraft:blocks/detector_powered",
|
||||
"top": "storagecraft:blocks/detector_powered",
|
||||
"front": "storagecraft:blocks/detector_powered"
|
||||
}
|
||||
},
|
||||
"false": {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 186 B |
Reference in New Issue
Block a user