mirror of
https://github.com/GTNewHorizons/AE2FluidCraft-Rework.git
synced 2026-11-11 15:57:55 +00:00
Use GT and ae2fс fluids in ME inputs/outputs and storagе (#191)
* use of GT and ae2fс fluids in inputs/outputs and storagе * remove unused imports --------- Co-authored-by: slprime <history-21@yandex.ru>
This commit is contained in:
1 parent
e3cc9352b1
commit
0caf89e539
4 files changed
+43
-48
No files matched your search
@@ -4,6 +4,7 @@ import java.util.List;
|
||||
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import com.glodblock.github.client.gui.base.FCGuiMonitor;
|
||||
import com.glodblock.github.client.gui.container.ContainerFluidMonitor;
|
||||
@@ -55,8 +56,9 @@ public class GuiFluidMonitor extends FCGuiMonitor<IAEFluidStack> {
|
||||
|
||||
@Override
|
||||
public void setTextFieldValue(String displayName, int mousex, int mousey, ItemStack stack) {
|
||||
if (Util.getFluidFromItem(stack) != null) {
|
||||
setSearchString(Util.getFluidFromItem(stack).getLocalizedName(), true);
|
||||
final FluidStack fluid = Util.getFluidFromItem(stack);
|
||||
if (fluid != null) {
|
||||
setSearchString(fluid.getLocalizedName(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
-12
@@ -17,9 +17,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.IFluidContainerItem;
|
||||
|
||||
import com.glodblock.github.client.gui.container.ContainerItemMonitor;
|
||||
import com.glodblock.github.common.item.ItemFluidDrop;
|
||||
@@ -133,17 +131,19 @@ public abstract class FCContainerEncodeTerminal extends ContainerItemMonitor
|
||||
}
|
||||
Slot slot = getSlot(slotId);
|
||||
ItemStack stack = player.inventory.getItemStack();
|
||||
if (Util.getFluidFromItem(stack) == null || Util.getFluidFromItem(stack).amount <= 0) {
|
||||
FluidStack fluid = Util.getFluidFromItem(stack);
|
||||
|
||||
if (fluid == null || fluid.amount <= 0) {
|
||||
super.doAction(player, action, slotId, id);
|
||||
return;
|
||||
}
|
||||
if (validPatternSlot(slot)
|
||||
&& (stack.getItem() instanceof IFluidContainerItem || FluidContainerRegistry.isContainer(stack))) {
|
||||
FluidStack fluid = null;
|
||||
|
||||
if (validPatternSlot(slot)) {
|
||||
|
||||
switch (action) {
|
||||
case PICKUP_OR_SET_DOWN -> {
|
||||
fluid = Util.getFluidFromItem(stack);
|
||||
slot.putStack(ItemFluidPacket.newStack(fluid));
|
||||
return;
|
||||
}
|
||||
case SPLIT_OR_PLACE_SINGLE -> {
|
||||
fluid = Util.getFluidFromItem(Util.copyStackWithSize(stack, 1));
|
||||
@@ -153,13 +153,10 @@ public abstract class FCContainerEncodeTerminal extends ContainerItemMonitor
|
||||
if (fluid.amount <= 0) fluid = null;
|
||||
}
|
||||
slot.putStack(ItemFluidPacket.newStack(fluid));
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (fluid == null) {
|
||||
super.doAction(player, action, slotId, id);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
super.doAction(player, action, slotId, id);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.glodblock.github.common.storage;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import com.glodblock.github.util.Ae2Reflect;
|
||||
import com.glodblock.github.util.Util;
|
||||
@@ -34,8 +35,9 @@ public class FluidCellInventoryHandler extends MEInventoryHandler<IAEFluidStack>
|
||||
final IItemList<IAEFluidStack> priorityList = AEApi.instance().storage().createFluidList();
|
||||
for (int x = 0; x < config.getSizeInventory(); x++) {
|
||||
final ItemStack is = config.getStackInSlot(x);
|
||||
if (Util.getFluidFromItem(is) != null) {
|
||||
priorityList.add(AEFluidStack.create(Util.getFluidFromItem(is)));
|
||||
final FluidStack fluid = Util.getFluidFromItem(is);
|
||||
if (fluid != null) {
|
||||
priorityList.add(AEFluidStack.create(fluid));
|
||||
}
|
||||
}
|
||||
if (!priorityList.isEmpty()) {
|
||||
@@ -49,10 +51,9 @@ public class FluidCellInventoryHandler extends MEInventoryHandler<IAEFluidStack>
|
||||
final ItemStack is = upgrades.getStackInSlot(x);
|
||||
if (is != null && is.getItem() instanceof IUpgradeModule) {
|
||||
final Upgrades u = ((IUpgradeModule) is.getItem()).getType(is);
|
||||
if (u != null) {
|
||||
if (u == Upgrades.STICKY) {
|
||||
hasSticky = true;
|
||||
}
|
||||
if (u == Upgrades.STICKY) {
|
||||
hasSticky = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ import appeng.tile.networking.TileWireless;
|
||||
import appeng.util.Platform;
|
||||
import appeng.util.item.AEFluidStack;
|
||||
import baubles.api.BaublesApi;
|
||||
import codechicken.nei.recipe.StackInfo;
|
||||
import cpw.mods.fml.common.ModContainer;
|
||||
import cpw.mods.fml.common.registry.GameData;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
@@ -230,21 +231,10 @@ public final class Util {
|
||||
|
||||
public static AEFluidStack getAEFluidFromItem(ItemStack stack) {
|
||||
if (stack != null) {
|
||||
if (stack.getItem() instanceof IFluidContainerItem) {
|
||||
FluidStack fluid = ((IFluidContainerItem) stack.getItem()).getFluid(stack);
|
||||
if (fluid != null) {
|
||||
AEFluidStack fluid0 = AEFluidStack.create(fluid.copy());
|
||||
fluid0.setStackSize(fluid0.getStackSize() * stack.stackSize);
|
||||
return fluid0;
|
||||
}
|
||||
}
|
||||
if (FluidContainerRegistry.isContainer(stack)) {
|
||||
FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(stack);
|
||||
if (fluid != null) {
|
||||
AEFluidStack fluid0 = AEFluidStack.create(fluid.copy());
|
||||
fluid0.setStackSize(fluid0.getStackSize() * stack.stackSize);
|
||||
return fluid0;
|
||||
}
|
||||
FluidStack fluid = getFluidFromItem(stack);
|
||||
|
||||
if (fluid != null) {
|
||||
return AEFluidStack.create(fluid.copy());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -252,21 +242,26 @@ public final class Util {
|
||||
|
||||
public static FluidStack getFluidFromItem(ItemStack stack) {
|
||||
if (stack != null) {
|
||||
FluidStack fluid = null;
|
||||
|
||||
if (stack.getItem() instanceof IFluidContainerItem) {
|
||||
FluidStack fluid = ((IFluidContainerItem) stack.getItem()).getFluid(stack);
|
||||
if (fluid != null) {
|
||||
FluidStack fluid0 = fluid.copy();
|
||||
fluid0.amount *= stack.stackSize;
|
||||
return fluid0;
|
||||
}
|
||||
fluid = ((IFluidContainerItem) stack.getItem()).getFluid(stack);
|
||||
} else if (FluidContainerRegistry.isContainer(stack)) {
|
||||
fluid = FluidContainerRegistry.getFluidForFilledItem(stack);
|
||||
} else if (stack.getItem() instanceof ItemFluidPacket) {
|
||||
fluid = ItemFluidPacket.getFluidStack(stack);
|
||||
} else if (stack.getItem() instanceof ItemFluidDrop) {
|
||||
fluid = ItemFluidDrop.getFluidStack(Util.copyStackWithSize(stack, 1));
|
||||
}
|
||||
if (FluidContainerRegistry.isContainer(stack)) {
|
||||
FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(stack);
|
||||
if (fluid != null) {
|
||||
FluidStack fluid0 = fluid.copy();
|
||||
fluid0.amount *= stack.stackSize;
|
||||
return fluid0;
|
||||
}
|
||||
|
||||
if (fluid == null) {
|
||||
fluid = StackInfo.getFluid(Util.copyStackWithSize(stack, 1));
|
||||
}
|
||||
|
||||
if (fluid != null) {
|
||||
FluidStack fluid0 = fluid.copy();
|
||||
fluid0.amount *= stack.stackSize;
|
||||
return fluid0;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
Reference in new issue
Block a user