From 9c0cc8080504804f24574347d05cf924ff1db62f Mon Sep 17 00:00:00 2001 From: Vaern Date: Wed, 9 Mar 2022 19:38:10 -0800 Subject: [PATCH] very, very preliminary recipe stuff --- .../inventory/recipes/CustomNukeRecipes.java | 56 +++++++++++++++++++ .../TileEntityCustomPartAssembler.java | 21 ++++++- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/hbm/inventory/recipes/CustomNukeRecipes.java diff --git a/src/main/java/com/hbm/inventory/recipes/CustomNukeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CustomNukeRecipes.java new file mode 100644 index 000000000..977617081 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/CustomNukeRecipes.java @@ -0,0 +1,56 @@ +package com.hbm.inventory.recipes; + +import java.util.HashMap; + +import com.hbm.inventory.OreDictManager; +import com.hbm.inventory.OreDictManager.DictFrame; + +public class CustomNukeRecipes { + + //a bit hacky, i'll probably just straight copy that system bob has yet to make + public static float getQuantity(String key) { + if(key.startsWith("nugget")) { + return 1; + } else if(key.startsWith("billet")) { + return 6; + } else if(key.startsWith("ingot")) { + return 9; + } else if(key.startsWith("block")) { + return 81; + } else { + return 0; + } + } + + private static boolean containsMatch(DictFrame frame, String key) { + String[] mats = frame.anys(); + + for(String mat : mats) { + if(mat.contains(key)) { + return true; + } + } + + return false; + } + + public static float nonPredetonatingFissile(String key) { + float multiplier = getQuantity(key); + if(multiplier == 0) { + return 0; + } + + if(containsMatch(OreDictManager.U233, key)) { + return 1.05f * multiplier; + } else if(containsMatch(OreDictManager.U235, key)) { + return 1.0f * multiplier; + } else if(containsMatch(OreDictManager.NP237, key)) { + return 0.95f * multiplier; + } else if(containsMatch(OreDictManager.SA326, key)) { + return 10.0f * multiplier; + } + + return 0; + } + +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomPartAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomPartAssembler.java index f44f015ac..e9508d324 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomPartAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomPartAssembler.java @@ -2,8 +2,12 @@ package com.hbm.tileentity.machine; import com.hbm.tileentity.TileEntityMachineBase; -public class TileEntityCustomPartAssembler extends TileEntityMachineBase { +import net.minecraft.item.ItemStack; +public class TileEntityCustomPartAssembler extends TileEntityMachineBase { + + private static final int[] slot_io = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; + public TileEntityCustomPartAssembler() { super(13); //12 input, 1 output } @@ -12,6 +16,21 @@ public class TileEntityCustomPartAssembler extends TileEntityMachineBase { public String getName() { return "container.customPartAssembler"; } + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return i <= 11; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return slot_io; + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return i == 12; + } @Override public void updateEntity() {