diff --git a/dependencies.gradle b/dependencies.gradle index c6a9bbc4..6ec934ca 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -34,11 +34,11 @@ * For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph */ dependencies { - api('com.github.GTNewHorizons:NotEnoughItems:2.8.26-GTNH:dev') - api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-727-GTNH:dev') + api('com.github.GTNewHorizons:NotEnoughItems:2.8.33-GTNH:dev') + api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-739-GTNH:dev') api('curse.maven:cofh-core-69162:2388751') api('com.github.GTNewHorizons:waila:1.9.7:dev') - api("com.github.GTNewHorizons:GTNHLib:0.7.3:dev") + api("com.github.GTNewHorizons:GTNHLib:0.8.0:dev") implementation("com.github.GTNewHorizons:WirelessCraftingTerminal:1.12.7:dev") { exclude group: 'com.github.GTNewHorizons', module: 'Applied-Energistics-2-Unofficial' @@ -46,9 +46,9 @@ dependencies { compileOnly('com.github.GTNewHorizons:Baubles-Expanded:2.2.2-GTNH:dev') compileOnly('com.github.GTNewHorizons:ExtraCells2:2.5.35:dev') { transitive = false } - compileOnly('com.github.GTNewHorizons:ForestryMC:4.11.0:dev') + compileOnly('com.github.GTNewHorizons:ForestryMC:4.11.2:dev') compileOnly('com.github.GTNewHorizons:EnderIO:2.10.3:dev') - compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.87:dev') { + compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.99:dev') { exclude group: 'com.github.GTNewHorizons', module: 'AE2FluidCraft-Rework' exclude group: 'com.github.GTNewHorizons', module: 'Applied-Energistics-2-Unofficial' } @@ -57,7 +57,7 @@ dependencies { compileOnly('com.gregoriust.gregtech:gregtech_1.7.10:6.14.23:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:OpenComputers:1.12.4-GTNH:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.7.14-GTNH:dev') { transitive = false } - compileOnly("com.github.GTNewHorizons:Hodgepodge:2.7.9:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Hodgepodge:2.7.11:dev") { transitive = false } runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.4.0:dev") } diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java b/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java index 80bef8e2..056228e2 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java @@ -234,6 +234,7 @@ public class PartFluidP2PInterface extends PartP2PTunnelStatic applyMemoryCard(EntityPlayer player, IMemoryCard memoryCard, ItemStack is) { PartP2PTunnel newTunnel = super.applyMemoryCard(player, memoryCard, is); + if (Platform.isClient()) return newTunnel; NBTTagCompound data = memoryCard.getData(is); if (newTunnel instanceof PartFluidP2PInterface p2PInterface) { p2PInterface.duality.getConfigManager().readFromNBT(data); @@ -399,6 +401,12 @@ public class PartFluidP2PInterface extends PartP2PTunnelStatic getWailaBody(final ItemStack itemStack, final List currentToolTip, + final IWailaDataAccessor accessor, final IWailaConfigHandler config) { + TileEntity tileEntity = accessor.getTileEntity(); + if (tileEntity instanceof TileCertusQuartzTank quartzTank) { + FluidTankInfo info = quartzTank.getTankInfo(true)[0]; + if (info.fluid != null) { + currentToolTip + .add(Tooltip.fluidFormat(info.fluid.getLocalizedName(), info.fluid.amount, info.capacity)); + } + } + return currentToolTip; + } +} diff --git a/src/main/java/com/glodblock/github/crossmod/waila/VanillaTileWailaDataProvider.java b/src/main/java/com/glodblock/github/crossmod/waila/VanillaTileWailaDataProvider.java deleted file mode 100644 index c1b6018c..00000000 --- a/src/main/java/com/glodblock/github/crossmod/waila/VanillaTileWailaDataProvider.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.glodblock.github.crossmod.waila; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import com.glodblock.github.crossmod.waila.vanilla.FluidInvWailaDataProvider; -import com.google.common.collect.Lists; - -import mcp.mobius.waila.api.IWailaConfigHandler; -import mcp.mobius.waila.api.IWailaDataAccessor; -import mcp.mobius.waila.api.IWailaDataProvider; - -public class VanillaTileWailaDataProvider implements IWailaDataProvider { - - private final List providers; - - public VanillaTileWailaDataProvider() { - final IWailaDataProvider fluidInv = new FluidInvWailaDataProvider(); - this.providers = Lists.newArrayList(fluidInv); - } - - @Override - public ItemStack getWailaStack(final IWailaDataAccessor accessor, final IWailaConfigHandler config) { - return null; - } - - @Override - public List getWailaHead(final ItemStack itemStack, final List currentToolTip, - final IWailaDataAccessor accessor, final IWailaConfigHandler config) { - for (final IWailaDataProvider provider : this.providers) { - provider.getWailaHead(itemStack, currentToolTip, accessor, config); - } - - return currentToolTip; - } - - @Override - public List getWailaBody(final ItemStack itemStack, final List currentToolTip, - final IWailaDataAccessor accessor, final IWailaConfigHandler config) { - for (final IWailaDataProvider provider : this.providers) { - provider.getWailaBody(itemStack, currentToolTip, accessor, config); - } - - return currentToolTip; - } - - @Override - public List getWailaTail(final ItemStack itemStack, final List currentToolTip, - final IWailaDataAccessor accessor, final IWailaConfigHandler config) { - for (final IWailaDataProvider provider : this.providers) { - provider.getWailaTail(itemStack, currentToolTip, accessor, config); - } - - return currentToolTip; - } - - @Override - public NBTTagCompound getNBTData(final EntityPlayerMP player, final TileEntity te, final NBTTagCompound tag, - final World world, final int x, final int y, final int z) { - for (final IWailaDataProvider provider : this.providers) { - provider.getNBTData(player, te, tag, world, x, y, z); - } - - return tag; - } -} diff --git a/src/main/java/com/glodblock/github/crossmod/waila/WailaInit.java b/src/main/java/com/glodblock/github/crossmod/waila/WailaInit.java index aecc6110..8cbf4293 100644 --- a/src/main/java/com/glodblock/github/crossmod/waila/WailaInit.java +++ b/src/main/java/com/glodblock/github/crossmod/waila/WailaInit.java @@ -1,6 +1,6 @@ package com.glodblock.github.crossmod.waila; -import net.minecraft.tileentity.TileEntity; +import com.glodblock.github.common.tile.TileCertusQuartzTank; import appeng.api.parts.IPartHost; import appeng.tile.AEBaseTile; @@ -26,9 +26,8 @@ public class WailaInit { registrar.registerBodyProvider(tile, AEBaseTile.class); registrar.registerNBTProvider(tile, AEBaseTile.class); - final IWailaDataProvider vanillaTile = new VanillaTileWailaDataProvider(); - registrar.registerBodyProvider(vanillaTile, TileEntity.class); - registrar.registerNBTProvider(vanillaTile, TileEntity.class); + final IWailaDataProvider certusQuartzTank = new CertusQuartzTankWailaDataProvider(); + registrar.registerBodyProvider(certusQuartzTank, TileCertusQuartzTank.class); } } diff --git a/src/main/java/com/glodblock/github/crossmod/waila/vanilla/FluidInvWailaDataProvider.java b/src/main/java/com/glodblock/github/crossmod/waila/vanilla/FluidInvWailaDataProvider.java deleted file mode 100644 index 807f1358..00000000 --- a/src/main/java/com/glodblock/github/crossmod/waila/vanilla/FluidInvWailaDataProvider.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.glodblock.github.crossmod.waila.vanilla; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.fluids.FluidTankInfo; - -import com.glodblock.github.common.tile.TileCertusQuartzTank; -import com.glodblock.github.crossmod.waila.Tooltip; -import com.glodblock.github.util.Util; - -import appeng.integration.modules.waila.BaseWailaDataProvider; -import mcp.mobius.waila.api.IWailaConfigHandler; -import mcp.mobius.waila.api.IWailaDataAccessor; - -public class FluidInvWailaDataProvider extends BaseWailaDataProvider { - - @Override - public List getWailaBody(final ItemStack itemStack, final List currentToolTip, - final IWailaDataAccessor accessor, final IWailaConfigHandler config) { - final TileEntity te = accessor.getTileEntity(); - if (te instanceof TileCertusQuartzTank) { - if (accessor.getNBTData().hasKey("fluidInv")) { - NBTTagCompound data = (NBTTagCompound) accessor.getNBTData().getTag("fluidInv"); - for (FluidTankInfo info : Util.FluidUtil.fluidTankInfoReadFromNBT(data)) { - if (info.fluid == null) continue; - currentToolTip - .add(Tooltip.fluidFormat(info.fluid.getLocalizedName(), info.fluid.amount, info.capacity)); - } - } - } - return currentToolTip; - } - - @Override - public NBTTagCompound getNBTData(final EntityPlayerMP player, final TileEntity te, final NBTTagCompound tag, - final World world, final int x, final int y, final int z) { - if (te instanceof TileCertusQuartzTank) { - NBTTagCompound data = new NBTTagCompound(); - Util.FluidUtil.fluidTankInfoWriteToNBT(((TileCertusQuartzTank) te).getInternalFluid(), data); - tag.setTag("fluidInv", data); - te.writeToNBT(tag); - } - return tag; - } -} diff --git a/src/main/java/com/glodblock/github/util/Util.java b/src/main/java/com/glodblock/github/util/Util.java index ade70cc5..aa69e5bf 100644 --- a/src/main/java/com/glodblock/github/util/Util.java +++ b/src/main/java/com/glodblock/github/util/Util.java @@ -7,8 +7,6 @@ import static com.glodblock.github.util.Util.DimensionalCoordSide.hasEnergyCard; import static net.minecraft.init.Items.glass_bottle; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; import java.util.Map; import net.minecraft.entity.player.EntityPlayer; @@ -24,7 +22,6 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidContainerItem; import org.apache.commons.lang3.tuple.ImmutablePair; @@ -510,36 +507,6 @@ public final class Util { public static final ItemStack water_bucket = new ItemStack(Items.water_bucket, 1); - public static void fluidTankInfoWriteToNBT(FluidTankInfo[] infos, NBTTagCompound data) { - int i = 0; - for (FluidTankInfo info : infos) { - if (info.fluid != null && info.fluid.amount > 0) { - NBTTagCompound fs = new NBTTagCompound(); - info.fluid.writeToNBT(fs); - fs.setInteger("capacity", info.capacity); - data.setTag("#" + i, fs); - } - i++; - } - data.setInteger("fluidInvSize", i); - } - - public static FluidTankInfo[] fluidTankInfoReadFromNBT(NBTTagCompound data) { - int i = 0; - List infos = new ArrayList<>(); - while (data.hasKey("fluidInvSize") && i < data.getInteger("fluidInvSize")) { - if (data.hasKey("#" + i)) { - NBTTagCompound tag = (NBTTagCompound) data.getTag("#" + i); - FluidStack fs = FluidStack.loadFluidStackFromNBT(tag); - infos.add(new FluidTankInfo(fs, tag.getInteger("capacity"))); - } else { - infos.add(new FluidTankInfo(null, 0)); - } - i++; - } - return infos.toArray(new FluidTankInfo[0]); - } - public static IAEFluidStack createAEFluidStack(Fluid fluid) { return createAEFluidStack(new FluidStack(fluid, FluidContainerRegistry.BUCKET_VOLUME)); }