aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/common/GT_Client.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_WormholeGenerator.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/render/TileWormhole.java50
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java10
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java11
5 files changed, 32 insertions, 43 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);
}
+
}
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index e93387397f..f22633ecd0 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -555,12 +555,11 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GregTech_API.sDroneRender = new GT_Block_Drone();
GregTech_API.sBlockGlass1 = new GT_Block_Glass1();
GregTech_API.sBlockTintedGlass = new GT_Block_TintedIndustrialGlass();
+ GregTech_API.sWormholeRender = new GT_WormholeRenderBlock();
if (Mods.GalacticraftCore.isModLoaded()) {
GregTech_API.sLaserRender = new GT_Block_Laser();
- GregTech_API.sWormholeRender = new GT_WormholeRenderBlock();
} else {
GregTech_API.sLaserRender = null;
- GregTech_API.sWormholeRender = null;
}
// meta ID order, DO NOT CHANGE ORDER
@@ -688,13 +687,14 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_Log.out.println("GT_Mod: Registering the DroneRender.");
GameRegistry.registerTileEntity(TileDrone.class, "DroneRender");
+ GT_Log.out.println("GT_Mod: Registering the WormholeRender.");
+ GameRegistry.registerTileEntity(TileWormhole.class, "WormholeRender");
+
if (Mods.GalacticraftCore.isModLoaded()) {
GT_Log.out.println("GT_Mod: Registering the LaserRender.");
GameRegistry.registerTileEntity(TileLaser.class, "LaserRenderer");
-
- GT_Log.out.println("GT_Mod: Registering the WormholeRender.");
- GameRegistry.registerTileEntity(TileWormhole.class, "WormholeRender");
}
+
GT_Log.out.println("GT_Mod: Registering the BaseMetaPipeEntity.");
GameRegistry.registerTileEntity(BaseMetaPipeEntity.class, "BaseMetaPipeEntity");
FMLInterModComms.sendMessage(AppliedEnergistics2.ID, "whitelist-spatial", BaseMetaPipeEntity.class.getName());
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index ed2b679cad..35cc7af6ad 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -1133,12 +1133,13 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
new GT_MetaTileEntity_MultiCanner(MULTI_CANNER_CONTROLLER.ID, "multimachine.canner", "TurboCan Pro")
.getStackForm(1));
+ ItemList.WormholeGenerator.set(
+ new GT_MetaTileEntity_WormholeGenerator(
+ WORMHOLE_GENERATOR_CONTROLLER.ID,
+ "multimachine.wormhole",
+ "Miniature Wormhole Generator").getStackForm(1));
+
if (Mods.GalacticraftCore.isModLoaded()) {
- ItemList.WormholeGenerator.set(
- new GT_MetaTileEntity_WormholeGenerator(
- WORMHOLE_GENERATOR_CONTROLLER.ID,
- "multimachine.wormhole",
- "Miniature Wormhole Generator").getStackForm(1));
ItemList.Machine_Multi_IndustrialLaserEngraver.set(
new GT_MetaTileEntity_IndustrialLaserEngraver(
INDUSTRIAL_LASER_ENGRAVER_CONTROLLER.ID,