aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/technus/tectech/TecTech.java105
-rw-r--r--src/main/java/com/github/technus/tectech/loader/TecTechConfig.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java2
-rw-r--r--src/main/java/com/github/technus/tectech/proxy/ClientProxy.java18
4 files changed, 124 insertions, 5 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java
index 84dbc204d5..5383b9cf62 100644
--- a/src/main/java/com/github/technus/tectech/TecTech.java
+++ b/src/main/java/com/github/technus/tectech/TecTech.java
@@ -18,6 +18,13 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import eu.usrv.yamcore.auxiliary.IngameErrorLog;
import eu.usrv.yamcore.auxiliary.LogHelper;
+import gregtech.GT_Mod;
+import gregtech.common.GT_Proxy;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.Collection;
+import java.util.Iterator;
import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE;
@@ -36,8 +43,8 @@ public class TecTech {
private static IngameErrorLog moduleAdminErrorLogs;
public static TecTechConfig configTecTech;
- public static ChunkDataHandler chunkDataHandler=new ChunkDataHandler();
- public static AnomalyHandler anomalyHandler=new AnomalyHandler();
+ public static ChunkDataHandler chunkDataHandler;
+ public static AnomalyHandler anomalyHandler;
/**
* For Loader.isModLoaded checks during the runtime
@@ -80,6 +87,96 @@ public class TecTech {
public void Load(FMLInitializationEvent event) {
hasCOFH = Loader.isModLoaded(Reference.COFHCORE);
+
+ if(configTecTech.DISABLE_MATERIAL_LOADING_FFS){
+ try {
+ Field field= GT_Proxy.class.getDeclaredField("mEvents");
+ field.setAccessible(true);
+ Field modifiersField = Field.class.getDeclaredField( "modifiers" );
+ modifiersField.setAccessible( true );
+ modifiersField.setInt( field, field.getModifiers() & ~Modifier.FINAL );
+ field.set(GT_Mod.gregtechproxy, new Collection() {
+ @Override
+ public int size() {
+ return 0;
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return true;
+ }
+
+ @Override
+ public boolean contains(Object o) {
+ return false;
+ }
+
+ @Override
+ public Iterator iterator() {
+ return new Iterator() {
+ @Override
+ public boolean hasNext() {
+ return false;
+ }
+
+ @Override
+ public Object next() {
+ return null;
+ }
+ };
+ }
+
+ @Override
+ public Object[] toArray() {
+ return new Object[0];
+ }
+
+ @Override
+ public boolean add(Object o) {
+ return false;
+ }
+
+ @Override
+ public boolean remove(Object o) {
+ return false;
+ }
+
+ @Override
+ public boolean addAll(Collection c) {
+ return false;
+ }
+
+ @Override
+ public void clear() {
+
+ }
+
+ @Override
+ public boolean retainAll(Collection c) {
+ return false;
+ }
+
+ @Override
+ public boolean removeAll(Collection c) {
+ return false;
+ }
+
+ @Override
+ public boolean containsAll(Collection c) {
+ return false;
+ }
+
+ @Override
+ public Object[] toArray(Object[] a) {
+ return new Object[0];
+ }
+ });
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ LOGGER.error(Reference.MODID + " could not disable material loading!");
+ }
+
+ }
+
MainLoader.load();
MainLoader.addAfterGregTechPostLoadRunner();
}
@@ -87,8 +184,8 @@ public class TecTech {
@Mod.EventHandler
public void PostLoad(FMLPostInitializationEvent PostEvent) {
MainLoader.postLoad();
-
- chunkDataHandler.registerChunkMetaDataHandler(anomalyHandler);
+ chunkDataHandler=new ChunkDataHandler();
+ chunkDataHandler.registerChunkMetaDataHandler(anomalyHandler=new AnomalyHandler());
}
@Mod.EventHandler
diff --git a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java
index 468a0c909a..e7eb0c0945 100644
--- a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java
+++ b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java
@@ -17,6 +17,7 @@ public class TecTechConfig extends ConfigManager {
public boolean EASY_SCAN;
public boolean NERF_FUSION;
public boolean ENABLE_TURRET_EXPLOSIONS;
+ public boolean DISABLE_MATERIAL_LOADING_FFS;
public float TURRET_DAMAGE_FACTOR;
public float TURRET_EXPLOSION_FACTOR;
@@ -30,6 +31,7 @@ public class TecTechConfig extends ConfigManager {
BOOM_ENABLE = true;
NERF_FUSION = false;
ENABLE_TURRET_EXPLOSIONS = true;
+ DISABLE_MATERIAL_LOADING_FFS=false;
TURRET_DAMAGE_FACTOR = 10;
TURRET_EXPLOSION_FACTOR = 1;
}
@@ -56,6 +58,8 @@ public class TecTechConfig extends ConfigManager {
"Damage is multiplied by this number");
TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat("TurretExplosionFactor", "Features", TURRET_EXPLOSION_FACTOR, 0, Short.MAX_VALUE,
"Explosion strength is multiplied by this number");
+ DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "Debug", DISABLE_MATERIAL_LOADING_FFS,
+ "Set to true to disable gregtech material processing");
}
/**
diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java
index 7d58d6b6ae..29d3ff663a 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java
@@ -12,7 +12,7 @@ public class AnomalyHandler implements ChunkMetaDataHandler {
@Override
public String getTagName() {
- return "Anomaly";
+ return "anomaly";
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java
index 255cf56e96..8299f815e0 100644
--- a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java
+++ b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java
@@ -11,6 +11,8 @@ import com.github.technus.tectech.thing.block.QuantumStuffRender;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
@@ -23,6 +25,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChatComponentText;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.event.world.ChunkDataEvent;
import org.lwjgl.opengl.GL11;
public class ClientProxy extends CommonProxy {
@@ -138,4 +141,19 @@ public class ClientProxy extends CommonProxy {
public void renderAABB(AxisAlignedBB box) {
renderAABB(Minecraft.getMinecraft().theWorld,box);
}
+
+ @SubscribeEvent
+ public void handleChunkSaveEvent(ChunkDataEvent.Save event) {
+ super.handleChunkSaveEvent(event);
+ }
+
+ @SubscribeEvent
+ public void handleChunkLoadEvent(ChunkDataEvent.Load event) {
+ super.handleChunkLoadEvent(event);
+ }
+
+ @SubscribeEvent
+ public void onServerTickEvent(TickEvent.ServerTickEvent aEvent) {
+ super.onServerTickEvent(aEvent);
+ }
}