detector texture
This commit is contained in:
@@ -1,23 +1,46 @@
|
|||||||
package storagecraft.block;
|
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.block.state.IBlockState;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.BlockPos;
|
import net.minecraft.util.BlockPos;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import storagecraft.StorageCraft;
|
import storagecraft.StorageCraft;
|
||||||
import storagecraft.StorageCraftGUI;
|
import storagecraft.StorageCraftGUI;
|
||||||
import storagecraft.tile.TileDetector;
|
import storagecraft.tile.TileDetector;
|
||||||
|
|
||||||
// @TODO: This texture behaves differently
|
|
||||||
public class BlockDetector extends BlockMachine
|
public class BlockDetector extends BlockMachine
|
||||||
{
|
{
|
||||||
|
public static final PropertyBool POWERED = PropertyBool.create("powered");
|
||||||
|
|
||||||
public BlockDetector()
|
public BlockDetector()
|
||||||
{
|
{
|
||||||
super("detector");
|
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
|
@Override
|
||||||
public TileEntity createTileEntity(World world, IBlockState state)
|
public TileEntity createTileEntity(World world, IBlockState state)
|
||||||
{
|
{
|
||||||
|
@@ -14,7 +14,6 @@ import storagecraft.StorageCraft;
|
|||||||
import storagecraft.StorageCraftGUI;
|
import storagecraft.StorageCraftGUI;
|
||||||
import storagecraft.tile.TileWirelessTransmitter;
|
import storagecraft.tile.TileWirelessTransmitter;
|
||||||
|
|
||||||
// @TODO: This texture behaves differently
|
|
||||||
public class BlockWirelessTransmitter extends BlockMachine
|
public class BlockWirelessTransmitter extends BlockMachine
|
||||||
{
|
{
|
||||||
public static final PropertyBool WORKING = PropertyBool.create("working");
|
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.DESTRUCTOR), 0, new ModelResourceLocation("storagecraft:destructor", "inventory"));
|
||||||
mesher.register(Item.getItemFromBlock(StorageCraftBlocks.SOLDERER), 0, new ModelResourceLocation("storagecraft:solderer", "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.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 mode = MODE_EQUAL;
|
||||||
private int amount = 0;
|
private int amount = 0;
|
||||||
|
|
||||||
private boolean providesPower = false;
|
private boolean powered = false;
|
||||||
|
|
||||||
public TileDetector()
|
public TileDetector()
|
||||||
{
|
{
|
||||||
@@ -49,7 +49,7 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
|||||||
{
|
{
|
||||||
ItemStack slot = inventory.getStackInSlot(0);
|
ItemStack slot = inventory.getStackInSlot(0);
|
||||||
|
|
||||||
boolean lastProvidesPower = providesPower;
|
boolean lastPowered = powered;
|
||||||
|
|
||||||
if (slot != null)
|
if (slot != null)
|
||||||
{
|
{
|
||||||
@@ -64,13 +64,13 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
|||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case MODE_UNDER:
|
case MODE_UNDER:
|
||||||
providesPower = item.getQuantity() < amount;
|
powered = item.getQuantity() < amount;
|
||||||
break;
|
break;
|
||||||
case MODE_EQUAL:
|
case MODE_EQUAL:
|
||||||
providesPower = item.getQuantity() == amount;
|
powered = item.getQuantity() == amount;
|
||||||
break;
|
break;
|
||||||
case MODE_ABOVE:
|
case MODE_ABOVE:
|
||||||
providesPower = item.getQuantity() > amount;
|
powered = item.getQuantity() > amount;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,24 +82,24 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
|||||||
{
|
{
|
||||||
if (mode == MODE_UNDER && amount != 0)
|
if (mode == MODE_UNDER && amount != 0)
|
||||||
{
|
{
|
||||||
providesPower = true;
|
powered = true;
|
||||||
}
|
}
|
||||||
else if (mode == MODE_EQUAL && amount == 0)
|
else if (mode == MODE_EQUAL && amount == 0)
|
||||||
{
|
{
|
||||||
providesPower = true;
|
powered = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
providesPower = false;
|
powered = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
providesPower = false;
|
powered = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (providesPower != lastProvidesPower)
|
if (powered != lastPowered)
|
||||||
{
|
{
|
||||||
worldObj.markBlockForUpdate(pos);
|
worldObj.markBlockForUpdate(pos);
|
||||||
worldObj.notifyBlockOfStateChange(pos, StorageCraftBlocks.DETECTOR);
|
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
|
@Override
|
||||||
@@ -191,7 +191,7 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
|||||||
compare = buf.readInt();
|
compare = buf.readInt();
|
||||||
mode = buf.readInt();
|
mode = buf.readInt();
|
||||||
amount = buf.readInt();
|
amount = buf.readInt();
|
||||||
providesPower = buf.readBoolean();
|
powered = buf.readBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -202,7 +202,7 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
|||||||
buf.writeInt(compare);
|
buf.writeInt(compare);
|
||||||
buf.writeInt(mode);
|
buf.writeInt(mode);
|
||||||
buf.writeInt(amount);
|
buf.writeInt(amount);
|
||||||
buf.writeBoolean(providesPower);
|
buf.writeBoolean(powered);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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