diff --git a/build.gradle b/build.gradle index b827bf9e..b5f7613e 100644 --- a/build.gradle +++ b/build.gradle @@ -92,7 +92,7 @@ minecraft { dependencies { minecraft 'net.minecraftforge:forge:1.16.5-36.0.42' - compile fileTree("E:/Games/Minecraft/Mod Code/Mods/JARS") + compile fileTree("C:/AmpzLibz") /* Compiles against source code as well as JAR at runtime. Recommend to keep it */ diff --git a/src/main/java/nuclearscience/client/screen/ScreenChemicalExtractor.java b/src/main/java/nuclearscience/client/screen/ScreenChemicalExtractor.java index a85f16b7..b6c5e695 100644 --- a/src/main/java/nuclearscience/client/screen/ScreenChemicalExtractor.java +++ b/src/main/java/nuclearscience/client/screen/ScreenChemicalExtractor.java @@ -20,7 +20,7 @@ import electrodynamics.prefab.tile.components.type.ComponentFluidHandler; import electrodynamics.prefab.tile.components.type.ComponentProcessor; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.fluid.Fluids; +import net.minecraft.fluid.Fluid; import net.minecraft.inventory.container.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.text.ITextComponent; @@ -30,6 +30,7 @@ import net.minecraft.util.text.TranslationTextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.fluids.capability.templates.FluidTank; import nuclearscience.common.inventory.container.ContainerChemicalExtractor; import nuclearscience.common.tile.TileChemicalExtractor; @@ -61,8 +62,13 @@ public ScreenChemicalExtractor(ContainerChemicalExtractor container, PlayerInven components.add(new ScreenComponentFluid(() -> { TileChemicalExtractor boiler = container.getHostFromIntArray(); if (boiler != null) { - ComponentFluidHandler handler = boiler.getComponent(ComponentType.FluidHandler); - return handler.getTankFromFluid(Fluids.WATER); + ComponentFluidHandler handler = boiler.getComponent(ComponentType.FluidHandler); + for(Fluid fluid : handler.getInputFluids()) { + FluidTank tank = handler.getTankFromFluid(fluid); + if(tank.getFluidAmount() > 0) { + return handler.getTankFromFluid(tank.getFluid().getFluid()); + } + } } return null; }, this, 21, 18)); diff --git a/src/main/java/nuclearscience/client/screen/ScreenNuclearBoiler.java b/src/main/java/nuclearscience/client/screen/ScreenNuclearBoiler.java index c72be20d..8884467b 100644 --- a/src/main/java/nuclearscience/client/screen/ScreenNuclearBoiler.java +++ b/src/main/java/nuclearscience/client/screen/ScreenNuclearBoiler.java @@ -20,7 +20,7 @@ import electrodynamics.prefab.tile.components.type.ComponentFluidHandler; import electrodynamics.prefab.tile.components.type.ComponentProcessor; import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.fluid.Fluids; +import net.minecraft.fluid.Fluid; import net.minecraft.inventory.container.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.text.ITextComponent; @@ -30,7 +30,7 @@ import net.minecraft.util.text.TranslationTextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -import nuclearscience.DeferredRegisters; +import net.minecraftforge.fluids.capability.templates.FluidTank; import nuclearscience.common.inventory.container.ContainerNuclearBoiler; import nuclearscience.common.tile.TileNuclearBoiler; @@ -62,16 +62,26 @@ public ScreenNuclearBoiler(ContainerNuclearBoiler container, PlayerInventory pla components.add(new ScreenComponentFluid(() -> { TileNuclearBoiler boiler = container.getHostFromIntArray(); if (boiler != null) { - ComponentFluidHandler handler = boiler.getComponent(ComponentType.FluidHandler); - return handler.getTankFromFluid(Fluids.WATER); + ComponentFluidHandler handler = boiler.getComponent(ComponentType.FluidHandler); + for(Fluid fluid : handler.getInputFluids()) { + FluidTank tank = handler.getTankFromFluid(fluid); + if(tank.getFluidAmount() > 0) { + return handler.getTankFromFluid(tank.getFluid().getFluid()); + } + } } return null; }, this, 21, 18)); components.add(new ScreenComponentFluid(() -> { TileNuclearBoiler boiler = container.getHostFromIntArray(); if (boiler != null) { - ComponentFluidHandler handler = boiler.getComponent(ComponentType.FluidHandler); - return handler.getTankFromFluid(DeferredRegisters.fluidUraniumHexafluoride); + ComponentFluidHandler handler = boiler.getComponent(ComponentType.FluidHandler); + for(Fluid fluid : handler.getOutputFluids()) { + FluidTank tank = handler.getTankFromFluid(fluid); + if(tank.getFluidAmount() > 0) { + return handler.getTankFromFluid(tank.getFluid().getFluid()); + } + } } return null; }, this, 127, 18)); diff --git a/src/main/java/nuclearscience/common/fluid/FluidUraniumHexafluoride.java b/src/main/java/nuclearscience/common/fluid/FluidUraniumHexafluoride.java index 21de62c2..635f32b9 100644 --- a/src/main/java/nuclearscience/common/fluid/FluidUraniumHexafluoride.java +++ b/src/main/java/nuclearscience/common/fluid/FluidUraniumHexafluoride.java @@ -21,7 +21,7 @@ public class FluidUraniumHexafluoride extends Fluid { @Override public Item getFilledBucket() { - return Items.AIR; + return null; } @Override diff --git a/src/main/java/nuclearscience/common/inventory/container/ContainerNuclearBoiler.java b/src/main/java/nuclearscience/common/inventory/container/ContainerNuclearBoiler.java index 53c7c139..383e4d70 100644 --- a/src/main/java/nuclearscience/common/inventory/container/ContainerNuclearBoiler.java +++ b/src/main/java/nuclearscience/common/inventory/container/ContainerNuclearBoiler.java @@ -17,7 +17,7 @@ public class ContainerNuclearBoiler extends GenericContainer { public ContainerNuclearBoiler(int id, PlayerInventory playerinv) { - this(id, playerinv, new Inventory(5), new IntArray(3)); + this(id, playerinv, new Inventory(6), new IntArray(3)); } public ContainerNuclearBoiler(int id, PlayerInventory playerinv, IInventory inventory, IIntArray inventorydata) { @@ -31,7 +31,8 @@ public ContainerNuclearBoiler(ContainerType type, int id, PlayerInventory pla @Override public void addInventorySlots(IInventory inv, PlayerInventory playerinv) { addSlot(new GenericSlot(inv, nextIndex(), 74, 31)); - addSlot(new SlotRestricted(inv, nextIndex(), 74, 51, Items.WATER_BUCKET)); + addSlot(new SlotRestricted(inv, nextIndex(), 74, 51, TileNuclearBoiler.SUPPORTED_INPUT_FLUIDS)); + addSlot(new SlotRestricted(inv, nextIndex(), 108, 51, SlotRestricted.VALID_EMPTY_BUCKETS[2])); addSlot(new SlotRestricted(inv, nextIndex(), 150, 14, electrodynamics.DeferredRegisters.SUBTYPEITEM_MAPPINGS.get(SubtypeProcessorUpgrade.basicspeed), electrodynamics.DeferredRegisters.SUBTYPEITEM_MAPPINGS.get(SubtypeProcessorUpgrade.advancedspeed))); diff --git a/src/main/java/nuclearscience/common/tile/TileNuclearBoiler.java b/src/main/java/nuclearscience/common/tile/TileNuclearBoiler.java index e74a53ee..eca80b06 100644 --- a/src/main/java/nuclearscience/common/tile/TileNuclearBoiler.java +++ b/src/main/java/nuclearscience/common/tile/TileNuclearBoiler.java @@ -58,9 +58,9 @@ public TileNuclearBoiler() { addComponent( new ComponentFluidHandler(this).relativeInput(Direction.EAST).addMultipleFluidTanks(SUPPORTED_INPUT_FLUIDS, MAX_TANK_CAPACITY, true) .addMultipleFluidTanks(SUPPORTED_OUTPUT_FLUIDS, MAX_TANK_CAPACITY, false)); - addComponent(new ComponentInventory(this).size(5).relativeSlotFaces(0, Direction.EAST, Direction.UP).relativeSlotFaces(1, Direction.DOWN) - .valid((slot, stack) -> slot < 2 || stack.getItem() instanceof ItemProcessorUpgrade)); - addComponent(new ComponentProcessor(this).upgradeSlots(2, 3, 4).canProcess(component -> canProcessNuclBoil(component)) + addComponent(new ComponentInventory(this).size(6).relativeSlotFaces(0, Direction.EAST, Direction.UP).relativeSlotFaces(1, Direction.DOWN) + .valid((slot, stack) -> slot < 3 || stack.getItem() instanceof ItemProcessorUpgrade)); + addComponent(new ComponentProcessor(this).upgradeSlots(3, 4, 5).canProcess(component -> canProcessNuclBoil(component)) .process(component -> component.processFluidItem2FluidRecipe(component, FluidItem2FluidRecipe.class)) .usage(Constants.CHEMICALBOILER_USAGE_PER_TICK).type(ComponentProcessorType.ObjectToObject) .requiredTicks(Constants.CHEMICALBOILER_REQUIRED_TICKS)); @@ -85,23 +85,25 @@ protected void tickClient(ComponentTickable tickable) { } protected boolean canProcessNuclBoil(ComponentProcessor processor) { - ComponentDirection direction = getComponent(ComponentType.Direction); - ComponentFluidHandler tank = getComponent(ComponentType.FluidHandler); - BlockPos face = getPos().offset(direction.getDirection().getOpposite().rotateY()); - TileEntity faceTile = world.getTileEntity(face); - if (faceTile != null) { - LazyOptional cap = faceTile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, - direction.getDirection().getOpposite().rotateY().getOpposite()); - if (cap.isPresent()) { - IFluidHandler handler = cap.resolve().get(); - if (handler.isFluidValid(0, tank.getStackFromFluid(DeferredRegisters.fluidUraniumHexafluoride))) { - tank.getStackFromFluid(DeferredRegisters.fluidUraniumHexafluoride) - .shrink(handler.fill(tank.getStackFromFluid(DeferredRegisters.fluidUraniumHexafluoride), FluidAction.EXECUTE)); + ComponentDirection direction = getComponent(ComponentType.Direction); + ComponentFluidHandler tank = getComponent(ComponentType.FluidHandler); + BlockPos face = getPos().offset(direction.getDirection().getOpposite().rotateY()); + TileEntity faceTile = world.getTileEntity(face); + if (faceTile != null) { + LazyOptional cap = faceTile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, + direction.getDirection().getOpposite().rotateY().getOpposite()); + if (cap.isPresent()) { + IFluidHandler handler = cap.resolve().get(); + for(Fluid fluid: SUPPORTED_OUTPUT_FLUIDS) { + if(tank.getTankFromFluid(fluid).getFluidAmount() > 0) { + tank.getStackFromFluid(fluid).shrink(handler.fill(tank.getStackFromFluid(fluid), FluidAction.EXECUTE)); + break; + } + } + } } - } - } - processor.consumeBucket(MAX_TANK_CAPACITY, SUPPORTED_INPUT_FLUIDS, 1); - return processor.canProcessFluidItem2FluidRecipe(processor, FluidItem2FluidRecipe.class, NuclearScienceRecipeInit.NUCLEAR_BOILER_TYPE); + processor.consumeBucket(MAX_TANK_CAPACITY, SUPPORTED_INPUT_FLUIDS, 1).dispenseBucket(MAX_TANK_CAPACITY, 2); + return processor.canProcessFluidItem2FluidRecipe(processor, FluidItem2FluidRecipe.class, NuclearScienceRecipeInit.NUCLEAR_BOILER_TYPE); } } diff --git a/src/main/java/nuclearscience/compatability/jei/recipecategories/psuedorecipes/PsuedoGasCentrifugeRecipe.java b/src/main/java/nuclearscience/compatability/jei/recipecategories/psuedorecipes/PsuedoGasCentrifugeRecipe.java index 3eb32bb3..72ffd4be 100644 --- a/src/main/java/nuclearscience/compatability/jei/recipecategories/psuedorecipes/PsuedoGasCentrifugeRecipe.java +++ b/src/main/java/nuclearscience/compatability/jei/recipecategories/psuedorecipes/PsuedoGasCentrifugeRecipe.java @@ -6,27 +6,27 @@ import net.minecraft.item.crafting.IRecipeType; import net.minecraftforge.fluids.FluidStack; -public class PsuedoGasCentrifugeRecipe extends O2ORecipe{ +public class PsuedoGasCentrifugeRecipe extends O2ORecipe { public FluidStack INPUT_FLUID_STACK; public ItemStack OUTPUT_1_ITEM; public ItemStack OUTPUT_2_ITEM; public PsuedoGasCentrifugeRecipe(FluidStack inputFluid, ItemStack output1, ItemStack output2) { - super(null,null,null); - INPUT_FLUID_STACK = inputFluid; - OUTPUT_1_ITEM = output1; - OUTPUT_2_ITEM = output2; + super(null, null, null); + INPUT_FLUID_STACK = inputFluid; + OUTPUT_1_ITEM = output1; + OUTPUT_2_ITEM = output2; } - @Override - public IRecipeSerializer getSerializer() { - return null; - } + @Override + public IRecipeSerializer getSerializer() { + return null; + } - @Override - public IRecipeType getType() { - return null; - } + @Override + public IRecipeType getType() { + return null; + } } diff --git a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ChemicalExtractorRecipeCategory.java b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ChemicalExtractorRecipeCategory.java index 4c00a707..b45d5e94 100644 --- a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ChemicalExtractorRecipeCategory.java +++ b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ChemicalExtractorRecipeCategory.java @@ -26,30 +26,30 @@ public class ChemicalExtractorRecipeCategory extends FluidItem2ItemRecipeCategor private static int[] MAJOR_PROCESSING_ARROW_OFFSET = { 32, 17 }; private static int[] MINOR_PROCESSING_ARROW_OFFSET = { 32, 37 }; - + private static int SMELT_TIME = 50; private static int TEXT_Y_HEIGHT = 48; private static String MOD_ID = References.ID; private static String RECIPE_GROUP = "chemical_extractor"; private static String GUI_TEXTURE = "textures/gui/jei/sol_and_liq_to_sol_recipe_gui.png"; - + private static ItemStack INPUT_MACHINE = new ItemStack(DeferredRegisters.blockChemicalExtractor); - + private static StartDirection MAJOR_ARROW_START_DIRECTION = IDrawableAnimated.StartDirection.LEFT; private static StartDirection MINOR_ARROW_START_DIRECTION = IDrawableAnimated.StartDirection.RIGHT; public static ResourceLocation UID = new ResourceLocation(MOD_ID, RECIPE_GROUP); - + private static ArrayList INPUT_COORDINATES = new ArrayList<>( - Arrays.asList(GUI_BACKGROUND, MAJOR_PROCESSING_ARROW_LOCATION, MINOR_PROCESSING_ARROW_LOCATION, INPUT_ITEM_OFFSET, INPUT_FLUID_BUCKET_OFFSET, - INPUT_FLUID_TANK, OUTPUT_FLUID_TANK, MAJOR_PROCESSING_ARROW_OFFSET, MINOR_PROCESSING_ARROW_OFFSET)); + Arrays.asList(GUI_BACKGROUND, MAJOR_PROCESSING_ARROW_LOCATION, MINOR_PROCESSING_ARROW_LOCATION, INPUT_ITEM_OFFSET, + INPUT_FLUID_BUCKET_OFFSET, INPUT_FLUID_TANK, OUTPUT_FLUID_TANK, MAJOR_PROCESSING_ARROW_OFFSET, MINOR_PROCESSING_ARROW_OFFSET)); public ChemicalExtractorRecipeCategory(IGuiHelper guiHelper) { super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE, INPUT_MACHINE, INPUT_COORDINATES, SMELT_TIME, MAJOR_ARROW_START_DIRECTION, MINOR_ARROW_START_DIRECTION, TEXT_Y_HEIGHT); } - + @Override public ResourceLocation getUid() { return UID; diff --git a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/FissionReactorRecipeCategory.java b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/FissionReactorRecipeCategory.java index 40812120..9cbbbecf 100644 --- a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/FissionReactorRecipeCategory.java +++ b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/FissionReactorRecipeCategory.java @@ -23,37 +23,37 @@ public class FissionReactorRecipeCategory extends O2ORecipeCategory { private static final int INPUT_SLOT = 0; private static final int OUTPUT_SLOT = 1; - - // JEI Window Parameters + + // JEI Window Parameters private static int[] GUI_BACKGROUND = { 0, 0, 132, 132 }; private static int[] PROCESSING_ARROW_LOCATION = { 132, 0, 48, 42 }; private static int[] INPUT_ITEM_OFFSET = { 57, 25 }; private static int[] OUTPUT_ITEM_OFFSET = { 57, 89 }; private static int[] PROCESSING_ARROW_OFFSET = { 42, 45 }; - + private static int[] FUEL_ROD_SLOTS = { 2, 3, 4, 5 }; - + private static int SMELT_TIME = 50; private static int TEXT_Y_HEIGHT = 122; private static String MOD_ID = References.ID; private static String RECIPE_GROUP = "fission_reactor"; private static String GUI_TEXTURE = "textures/gui/jei/fission_reactor_gui.png"; - + private static ItemStack INPUT_MACHINE = new ItemStack(nuclearscience.DeferredRegisters.blockReactorCore); - + private static StartDirection ARROW_START_DIRECTION = IDrawableAnimated.StartDirection.TOP; - + public static ResourceLocation UID = new ResourceLocation(MOD_ID, RECIPE_GROUP); - + private static ArrayList INPUT_COORDINATES = new ArrayList<>( Arrays.asList(GUI_BACKGROUND, PROCESSING_ARROW_LOCATION, INPUT_ITEM_OFFSET, OUTPUT_ITEM_OFFSET, PROCESSING_ARROW_OFFSET)); - + public FissionReactorRecipeCategory(IGuiHelper guiHelper) { - super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE, INPUT_MACHINE, INPUT_COORDINATES, SMELT_TIME, - TEXT_Y_HEIGHT, ARROW_START_DIRECTION); - + super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE, INPUT_MACHINE, INPUT_COORDINATES, SMELT_TIME, TEXT_Y_HEIGHT, ARROW_START_DIRECTION); + } + @Override public ResourceLocation getUid() { return UID; diff --git a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/GasCentrifugeRecipeCategory.java b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/GasCentrifugeRecipeCategory.java index 41219a10..fc6da9df 100644 --- a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/GasCentrifugeRecipeCategory.java +++ b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/GasCentrifugeRecipeCategory.java @@ -34,64 +34,64 @@ public class GasCentrifugeRecipeCategory extends ElectrodynamicsRecipeCategory

> CACHED_ARROWS; private LoadingCache> CACHED_FLUID_BARS; - + public static ResourceLocation UID = new ResourceLocation(MOD_ID, RECIPE_GROUP); public GasCentrifugeRecipeCategory(IGuiHelper guiHelper) { - super(guiHelper,MOD_ID,RECIPE_GROUP,GUI_TEXTURE,INPUT_MACHINE,GUI_BACKGROUND,PsuedoGasCentrifugeRecipe.class, - SMELT_TIME,TEXT_Y_HEIGHT); - - CACHED_ARROWS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader>() { - - @Override - public ArrayList load(Integer cookTime) { - - IDrawableAnimated distillArrow = guiHelper.drawableBuilder(getGuiTexture(), 0, 70, 27, 47).buildAnimated(cookTime, - IDrawableAnimated.StartDirection.LEFT, false); - - IDrawableAnimated condArrow = guiHelper.drawableBuilder(getGuiTexture(), 27, 70, 46, 55).buildAnimated(cookTime, - IDrawableAnimated.StartDirection.LEFT, false); - - IDrawableAnimated uF6FluidBar = guiHelper.drawableBuilder(getGuiTexture(), 180, 0, 16, 50).buildAnimated(cookTime, - IDrawableAnimated.StartDirection.TOP, false); - - IDrawableAnimated u235FluidBar = guiHelper.drawableBuilder(getGuiTexture(), 148, 0, 16, 22).buildAnimated(cookTime, - IDrawableAnimated.StartDirection.BOTTOM, false); - - IDrawableAnimated u238FluidBar = guiHelper.drawableBuilder(getGuiTexture(), 164, 0, 16, 22).buildAnimated(cookTime, - IDrawableAnimated.StartDirection.BOTTOM, false); - - IDrawableAnimated[] arrows = { distillArrow, condArrow, uF6FluidBar, u235FluidBar, u238FluidBar }; - return new ArrayList<>(Arrays.asList(arrows)); - } - }); - - CACHED_FLUID_BARS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader>() { - @Override - public ArrayList load(Integer fluidHeight) { - - IDrawableStatic fluidBar = guiHelper.drawableBuilder(getGuiTexture(), 132, 0, 16, 50).build(); - - IDrawableStatic[] fluidBars = { fluidBar }; - - return new ArrayList<>(Arrays.asList(fluidBars)); - } - }); + super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE, INPUT_MACHINE, GUI_BACKGROUND, PsuedoGasCentrifugeRecipe.class, SMELT_TIME, + TEXT_Y_HEIGHT); + + CACHED_ARROWS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader>() { + + @Override + public ArrayList load(Integer cookTime) { + + IDrawableAnimated distillArrow = guiHelper.drawableBuilder(getGuiTexture(), 0, 70, 27, 47).buildAnimated(cookTime, + IDrawableAnimated.StartDirection.LEFT, false); + + IDrawableAnimated condArrow = guiHelper.drawableBuilder(getGuiTexture(), 27, 70, 46, 55).buildAnimated(cookTime, + IDrawableAnimated.StartDirection.LEFT, false); + + IDrawableAnimated uF6FluidBar = guiHelper.drawableBuilder(getGuiTexture(), 180, 0, 16, 50).buildAnimated(cookTime, + IDrawableAnimated.StartDirection.TOP, false); + + IDrawableAnimated u235FluidBar = guiHelper.drawableBuilder(getGuiTexture(), 148, 0, 16, 22).buildAnimated(cookTime, + IDrawableAnimated.StartDirection.BOTTOM, false); + + IDrawableAnimated u238FluidBar = guiHelper.drawableBuilder(getGuiTexture(), 164, 0, 16, 22).buildAnimated(cookTime, + IDrawableAnimated.StartDirection.BOTTOM, false); + + IDrawableAnimated[] arrows = { distillArrow, condArrow, uF6FluidBar, u235FluidBar, u238FluidBar }; + return new ArrayList<>(Arrays.asList(arrows)); + } + }); + + CACHED_FLUID_BARS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader>() { + @Override + public ArrayList load(Integer fluidHeight) { + + IDrawableStatic fluidBar = guiHelper.drawableBuilder(getGuiTexture(), 132, 0, 16, 50).build(); + + IDrawableStatic[] fluidBars = { fluidBar }; + + return new ArrayList<>(Arrays.asList(fluidBars)); + } + }); } diff --git a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/NuclearBoilerRecipeCategory.java b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/NuclearBoilerRecipeCategory.java index 2c0a340e..e71eae9f 100644 --- a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/NuclearBoilerRecipeCategory.java +++ b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/NuclearBoilerRecipeCategory.java @@ -22,35 +22,36 @@ public class NuclearBoilerRecipeCategory extends FluidItem2FluidRecipeCategory { private static int[] INPUT_FLUID_BUCKET_OFFSET = { 60, 36 }; private static int[] INPUT_FLUID_TANK = { 15, 52, 12, 47, 5000 }; private static int[] OUTPUT_FLUID_TANK = { 109, 52, 12, 47, 5000 }; + private static int[] OUTPUT_FLUID_BUCKET_OFFSET = {88, 36}; private static int[] MAJOR_PROCESSING_ARROW_OFFSET = { 34, 17 }; private static int[] MINOR_PROCESSING_ARROW_OFFSET = { 34, 37 }; private static int[] FLUID_BAR_LOCATION = { 0, 0, 0, 0 }; - + private static int SMELT_TIME = 50; private static int TEXT_Y_HEIGHT = 48; private static String MOD_ID = electrodynamics.api.References.ID; private static String RECIPE_GROUP = "nuclear_boiler"; private static String GUI_TEXTURE = "textures/gui/jei/sol_and_liq_to_liq_recipe_gui.png"; - + private static ItemStack INPUT_MACHINE = new ItemStack(DeferredRegisters.blockNuclearBoiler); - + private static StartDirection MAJOR_ARROW_START_DIRECTION = IDrawableAnimated.StartDirection.LEFT; private static StartDirection MINOR_ARROW_START_DIRECTION = IDrawableAnimated.StartDirection.RIGHT; - + public static ResourceLocation UID = new ResourceLocation(MOD_ID, RECIPE_GROUP); - - private static ArrayList INPUT_COORDINATES = new ArrayList<>( - Arrays.asList(GUI_BACKGROUND, MAJOR_PROCESSING_ARROW_LOCATION, MINOR_PROCESSING_ARROW_LOCATION, INPUT_ITEM_OFFSET, INPUT_FLUID_BUCKET_OFFSET, - INPUT_FLUID_TANK, OUTPUT_FLUID_TANK, MAJOR_PROCESSING_ARROW_OFFSET, MINOR_PROCESSING_ARROW_OFFSET, FLUID_BAR_LOCATION)); - + + private static ArrayList INPUT_COORDINATES = new ArrayList<>(Arrays.asList(GUI_BACKGROUND, MAJOR_PROCESSING_ARROW_LOCATION, + MINOR_PROCESSING_ARROW_LOCATION, INPUT_ITEM_OFFSET, INPUT_FLUID_BUCKET_OFFSET, INPUT_FLUID_TANK, OUTPUT_FLUID_TANK, + OUTPUT_FLUID_BUCKET_OFFSET, MAJOR_PROCESSING_ARROW_OFFSET, MINOR_PROCESSING_ARROW_OFFSET, FLUID_BAR_LOCATION)); + public NuclearBoilerRecipeCategory(IGuiHelper guiHelper) { super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE, INPUT_MACHINE, INPUT_COORDINATES, SMELT_TIME, MAJOR_ARROW_START_DIRECTION, MINOR_ARROW_START_DIRECTION, TEXT_Y_HEIGHT); } - + @Override public ResourceLocation getUid() { return UID; diff --git a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorAntiMatterRecipeCategory.java b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorAntiMatterRecipeCategory.java index 4514c4c4..b75eafe9 100644 --- a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorAntiMatterRecipeCategory.java +++ b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorAntiMatterRecipeCategory.java @@ -29,8 +29,8 @@ import nuclearscience.References; public class ParticleAcceleratorAntiMatterRecipeCategory extends ElectrodynamicsRecipeCategory { - - // JEI Window Parameters + + // JEI Window Parameters private static final int INPUT_SLOT = 0; private static final int OUTPUT_SLOT = 1; private static final int ANY_ITEM_INPUT_SLOT = 2; @@ -44,7 +44,7 @@ public class ParticleAcceleratorAntiMatterRecipeCategory extends Electrodynamics private static int SMELT_TIME = 50; private static int TEXT_Y_HEIGHT = 58; - + private static String MOD_ID = References.ID; private static String RECIPE_GROUP = "partical_accelerator_antimatter"; private static String GUI_TEXTURE = "textures/gui/jei/particle_accelerator_antimatter_gui.png"; @@ -56,18 +56,17 @@ public class ParticleAcceleratorAntiMatterRecipeCategory extends Electrodynamics public static ResourceLocation UID = new ResourceLocation(MOD_ID, RECIPE_GROUP); public ParticleAcceleratorAntiMatterRecipeCategory(IGuiHelper guiHelper) { - - super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE, INPUT_MACHINE, GUI_BACKGROUND, - PsuedoO2ORecipe.class, TEXT_Y_HEIGHT, SMELT_TIME); - CACHED_ARROWS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader() { - @Override - public IDrawableAnimated load(Integer cookTime) { - return guiHelper.drawableBuilder(getGuiTexture(), PROCESSING_ARROW_COORDS[0], PROCESSING_ARROW_COORDS[1], PROCESSING_ARROW_COORDS[2], - PROCESSING_ARROW_COORDS[3]).buildAnimated(cookTime, ARROW_START_DIRECTION, false); - } - }); + + super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE, INPUT_MACHINE, GUI_BACKGROUND, PsuedoO2ORecipe.class, TEXT_Y_HEIGHT, SMELT_TIME); + CACHED_ARROWS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader() { + @Override + public IDrawableAnimated load(Integer cookTime) { + return guiHelper.drawableBuilder(getGuiTexture(), PROCESSING_ARROW_COORDS[0], PROCESSING_ARROW_COORDS[1], PROCESSING_ARROW_COORDS[2], + PROCESSING_ARROW_COORDS[3]).buildAnimated(cookTime, ARROW_START_DIRECTION, false); + } + }); } - + @Override public ResourceLocation getUid() { return UID; diff --git a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorDarkMatterRecipeCategory.java b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorDarkMatterRecipeCategory.java index fc746926..5860ee82 100644 --- a/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorDarkMatterRecipeCategory.java +++ b/src/main/java/nuclearscience/compatability/jei/recipecategories/specificmachines/nuclearscience/ParticleAcceleratorDarkMatterRecipeCategory.java @@ -28,45 +28,45 @@ public class ParticleAcceleratorDarkMatterRecipeCategory extends ElectrodynamicsRecipeCategory { public static final int OUTPUT_SLOT = 0; - + private static int[] GUI_BACKGROUND_COORDS = { 0, 0, 132, 132 }; private static int[] OUTPUT_OFFSET = { 57, 57 }; - + public static int SMELT_TIME = 50; private static int TEXT_Y_HEIGHT = 122; private static String MOD_ID = References.ID; private static String RECIPE_GROUP = "partical_accelerator_darkmatter"; private static String GUI_TEXTURE_STRING = "textures/gui/jei/particle_accelerator_dark_matter_gui.png"; - + private static ItemStack INPUT_MACHINE = new ItemStack(nuclearscience.DeferredRegisters.blockParticleInjector); - + private LoadingCache> CACHED_ARROWS; - + public static ResourceLocation UID = new ResourceLocation(MOD_ID, RECIPE_GROUP); public ParticleAcceleratorDarkMatterRecipeCategory(IGuiHelper guiHelper) { - super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE_STRING, INPUT_MACHINE, GUI_BACKGROUND_COORDS, - PsuedoO2ORecipe.class, TEXT_Y_HEIGHT, SMELT_TIME); - - CACHED_ARROWS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader>() { - @Override - public ArrayList load(Integer cookTime) { - - IDrawableAnimated majorArrowBottom = guiHelper.drawableBuilder(getGuiTexture(), 179, 17, 37, 75).buildAnimated(cookTime, - IDrawableAnimated.StartDirection.BOTTOM, false); - - IDrawableAnimated majorArrowTop = guiHelper.drawableBuilder(getGuiTexture(), 132, 0, 37, 75).buildAnimated(cookTime, - IDrawableAnimated.StartDirection.TOP, false); - - IDrawableAnimated[] arrows = { majorArrowBottom, majorArrowTop }; - return new ArrayList<>(Arrays.asList(arrows)); - } - }); + super(guiHelper, MOD_ID, RECIPE_GROUP, GUI_TEXTURE_STRING, INPUT_MACHINE, GUI_BACKGROUND_COORDS, PsuedoO2ORecipe.class, TEXT_Y_HEIGHT, + SMELT_TIME); + + CACHED_ARROWS = CacheBuilder.newBuilder().maximumSize(25).build(new CacheLoader>() { + @Override + public ArrayList load(Integer cookTime) { + + IDrawableAnimated majorArrowBottom = guiHelper.drawableBuilder(getGuiTexture(), 179, 17, 37, 75).buildAnimated(cookTime, + IDrawableAnimated.StartDirection.BOTTOM, false); + + IDrawableAnimated majorArrowTop = guiHelper.drawableBuilder(getGuiTexture(), 132, 0, 37, 75).buildAnimated(cookTime, + IDrawableAnimated.StartDirection.TOP, false); + + IDrawableAnimated[] arrows = { majorArrowBottom, majorArrowTop }; + return new ArrayList<>(Arrays.asList(arrows)); + } + }); } - + @Override public ResourceLocation getUid() { return UID;