diff --git a/assets/processor base.xcf b/assets/processor base.xcf new file mode 100644 index 0000000..e7476d1 Binary files /dev/null and b/assets/processor base.xcf differ diff --git a/assets/silicon wafer.xcf b/assets/silicon wafer.xcf new file mode 100644 index 0000000..c0422b7 Binary files /dev/null and b/assets/silicon wafer.xcf differ diff --git a/assets/small chest icon.xcf b/assets/small chest icon.xcf new file mode 100644 index 0000000..3765c95 Binary files /dev/null and b/assets/small chest icon.xcf differ diff --git a/src/main/kotlin/net/shadowfacts/phycon/init/PhyItems.kt b/src/main/kotlin/net/shadowfacts/phycon/init/PhyItems.kt index 76913fe..2877d2e 100644 --- a/src/main/kotlin/net/shadowfacts/phycon/init/PhyItems.kt +++ b/src/main/kotlin/net/shadowfacts/phycon/init/PhyItems.kt @@ -39,6 +39,9 @@ object PhyItems { val TWISTED_PAIR = Item(Item.Settings()) val SCREEN = Item(Item.Settings()) val SERIAL_CABLE = Item(Item.Settings()) + val SILICON_WAFER = Item(Item.Settings()) + val ITEM_PROCESSOR = Item(Item.Settings()) + val REDSTONE_PROCESSOR = Item(Item.Settings()) fun init() { register(InterfaceBlock.ID, INTERFACE) @@ -56,6 +59,9 @@ object PhyItems { register(Identifier(PhysicalConnectivity.MODID, "twisted_pair"), TWISTED_PAIR) register(Identifier(PhysicalConnectivity.MODID, "screen"), SCREEN) register(Identifier(PhysicalConnectivity.MODID, "serial_cable"), SERIAL_CABLE) + register(Identifier(PhysicalConnectivity.MODID, "silicon_wafer"), SILICON_WAFER) + register(Identifier(PhysicalConnectivity.MODID, "item_processor"), ITEM_PROCESSOR) + register(Identifier(PhysicalConnectivity.MODID, "redstone_processor"), REDSTONE_PROCESSOR) } private fun register(id: Identifier, item: Item) { diff --git a/src/main/resources/assets/phycon/lang/en_us.json b/src/main/resources/assets/phycon/lang/en_us.json index 6e536f2..319ca23 100644 --- a/src/main/resources/assets/phycon/lang/en_us.json +++ b/src/main/resources/assets/phycon/lang/en_us.json @@ -14,6 +14,9 @@ "item.phycon.twisted_pair": "Twisted Pair", "item.phycon.screen": "Screen", "item.phycon.serial_cable": "Serial Cable", + "item.phycon.silicon_wafer": "Silicon Wafer", + "item.phycon.item_processor": "Item Processor", + "item.phycon.redstone_processor": "Redstone Processor", "gui.phycon.terminal_buffer": "Buffer", "gui.phycon.console.details": "Device Details", diff --git a/src/main/resources/assets/phycon/models/item/item_processor.json b/src/main/resources/assets/phycon/models/item/item_processor.json new file mode 100644 index 0000000..443ea2b --- /dev/null +++ b/src/main/resources/assets/phycon/models/item/item_processor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "phycon:item/item_processor" + } +} diff --git a/src/main/resources/assets/phycon/models/item/redstone_processor.json b/src/main/resources/assets/phycon/models/item/redstone_processor.json new file mode 100644 index 0000000..32ea571 --- /dev/null +++ b/src/main/resources/assets/phycon/models/item/redstone_processor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "phycon:item/redstone_processor" + } +} diff --git a/src/main/resources/assets/phycon/models/item/silicon_wafer.json b/src/main/resources/assets/phycon/models/item/silicon_wafer.json new file mode 100644 index 0000000..6c8d253 --- /dev/null +++ b/src/main/resources/assets/phycon/models/item/silicon_wafer.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "phycon:item/silicon_wafer" + } +} diff --git a/src/main/resources/assets/phycon/textures/item/item_processor.png b/src/main/resources/assets/phycon/textures/item/item_processor.png new file mode 100644 index 0000000..89ccc19 Binary files /dev/null and b/src/main/resources/assets/phycon/textures/item/item_processor.png differ diff --git a/src/main/resources/assets/phycon/textures/item/redstone_processor.png b/src/main/resources/assets/phycon/textures/item/redstone_processor.png new file mode 100644 index 0000000..7fc7e08 Binary files /dev/null and b/src/main/resources/assets/phycon/textures/item/redstone_processor.png differ diff --git a/src/main/resources/assets/phycon/textures/item/silicon_wafer.png b/src/main/resources/assets/phycon/textures/item/silicon_wafer.png new file mode 100644 index 0000000..6bc4bda Binary files /dev/null and b/src/main/resources/assets/phycon/textures/item/silicon_wafer.png differ diff --git a/src/main/resources/data/phycon/advancements/recipes/processors.json b/src/main/resources/data/phycon/advancements/recipes/processors.json new file mode 100644 index 0000000..f017f9b --- /dev/null +++ b/src/main/resources/data/phycon/advancements/recipes/processors.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "phycon:item_processor", + "phycon:redstone_processor" + ] + }, + "criteria": { + "has_wafer": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "phycon:silicon_wafer" + } + ] + } + }, + "has_redstone_processor": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "phycon:redstone_processor" + } + }, + "has_item_processor": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "phycon:item_processor" + } + } + }, + "requirements": [ + [ + "has_wafer", + "has_redstone_processor", + "has_item_processor" + ] + ] +} diff --git a/src/main/resources/data/phycon/advancements/recipes/silicon_wafer.json b/src/main/resources/data/phycon/advancements/recipes/silicon_wafer.json new file mode 100644 index 0000000..ca6b542 --- /dev/null +++ b/src/main/resources/data/phycon/advancements/recipes/silicon_wafer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "phycon:silicon_wafer" + ] + }, + "criteria": { + "has_quartz": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:quartz" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "phycon:silicon_wafer" + } + } + }, + "requirements": [ + [ + "has_quartz", + "has_the_recipe" + ] + ] +} diff --git a/src/main/resources/data/phycon/recipes/item_processor.json b/src/main/resources/data/phycon/recipes/item_processor.json new file mode 100644 index 0000000..0627e15 --- /dev/null +++ b/src/main/resources/data/phycon/recipes/item_processor.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + "ISI", + " G " + ], + "key": { + "C": {"item": "minecraft:chest"}, + "I": {"tag": "c:iron_ingots"}, + "S": {"item": "phycon:silicon_wafer"}, + "G": {"tag": "c:gold_ingots"} + }, + "result": { + "item": "phycon:item_processor" + } +} diff --git a/src/main/resources/data/phycon/recipes/redstone_processor.json b/src/main/resources/data/phycon/recipes/redstone_processor.json new file mode 100644 index 0000000..d454f16 --- /dev/null +++ b/src/main/resources/data/phycon/recipes/redstone_processor.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " T ", + "RSR", + " G " + ], + "key": { + "T": {"item": "minecraft:redstone_torch"}, + "R": {"item": "minecraft:redstone"}, + "S": {"item": "phycon:silicon_wafer"}, + "G": {"tag": "c:gold_ingots"} + }, + "result": { + "item": "phycon:redstone_processor" + } +} diff --git a/src/main/resources/data/phycon/recipes/silicon_wafer.json b/src/main/resources/data/phycon/recipes/silicon_wafer.json new file mode 100644 index 0000000..a40aa4b --- /dev/null +++ b/src/main/resources/data/phycon/recipes/silicon_wafer.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "minecraft:quartz" + }, + "result": "phycon:silicon_wafer", + "experience": 5, + "cookingtime": 300 +}