You might have heard already, what happened recently. mDiyo attempts again to break GregTech for no reason. Last time I was able to strike back by just refusing to load a World together with it (it was nothing else than refusing to start a Game), but currently I am unable to do a proper GT release with a fix for his now even more malicious attacks. Just to make that clear, mDiyo attacked GregTech again.
As you can see here, unless he removed it from his Github then look below, this time he is breaking my OreDictionary Handler entirely.
package tconstruct.plugins.misc;
import java.lang.reflect.Field;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.FMLModContainer;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.ModContainer;
@Mod(modid = "TConstruct|PeaceOfMind", name = "TConstruct|PeaceOfMind", version = "1.0")
public class PeaceOfMind
{
public PeaceOfMind()
{
for (ModContainer o : Loader.instance().getModList())
{
if (o.getModId().toLowerCase().contains("gregtech"))
{
try
{
/** Explicit permission: http://forum.industrial-craft.net/index.php?page=Thread&postID=121457#post121457 */
ModContainer mod = o;
Field ann = FMLModContainer.class.getDeclaredField("eventBus");
ann.setAccessible(true);
com.google.common.eventbus.EventBus googlebus = (com.google.common.eventbus.EventBus) ann.get(mod);
googlebus.unregister(mod);
Class clazz = Class.forName("gregtechmod.common.GT_OreDictHandler");
MinecraftForge.EVENT_BUS.unregister(clazz);
}
catch (Exception e)
{
System.err.println("Cannot unregister GregTech");
e.printStackTrace();
}
}
}
}
}
Display More
So, this has several Side Effects. Such as being unable to get/process the basic Materials to ascend to the higher Tiers, such as Chrome, Tungsten, Aluminium, Stainless Steel etc.
According to that "Explicit permission" he is linking up there, any modification of my Code has to be constructive, reasonable and is not allowed to "just break" things. Well it is not constructive to just disable my OreDict Handling, especially since it breaks pretty much everything.
2 violations done from his Side, now to the Part of being a "reasonable" Change. Do you think it is reasonable to fuck up a whole Mod, just because it suggests to follow OreDictionary Conventions in a few Lines inside the Log, which almost nobody reads? I doubt so, and even if you don't agree with me, we still have the other 2 violations.
His changes can cause massive Problems on your World as well. Since many Recipes are not available anymore, your whole Factory could just be stuck on now unprocessable Material, overflowing your Pipes, causing massive Lag and then eventually making your World unplayable. It could also waste your Resources, when you have an Autocrafting System, such as with Applied Energistics or even worse in case of using Logistics Pipes. Even if you fix it after either uninstalling it or downgrading it, this waste of Resources still persists and in most of the cases you dont even know exactly what got wasted, so you risk accidential cheating.
Aside from that, I have no Idea if the "googlebus.unregister(mod);" Line actually work as mDiyo obviously intended, but if so, then It will definetly corrupt parts of your Savegame.
I suggested to him to just not load together with GT if he doesn't like it, instead of breaking the entire Mod.
And it is fully on mDiyos Side. I didn't change GT at all in the last few Weeks, due to other technical Problems. Luckyly I added the Public Announcement Code a while ago (shortly after the first attack), so I was able to link you to this here.
Oh, and in case you just want to know, how to disable that Public Message popping up everytime you start a Game, .minecraft -> config -> GregTech -> DynamicConfig.cfg -> news -> "Name of said Message"=false