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;