From 6aa9a78e1bb6cb0f1b8a6e93ebb81f5e1c7ffb59 Mon Sep 17 00:00:00 2001 From: Jason Gronn Date: Sat, 4 Oct 2025 17:36:23 -0400 Subject: [PATCH] Add the APU --- .../minecraft/common/item/APUItem.java | 39 ++++++++++++++++++ .../minecraft/common/item/CPUItem.java | 2 +- .../minecraft/common/item/CardItem.java | 5 +++ .../minecraft/common/item/EepromItem.java | 2 +- .../minecraft/common/item/FloppyDiskItem.java | 2 +- .../common/item/GraphicsCardItem.java | 2 +- .../minecraft/common/item/HardDiskItem.java | 2 +- .../minecraft/common/item/MemoryItem.java | 2 +- .../common/item/ProcessorProviderItem.java | 5 +++ .../minecraft/common/item/SlotItem.java | 5 +++ .../minecraft/common/menu/CaseMenu.java | 36 ++++++++-------- .../minecraft/common/menu/ComponentSlot.java | 8 ++-- .../common/registry/CommonRegistered.java | 9 ++-- .../assets/ocreloaded/lang/en_us.json | 3 ++ .../assets/ocreloaded/models/item/apu1.json | 6 +++ .../assets/ocreloaded/models/item/apu2.json | 6 +++ .../ocreloaded/models/item/apucreative.json | 6 +++ .../assets/ocreloaded/textures/item/apu1.png | Bin 0 -> 874 bytes .../ocreloaded/textures/item/apu1.png.mcmeta | 18 ++++++++ .../assets/ocreloaded/textures/item/apu2.png | Bin 0 -> 885 bytes .../ocreloaded/textures/item/apu2.png.mcmeta | 18 ++++++++ .../ocreloaded/textures/item/apucreative.png | Bin 0 -> 887 bytes .../textures/item/apucreative.png.mcmeta | 18 ++++++++ 23 files changed, 162 insertions(+), 32 deletions(-) create mode 100644 projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/APUItem.java create mode 100644 projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CardItem.java create mode 100644 projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/ProcessorProviderItem.java create mode 100644 projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/SlotItem.java create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu1.json create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu2.json create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apucreative.json create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu1.png create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu1.png.mcmeta create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu2.png create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu2.png.mcmeta create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apucreative.png create mode 100644 projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apucreative.png.mcmeta diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/APUItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/APUItem.java new file mode 100644 index 0000000..173f263 --- /dev/null +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/APUItem.java @@ -0,0 +1,39 @@ +package li.cil.ocreloaded.minecraft.common.item; + +import li.cil.ocreloaded.core.component.GraphicsCardComponent; +import li.cil.ocreloaded.core.network.NetworkNode; +import li.cil.ocreloaded.core.network.NetworkNode.Visibility; +import li.cil.ocreloaded.minecraft.common.component.ComponentNetworkNode; +import net.minecraft.world.item.Item; + +public class APUItem extends Item implements ProcessorProviderItem, ComponentItem { + + //TODO: Move this to a conifg + public static int[][] TIER_RESOLUTIONS = new int[][] { + new int[] { 50, 16 }, + new int[] { 80, 25 }, + new int[] { 160, 50 }, + }; + + public static int[] TIER_DEPTHS = new int[] { 1, 4, 8 }; + + private final int tier; + + public APUItem(Properties properties, int tier) { + super(properties); + this.tier = tier; + } + + @Override + public int getTier() { + return this.tier; + } + + @Override + public NetworkNode newNetworkNode() { + return new ComponentNetworkNode( + node -> new GraphicsCardComponent(node, TIER_RESOLUTIONS[tier - 1], TIER_DEPTHS[tier - 1]), + Visibility.NEIGHBORS); + } + +} diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CPUItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CPUItem.java index f2bc65f..bf09f34 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CPUItem.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CPUItem.java @@ -2,7 +2,7 @@ import net.minecraft.world.item.Item; -public class CPUItem extends Item implements TieredItem { +public class CPUItem extends Item implements ProcessorProviderItem { private final int tier; diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CardItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CardItem.java new file mode 100644 index 0000000..f48ddf7 --- /dev/null +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/CardItem.java @@ -0,0 +1,5 @@ +package li.cil.ocreloaded.minecraft.common.item; + +public interface CardItem extends TieredItem, ComponentItem, SlotItem { + +} diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/EepromItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/EepromItem.java index 72c89d1..b340b9b 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/EepromItem.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/EepromItem.java @@ -6,7 +6,7 @@ import li.cil.ocreloaded.minecraft.common.component.ComponentNetworkNode; import net.minecraft.world.item.Item; -public class EepromItem extends Item implements ComponentItem { +public class EepromItem extends Item implements SlotItem, ComponentItem { public EepromItem(Properties properties) { super(properties); diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/FloppyDiskItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/FloppyDiskItem.java index 15dcc42..166bb49 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/FloppyDiskItem.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/FloppyDiskItem.java @@ -11,7 +11,7 @@ import li.cil.ocreloaded.minecraft.server.machine.fssup.FileSystemSupplierRegistry; import net.minecraft.world.item.Item; -public class FloppyDiskItem extends Item implements ComponentItem { +public class FloppyDiskItem extends Item implements SlotItem, ComponentItem { private static FileSystemSupplierRegistry fileSystemFactory = FileSystemSupplierRegistry.getDefaultInstance(); diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/GraphicsCardItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/GraphicsCardItem.java index 91253c3..13c6abc 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/GraphicsCardItem.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/GraphicsCardItem.java @@ -6,7 +6,7 @@ import li.cil.ocreloaded.minecraft.common.component.ComponentNetworkNode; import net.minecraft.world.item.Item; -public class GraphicsCardItem extends Item implements TieredItem, ComponentItem { +public class GraphicsCardItem extends Item implements CardItem { //TODO: Move this to a conifg public static int[][] TIER_RESOLUTIONS = new int[][] { diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/HardDiskItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/HardDiskItem.java index 321ddd2..18b7c90 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/HardDiskItem.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/HardDiskItem.java @@ -8,7 +8,7 @@ import li.cil.ocreloaded.minecraft.server.machine.fssup.FileSystemSupplierRegistry; import net.minecraft.world.item.Item; -public class HardDiskItem extends Item implements TieredItem, ComponentItem { +public class HardDiskItem extends Item implements SlotItem, TieredItem, ComponentItem { private static FileSystemSupplierRegistry fileSystemFactory = FileSystemSupplierRegistry.getDefaultInstance(); diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/MemoryItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/MemoryItem.java index cfa8f78..9f4431a 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/MemoryItem.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/MemoryItem.java @@ -2,7 +2,7 @@ import net.minecraft.world.item.Item; -public class MemoryItem extends Item implements TieredItem { +public class MemoryItem extends Item implements SlotItem, TieredItem { private final int tier; diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/ProcessorProviderItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/ProcessorProviderItem.java new file mode 100644 index 0000000..57e11fa --- /dev/null +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/ProcessorProviderItem.java @@ -0,0 +1,5 @@ +package li.cil.ocreloaded.minecraft.common.item; + +public interface ProcessorProviderItem extends TieredItem, SlotItem { + +} diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/SlotItem.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/SlotItem.java new file mode 100644 index 0000000..dd6e9cb --- /dev/null +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/item/SlotItem.java @@ -0,0 +1,5 @@ +package li.cil.ocreloaded.minecraft.common.item; + +public interface SlotItem { + +} diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/CaseMenu.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/CaseMenu.java index b6fa2f6..48be57c 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/CaseMenu.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/CaseMenu.java @@ -7,12 +7,13 @@ import li.cil.ocreloaded.minecraft.common.assets.SharedTextures; import li.cil.ocreloaded.minecraft.common.container.BasicContainer; import li.cil.ocreloaded.minecraft.common.entity.CaseBlockEntity; -import li.cil.ocreloaded.minecraft.common.item.CPUItem; +import li.cil.ocreloaded.minecraft.common.item.CardItem; import li.cil.ocreloaded.minecraft.common.item.EepromItem; import li.cil.ocreloaded.minecraft.common.item.FloppyDiskItem; -import li.cil.ocreloaded.minecraft.common.item.GraphicsCardItem; import li.cil.ocreloaded.minecraft.common.item.HardDiskItem; import li.cil.ocreloaded.minecraft.common.item.MemoryItem; +import li.cil.ocreloaded.minecraft.common.item.ProcessorProviderItem; +import li.cil.ocreloaded.minecraft.common.item.SlotItem; import li.cil.ocreloaded.minecraft.common.network.IPlatformNetworkHelper; import li.cil.ocreloaded.minecraft.common.network.packets.PowerPacket; import li.cil.ocreloaded.minecraft.common.registry.CommonRegistered; @@ -25,34 +26,33 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.DataSlot; import net.minecraft.world.inventory.Slot; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; public class CaseMenu extends AbstractContainerMenu { private static final List> COMPONENT_SLOTS = List.of( List.of( - new ComponentSlotEntry(0, 0, GraphicsCardItem.class, SharedTextures.CARD_ICON, 1), - new ComponentSlotEntry(0, 1, GraphicsCardItem.class, SharedTextures.CARD_ICON, 1), - new ComponentSlotEntry(1, 0, CPUItem.class, SharedTextures.CPU_ICON, 1), + new ComponentSlotEntry(0, 0, CardItem.class, SharedTextures.CARD_ICON, 1), + new ComponentSlotEntry(0, 1, CardItem.class, SharedTextures.CARD_ICON, 1), + new ComponentSlotEntry(1, 0, ProcessorProviderItem.class, SharedTextures.CPU_ICON, 1), new ComponentSlotEntry(1, 1, MemoryItem.class, SharedTextures.MEMORY_ICON, 1), new ComponentSlotEntry(1, 2, MemoryItem.class, SharedTextures.MEMORY_ICON, 1), new ComponentSlotEntry(2, 0, HardDiskItem.class, SharedTextures.HDD_ICON, 1) ), List.of( - new ComponentSlotEntry(0, 0, GraphicsCardItem.class, SharedTextures.CARD_ICON, 2), - new ComponentSlotEntry(0, 1, GraphicsCardItem.class, SharedTextures.CARD_ICON, 1), - new ComponentSlotEntry(1, 0, CPUItem.class, SharedTextures.CPU_ICON, 2), + new ComponentSlotEntry(0, 0, CardItem.class, SharedTextures.CARD_ICON, 2), + new ComponentSlotEntry(0, 1, CardItem.class, SharedTextures.CARD_ICON, 1), + new ComponentSlotEntry(1, 0, ProcessorProviderItem.class, SharedTextures.CPU_ICON, 2), new ComponentSlotEntry(1, 1, MemoryItem.class, SharedTextures.MEMORY_ICON, 2), new ComponentSlotEntry(1, 2, MemoryItem.class, SharedTextures.MEMORY_ICON, 2), new ComponentSlotEntry(2, 0, HardDiskItem.class, SharedTextures.HDD_ICON, 2), new ComponentSlotEntry(2, 1, HardDiskItem.class, SharedTextures.HDD_ICON, 1) ), List.of( - new ComponentSlotEntry(0, 0, GraphicsCardItem.class, SharedTextures.CARD_ICON, 3), - new ComponentSlotEntry(0, 1, GraphicsCardItem.class, SharedTextures.CARD_ICON, 2), - new ComponentSlotEntry(0, 2, GraphicsCardItem.class, SharedTextures.CARD_ICON, 2), - new ComponentSlotEntry(1, 0, CPUItem.class, SharedTextures.CPU_ICON, 3), + new ComponentSlotEntry(0, 0, CardItem.class, SharedTextures.CARD_ICON, 3), + new ComponentSlotEntry(0, 1, CardItem.class, SharedTextures.CARD_ICON, 2), + new ComponentSlotEntry(0, 2, CardItem.class, SharedTextures.CARD_ICON, 2), + new ComponentSlotEntry(1, 0, ProcessorProviderItem.class, SharedTextures.CPU_ICON, 3), new ComponentSlotEntry(1, 1, MemoryItem.class, SharedTextures.MEMORY_ICON, 3), new ComponentSlotEntry(1, 2, MemoryItem.class, SharedTextures.MEMORY_ICON, 3), new ComponentSlotEntry(2, 0, HardDiskItem.class, SharedTextures.HDD_ICON, 3), @@ -60,10 +60,10 @@ public class CaseMenu extends AbstractContainerMenu { new ComponentSlotEntry(2, 2, FloppyDiskItem.class, SharedTextures.FLOPPY_ICON, 1) ), List.of( - new ComponentSlotEntry(0, 0, GraphicsCardItem.class, SharedTextures.CARD_ICON, 3), - new ComponentSlotEntry(0, 1, GraphicsCardItem.class, SharedTextures.CARD_ICON, 3), - new ComponentSlotEntry(0, 2, GraphicsCardItem.class, SharedTextures.CARD_ICON, 3), - new ComponentSlotEntry(1, 0, CPUItem.class, SharedTextures.CPU_ICON, 3), + new ComponentSlotEntry(0, 0, CardItem.class, SharedTextures.CARD_ICON, 3), + new ComponentSlotEntry(0, 1, CardItem.class, SharedTextures.CARD_ICON, 3), + new ComponentSlotEntry(0, 2, CardItem.class, SharedTextures.CARD_ICON, 3), + new ComponentSlotEntry(1, 0, ProcessorProviderItem.class, SharedTextures.CPU_ICON, 3), new ComponentSlotEntry(1, 1, MemoryItem.class, SharedTextures.MEMORY_ICON, 3), new ComponentSlotEntry(1, 2, MemoryItem.class, SharedTextures.MEMORY_ICON, 3), new ComponentSlotEntry(2, 0, HardDiskItem.class, SharedTextures.HDD_ICON, 3), @@ -157,6 +157,6 @@ private void addComponentSlot(ComponentSlotEntry entry) { entry.teir())); } - private record ComponentSlotEntry(int x, int y, Class itemClass, ResourceLocation texture, int teir) { } + private record ComponentSlotEntry(int x, int y, Class itemClass, ResourceLocation texture, int teir) { } } diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/ComponentSlot.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/ComponentSlot.java index 62f548a..9ab24c4 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/ComponentSlot.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/menu/ComponentSlot.java @@ -2,27 +2,27 @@ import javax.annotation.Nonnull; +import li.cil.ocreloaded.minecraft.common.item.SlotItem; import li.cil.ocreloaded.minecraft.common.item.TieredItem; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.inventory.Slot; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; public class ComponentSlot extends Slot { - private final Class itemClass; + private final Class itemClass; private final ResourceLocation texture; private final int teir; - public ComponentSlot(Container container, int index, int x, int y, Class itemClass, ResourceLocation texture, int tier) { + public ComponentSlot(Container container, int index, int x, int y, Class itemClass, ResourceLocation texture, int tier) { super(container, index, x, y); this.itemClass = itemClass; this.texture = texture; this.teir = tier; } - public ComponentSlot(Container container, int index, int x, int y, Class itemClass, ResourceLocation texture) { + public ComponentSlot(Container container, int index, int x, int y, Class itemClass, ResourceLocation texture) { this(container, index, x, y, itemClass, texture, 0); } diff --git a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/registry/CommonRegistered.java b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/registry/CommonRegistered.java index f49307e..ab11002 100644 --- a/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/registry/CommonRegistered.java +++ b/projects/Minecraft/src/main/java/li/cil/ocreloaded/minecraft/common/registry/CommonRegistered.java @@ -11,6 +11,7 @@ import li.cil.ocreloaded.minecraft.common.entity.CaseBlockEntity; import li.cil.ocreloaded.minecraft.common.entity.KeyboardBlockEntity; import li.cil.ocreloaded.minecraft.common.entity.ScreenBlockEntity; +import li.cil.ocreloaded.minecraft.common.item.APUItem; import li.cil.ocreloaded.minecraft.common.item.CPUItem; import li.cil.ocreloaded.minecraft.common.item.DataCardItem; import li.cil.ocreloaded.minecraft.common.item.EepromItem; @@ -52,10 +53,6 @@ public class CommonRegistered { public static void initialize() { NetworkUtil.initialize(); - - /*NetworkUtil.getInstance().registerHandler("ocreloaded:power", new PowerNetworkHandler()); - NetworkUtil.getInstance().registerHandler("ocreloaded:screen", new ScreenNetworkHandler()); - NetworkUtil.getInstance().registerHandler("ocreloaded:sound", new SoundNetworkHandler());*/ } // Creative mode tabs @@ -119,6 +116,10 @@ public static void initialize() { public static final RegistryObject TRANSISTOR = registerItem("transistor", () -> new Item(DEFAULT_ITEM_PROPERTIES)); public static final RegistryObject MANUAL = registerItem("manual", () -> new ManualItem(DEFAULT_ITEM_PROPERTIES)); + public static final RegistryObject APU_TIER_1 = registerItem("apu1", () -> new APUItem(DEFAULT_ITEM_PROPERTIES, 2)); + public static final RegistryObject APU_TIER_2 = registerItem("apu2", () -> new APUItem(DEFAULT_ITEM_PROPERTIES, 3)); + public static final RegistryObject APU_TIER_3 = registerItem("apucreative", () -> new APUItem(DEFAULT_ITEM_PROPERTIES, 3)); + public static final RegistryObject CPU_TIER_1 = registerItem("cpu1", () -> new CPUItem(DEFAULT_ITEM_PROPERTIES, 1)); public static final RegistryObject CPU_TIER_2 = registerItem("cpu2", () -> new CPUItem(DEFAULT_ITEM_PROPERTIES, 2)); public static final RegistryObject CPU_TIER_3 = registerItem("cpu3", () -> new CPUItem(DEFAULT_ITEM_PROPERTIES, 3)); diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/lang/en_us.json b/projects/Minecraft/src/main/resources/assets/ocreloaded/lang/en_us.json index af6f963..8017e44 100644 --- a/projects/Minecraft/src/main/resources/assets/ocreloaded/lang/en_us.json +++ b/projects/Minecraft/src/main/resources/assets/ocreloaded/lang/en_us.json @@ -12,6 +12,9 @@ "gui.ocreloaded.case.power_on": "Turn on", "gui.ocreloaded.case.power_on_line2": "§7Use an Analyzer to troubleshoot errors.§r", "item.ocreloaded.alu": "Arithmetic Logic Unit (ALU)", + "item.ocreloaded.apu1": "Accelerated Processing Unit (APU) (Tier 2)", + "item.ocreloaded.apu2": "Accelerated Processing Unit (APU) (Tier 3)", + "item.ocreloaded.apucreative": "Accelerated Processing Unit (APU) (Creative)", "item.ocreloaded.arrow_keys": "Arrow Keys", "item.ocreloaded.button_group": "Button Group", "item.ocreloaded.card": "Card Base", diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu1.json b/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu1.json new file mode 100644 index 0000000..e4a4420 --- /dev/null +++ b/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu1.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ocreloaded:item/apu1" + } +} \ No newline at end of file diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu2.json b/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu2.json new file mode 100644 index 0000000..4405493 --- /dev/null +++ b/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apu2.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ocreloaded:item/apu2" + } +} \ No newline at end of file diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apucreative.json b/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apucreative.json new file mode 100644 index 0000000..35150aa --- /dev/null +++ b/projects/Minecraft/src/main/resources/assets/ocreloaded/models/item/apucreative.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ocreloaded:item/apucreative" + } +} \ No newline at end of file diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu1.png b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu1.png new file mode 100644 index 0000000000000000000000000000000000000000..a424643c22d67367a94238938e628e1f9d1b6979 GIT binary patch literal 874 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!3-po`I#mGDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MOOoSLR`5-M1jm>$Bu~`8Y_AFJb(WD&66|NuU>7auivnK z{o(}+9$njXKfJX1_L+Hi&n>=kxcA1% z>5s0gzp%IQ{)J_)pPagVX70Ne7e2kaef3D+_2ZL2zP|S2{-K+vX52lu=>Px!k%`*B zfWC4s3GxdDa;X3qj?W3pXJBBw;pyTSQgLg_g_lK(97Nh4elzJaBz%MQ-uQ5OC2GIRl#XXuPQagBDX#ip>=9oE{w9?Yv2&hY%}qV=6e z6Lgpsrf~f#sIZgpafuKxvXVZZw)x|ecAgjBw(Gx_>eT%Ho1eJ*@9s@++m4G>ui4P9 zYty7KLC);khG-im(RugZIq0uqed<^ta!L8ZgP(nsSGxK7r+(1ra;gHV&Aq+6D#vWU z&hgBOoDJ=*wlWVVs&sxS*wB9Y(Zm%6f8Wb}SrHW=*W#{XE5y6*{Y>}0FFtH&aTjsD zboh{5-{U#23N8Lb&PqG{xWRVXjl&{xmGiv$g{x=i%I)Oh-=FXBeKpA9AD5J`KX}*% zws`4>54G`CIvd+FXDzRKQ}#aldTzy=4acRbcN|jYaenzQiGTZ1<&cM;9*cch1GZSr z)`?dyA8c_1cfZc*B_Orys#hJa`)_34({^00`pm|5MVm(!)8yE`8ARD6iOSX6HO7T; zpKAV~vDAId!NgTe~ HDWM4fq}J(8 literal 0 HcmV?d00001 diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu1.png.mcmeta b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu1.png.mcmeta new file mode 100644 index 0000000..622c313 --- /dev/null +++ b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu1.png.mcmeta @@ -0,0 +1,18 @@ +{ + "animation": { + "frametime": 1, + "frames": [ + { "index": 0, "time": 3 }, + { "index": 1, "time": 3 }, + { "index": 2, "time": 3 }, + { "index": 3, "time": 3 }, + { "index": 4, "time": 3 }, + { "index": 5, "time": 3 }, + { "index": 4, "time": 3 }, + { "index": 3, "time": 3 }, + { "index": 2, "time": 3 }, + { "index": 1, "time": 3 }, + { "index": 0, "time": 3 } + ] + } +} \ No newline at end of file diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu2.png b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu2.png new file mode 100644 index 0000000000000000000000000000000000000000..bc7a83844e15425bd5d4395e60a7b6ef2a9bc454 GIT binary patch literal 885 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!3-po`I#mGDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MYjWdLR`5-M1jm>$Bu~`8Y_AFJb(WD+|`HIuU_q&x4WUf ze)GPI3)danuzvmG1q=H7`gR<;Qr)+H^XZE-b{;%^@6qzZrw(1ab?Wy0y_at6IDh5n z&3ny#i;CJ-tvP=7!h^>LPu=v4uDtr>MPv88@YMRKtk%96tK7nh(u%t>%O{kz%Z(#lepsu0DIR{q5_M6Ib0zY&(_Fb7tDQJNXmOE!g&;X~C7YMc2xv zU6{S;UeB@{HM1|By8Ezx?v?IkH(D26yZz$zg$GZjuDeq?Eaktacjzj=S8yv1lk@hW^GYXzWqf=a8*WF z@%ql-H!k1nT^p~;oLMu|;MV;2HOB06+tiPL6Bj?{beZMYjXD!4Q%4ckh5L3H@NiG8 zjS)7P*n2#_SwUj{*;@)%)lU~3I_%T*Y>Kmhi-Y44B%ZztEMGcyx+@+2TKx8+9-EEKmyX9Xsx7V@ zHt0#Vy_S7CJo`qtuD zo{AYSCZEe(!y}aj~4(*9{jJYjC|w4Cdc`eDQ<_AHT9q;c8Yj zVYJnH7kJ`BMR4_&Zbp7?+f}O`fz;;yj_AMoYW@4V*A;74wENq}eEDG0U%lhX;kO?@ zs8sy?%;ME@P<&Q{oZ$BlDHWBgY;PTHXz!N`6e;ANU$tXh^_t^ppN+44?K|F9)pEtz zz2C%lXS<*67rFkBrr-C=7fg|G0=hb|s6V9b_inJOTV4cCQ~l1dvVGm_|6hNoA7JRI Xp78%r@+)m%+F|f?^>bP0l+XkK2c_zZ literal 0 HcmV?d00001 diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu2.png.mcmeta b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu2.png.mcmeta new file mode 100644 index 0000000..622c313 --- /dev/null +++ b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apu2.png.mcmeta @@ -0,0 +1,18 @@ +{ + "animation": { + "frametime": 1, + "frames": [ + { "index": 0, "time": 3 }, + { "index": 1, "time": 3 }, + { "index": 2, "time": 3 }, + { "index": 3, "time": 3 }, + { "index": 4, "time": 3 }, + { "index": 5, "time": 3 }, + { "index": 4, "time": 3 }, + { "index": 3, "time": 3 }, + { "index": 2, "time": 3 }, + { "index": 1, "time": 3 }, + { "index": 0, "time": 3 } + ] + } +} \ No newline at end of file diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apucreative.png b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apucreative.png new file mode 100644 index 0000000000000000000000000000000000000000..4a09b42d6c7395c83c08ff6833dd1afcfea89eab GIT binary patch literal 887 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!3-po`I#mGDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MYjWdLR^Jdq=3w0$ByZ8Iy&(tK7aoF)saWnZd|EvsJmFc z@4=EQH~LO2TrzL{hINltUF+-bJ(;-q(vk-c_rE>ZeD(Cy+qc#~y}9k#l~s@K?Ra&6 z|I1Y=^Jckpo|%33<>`+*8rIAS={**yYe9F8&A+J7t3OJvv8}X=Y!jAC6EayY)1z|22Guq;oOyNj4U-ZJTGbY~AG5WQ z%#+LNFEf1baFP48)H{cl$}P*3d%f}QzUk-Y_Z^>BHRZ}-$9@&h9qrDxbL9G6nwH1w zFA$ONTFCh#u%O?iZTa+Di(`2zro0FgVg0VLvi-5e@v1dp>l>Gq+Js$EULYq`)slF^ z*5uW~uN5sqHvji9s~!{J0J?fcb&HYB{i`5XD?9XC^zC$aur=}hz5cj8BO8OJ#)SWc T#^FN1)WhKE>gTe~DWM4fR?6U) literal 0 HcmV?d00001 diff --git a/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apucreative.png.mcmeta b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apucreative.png.mcmeta new file mode 100644 index 0000000..622c313 --- /dev/null +++ b/projects/Minecraft/src/main/resources/assets/ocreloaded/textures/item/apucreative.png.mcmeta @@ -0,0 +1,18 @@ +{ + "animation": { + "frametime": 1, + "frames": [ + { "index": 0, "time": 3 }, + { "index": 1, "time": 3 }, + { "index": 2, "time": 3 }, + { "index": 3, "time": 3 }, + { "index": 4, "time": 3 }, + { "index": 5, "time": 3 }, + { "index": 4, "time": 3 }, + { "index": 3, "time": 3 }, + { "index": 2, "time": 3 }, + { "index": 1, "time": 3 }, + { "index": 0, "time": 3 } + ] + } +} \ No newline at end of file