diff --git a/build.gradle b/build.gradle
index b894d647..621bc62f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,4 +1,4 @@
-//version: 1692122114
+//version: 1696265388
/*
DO NOT CHANGE THIS FILE!
Also, you may replace this file at any time if there is an update available.
@@ -89,6 +89,23 @@ def out = services.get(StyledTextOutputFactory).create('an-output')
def projectJavaVersion = JavaLanguageVersion.of(8)
boolean disableSpotless = project.hasProperty("disableSpotless") ? project.disableSpotless.toBoolean() : false
+boolean disableCheckstyle = project.hasProperty("disableCheckstyle") ? project.disableCheckstyle.toBoolean() : false
+
+final String CHECKSTYLE_CONFIG = """
+
+
+
+
+
+
+
+
+
+
+
+"""
checkPropertyExists("modName")
checkPropertyExists("modId")
@@ -140,6 +157,17 @@ if (!disableSpotless) {
apply from: Blowdryer.file('spotless.gradle')
}
+if (!disableCheckstyle) {
+ apply plugin: 'checkstyle'
+ tasks.named("checkstylePatchedMc") { enabled = false }
+ tasks.named("checkstyleMcLauncher") { enabled = false }
+ tasks.named("checkstyleIdeVirtualMain") { enabled = false }
+ tasks.named("checkstyleInjectedTags") { enabled = false }
+ checkstyle {
+ config = resources.text.fromString(CHECKSTYLE_CONFIG)
+ }
+}
+
String javaSourceDir = "src/main/java/"
String scalaSourceDir = "src/main/scala/"
String kotlinSourceDir = "src/main/kotlin/"
@@ -600,15 +628,10 @@ repositories {
}
maven {
name = "ic2"
- url = "https://maven.ic2.player.to/"
- metadataSources {
- mavenPom()
- artifact()
+ url = getURL("https://maven.ic2.player.to/", "https://maven2.ic2.player.to/")
+ content {
+ includeGroup "net.industrial-craft"
}
- }
- maven {
- name = "ic2-mirror"
- url = "https://maven2.ic2.player.to/"
metadataSources {
mavenPom()
artifact()
@@ -770,23 +793,14 @@ ext.java17PatchDependenciesCfg = configurations.create("java17PatchDependencies"
}
dependencies {
- def lwjgl3ifyVersion = '1.4.0'
- def asmVersion = '9.4'
+ def lwjgl3ifyVersion = '1.5.0'
if (modId != 'lwjgl3ify') {
java17Dependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}")
}
if (modId != 'hodgepodge') {
- java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.2.26')
+ java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.3.7')
}
- java17PatchDependencies('net.minecraft:launchwrapper:1.17.2') {transitive = false}
- java17PatchDependencies("org.ow2.asm:asm:${asmVersion}")
- java17PatchDependencies("org.ow2.asm:asm-commons:${asmVersion}")
- java17PatchDependencies("org.ow2.asm:asm-tree:${asmVersion}")
- java17PatchDependencies("org.ow2.asm:asm-analysis:${asmVersion}")
- java17PatchDependencies("org.ow2.asm:asm-util:${asmVersion}")
- java17PatchDependencies('org.ow2.asm:asm-deprecated:7.1')
- java17PatchDependencies("org.apache.commons:commons-lang3:3.12.0")
java17PatchDependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}:forgePatches") {transitive = false}
}
@@ -1576,6 +1590,25 @@ def getSecondaryArtifacts() {
return secondaryArtifacts
}
+def getURL(String main, String fallback) {
+ return pingURL(main, 10000) ? main : fallback
+}
+
+// credit: https://stackoverflow.com/a/3584332
+def pingURL(String url, int timeout) {
+ url = url.replaceFirst("^https", "http") // Otherwise an exception may be thrown on invalid SSL certificates.
+ try {
+ HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection()
+ connection.setConnectTimeout(timeout)
+ connection.setReadTimeout(timeout)
+ connection.setRequestMethod("HEAD")
+ int responseCode = connection.getResponseCode()
+ return 200 <= responseCode && responseCode <= 399
+ } catch (IOException ignored) {
+ return false
+ }
+}
+
// For easier scripting of things that require variables defined earlier in the buildscript
if (file('addon.late.gradle.kts').exists()) {
apply from: 'addon.late.gradle.kts'
diff --git a/dependencies.gradle b/dependencies.gradle
index e0ac1582..c0d95536 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -2,19 +2,19 @@
dependencies {
api('com.github.GTNewHorizons:Baubles:1.0.1.16:dev')
- api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-254-GTNH:api')
+ api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-260-GTNH:api')
api('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
- compileOnly('com.github.GTNewHorizons:Botania:1.9.24-GTNH:dev') {transitive=false}
+ compileOnly('com.github.GTNewHorizons:Botania:1.10.0-GTNH:dev') {transitive=false}
compileOnly('com.github.GTNewHorizons:EnderCore:0.2.17:dev') {transitive=false}
- compileOnly('com.github.GTNewHorizons:EnderIO:2.4.24:dev') {transitive=false}
+ compileOnly('com.github.GTNewHorizons:EnderIO:2.5.2:dev') {transitive=false}
compileOnly('com.github.GTNewHorizons:EnderStorage:1.4.12:dev') {transitive=false}
compileOnly('com.github.GTNewHorizons:waila:1.6.0:api') {transitive=false}
- compileOnly('com.github.GTNewHorizons:TinkersConstruct:1.10.1-GTNH:dev') {transitive=false}
+ compileOnly('com.github.GTNewHorizons:TinkersConstruct:1.10.5-GTNH:dev') {transitive=false}
compileOnly('com.github.GTNewHorizons:ForgeMultipart:1.3.4:dev') {transitive=false}
compileOnly('com.github.GTNewHorizons:CodeChickenLib:1.1.8:dev') {transitive=false}
- compileOnly('com.github.GTNewHorizons:OpenComputers:1.9.15-GTNH:api') {transitive=false}
+ compileOnly('com.github.GTNewHorizons:OpenComputers:1.9.17-GTNH:api') {transitive=false}
compileOnly('curse.maven:computercraft-67504:2269339')
compileOnly('curse.maven:cofh-lib-220333:2388748')
diff --git a/repositories.gradle b/repositories.gradle
index 9c1eb8fc..c227b16e 100644
--- a/repositories.gradle
+++ b/repositories.gradle
@@ -1,27 +1,4 @@
// Add any additional repositories for your dependencies here
repositories {
- maven {
- name 'GTNH Maven'
- url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/'
- allowInsecureProtocol
- }
- maven {
- name 'ic2'
- url 'https://maven.ic2.player.to/'
- metadataSources {
- mavenPom()
- artifact()
- }
- }
- maven {
- url 'https://cursemaven.com'
- content {
- includeGroup "curse.maven"
- }
-
- }
- maven {
- url 'https://jitpack.io'
- }
}
diff --git a/src/main/java/thaumic/tinkerer/client/core/handler/kami/ToolModeHUDHandler.java b/src/main/java/thaumic/tinkerer/client/core/handler/kami/ToolModeHUDHandler.java
index 48db9120..14b4530d 100644
--- a/src/main/java/thaumic/tinkerer/client/core/handler/kami/ToolModeHUDHandler.java
+++ b/src/main/java/thaumic/tinkerer/client/core/handler/kami/ToolModeHUDHandler.java
@@ -11,7 +11,7 @@
*/
package thaumic.tinkerer.client.core.handler.kami;
-import java.awt.*;
+import java.awt.Color;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
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 12d83710..9fc54a85 100644
--- a/src/main/java/thaumic/tinkerer/client/core/proxy/TTClientProxy.java
+++ b/src/main/java/thaumic/tinkerer/client/core/proxy/TTClientProxy.java
@@ -44,7 +44,11 @@
import thaumic.tinkerer.client.render.item.RenderGenericSeeds;
import thaumic.tinkerer.client.render.item.RenderMobDisplay;
import thaumic.tinkerer.client.render.item.kami.RenderPlacementMirror;
-import thaumic.tinkerer.client.render.tile.*;
+import thaumic.tinkerer.client.render.tile.RenderTileAnimationTablet;
+import thaumic.tinkerer.client.render.tile.RenderTileEnchanter;
+import thaumic.tinkerer.client.render.tile.RenderTileFunnel;
+import thaumic.tinkerer.client.render.tile.RenderTileMagnet;
+import thaumic.tinkerer.client.render.tile.RenderTileRepairer;
import thaumic.tinkerer.client.render.tile.kami.RenderTileWarpGate;
import thaumic.tinkerer.common.ThaumicTinkerer;
import thaumic.tinkerer.common.block.tile.TileEnchanter;
diff --git a/src/main/java/thaumic/tinkerer/client/gui/GuiEnchanting.java b/src/main/java/thaumic/tinkerer/client/gui/GuiEnchanting.java
index 123dfe8e..33e53583 100644
--- a/src/main/java/thaumic/tinkerer/client/gui/GuiEnchanting.java
+++ b/src/main/java/thaumic/tinkerer/client/gui/GuiEnchanting.java
@@ -11,7 +11,7 @@
*/
package thaumic.tinkerer.client.gui;
-import java.awt.*;
+import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/thaumic/tinkerer/client/gui/GuiResearchPeripheral.java b/src/main/java/thaumic/tinkerer/client/gui/GuiResearchPeripheral.java
index f8eba8b9..629db6b8 100644
--- a/src/main/java/thaumic/tinkerer/client/gui/GuiResearchPeripheral.java
+++ b/src/main/java/thaumic/tinkerer/client/gui/GuiResearchPeripheral.java
@@ -11,7 +11,7 @@
*/
package thaumic.tinkerer.client.gui;
-import java.awt.*;
+import java.awt.Desktop;
import java.net.URI;
import net.minecraft.util.StatCollector;
diff --git a/src/main/java/thaumic/tinkerer/client/gui/kami/GuiWarpGateDestinations.java b/src/main/java/thaumic/tinkerer/client/gui/kami/GuiWarpGateDestinations.java
index 8e2e0db3..cb2af651 100644
--- a/src/main/java/thaumic/tinkerer/client/gui/kami/GuiWarpGateDestinations.java
+++ b/src/main/java/thaumic/tinkerer/client/gui/kami/GuiWarpGateDestinations.java
@@ -11,7 +11,7 @@
*/
package thaumic.tinkerer.client.gui.kami;
-import java.awt.*;
+import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileEnchanter.java b/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileEnchanter.java
index 040c926e..cf935c44 100644
--- a/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileEnchanter.java
+++ b/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileEnchanter.java
@@ -11,7 +11,7 @@
*/
package thaumic.tinkerer.client.render.tile;
-import java.awt.*;
+import java.awt.Color;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
diff --git a/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileRepairer.java b/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileRepairer.java
index 78e468cb..40904654 100644
--- a/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileRepairer.java
+++ b/src/main/java/thaumic/tinkerer/client/render/tile/RenderTileRepairer.java
@@ -11,7 +11,7 @@
*/
package thaumic.tinkerer.client.render.tile;
-import java.awt.*;
+import java.awt.Color;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
diff --git a/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java b/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java
index 9c965092..44df9e11 100644
--- a/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java
+++ b/src/main/java/thaumic/tinkerer/common/ThaumicTinkerer.java
@@ -26,7 +26,11 @@
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.SidedProxy;
-import cpw.mods.fml.common.event.*;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLInterModComms;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import thaumcraft.common.CommonProxy;
diff --git a/src/main/java/thaumic/tinkerer/common/block/tile/TileGolemConnector.java b/src/main/java/thaumic/tinkerer/common/block/tile/TileGolemConnector.java
index eba2c2aa..1adede05 100644
--- a/src/main/java/thaumic/tinkerer/common/block/tile/TileGolemConnector.java
+++ b/src/main/java/thaumic/tinkerer/common/block/tile/TileGolemConnector.java
@@ -1,6 +1,10 @@
package thaumic.tinkerer.common.block.tile;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
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 266f7a62..9e3f08c5 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
@@ -31,7 +31,11 @@
import dan200.computercraft.api.lua.LuaException;
import dan200.computercraft.api.peripheral.IComputerAccess;
import dan200.computercraft.api.peripheral.IPeripheral;
-import ic2.api.energy.tile.*;
+import ic2.api.energy.tile.IEnergyAcceptor;
+import ic2.api.energy.tile.IEnergyConductor;
+import ic2.api.energy.tile.IEnergyEmitter;
+import ic2.api.energy.tile.IEnergySink;
+import ic2.api.energy.tile.IEnergySource;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.aspects.AspectList;
import thaumcraft.api.aspects.IAspectContainer;
diff --git a/src/main/java/thaumic/tinkerer/common/compat/FumeTool.java b/src/main/java/thaumic/tinkerer/common/compat/FumeTool.java
index 089f898e..4394c420 100644
--- a/src/main/java/thaumic/tinkerer/common/compat/FumeTool.java
+++ b/src/main/java/thaumic/tinkerer/common/compat/FumeTool.java
@@ -12,7 +12,12 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dan200.computercraft.api.peripheral.IPeripheral;
-import dan200.computercraft.api.turtle.*;
+import dan200.computercraft.api.turtle.ITurtleAccess;
+import dan200.computercraft.api.turtle.ITurtleUpgrade;
+import dan200.computercraft.api.turtle.TurtleCommandResult;
+import dan200.computercraft.api.turtle.TurtleSide;
+import dan200.computercraft.api.turtle.TurtleUpgradeType;
+import dan200.computercraft.api.turtle.TurtleVerb;
import thaumic.tinkerer.common.ThaumicTinkerer;
import thaumic.tinkerer.common.block.BlockGas;
import thaumic.tinkerer.common.item.ItemGasRemover;
diff --git a/src/main/java/thaumic/tinkerer/common/core/helper/EnumMobAspect.java b/src/main/java/thaumic/tinkerer/common/core/helper/EnumMobAspect.java
index 0174d99a..96a90386 100644
--- a/src/main/java/thaumic/tinkerer/common/core/helper/EnumMobAspect.java
+++ b/src/main/java/thaumic/tinkerer/common/core/helper/EnumMobAspect.java
@@ -4,8 +4,32 @@
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
-import net.minecraft.entity.monster.*;
-import net.minecraft.entity.passive.*;
+import net.minecraft.entity.monster.EntityBlaze;
+import net.minecraft.entity.monster.EntityCaveSpider;
+import net.minecraft.entity.monster.EntityCreeper;
+import net.minecraft.entity.monster.EntityEnderman;
+import net.minecraft.entity.monster.EntityGhast;
+import net.minecraft.entity.monster.EntityIronGolem;
+import net.minecraft.entity.monster.EntityMagmaCube;
+import net.minecraft.entity.monster.EntityPigZombie;
+import net.minecraft.entity.monster.EntitySilverfish;
+import net.minecraft.entity.monster.EntitySkeleton;
+import net.minecraft.entity.monster.EntitySlime;
+import net.minecraft.entity.monster.EntitySnowman;
+import net.minecraft.entity.monster.EntitySpider;
+import net.minecraft.entity.monster.EntityWitch;
+import net.minecraft.entity.monster.EntityZombie;
+import net.minecraft.entity.passive.EntityBat;
+import net.minecraft.entity.passive.EntityChicken;
+import net.minecraft.entity.passive.EntityCow;
+import net.minecraft.entity.passive.EntityHorse;
+import net.minecraft.entity.passive.EntityMooshroom;
+import net.minecraft.entity.passive.EntityOcelot;
+import net.minecraft.entity.passive.EntityPig;
+import net.minecraft.entity.passive.EntitySheep;
+import net.minecraft.entity.passive.EntitySquid;
+import net.minecraft.entity.passive.EntityVillager;
+import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
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 130f2d18..76e44929 100644
--- a/src/main/java/thaumic/tinkerer/common/core/proxy/TTCommonProxy.java
+++ b/src/main/java/thaumic/tinkerer/common/core/proxy/TTCommonProxy.java
@@ -34,7 +34,19 @@
import thaumcraft.api.aspects.IEssentiaTransport;
import thaumcraft.api.wands.WandCap;
import thaumcraft.api.wands.WandRod;
-import thaumcraft.common.tiles.*;
+import thaumcraft.common.tiles.TileAlembic;
+import thaumcraft.common.tiles.TileArcaneBore;
+import thaumcraft.common.tiles.TileCentrifuge;
+import thaumcraft.common.tiles.TileCrucible;
+import thaumcraft.common.tiles.TileDeconstructionTable;
+import thaumcraft.common.tiles.TileInfusionMatrix;
+import thaumcraft.common.tiles.TileJarBrain;
+import thaumcraft.common.tiles.TileJarFillable;
+import thaumcraft.common.tiles.TileJarNode;
+import thaumcraft.common.tiles.TileNode;
+import thaumcraft.common.tiles.TileSensor;
+import thaumcraft.common.tiles.TileTubeFilter;
+import thaumcraft.common.tiles.TileWandPedestal;
import thaumic.tinkerer.common.ThaumicTinkerer;
import thaumic.tinkerer.common.block.tile.TileFunnel;
import thaumic.tinkerer.common.block.tile.TileRepairer;
@@ -59,12 +71,21 @@
import thaumic.tinkerer.common.lib.LibMisc;
import thaumic.tinkerer.common.network.GuiHandler;
import thaumic.tinkerer.common.network.PlayerTracker;
-import thaumic.tinkerer.common.network.packet.*;
+import thaumic.tinkerer.common.network.packet.PacketEnchanterAddEnchant;
+import thaumic.tinkerer.common.network.packet.PacketEnchanterStartWorking;
+import thaumic.tinkerer.common.network.packet.PacketMobMagnetButton;
+import thaumic.tinkerer.common.network.packet.PacketPlacerButton;
+import thaumic.tinkerer.common.network.packet.PacketTabletButton;
import thaumic.tinkerer.common.network.packet.kami.PacketSoulHearts;
import thaumic.tinkerer.common.network.packet.kami.PacketToggleArmor;
import thaumic.tinkerer.common.network.packet.kami.PacketWarpGateButton;
import thaumic.tinkerer.common.network.packet.kami.PacketWarpGateTeleport;
-import thaumic.tinkerer.common.peripheral.OpenComputers.*;
+import thaumic.tinkerer.common.peripheral.OpenComputers.DriverArcaneBore;
+import thaumic.tinkerer.common.peripheral.OpenComputers.DriverArcaneEar;
+import thaumic.tinkerer.common.peripheral.OpenComputers.DriverBrainInAJar;
+import thaumic.tinkerer.common.peripheral.OpenComputers.DriverDeconstructor;
+import thaumic.tinkerer.common.peripheral.OpenComputers.DriverEssentiaTransport;
+import thaumic.tinkerer.common.peripheral.OpenComputers.DriverIAspectContainer;
import thaumic.tinkerer.common.peripheral.PeripheralHandler;
import thaumic.tinkerer.common.potion.ModPotions;
import thaumic.tinkerer.common.research.ResearchHelper;
diff --git a/src/main/java/thaumic/tinkerer/common/item/ItemBlockFire.java b/src/main/java/thaumic/tinkerer/common/item/ItemBlockFire.java
index 16e0ad0e..81137da3 100644
--- a/src/main/java/thaumic/tinkerer/common/item/ItemBlockFire.java
+++ b/src/main/java/thaumic/tinkerer/common/item/ItemBlockFire.java
@@ -8,7 +8,12 @@
import net.minecraft.util.IIcon;
import thaumic.tinkerer.client.core.helper.IconHelper;
-import thaumic.tinkerer.common.block.fire.*;
+import thaumic.tinkerer.common.block.fire.BlockFireAir;
+import thaumic.tinkerer.common.block.fire.BlockFireChaos;
+import thaumic.tinkerer.common.block.fire.BlockFireEarth;
+import thaumic.tinkerer.common.block.fire.BlockFireIgnis;
+import thaumic.tinkerer.common.block.fire.BlockFireOrder;
+import thaumic.tinkerer.common.block.fire.BlockFireWater;
import thaumic.tinkerer.common.registry.ITTinkererBlock;
import thaumic.tinkerer.common.registry.ITTinkererItem;
import thaumic.tinkerer.common.registry.ThaumicTinkererRecipe;
diff --git a/src/main/java/thaumic/tinkerer/common/item/ItemInfusedInkwell.java b/src/main/java/thaumic/tinkerer/common/item/ItemInfusedInkwell.java
index f08eff87..ce7a937e 100644
--- a/src/main/java/thaumic/tinkerer/common/item/ItemInfusedInkwell.java
+++ b/src/main/java/thaumic/tinkerer/common/item/ItemInfusedInkwell.java
@@ -13,7 +13,11 @@
import thaumcraft.common.config.ConfigItems;
import thaumic.tinkerer.common.lib.LibItemNames;
import thaumic.tinkerer.common.lib.LibResearch;
-import thaumic.tinkerer.common.registry.*;
+import thaumic.tinkerer.common.registry.ItemBase;
+import thaumic.tinkerer.common.registry.ThaumicTinkererCraftingBenchRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererInfusionRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererRecipeMulti;
import thaumic.tinkerer.common.research.IRegisterableResearch;
public class ItemInfusedInkwell extends ItemBase implements IScribeTools {
diff --git a/src/main/java/thaumic/tinkerer/common/item/ItemMobAspect.java b/src/main/java/thaumic/tinkerer/common/item/ItemMobAspect.java
index 5f2db78a..caeb703c 100644
--- a/src/main/java/thaumic/tinkerer/common/item/ItemMobAspect.java
+++ b/src/main/java/thaumic/tinkerer/common/item/ItemMobAspect.java
@@ -19,7 +19,11 @@
import thaumic.tinkerer.common.core.helper.NumericAspectHelper;
import thaumic.tinkerer.common.lib.LibItemNames;
import thaumic.tinkerer.common.lib.LibResearch;
-import thaumic.tinkerer.common.registry.*;
+import thaumic.tinkerer.common.registry.ItemBase;
+import thaumic.tinkerer.common.registry.ThaumicTinkererCraftingBenchRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererInfusionRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererRecipeMulti;
import thaumic.tinkerer.common.research.IRegisterableResearch;
public class ItemMobAspect extends ItemBase {
diff --git a/src/main/java/thaumic/tinkerer/common/item/ItemSpellCloth.java b/src/main/java/thaumic/tinkerer/common/item/ItemSpellCloth.java
index 99d51d50..45871544 100644
--- a/src/main/java/thaumic/tinkerer/common/item/ItemSpellCloth.java
+++ b/src/main/java/thaumic/tinkerer/common/item/ItemSpellCloth.java
@@ -11,7 +11,7 @@
*/
package thaumic.tinkerer.common.item;
-import java.awt.*;
+import java.awt.Color;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/thaumic/tinkerer/common/item/kami/ItemKamiResource.java b/src/main/java/thaumic/tinkerer/common/item/kami/ItemKamiResource.java
index 365ea4aa..8cedc74b 100644
--- a/src/main/java/thaumic/tinkerer/common/item/kami/ItemKamiResource.java
+++ b/src/main/java/thaumic/tinkerer/common/item/kami/ItemKamiResource.java
@@ -32,8 +32,16 @@
import thaumic.tinkerer.common.core.proxy.TTCommonProxy;
import thaumic.tinkerer.common.lib.LibItemNames;
import thaumic.tinkerer.common.lib.LibResearch;
-import thaumic.tinkerer.common.registry.*;
-import thaumic.tinkerer.common.research.*;
+import thaumic.tinkerer.common.registry.ItemKamiBase;
+import thaumic.tinkerer.common.registry.ThaumicTinkererArcaneRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererInfusionRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererRecipe;
+import thaumic.tinkerer.common.registry.ThaumicTinkererRecipeMulti;
+import thaumic.tinkerer.common.research.IRegisterableResearch;
+import thaumic.tinkerer.common.research.KamiResearchItem;
+import thaumic.tinkerer.common.research.ResearchHelper;
+import thaumic.tinkerer.common.research.TTResearchItem;
+import thaumic.tinkerer.common.research.TTResearchItemMulti;
public class ItemKamiResource extends ItemKamiBase {
diff --git a/src/main/java/thaumic/tinkerer/common/item/kami/ItemPlacementMirror.java b/src/main/java/thaumic/tinkerer/common/item/kami/ItemPlacementMirror.java
index b5f499bb..abc640a7 100644
--- a/src/main/java/thaumic/tinkerer/common/item/kami/ItemPlacementMirror.java
+++ b/src/main/java/thaumic/tinkerer/common/item/kami/ItemPlacementMirror.java
@@ -11,7 +11,11 @@
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.*;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
diff --git a/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemChest.java b/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemChest.java
index fb93c439..161e4e1a 100644
--- a/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemChest.java
+++ b/src/main/java/thaumic/tinkerer/common/item/kami/armor/ItemGemChest.java
@@ -13,6 +13,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.WeakHashMap;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.EntityLivingBase;
@@ -45,6 +46,8 @@
public class ItemGemChest extends ItemIchorclothArmorAdv {
public static List playersWithFlight = new ArrayList<>();
+ // Map to Object because ModelBiped is client-only
+ private static final WeakHashMap armorModels = new WeakHashMap<>();
public ItemGemChest() {
super(1);
@@ -65,7 +68,7 @@ private static boolean shouldPlayerHaveFlight(EntityPlayer player) {
@Override
@SideOnly(Side.CLIENT)
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
- return new ModelWings();
+ return (ModelWings) armorModels.computeIfAbsent(entityLiving, ignored -> new ModelWings());
}
@Override
diff --git a/src/main/java/thaumic/tinkerer/common/item/kami/foci/ItemFocusXPDrain.java b/src/main/java/thaumic/tinkerer/common/item/kami/foci/ItemFocusXPDrain.java
index f9193cdd..b0c82d02 100644
--- a/src/main/java/thaumic/tinkerer/common/item/kami/foci/ItemFocusXPDrain.java
+++ b/src/main/java/thaumic/tinkerer/common/item/kami/foci/ItemFocusXPDrain.java
@@ -1,6 +1,6 @@
package thaumic.tinkerer.common.item.kami.foci;
-import java.awt.*;
+import java.awt.Color;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
diff --git a/src/main/java/thaumic/tinkerer/common/item/kami/tool/ToolHandler.java b/src/main/java/thaumic/tinkerer/common/item/kami/tool/ToolHandler.java
index 8f4c022e..6b5df836 100644
--- a/src/main/java/thaumic/tinkerer/common/item/kami/tool/ToolHandler.java
+++ b/src/main/java/thaumic/tinkerer/common/item/kami/tool/ToolHandler.java
@@ -24,7 +24,11 @@
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.C07PacketPlayerDigging;
import net.minecraft.network.play.server.S23PacketBlockChange;
-import net.minecraft.util.*;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.StatCollector;
+import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.event.world.BlockEvent;
diff --git a/src/main/java/thaumic/tinkerer/common/network/GuiHandler.java b/src/main/java/thaumic/tinkerer/common/network/GuiHandler.java
index 252d0c5e..11336a81 100644
--- a/src/main/java/thaumic/tinkerer/common/network/GuiHandler.java
+++ b/src/main/java/thaumic/tinkerer/common/network/GuiHandler.java
@@ -16,7 +16,11 @@
import net.minecraft.world.World;
import cpw.mods.fml.common.network.IGuiHandler;
-import thaumic.tinkerer.client.gui.*;
+import thaumic.tinkerer.client.gui.GuiAnimationTablet;
+import thaumic.tinkerer.client.gui.GuiAspectAnalyzer;
+import thaumic.tinkerer.client.gui.GuiEnchanting;
+import thaumic.tinkerer.client.gui.GuiMobMagnet;
+import thaumic.tinkerer.client.gui.GuiRemotePlacer;
import thaumic.tinkerer.client.gui.kami.GuiIchorPouch;
import thaumic.tinkerer.client.gui.kami.GuiWarpGate;
import thaumic.tinkerer.client.gui.kami.GuiWarpGateDestinations;
@@ -24,7 +28,11 @@
import thaumic.tinkerer.common.block.tile.TileEnchanter;
import thaumic.tinkerer.common.block.tile.TileMobMagnet;
import thaumic.tinkerer.common.block.tile.TileRPlacer;
-import thaumic.tinkerer.common.block.tile.container.*;
+import thaumic.tinkerer.common.block.tile.container.ContainerAnimationTablet;
+import thaumic.tinkerer.common.block.tile.container.ContainerAspectAnalyzer;
+import thaumic.tinkerer.common.block.tile.container.ContainerEnchanter;
+import thaumic.tinkerer.common.block.tile.container.ContainerMobMagnet;
+import thaumic.tinkerer.common.block.tile.container.ContainerRemotePlacer;
import thaumic.tinkerer.common.block.tile.container.kami.ContainerIchorPouch;
import thaumic.tinkerer.common.block.tile.container.kami.ContainerWarpGate;
import thaumic.tinkerer.common.block.tile.kami.TileWarpGate;