@Override protected void mouseClicked(int i, int j, int k) { super.mouseClicked(i, j, k); int cornerX = (width - xSize) / 2; int cornerY = (height - ySize) / 2; int position = getSlotAtLocation(i - cornerX, j - cornerY); if (position >= 0 && position < 2) { if (k == 0) { if (!isShiftKeyDown()) { FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(mc.thePlayer.inventory.getItemStack()); if (liquid == null) { return; } container.setFilter(position, liquid.getFluid()); } else { container.setFilter(position, null); } } else { TileRefinery ref = (TileRefinery) this.tile; if (position == 0) container.setFilter(position, ref.tank1.getFluidType()); else if (position == 1) container.setFilter(position, ref.tank2.getFluidType()); } } }
private void updateSlots() { Fluid filter0 = container.getFilter(0); Fluid filter1 = container.getFilter(1); ((FluidSlot) slots[0]).fluid = filter0; ((FluidSlot) slots[1]).fluid = filter1; FluidStack liquid0 = null; FluidStack liquid1 = null; if (filter0 != null) { liquid0 = new FluidStack(filter0, FluidContainerRegistry.BUCKET_VOLUME); } if (filter1 != null) { liquid1 = new FluidStack(filter1, FluidContainerRegistry.BUCKET_VOLUME); } Recipe recipe = RefineryRecipes.findRefineryRecipe(liquid0, liquid1); if (recipe != null) { ((FluidSlot) slots[2]).fluid = recipe.result.getFluid(); } else { ((FluidSlot) slots[2]).fluid = null; } }