diff --git a/src/main/java/refinedstorage/RefinedStorageBlocks.java b/src/main/java/refinedstorage/RefinedStorageBlocks.java index 3e817a11d..572d783e8 100755 --- a/src/main/java/refinedstorage/RefinedStorageBlocks.java +++ b/src/main/java/refinedstorage/RefinedStorageBlocks.java @@ -19,4 +19,6 @@ public final class RefinedStorageBlocks { public static final BlockRelay RELAY = new BlockRelay(); public static final BlockInterface INTERFACE = new BlockInterface(); public static final BlockCraftingMonitor CRAFTING_MONITOR = new BlockCraftingMonitor(); + public static final BlockCraftingCPU CRAFTING_CPU = new BlockCraftingCPU(); + public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter(); } diff --git a/src/main/java/refinedstorage/RefinedStorageItems.java b/src/main/java/refinedstorage/RefinedStorageItems.java index 6b0adff39..dbfee2990 100755 --- a/src/main/java/refinedstorage/RefinedStorageItems.java +++ b/src/main/java/refinedstorage/RefinedStorageItems.java @@ -11,4 +11,5 @@ public final class RefinedStorageItems { public static final ItemProcessor PROCESSOR = new ItemProcessor(); public static final ItemStoragePart STORAGE_PART = new ItemStoragePart(); public static final ItemPattern PATTERN = new ItemPattern(); + public static final ItemUpgrade UPGRADE = new ItemUpgrade(); } diff --git a/src/main/java/refinedstorage/block/BlockCraftingCPU.java b/src/main/java/refinedstorage/block/BlockCraftingCPU.java new file mode 100755 index 000000000..8ee915586 --- /dev/null +++ b/src/main/java/refinedstorage/block/BlockCraftingCPU.java @@ -0,0 +1,60 @@ +package refinedstorage.block; + +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.properties.PropertyEnum; +import net.minecraft.block.state.BlockStateContainer; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import refinedstorage.item.ItemBlockBase; +import refinedstorage.item.ItemBlockStorage; +import refinedstorage.tile.autocrafting.TileCraftingCPU; + +import java.util.List; + +public class BlockCraftingCPU extends BlockMachine { + public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumStorageType.class); + + public BlockCraftingCPU() { + super("crafting_cpu"); + } + + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List subItems) { + for (int i = 0; i <= 4; ++i) { + subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i))); + } + } + + @Override + protected BlockStateContainer createBlockState() { + return new BlockStateContainer(this, new IProperty[]{ + DIRECTION, + CONNECTED, + TYPE + }); + } + + @Override + public IBlockState getStateFromMeta(int meta) { + return getDefaultState().withProperty(TYPE, EnumStorageType.getById(meta)); + } + + @Override + public int getMetaFromState(IBlockState state) { + return ((EnumStorageType) state.getValue(TYPE)).getId(); + } + + @Override + public TileEntity createTileEntity(World world, IBlockState state) { + return new TileCraftingCPU(); + } + + @Override + public Item createItemForBlock() { + return new ItemBlockBase(this, true); + } +} diff --git a/src/main/java/refinedstorage/block/BlockWirelessTransmitter.java b/src/main/java/refinedstorage/block/BlockWirelessTransmitter.java new file mode 100755 index 000000000..60078a54e --- /dev/null +++ b/src/main/java/refinedstorage/block/BlockWirelessTransmitter.java @@ -0,0 +1,17 @@ +package refinedstorage.block; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import refinedstorage.tile.TileWirelessTransmitter; + +public class BlockWirelessTransmitter extends BlockMachine { + public BlockWirelessTransmitter() { + super("wireless_transmitter"); + } + + @Override + public TileEntity createTileEntity(World world, IBlockState state) { + return new TileWirelessTransmitter(); + } +} diff --git a/src/main/java/refinedstorage/item/ItemUpgrade.java b/src/main/java/refinedstorage/item/ItemUpgrade.java new file mode 100755 index 000000000..fe07b31b0 --- /dev/null +++ b/src/main/java/refinedstorage/item/ItemUpgrade.java @@ -0,0 +1,26 @@ +package refinedstorage.item; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class ItemUpgrade extends ItemBase { + public static final int TYPE_RANGE = 0; + public static final int TYPE_SPEED = 1; + + public ItemUpgrade() { + super("upgrade"); + + setHasSubtypes(true); + setMaxDamage(0); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i <= 1; ++i) { + list.add(new ItemStack(item, 1, i)); + } + } +} diff --git a/src/main/java/refinedstorage/proxy/CommonProxy.java b/src/main/java/refinedstorage/proxy/CommonProxy.java index df76fca4f..892c69088 100755 --- a/src/main/java/refinedstorage/proxy/CommonProxy.java +++ b/src/main/java/refinedstorage/proxy/CommonProxy.java @@ -23,6 +23,7 @@ import refinedstorage.item.*; import refinedstorage.network.*; import refinedstorage.storage.NBTStorage; import refinedstorage.tile.*; +import refinedstorage.tile.autocrafting.TileCraftingCPU; import refinedstorage.tile.autocrafting.TileCraftingMonitor; import refinedstorage.tile.grid.TileGrid; import refinedstorage.tile.solderer.*; @@ -69,6 +70,8 @@ public class CommonProxy { GameRegistry.registerTileEntity(TileRelay.class, ID + ":relay"); GameRegistry.registerTileEntity(TileInterface.class, ID + ":interface"); GameRegistry.registerTileEntity(TileCraftingMonitor.class, ID + ":crafting_monitor"); + GameRegistry.registerTileEntity(TileCraftingCPU.class, ID + ":crafting_cpu"); + GameRegistry.registerTileEntity(TileWirelessTransmitter.class, ID + ":wireless_transmitter"); registerBlock(RefinedStorageBlocks.CONTROLLER); registerBlock(RefinedStorageBlocks.CABLE); @@ -86,6 +89,8 @@ public class CommonProxy { registerBlock(RefinedStorageBlocks.RELAY); registerBlock(RefinedStorageBlocks.INTERFACE); registerBlock(RefinedStorageBlocks.CRAFTING_MONITOR); + registerBlock(RefinedStorageBlocks.CRAFTING_CPU); + registerBlock(RefinedStorageBlocks.WIRELESS_TRANSMITTER); registerItem(RefinedStorageItems.STORAGE_DISK); registerItem(RefinedStorageItems.PATTERN); @@ -95,6 +100,7 @@ public class CommonProxy { registerItem(RefinedStorageItems.SILICON); registerItem(RefinedStorageItems.PROCESSOR); registerItem(RefinedStorageItems.STORAGE_PART); + registerItem(RefinedStorageItems.UPGRADE); // Processors SoldererRegistry.addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_BASIC)); diff --git a/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java b/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java new file mode 100755 index 000000000..daf216bae --- /dev/null +++ b/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java @@ -0,0 +1,19 @@ +package refinedstorage.tile; + +import net.minecraft.inventory.Container; + +public class TileWirelessTransmitter extends TileMachine { + @Override + public int getEnergyUsage() { + return 0; + } + + @Override + public void updateMachine() { + } + + @Override + public Class getContainer() { + return null; + } +} diff --git a/src/main/java/refinedstorage/tile/autocrafting/TileCraftingCPU.java b/src/main/java/refinedstorage/tile/autocrafting/TileCraftingCPU.java new file mode 100755 index 000000000..f91d59f42 --- /dev/null +++ b/src/main/java/refinedstorage/tile/autocrafting/TileCraftingCPU.java @@ -0,0 +1,20 @@ +package refinedstorage.tile.autocrafting; + +import net.minecraft.inventory.Container; +import refinedstorage.tile.TileMachine; + +public class TileCraftingCPU extends TileMachine { + @Override + public int getEnergyUsage() { + return 0; + } + + @Override + public void updateMachine() { + } + + @Override + public Class getContainer() { + return null; + } +} diff --git a/src/main/resources/assets/refinedstorage/lang/en_US.lang b/src/main/resources/assets/refinedstorage/lang/en_US.lang index 0c6a45469..ae06aee1b 100755 --- a/src/main/resources/assets/refinedstorage/lang/en_US.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_US.lang @@ -94,6 +94,12 @@ block.refinedstorage:storage.4.name=Creative Storage Block block.refinedstorage:relay.name=Relay block.refinedstorage:interface.name=Interface block.refinedstorage:crafting_monitor.name=Crafting Monitor +block.refinedstorage:crafting_cpu.0.name=1k Crafting CPU +block.refinedstorage:crafting_cpu.1.name=4k Crafting CPU +block.refinedstorage:crafting_cpu.2.name=16k Crafting CPU +block.refinedstorage:crafting_cpu.3.name=64k Crafting CPU +block.refinedstorage:crafting_cpu.4.name=Creative Crafting CPU +block.refinedstorage:wireless_transmitter.name=Wireless Transmitter item.refinedstorage:storage_disk.0.name=1k Storage Disk item.refinedstorage:storage_disk.1.name=4k Storage Disk @@ -117,4 +123,6 @@ item.refinedstorage:storage_part.0.name=1k Storage Part item.refinedstorage:storage_part.1.name=4k Storage Part item.refinedstorage:storage_part.2.name=16k Storage Part item.refinedstorage:storage_part.3.name=64k Storage Part -item.refinedstorage:pattern.name=Pattern \ No newline at end of file +item.refinedstorage:pattern.name=Pattern +item.refinedstorage:upgrade.0.name=Range Upgrade +item.refinedstorage:upgrade.1.name=Speed Upgrade \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/lang/nl_NL.lang b/src/main/resources/assets/refinedstorage/lang/nl_NL.lang index 1f4d6c711..eadc942f9 100755 --- a/src/main/resources/assets/refinedstorage/lang/nl_NL.lang +++ b/src/main/resources/assets/refinedstorage/lang/nl_NL.lang @@ -94,6 +94,12 @@ block.refinedstorage:storage.4.name=Creative Opslag Blok block.refinedstorage:relay.name=Relais block.refinedstorage:interface.name=Interface block.refinedstorage:crafting_monitor.name=Crafting Monitor +block.refinedstorage:crafting_cpu.0.name=1k Crafting CPU +block.refinedstorage:crafting_cpu.1.name=4k Crafting CPU +block.refinedstorage:crafting_cpu.2.name=16k Crafting CPU +block.refinedstorage:crafting_cpu.3.name=64k Crafting CPU +block.refinedstorage:crafting_cpu.4.name=Creative Crafting CPU +block.refinedstorage:wireless_transmitter.name=Draadloze Zender item.refinedstorage:storage_disk.0.name=1k Opslagschijf item.refinedstorage:storage_disk.1.name=4k Opslagschijf @@ -117,4 +123,6 @@ item.refinedstorage:storage_part.0.name=1k Opslagdeel item.refinedstorage:storage_part.1.name=4k Opslagdeel item.refinedstorage:storage_part.2.name=16k Opslagdeel item.refinedstorage:storage_part.3.name=64k Opslagdeel -item.refinedstorage:pattern.name=Patroon \ No newline at end of file +item.refinedstorage:pattern.name=Patroon +item.refinedstorage:upgrade.0.name=Afstand Upgrade +item.refinedstorage:upgrade.1.name=Snelheid Upgrade \ No newline at end of file