diff --git a/src/main/java/thaumic/tinkerer/client/core/proxy/TTClientProxy.java b/src/main/java/thaumic/tinkerer/client/core/proxy/TTClientProxy.java index 6fdd8596..1cc3afec 100644 --- a/src/main/java/thaumic/tinkerer/client/core/proxy/TTClientProxy.java +++ b/src/main/java/thaumic/tinkerer/client/core/proxy/TTClientProxy.java @@ -23,7 +23,6 @@ import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -60,6 +59,7 @@ import thaumic.tinkerer.common.block.tile.TileRepairer; import thaumic.tinkerer.common.block.tile.kami.TileWarpGate; import thaumic.tinkerer.common.block.tile.tablet.TileAnimationTablet; import thaumic.tinkerer.common.compat.FumeTool; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.core.handler.ConfigHandler; import thaumic.tinkerer.common.core.helper.EnumMobAspect; import thaumic.tinkerer.common.core.proxy.TTCommonProxy; @@ -81,7 +81,7 @@ public final class TTClientProxy extends TTCommonProxy { public void preInit(FMLPreInitializationEvent event) { super.preInit(event); FMLCommonHandler.instance().bus().register(this); - if (Loader.isModLoaded("ComputerCraft")) { + if (LoadedMods.computerCraftLoaded) { MinecraftForge.EVENT_BUS.register(new FumeTool()); } diff --git a/src/main/java/thaumic/tinkerer/client/nei/NEIConfig.java b/src/main/java/thaumic/tinkerer/client/nei/NEIConfig.java index 3d272ca5..e15a1b87 100644 --- a/src/main/java/thaumic/tinkerer/client/nei/NEIConfig.java +++ b/src/main/java/thaumic/tinkerer/client/nei/NEIConfig.java @@ -4,13 +4,13 @@ import codechicken.nei.api.IConfigureNEI; import codechicken.nei.recipe.GuiCraftingRecipe; import codechicken.nei.recipe.GuiUsageRecipe; import codechicken.nei.recipe.TemplateRecipeHandler; -import cpw.mods.fml.common.Loader; +import thaumic.tinkerer.common.compat.LoadedMods; public class NEIConfig implements IConfigureNEI { @Override public void loadConfig() { - if (!Loader.isModLoaded("aspectrecipeindex")) return; + if (!LoadedMods.aspectRecipeIndexLoaded) return; AspectRecipeIndexIntegration.register(); } diff --git a/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java b/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java index 03026f60..b9aac3eb 100644 --- a/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java +++ b/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java @@ -17,7 +17,6 @@ import net.minecraftforge.common.DimensionManager; import org.apache.logging.log4j.Logger; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; @@ -34,6 +33,7 @@ import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import thaumcraft.common.CommonProxy; import thaumcraft.common.Thaumcraft; import thaumic.tinkerer.api.InterModCommsOperations; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.core.handler.ConfigHandler; import thaumic.tinkerer.common.core.proxy.TTCommonProxy; import thaumic.tinkerer.common.dim.WorldProviderBedrock; @@ -51,10 +51,6 @@ public class ThaumicTinkerer { @SidedProxy(clientSide = LibMisc.CLIENT_PROXY, serverSide = LibMisc.COMMON_PROXY) public static TTCommonProxy proxy; - public static boolean isBootsActive = false; - public static boolean gtLoaded; - public static final String BOOTS = "thaumicboots"; - public static CommonProxy tcProxy; public static SimpleNetworkWrapper netHandler = NetworkRegistry.INSTANCE.newSimpleChannel(LibMisc.MOD_ID + "|B"); @@ -67,16 +63,12 @@ public class ThaumicTinkerer { log = event.getModLog(); tcProxy = Thaumcraft.proxy; proxy.preInit(event); - if (Loader.isModLoaded("Waila")) { + if (LoadedMods.wailaLoaded) { FMLInterModComms.sendMessage( "Waila", "register", "thaumic.tinkerer.common.compat.TTinkererProvider.callbackRegister"); } - if (Loader.isModLoaded(BOOTS)) { - isBootsActive = true; - } - gtLoaded = Loader.isModLoaded("gregtech"); } @EventHandler @@ -111,7 +103,7 @@ public class ThaumicTinkerer { KamiResearchItem.Blacklist.addAll(Arrays.asList(values)); } if (message.key.equalsIgnoreCase(InterModCommsOperations.ADD_CC_BLACKLIST)) { - if (Loader.isModLoaded("ComputerCraft")) blackListCCDevices(message.getStringValue()); + if (LoadedMods.computerCraftLoaded) blackListCCDevices(message.getStringValue()); } } } diff --git a/src/main/java/thaumic/tinkerer/common/block/BlockAspectAnalyzer.java b/src/main/java/thaumic/tinkerer/common/block/BlockAspectAnalyzer.java index c64388c3..c2e19be1 100644 --- a/src/main/java/thaumic/tinkerer/common/block/BlockAspectAnalyzer.java +++ b/src/main/java/thaumic/tinkerer/common/block/BlockAspectAnalyzer.java @@ -25,7 +25,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import cpw.mods.fml.common.Loader; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.research.ResearchPage; @@ -34,6 +33,7 @@ import thaumcraft.common.config.ConfigItems; import thaumic.tinkerer.client.core.helper.IconHelper; import thaumic.tinkerer.common.ThaumicTinkerer; import thaumic.tinkerer.common.block.tile.TileAspectAnalyzer; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.lib.LibBlockNames; import thaumic.tinkerer.common.lib.LibGuiIDs; import thaumic.tinkerer.common.lib.LibResearch; @@ -141,7 +141,7 @@ public class BlockAspectAnalyzer extends BlockModContainer { @Override public boolean shouldRegister() { - return Loader.isModLoaded("ComputerCraft"); + return LoadedMods.computerCraftLoaded; } @Override diff --git a/src/main/java/thaumic/tinkerer/common/block/BlockGolemConnector.java b/src/main/java/thaumic/tinkerer/common/block/BlockGolemConnector.java index 1c0d0af6..d8b3429f 100644 --- a/src/main/java/thaumic/tinkerer/common/block/BlockGolemConnector.java +++ b/src/main/java/thaumic/tinkerer/common/block/BlockGolemConnector.java @@ -8,7 +8,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import cpw.mods.fml.common.Loader; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.research.ResearchPage; @@ -16,6 +15,7 @@ import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.config.ConfigItems; import thaumic.tinkerer.common.block.tile.TileCamo; import thaumic.tinkerer.common.block.tile.TileGolemConnector; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.lib.LibBlockNames; import thaumic.tinkerer.common.lib.LibResearch; import thaumic.tinkerer.common.registry.ThaumicTinkererArcaneRecipe; @@ -53,7 +53,7 @@ public class BlockGolemConnector extends BlockCamo { @Override public boolean shouldRegister() { - return Loader.isModLoaded("ComputerCraft"); + return LoadedMods.computerCraftLoaded; } @Override diff --git a/src/main/java/thaumic/tinkerer/common/block/BlockRepairer.java b/src/main/java/thaumic/tinkerer/common/block/BlockRepairer.java index 5054a889..0f9f8f5d 100644 --- a/src/main/java/thaumic/tinkerer/common/block/BlockRepairer.java +++ b/src/main/java/thaumic/tinkerer/common/block/BlockRepairer.java @@ -29,7 +29,6 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; @@ -39,6 +38,7 @@ import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.config.ConfigItems; import thaumic.tinkerer.client.lib.LibRenderIDs; import thaumic.tinkerer.common.block.tile.TileRepairer; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.compat.TinkersConstructCompat; import thaumic.tinkerer.common.lib.LibBlockNames; import thaumic.tinkerer.common.lib.LibResearch; @@ -127,7 +127,7 @@ public class BlockRepairer extends BlockModContainer { itemstack.stackSize -= k1; int dmg; - if (Loader.isModLoaded("TConstruct")) { + if (LoadedMods.TConstructLoaded) { if (TinkersConstructCompat.isTConstructTool(itemstack)) { dmg = TinkersConstructCompat.getDamage(itemstack); } else dmg = itemstack.getItemDamage(); diff --git a/src/main/java/thaumic/tinkerer/common/block/tile/TileEntityMobilizer.java b/src/main/java/thaumic/tinkerer/common/block/tile/TileEntityMobilizer.java index 2f63c1a7..6b0db4e8 100644 --- a/src/main/java/thaumic/tinkerer/common/block/tile/TileEntityMobilizer.java +++ b/src/main/java/thaumic/tinkerer/common/block/tile/TileEntityMobilizer.java @@ -8,9 +8,9 @@ import net.minecraftforge.common.util.ForgeDirection; import appeng.api.AEApi; import appeng.api.IAppEngApi; -import cpw.mods.fml.common.Loader; import thaumic.tinkerer.common.ThaumicTinkerer; import thaumic.tinkerer.common.block.mobilizer.BlockMobilizer; +import thaumic.tinkerer.common.compat.LoadedMods; public class TileEntityMobilizer extends TileEntity { @@ -140,7 +140,7 @@ public class TileEntityMobilizer extends TileEntity { } } // If AE is installed, use its handler - } else if (Loader.isModLoaded("appliedenergistics2")) { + } else if (LoadedMods.AE2Loaded) { IAppEngApi api = AEApi.instance(); if (api.registries().movable().askToMove(passenger)) { worldObj.setBlock( diff --git a/src/main/java/thaumic/tinkerer/common/block/tile/TileRepairer.java b/src/main/java/thaumic/tinkerer/common/block/tile/TileRepairer.java index a7467dbd..8cee6e33 100644 --- a/src/main/java/thaumic/tinkerer/common/block/tile/TileRepairer.java +++ b/src/main/java/thaumic/tinkerer/common/block/tile/TileRepairer.java @@ -26,7 +26,6 @@ import net.minecraftforge.common.util.Constants; import net.minecraftforge.common.util.ForgeDirection; import appeng.api.movable.IMovableTile; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Optional; import thaumcraft.api.ThaumcraftApiHelper; import thaumcraft.api.aspects.Aspect; @@ -34,6 +33,7 @@ import thaumcraft.api.aspects.AspectList; import thaumcraft.api.aspects.IAspectContainer; import thaumcraft.api.aspects.IEssentiaTransport; import thaumic.tinkerer.common.ThaumicTinkerer; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.compat.TinkersConstructCompat; import thaumic.tinkerer.common.core.handler.ConfigHandler; import thaumic.tinkerer.common.lib.LibBlockNames; @@ -73,7 +73,7 @@ public class TileRepairer extends TileEntity boolean oldTookLastTick = tookLastTick; tookLastTick = false; - if (Loader.isModLoaded("TConstruct") && ConfigHandler.repairTConTools) { + if (LoadedMods.TConstructLoaded && ConfigHandler.repairTConTools) { if (inventorySlots[0] != null) { if (TinkersConstructCompat.isTConstructTool(inventorySlots[0])) { int dmg = TinkersConstructCompat.getDamage(inventorySlots[0]); @@ -237,20 +237,15 @@ public class TileRepairer extends TileEntity @Override public boolean canInsertItem(int i, ItemStack itemstack, int j) { - if (Loader.isModLoaded("TConstruct") && ConfigHandler.repairTConTools) { - if (TinkersConstructCompat.isTConstructTool(itemstack)) { - return itemstack != null; - } - } - return itemstack != null && itemstack.getItem().isRepairable(); + return isRepairable(itemstack); } @Override public boolean canExtractItem(int i, ItemStack itemstack, int j) { - return true; + return !isRepairable(itemstack); } - int drawEssentia() { + private int drawEssentia() { ForgeDirection orientation = getOrientation(); TileEntity te = ThaumcraftApiHelper.getConnectableTile(worldObj, xCoord, yCoord, zCoord, orientation); if (te != null) { @@ -265,7 +260,7 @@ public class TileRepairer extends TileEntity return 0; } - ForgeDirection getOrientation() { + private ForgeDirection getOrientation() { return ForgeDirection.getOrientation(getBlockMetadata()); } @@ -273,9 +268,12 @@ public class TileRepairer extends TileEntity public AspectList getAspects() { ItemStack stack = inventorySlots[0]; if (stack == null) return null; - if (Loader.isModLoaded("TConstruct") && ConfigHandler.repairTConTools) { - if (TinkersConstructCompat.isTConstructTool(stack)) + if (LoadedMods.TConstructLoaded && TinkersConstructCompat.isTConstructTool(stack)) { + if (ConfigHandler.repairTConTools) { return new AspectList().add(Aspect.ENTROPY, TinkersConstructCompat.getDamage(stack)); + } else { + return null; + } } return new AspectList().add(Aspect.ENTROPY, stack.getItemDamage()); } @@ -369,7 +367,7 @@ public class TileRepairer extends TileEntity @Override public int getSuctionAmount(ForgeDirection arg0) { - return arg0 == getOrientation() ? 128 : 0; + return arg0 == getOrientation() && containsRepairableStack() ? 128 : 0; } @Override @@ -386,4 +384,19 @@ public class TileRepairer extends TileEntity @Override @Optional.Method(modid = "appliedenergistics2") public void doneMoving() {} + + private boolean containsRepairableStack() { + return isRepairable(inventorySlots[0]); + } + + private boolean isRepairable(ItemStack stack) { + if (stack == null) { + return false; + } + if (LoadedMods.TConstructLoaded && TinkersConstructCompat.isTConstructTool(stack)) { + return ConfigHandler.repairTConTools && TinkersConstructCompat.getDamage(stack) > 0; + } + return stack.getItem() != null && stack.getItem().isRepairable() && stack.getItemDamage() > 0; + } + } diff --git a/src/main/java/thaumic/tinkerer/common/block/tile/tablet/TileAnimationTablet.java b/src/main/java/thaumic/tinkerer/common/block/tile/tablet/TileAnimationTablet.java index 1362c596..5991254d 100644 --- a/src/main/java/thaumic/tinkerer/common/block/tile/tablet/TileAnimationTablet.java +++ b/src/main/java/thaumic/tinkerer/common/block/tile/tablet/TileAnimationTablet.java @@ -55,6 +55,7 @@ import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import thaumic.tinkerer.common.ThaumicTinkerer; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.lib.LibBlockNames; import thaumic.tinkerer.common.registry.TTRegistry; import thaumic.tinkerer.mixins.early.AccessorItemInWorldManager; @@ -110,7 +111,7 @@ public class TileAnimationTablet extends TileEntity implements IInventory, IMova if (worldObj.isRemote) { prevSwingProgress = swingProgress; prevTicksElapsed = ticksElapsed; - int iterations = ThaumicTinkerer.gtLoaded ? MTEWorldAccelerator.getAccelerationForTEUnsafe(this) + 1 : 1; + int iterations = LoadedMods.gtLoaded ? MTEWorldAccelerator.getAccelerationForTEUnsafe(this) + 1 : 1; ticksElapsed += iterations; ItemStack stack = heldItem; if (stack != null) { diff --git a/src/main/java/thaumic/tinkerer/common/block/tile/transvector/TileTransvectorInterface.java b/src/main/java/thaumic/tinkerer/common/block/tile/transvector/TileTransvectorInterface.java index 4bcbaefe..ed13dc2b 100644 --- a/src/main/java/thaumic/tinkerer/common/block/tile/transvector/TileTransvectorInterface.java +++ b/src/main/java/thaumic/tinkerer/common/block/tile/transvector/TileTransvectorInterface.java @@ -25,7 +25,6 @@ import net.minecraftforge.fluids.IFluidHandler; import cofh.api.energy.IEnergyHandler; import cofh.api.energy.IEnergyProvider; import cofh.api.energy.IEnergyReceiver; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Optional; import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.lua.LuaException; @@ -41,6 +40,7 @@ import thaumcraft.api.aspects.AspectList; import thaumcraft.api.aspects.IAspectContainer; import thaumcraft.api.aspects.IEssentiaTransport; import thaumic.tinkerer.common.compat.IndustrialcraftUnloadHelper; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.lib.LibFeatures; @Optional.InterfaceList({ @@ -70,7 +70,7 @@ public class TileTransvectorInterface extends TileTransvector if (worldObj.getTotalWorldTime() % 100 == 0) { worldObj.notifyBlockChange(xCoord, yCoord, zCoord, worldObj.getBlock(xCoord, yCoord, zCoord)); } - if (!addedToICEnergyNet && !worldObj.isRemote && Loader.isModLoaded("IC2")) { + if (!addedToICEnergyNet && !worldObj.isRemote && LoadedMods.ic2Loaded) { IndustrialcraftUnloadHelper.addToIC2EnergyNet(this); addedToICEnergyNet = true; @@ -84,7 +84,7 @@ public class TileTransvectorInterface extends TileTransvector @Override public void invalidate() { - if (Loader.isModLoaded("IC2")) { + if (LoadedMods.ic2Loaded) { IndustrialcraftUnloadHelper.removeFromIC2EnergyNet(this); } super.invalidate(); @@ -93,7 +93,7 @@ public class TileTransvectorInterface extends TileTransvector @Override public void onChunkUnload() { - if (Loader.isModLoaded("IC2")) { + if (LoadedMods.ic2Loaded) { IndustrialcraftUnloadHelper.removeFromIC2EnergyNet(this); } } diff --git a/src/main/java/thaumic/tinkerer/common/compat/EMTCompat.java b/src/main/java/thaumic/tinkerer/common/compat/EMTCompat.java index 79736bdb..64d42520 100644 --- a/src/main/java/thaumic/tinkerer/common/compat/EMTCompat.java +++ b/src/main/java/thaumic/tinkerer/common/compat/EMTCompat.java @@ -4,13 +4,11 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; import ic2.api.item.ElectricItem; public class EMTCompat { - public static final boolean EMTLoaded = Loader.isModLoaded("EMT"); public static Item electricHoe; public static void init() { @@ -18,7 +16,8 @@ public class EMTCompat { } public static boolean validElectricHoe(ItemStack stack) { - return EMTLoaded && stack.getItem() == EMTCompat.electricHoe && ElectricItem.manager.canUse(stack, 250); + return LoadedMods.EMTLoaded && stack.getItem() == EMTCompat.electricHoe + && ElectricItem.manager.canUse(stack, 250); } public static void useEnergy(ItemStack hoeOfGrowth, EntityPlayer player) { diff --git a/src/main/java/thaumic/tinkerer/common/compat/LoadedMods.java b/src/main/java/thaumic/tinkerer/common/compat/LoadedMods.java new file mode 100644 index 00000000..d7a3070e --- /dev/null +++ b/src/main/java/thaumic/tinkerer/common/compat/LoadedMods.java @@ -0,0 +1,25 @@ +package thaumic.tinkerer.common.compat; + +import cpw.mods.fml.common.Loader; + +public class LoadedMods { + + public static final boolean AE2Loaded = Loader.isModLoaded("appliedenergistics2"); + public static final boolean EMTLoaded = Loader.isModLoaded("EMT"); + public static final boolean NEILoaded = Loader.isModLoaded("NotEnoughItems"); + public static final boolean TConstructLoaded = Loader.isModLoaded("TConstruct"); + public static final boolean aspectRecipeIndexLoaded = Loader.isModLoaded("aspectrecipeindex"); + public static final boolean baublesExpandedLoaded = Loader.isModLoaded("Baubles|Expanded"); + public static final boolean bloodMagicLoaded = Loader.isModLoaded("BloodMagic"); + public static final boolean botaniaLoaded = Loader.isModLoaded("Botania"); + public static final boolean computerCraftLoaded = Loader.isModLoaded("ComputerCraft"); + public static final boolean enderIOLoaded = Loader.isModLoaded("EnderIO"); + public static final boolean enderStorageLoaded = Loader.isModLoaded("EnderStorage"); + public static final boolean forgeMultipartLoaded = Loader.isModLoaded("ForgeMultipart"); + public static final boolean gtLoaded = Loader.isModLoaded("gregtech"); + public static final boolean ic2Loaded = Loader.isModLoaded("IC2"); + public static final boolean openComputersLoaded = Loader.isModLoaded("OpenComputers"); + public static final boolean thaumicBootsLoaded = Loader.isModLoaded("thaumicboots"); + public static final boolean wailaLoaded = Loader.isModLoaded("Waila"); + +} diff --git a/src/main/java/thaumic/tinkerer/common/core/helper/BonemealEventHandler.java b/src/main/java/thaumic/tinkerer/common/core/helper/BonemealEventHandler.java index 5951929e..55714618 100644 --- a/src/main/java/thaumic/tinkerer/common/core/helper/BonemealEventHandler.java +++ b/src/main/java/thaumic/tinkerer/common/core/helper/BonemealEventHandler.java @@ -1,7 +1,5 @@ package thaumic.tinkerer.common.core.helper; -import static thaumic.tinkerer.common.compat.EMTCompat.EMTLoaded; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -14,6 +12,7 @@ import thaumcraft.common.Thaumcraft; import thaumcraft.common.config.ConfigItems; import thaumic.tinkerer.common.block.BlockInfusedGrain; import thaumic.tinkerer.common.compat.EMTCompat; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.core.handler.ConfigHandler; /** @@ -67,7 +66,7 @@ public class BonemealEventHandler { } private static void damageHoe(ItemStack hoeOfGrowth, EntityPlayer player) { - if (EMTLoaded && hoeOfGrowth.getItem() == EMTCompat.electricHoe) { + if (LoadedMods.EMTLoaded && hoeOfGrowth.getItem() == EMTCompat.electricHoe) { EMTCompat.useEnergy(hoeOfGrowth, player); } else { hoeOfGrowth.damageItem(25, player); diff --git a/src/main/java/thaumic/tinkerer/common/core/proxy/TTCommonProxy.java b/src/main/java/thaumic/tinkerer/common/core/proxy/TTCommonProxy.java index 4603108f..4ed30595 100644 --- a/src/main/java/thaumic/tinkerer/common/core/proxy/TTCommonProxy.java +++ b/src/main/java/thaumic/tinkerer/common/core/proxy/TTCommonProxy.java @@ -29,7 +29,6 @@ import codechicken.nei.event.NEIRegisterHandlerInfosEvent; import codechicken.nei.recipe.HandlerInfo; import codechicken.nei.recipe.RecipeCatalysts; import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; @@ -66,6 +65,7 @@ import thaumic.tinkerer.common.block.tile.transvector.TileTransvectorInterface; import thaumic.tinkerer.common.compat.EMTCompat; import thaumic.tinkerer.common.compat.EnderIO; import thaumic.tinkerer.common.compat.FumeTool; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.core.commands.KamiUnlockedCommand; import thaumic.tinkerer.common.core.commands.MaxResearchCommand; import thaumic.tinkerer.common.core.commands.SetTendencyCommand; @@ -130,7 +130,7 @@ public class TTCommonProxy { ModCreativeTab.INSTANCE.addWand(); - if (Loader.isModLoaded("ComputerCraft")) { + if (LoadedMods.computerCraftLoaded) { initCCPeripherals(); } @@ -159,14 +159,14 @@ public class TTCommonProxy { MinecraftForge.EVENT_BUS.register(new SoulHeartHandler()); } - if (Loader.isModLoaded("OpenComputers")) { + if (LoadedMods.openComputersLoaded) { initOpenCDrivers(); } - if (Loader.isModLoaded("EnderIO")) { + if (LoadedMods.enderIOLoaded) { InitEnderIO(); } - if (Loader.isModLoaded("ForgeMultipart")) { + if (LoadedMods.forgeMultipartLoaded) { ThaumicTinkerer.log.trace("Attempting to load Multiparts"); try { Class clazz = Class.forName("thaumic.tinkerer.common.multipart.MultipartHandler"); @@ -178,7 +178,7 @@ public class TTCommonProxy { ThaumicTinkerer.log.info("Skipping TC Multipart integration"); } - if (Loader.isModLoaded("NotEnoughItems") && Loader.isModLoaded("aspectrecipeindex")) { + if (LoadedMods.NEILoaded && LoadedMods.aspectRecipeIndexLoaded) { MinecraftForge.EVENT_BUS.register(new NEIEventHandler()); } diff --git a/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusDeflect.java b/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusDeflect.java index 38dd0968..f033a578 100644 --- a/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusDeflect.java +++ b/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusDeflect.java @@ -21,7 +21,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; -import cpw.mods.fml.common.Loader; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.research.ResearchPage; @@ -34,6 +33,7 @@ import thaumcraft.common.items.wands.ItemWandCasting; import thaumic.tinkerer.common.ThaumicTinkerer; import thaumic.tinkerer.common.compat.BloodMagic; import thaumic.tinkerer.common.compat.BotaniaFunctions; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.core.helper.ProjectileHelper; import thaumic.tinkerer.common.lib.LibItemNames; import thaumic.tinkerer.common.lib.LibResearch; @@ -52,7 +52,7 @@ public class ItemFocusDeflect extends ItemModFocus { public static void setupBlackList() { DeflectBlacklist.add(EntityExpBottle.class); - if (Loader.isModLoaded("BloodMagic")) { + if (LoadedMods.bloodMagicLoaded) { BloodMagic.setupClass(); } } @@ -96,7 +96,7 @@ public class ItemFocusDeflect extends ItemModFocus { } private static void checkBotaniaMagicMissile(Entity e) { - if (!Loader.isModLoaded("Botania")) return; + if (!LoadedMods.botaniaLoaded) return; if (e instanceof EntityMagicMissile) { e.setDead(); } @@ -114,7 +114,7 @@ public class ItemFocusDeflect extends ItemModFocus { private static boolean CheckBlackList(Entity entity) { Class aClass = entity.getClass(); if (DeflectBlacklist.contains(aClass)) return true; - if (Loader.isModLoaded("Botania") && entity instanceof IManaBurst) { + if (LoadedMods.botaniaLoaded && entity instanceof IManaBurst) { return BotaniaFunctions.isEntityHarmless(entity); } for (Class testClass : DeflectBlacklist) { diff --git a/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusEnderChest.java b/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusEnderChest.java index bf24e2eb..e2de93ab 100644 --- a/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusEnderChest.java +++ b/src/main/java/thaumic/tinkerer/common/item/foci/ItemFocusEnderChest.java @@ -19,7 +19,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -import cpw.mods.fml.common.Loader; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.research.ResearchPage; @@ -29,6 +28,7 @@ import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.config.ConfigItems; import thaumcraft.common.items.wands.ItemWandCasting; import thaumic.tinkerer.common.compat.EnderStorageFunctions; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.lib.LibItemNames; import thaumic.tinkerer.common.lib.LibResearch; import thaumic.tinkerer.common.registry.ThaumicTinkererArcaneRecipe; @@ -44,14 +44,14 @@ public class ItemFocusEnderChest extends ItemModFocus { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { super.addInformation(stack, player, list, par4); - if (Loader.isModLoaded("EnderStorage")) { + if (LoadedMods.enderStorageLoaded) { EnderStorageFunctions.addFocusInformation(stack, player, list, par4); } } @Override public ItemStack onFocusRightClick(ItemStack stack, World world, EntityPlayer p, MovingObjectPosition pos) { - if (Loader.isModLoaded("EnderStorage")) { + if (LoadedMods.enderStorageLoaded) { return EnderStorageFunctions.onFocusRightClick(stack, world, p, pos); } ItemWandCasting wand = (ItemWandCasting) stack.getItem(); @@ -76,7 +76,7 @@ public class ItemFocusEnderChest extends ItemModFocus { @Override public String getSortingHelper(ItemStack itemstack) { - if (Loader.isModLoaded("EnderStorage")) { + if (LoadedMods.enderStorageLoaded) { return EnderStorageFunctions.getSortingHelper(itemstack); } return "TTEC" + super.getSortingHelper(itemstack); @@ -122,7 +122,7 @@ public class ItemFocusEnderChest extends ItemModFocus { -2, 2, new ItemStack(this)).setWarp(1).setParents(LibResearch.KEY_FOCUS_DEFLECT).setConcealed(); - if (Loader.isModLoaded("EnderStorage")) { + if (LoadedMods.enderStorageLoaded) { ((TTResearchItem) research).setPages( new ResearchPage("ES"), ResearchHelper.arcaneRecipePage(LibResearch.KEY_FOCUS_ENDER_CHEST)); diff --git a/src/main/java/thaumic/tinkerer/common/item/kami/ItemIchorPouch.java b/src/main/java/thaumic/tinkerer/common/item/kami/ItemIchorPouch.java index 19df81b3..4097f6d9 100644 --- a/src/main/java/thaumic/tinkerer/common/item/kami/ItemIchorPouch.java +++ b/src/main/java/thaumic/tinkerer/common/item/kami/ItemIchorPouch.java @@ -29,7 +29,6 @@ import baubles.api.BaubleType; import baubles.api.IBauble; import baubles.api.expanded.BaubleItemHelper; import baubles.api.expanded.IBaubleExpanded; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -41,6 +40,7 @@ import thaumcraft.common.config.ConfigItems; import thaumcraft.common.items.wands.ItemFocusPouch; import thaumic.tinkerer.client.core.helper.IconHelper; import thaumic.tinkerer.common.ThaumicTinkerer; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.core.handler.ConfigHandler; import thaumic.tinkerer.common.core.handler.ModCreativeTab; import thaumic.tinkerer.common.core.proxy.TTCommonProxy; @@ -57,8 +57,6 @@ import thaumic.tinkerer.common.research.ResearchHelper; @Optional.Interface(iface = "baubles.api.expanded.IBaubleExpanded", modid = "Baubles|Expanded") public class ItemIchorPouch extends ItemFocusPouch implements IBauble, IBaubleExpanded, ITTinkererItem { - private static final boolean baublesExpandedLoaded = Loader.isModLoaded("Baubles|Expanded"); - public ItemIchorPouch() { super(); setCreativeTab(ModCreativeTab.INSTANCE); @@ -111,7 +109,7 @@ public class ItemIchorPouch extends ItemFocusPouch implements IBauble, IBaubleEx @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack is, EntityPlayer player, List textLines, boolean showAdvancedInfo) { - if (baublesExpandedLoaded) { + if (LoadedMods.baublesExpandedLoaded) { BaubleItemHelper.addSlotInformation(textLines, getBaubleTypes(null)); } } diff --git a/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemBoots.java b/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemBoots.java index c6a4507b..5f5f6f18 100644 --- a/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemBoots.java +++ b/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemBoots.java @@ -38,6 +38,7 @@ import thaumcraft.common.Thaumcraft; import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.config.ConfigItems; import thaumic.tinkerer.common.ThaumicTinkerer; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.core.handler.ConfigHandler; import thaumic.tinkerer.common.item.kami.ItemKamiResource; import thaumic.tinkerer.common.lib.LibItemNames; @@ -139,7 +140,7 @@ public class ItemGemBoots extends ItemIchorclothArmorAdv implements IBoots { player.motionZ *= 0.5; } boolean omniMode = false; - if (ThaumicTinkerer.isBootsActive) { + if (LoadedMods.thaumicBootsLoaded) { omniMode = isOmniEnabled(itemStack); if ((player.moveForward == 0F && player.moveStrafing == 0F && omniMode) || (player.moveForward <= 0F && !omniMode)) { @@ -164,7 +165,7 @@ public class ItemGemBoots extends ItemIchorclothArmorAdv implements IBoots { bonus /= 2.0F; } bonus *= speedMod; - if (ThaumicTinkerer.isBootsActive) { + if (LoadedMods.thaumicBootsLoaded) { applyOmniState(player, bonus, itemStack); } else if (player.moveForward > 0.0) { player.moveFlying(0.0F, player.moveForward, bonus); diff --git a/src/main/java/thaumic/tinkerer/common/research/ResearchHelper.java b/src/main/java/thaumic/tinkerer/common/research/ResearchHelper.java index 71fc35d0..1a5fb1f4 100644 --- a/src/main/java/thaumic/tinkerer/common/research/ResearchHelper.java +++ b/src/main/java/thaumic/tinkerer/common/research/ResearchHelper.java @@ -18,7 +18,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.util.ResourceLocation; -import cpw.mods.fml.common.Loader; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.crafting.CrucibleRecipe; @@ -34,6 +33,7 @@ import thaumic.tinkerer.client.lib.LibResources; import thaumic.tinkerer.common.ThaumicTinkerer; import thaumic.tinkerer.common.block.mobilizer.BlockMobilizer; import thaumic.tinkerer.common.block.mobilizer.BlockMobilizerRelay; +import thaumic.tinkerer.common.compat.LoadedMods; import thaumic.tinkerer.common.lib.LibResearch; public final class ResearchHelper { @@ -174,7 +174,7 @@ public final class ResearchHelper { new ResourceLocation(LibResources.ENCHANT_VALIANCE)).setParents(LibResearch.KEY_ENCHANT_VAMPIRISM); research.setPages(new ResearchPage("0")).setSecondary().registerResearchItem(); // Peripheral documentation research - if (Loader.isModLoaded("ComputerCraft")) { + if (LoadedMods.computerCraftLoaded) { research = new TTResearchItem( LibResearch.KEY_PERIPHERALS, new AspectList(), diff --git a/src/main/resources/assets/ttinkerer/lang/en_US.lang b/src/main/resources/assets/ttinkerer/lang/en_US.lang index 9967a821..3ec8b5f4 100644 --- a/src/main/resources/assets/ttinkerer/lang/en_US.lang +++ b/src/main/resources/assets/ttinkerer/lang/en_US.lang @@ -447,7 +447,7 @@ ttresearch.page.REVEALING_HELM.0=As it turns out, goggles don't offer much prote # -- THAUMIC REHABILITATOR ttresearch.name.REPAIRER=Thaumic Restorer ttresearch.lore.REPAIRER=Undoing the damage you've done -ttresearch.page.REPAIRER.0=You created a new contraption to restore broken tools. By right clicking this block with a broken tool and hooking it to essentia tubes, it'll gather essentia to repair the tool.

The essentia that will repair items is Instrumentum.

Looking at the block with goggles of revealing also shows how worn down the item in it still is. Redstone current will be emitted while an item is being repaired. +ttresearch.page.REPAIRER.0=You created a new contraption to restore broken tools. By right clicking this block with a broken tool and hooking it to essentia tubes, it'll gather essentia to repair the tool.

The essentia that will repair items is Instrumentum.

Looking at the block with goggles of revealing also shows how worn down the item in it still is. Redstone current will be emitted while an item is being repaired.

Items can be inserted and extracted with automation. It will only extract the item when repairing is done. # -- WAND FOCUS: DISTORTION ttresearch.name.FOCUS_DEFLECT=Wand Focus: Distortion diff --git a/src/main/resources/assets/ttinkerer/lang/ru_RU.lang b/src/main/resources/assets/ttinkerer/lang/ru_RU.lang index d1b70b37..e58b552e 100644 --- a/src/main/resources/assets/ttinkerer/lang/ru_RU.lang +++ b/src/main/resources/assets/ttinkerer/lang/ru_RU.lang @@ -443,7 +443,7 @@ ttresearch.page.REVEALING_HELM.0=Очки откровения не дают в # -- THAUMIC REHABILITATOR ttresearch.name.REPAIRER=Таум-восстановитель ttresearch.lore.REPAIRER=Меньше трещин, чем в чипсах -ttresearch.page.REPAIRER.0=Вы открыли новый способ починки вещей. Используйте поломанный инструмент на этом блоке, подцепленном к трубам с эссенцией. Специальный механизм возьмет нужную для починки эссенцию.

Нужные эссенции, в основном, это Ordo, Fabrico и Instrumentum.

Через очки в восстановителе можно увидеть, насколько инструмент еще поломан. +ttresearch.page.REPAIRER.0=Вы открыли новый способ починки вещей. Используйте поломанный инструмент на этом блоке, подцепленном к трубам с эссенцией. Специальный механизм возьмет нужную для починки эссенцию.

Нужная эссенция - Instrumentum.

Через очки в восстановителе можно увидеть, насколько инструмент еще поломан.

Предметы можно класть и доставать с помощью автоматизации. Доставаться будут только полностью починенные предметы. # -- WAND FOCUS: DISTORTION ttresearch.name.FOCUS_DEFLECT=Набалдашник: Искажение