diff options
Diffstat (limited to 'src/main/java/gregtech/common')
3 files changed, 21 insertions, 33 deletions
diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java index 95b19e756c..0ad831b2e1 100644 --- a/src/main/java/gregtech/common/GT_Client.java +++ b/src/main/java/gregtech/common/GT_Client.java @@ -625,9 +625,9 @@ public class GT_Client extends GT_Proxy implements Runnable { GT_Renderer_Block.register(); new GT_MultiTile_Renderer(); new GT_RenderDrone(); + new GT_WormholeRenderer(); if (Mods.GalacticraftCore.isModLoaded()) { new GT_LaserRenderer(); - new GT_WormholeRenderer(); } metaGeneratedItemRenderer = new GT_MetaGenerated_Item_Renderer(); for (GT_MetaGenerated_Item item : GT_MetaGenerated_Item.sInstances.values()) { diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_WormholeGenerator.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_WormholeGenerator.java index d0c356e4fe..eeb5770800 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_WormholeGenerator.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_WormholeGenerator.java @@ -542,7 +542,6 @@ public class GT_MetaTileEntity_WormholeGenerator extends if (mLink.isActive()) { for (int i = 0; i < MAX_HATCHES; i++) { if (!HATCH_MASK[i]) continue; - long optimal = mLink.mWormholeEnergy > Long.MAX_VALUE ? Long.MAX_VALUE : ((long) mLink.mWormholeEnergy); if (getTransferable(i) > 0) { if (mLink.mWormholeEnergy <= 0) { @@ -600,6 +599,7 @@ public class GT_MetaTileEntity_WormholeGenerator extends private long getTransferable(int index) { var dest = mLink.getDest(mSelfReference); + if (dest == null || mMaxProgresstime == 0 || dest.mMaxProgresstime == 0) { return 0; } diff --git a/src/main/java/gregtech/common/tileentities/render/TileWormhole.java b/src/main/java/gregtech/common/tileentities/render/TileWormhole.java index 1bb012aaf6..d482fd7ce1 100644 --- a/src/main/java/gregtech/common/tileentities/render/TileWormhole.java +++ b/src/main/java/gregtech/common/tileentities/render/TileWormhole.java @@ -1,45 +1,37 @@ package gregtech.common.tileentities.render; -import java.util.List; import java.util.Optional; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraft.world.WorldProvider; -import cpw.mods.fml.relauncher.Side; -import micdoodle8.mods.galacticraft.core.tile.TileEntityAdvanced; -import micdoodle8.mods.galacticraft.core.util.Annotations; import pers.gwyog.gtneioreplugin.plugin.block.ModBlocks; import pers.gwyog.gtneioreplugin.util.DimensionHelper; -// This should either move to gt5u tiles, or get moved to GTNH-Intergalactic -public class TileWormhole extends TileEntityAdvanced { +public class TileWormhole extends TileEntity { - @Annotations.NetworkedField(targetSide = Side.CLIENT) - public boolean shouldRender = false; - @Annotations.NetworkedField(targetSide = Side.CLIENT) public int dimID = 0; - @Annotations.NetworkedField(targetSide = Side.CLIENT) public double targetRadius = 0; @Override - public void addExtraNetworkedData(List<Object> networkedList) { - super.addExtraNetworkedData(networkedList); - } - - @Override public void writeToNBT(NBTTagCompound compound) { super.writeToNBT(compound); compound.setInteger("dimID", dimID); + compound.setDouble("targetRadius", targetRadius); } @Override public void readFromNBT(NBTTagCompound compound) { super.readFromNBT(compound); dimID = compound.getInteger("dimID"); + targetRadius = compound.getDouble("targetRadius"); } public int getDimFromWorld(World target) { @@ -58,11 +50,15 @@ public class TileWormhole extends TileEntityAdvanced { int newName = getDimFromWorld(target); if (target != null & dimID != newName) { dimID = newName; + this.markDirty(); + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } } public void setRadius(double target) { targetRadius = target; + this.markDirty(); + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } public Block getBlock() { @@ -70,30 +66,22 @@ public class TileWormhole extends TileEntityAdvanced { } @Override - public void updateEntity() { - super.updateEntity(); - if (worldObj != null && worldObj.isRemote) { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } - - @Override public double getMaxRenderDistanceSquared() { return 65536; } @Override - public double getPacketRange() { - return 128; + public Packet getDescriptionPacket() { + NBTTagCompound nbttagcompound = new NBTTagCompound(); + writeToNBT(nbttagcompound); + return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound); } @Override - public int getPacketCooldown() { - return 20; - } + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { - @Override - public boolean isNetworkedTile() { - return true; + readFromNBT(pkt.func_148857_g()); + worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord); } + } |