diff --git a/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java b/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java index 5512c83..0a7a974 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/WireMod.java @@ -14,12 +14,14 @@ import net.brokenmoon.afloydwiremod.tileentity.*; import net.fabricmc.api.ModInitializer; import net.minecraft.src.Block; import net.minecraft.src.Item; +import net.minecraft.src.ItemStack; import net.minecraft.src.Material; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import turniplabs.halplibe.helper.BlockHelper; import turniplabs.halplibe.helper.EntityHelper; import turniplabs.halplibe.helper.ItemHelper; +import turniplabs.halplibe.helper.RecipeHelper; public class WireMod implements ModInitializer { @@ -38,15 +40,18 @@ public class WireMod implements ModInitializer { AccessorPacket.callAddIdClassMapping(config.chipSettingsPacket, true, true, WiremodSettingsPacket.class); } + //Tile public static Block ChipTile = BlockHelper.createBlock(MOD_ID, new ChipTile(config.chipTileID, Material.iron), "chipTile", "chip.png", Block.soundMetalFootstep,1.5f, 6f, 0 ); - - public static Item ToolProgrammer = ItemHelper.createItem(MOD_ID, new ToolProgrammer(config.programmerItemID), "toolProgrammer", "progtool.png"); - public static ToolWiring ToolWiringClass = new ToolWiring(config.wiringItemID); - public static Item ToolWiring = ItemHelper.createItem(MOD_ID, ToolWiringClass, "toolWiring", "wiretool.png"); - public static Block LinkTileInactive = BlockHelper.createBlock(MOD_ID, new RedstoneLinkTile(config.linkTileInactiveID, Material.iron, false), "linkTile", "linkOff.png", Block.soundStoneFootstep, 1.5f, 6f, 0); public static Block LinkTileActive = BlockHelper.createBlock(MOD_ID, new RedstoneLinkTile(config.linkTileActiveID, Material.iron, true), "linkTile", "linkOn.png", Block.soundStoneFootstep, 1.5f, 6f, 0); public static Block ScreenTile = BlockHelper.createBlock(MOD_ID, new DisplayTile(config.displayTileID, Material.glass), "displayTile", "display.png", Block.soundGlassFootstep, 1.5f, 6f, 0); + //Item + public static Item ToolProgrammer = ItemHelper.createItem(MOD_ID, new ToolProgrammer(config.programmerItemID), "toolProgrammer", "progtool.png"); + public static ToolWiring ToolWiringClass = new ToolWiring(config.wiringItemID); + public static Item ToolWiring = ItemHelper.createItem(MOD_ID, ToolWiringClass, "toolWiring", "wiretool.png"); + public static Item RedSilica = ItemHelper.createItem(MOD_ID, new Item(config.redsilicaID), "redSilica", "redsilica.png"); + public static Item ChipDie = ItemHelper.createItem(MOD_ID, new Item(config.dieID), "chipDie", "circuitdie.png"); + public static Item BrokenDie = ItemHelper.createItem(MOD_ID, new Item(config.dieOvercookedID), "chipDieBroken", "circuitdead.png"); @Override public void onInitialize() { @@ -56,5 +61,19 @@ public class WireMod implements ModInitializer { EntityHelper.createTileEntity(RedstoneLinkTileEntity.class, "Redstone Link"); EntityHelper.createSpecialTileEntity(AbstractWireTileEntity.class, new TERWire(), "Wire"); EntityHelper.createSpecialTileEntity(DisplayTileEntity.class, new TERDisplay(), "Display"); + + //Recipes + //Silica + RecipeHelper.Crafting.createShapelessRecipe(RedSilica, 8, new Object[]{new ItemStack(Item.dustRedstone, 1), new ItemStack(Item.dustRedstone, 1), new ItemStack(Item.dustRedstone, 1), new ItemStack(Block.sand, 1)}); + //Dies + RecipeHelper.Smelting.createRecipe(ChipDie, RedSilica); + RecipeHelper.Blasting.createRecipe(BrokenDie, RedSilica); + //Tools + RecipeHelper.Crafting.createRecipe(ToolWiring, 1, new Object[]{"ABC", "#D#", "#D#", 'A', Item.nuggetIron, 'B', Item.ingotIron, 'C', RedSilica, 'D', Item.stick}); + RecipeHelper.Crafting.createRecipe(ToolProgrammer, 1, new Object[]{"ABC", "#D#", "#D#", 'A', Item.nuggetIron, 'B', Item.ingotIron, 'C', ChipDie, 'D', Item.stick}); + //Blocks + RecipeHelper.Crafting.createRecipe(ChipTile, 1, new Object[]{"#A#", "ABA", "#A#", 'A', Item.nuggetIron, 'B', ChipDie}); + RecipeHelper.Crafting.createRecipe(ScreenTile, 1, new Object[]{"#A#", "BCB", "#B#", 'A', Block.glass, 'B', Item.nuggetIron, 'C', ChipDie}); + RecipeHelper.Crafting.createRecipe(LinkTileInactive, 1, new Object[]{"#A#", "BCB", "#B#", 'A', Block.blockRedstone, 'B', Item.nuggetIron, 'C', ChipDie}); } } diff --git a/src/main/java/net/brokenmoon/afloydwiremod/WiremodConfig.java b/src/main/java/net/brokenmoon/afloydwiremod/WiremodConfig.java index 8e1fcbb..625d5e6 100644 --- a/src/main/java/net/brokenmoon/afloydwiremod/WiremodConfig.java +++ b/src/main/java/net/brokenmoon/afloydwiremod/WiremodConfig.java @@ -15,12 +15,17 @@ public class WiremodConfig { public int wiringPacket; public int wiringSettingsPacket; public int chipSettingsPacket; - public int programmerItemID; - public int wiringItemID; + //Tiles public int chipTileID; public int linkTileInactiveID; public int linkTileActiveID; public int displayTileID; + //Items + public int programmerItemID; + public int wiringItemID; + public int redsilicaID; + public int dieID; + public int dieOvercookedID; public WiremodConfig(){ @@ -33,14 +38,17 @@ public class WiremodConfig { wiringSettingsPacket = toml.getLong("ids.packet.wiringSettingsGui", (long)113).intValue(); syncPacket = toml.getLong("ids.packet.sync", (long)114).intValue(); chipSettingsPacket = toml.getLong("ids.packet.chipSettingsGui", (long)115).intValue(); - //Items - programmerItemID = toml.getLong("ids.item.programmingTool", (long)906).intValue(); - wiringItemID = toml.getLong("ids.item.wiringTool", (long)907).intValue(); //Tiles chipTileID = toml.getLong("ids.tile.chipTile", (long)905).intValue(); linkTileInactiveID = toml.getLong("ids.tile.linkTileInactive", (long)906).intValue(); linkTileActiveID = toml.getLong("ids.tile.linkTileActive", (long)907).intValue(); displayTileID = toml.getLong("ids.tile.displayTile", (long)908).intValue(); + //Items + programmerItemID = toml.getLong("ids.item.programmingTool", (long)909).intValue(); + wiringItemID = toml.getLong("ids.item.wiringTool", (long)910).intValue(); + redsilicaID = toml.getLong("ids.item.redSilica", (long)911).intValue(); + dieID = toml.getLong("ids.item.chipDie", (long)912).intValue(); + dieOvercookedID = toml.getLong("ids.item.chipDieOvercooked", (long)913).intValue(); } public static File getConfig() { diff --git a/src/main/resources/assets/afloydwiremod/config.toml b/src/main/resources/assets/afloydwiremod/config.toml index 5ca244c..90dc827 100644 --- a/src/main/resources/assets/afloydwiremod/config.toml +++ b/src/main/resources/assets/afloydwiremod/config.toml @@ -9,6 +9,9 @@ displayTile = 908 [ids.item] programmingTool = 909 wiringTool = 910 +redSilica = 911 +chipDie = 912 +chipDieOvercooked = 913 [ids.packet] programming = 109 diff --git a/src/main/resources/assets/afloydwiremod/item/circuitdead.png b/src/main/resources/assets/afloydwiremod/item/circuitdead.png new file mode 100644 index 0000000..056d637 Binary files /dev/null and b/src/main/resources/assets/afloydwiremod/item/circuitdead.png differ diff --git a/src/main/resources/assets/afloydwiremod/item/circuitdie.ase b/src/main/resources/assets/afloydwiremod/item/circuitdie.ase new file mode 100644 index 0000000..b547333 Binary files /dev/null and b/src/main/resources/assets/afloydwiremod/item/circuitdie.ase differ diff --git a/src/main/resources/assets/afloydwiremod/item/circuitdie.png b/src/main/resources/assets/afloydwiremod/item/circuitdie.png new file mode 100644 index 0000000..2f47229 Binary files /dev/null and b/src/main/resources/assets/afloydwiremod/item/circuitdie.png differ diff --git a/src/main/resources/assets/afloydwiremod/item/redsilica.ase b/src/main/resources/assets/afloydwiremod/item/redsilica.ase new file mode 100644 index 0000000..6c2d2a4 Binary files /dev/null and b/src/main/resources/assets/afloydwiremod/item/redsilica.ase differ diff --git a/src/main/resources/assets/afloydwiremod/item/redsilica.png b/src/main/resources/assets/afloydwiremod/item/redsilica.png new file mode 100644 index 0000000..080265e Binary files /dev/null and b/src/main/resources/assets/afloydwiremod/item/redsilica.png differ diff --git a/src/main/resources/lang/afloydwiremod/en_US.lang b/src/main/resources/lang/afloydwiremod/en_US.lang index bdcc36a..c1e720b 100644 --- a/src/main/resources/lang/afloydwiremod/en_US.lang +++ b/src/main/resources/lang/afloydwiremod/en_US.lang @@ -2,6 +2,12 @@ item.afloydwiremod.toolProgrammer.name=Programming Tool item.afloydwiremod.toolProgrammer.desc=Used to program chips. item.afloydwiremod.toolWiring.name=Wiring Tool item.afloydwiremod.toolWiring.desc=Used to connect outputs to inputs. +item.afloydwiremod.redSilica.name=Red Silica +item.afloydwiremod.redSilica.desc=Smeltable into logical products. +item.afloydwiremod.chipDie.name=Silicon Die +item.afloydwiremod.chipDie.desc=Too fragile to use unpackaged. +item.afloydwiremod.chipDieBroken.name=Broken Die +item.afloydwiremod.chipDieBroken.desc=Destroyed by the temperatures of the Blast Furnace. tile.afloydwiremod.chipTile.name=Chip tile.afloydwiremod.chipTile.desc=Used to preform mathematical calculations. tile.afloydwiremod.linkTile.name=Redstone Link