From 44f65184b9ca170b25f3b68eac0b42b5a2c23dca Mon Sep 17 00:00:00 2001 From: Mary <33456283+FourIsTheNumber@users.noreply.github.com> Date: Mon, 23 Sep 2024 15:42:59 -0400 Subject: [PATCH 1/4] Buff Incoloy-903 EBF Time (#3261) Co-authored-by: Martin Robertz --- src/main/java/goodgenerator/loader/RecipeLoader2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/goodgenerator/loader/RecipeLoader2.java b/src/main/java/goodgenerator/loader/RecipeLoader2.java index 1c4c05948da..707c6fc11ac 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader2.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader2.java @@ -108,7 +108,7 @@ public static void RecipeLoad() { CrackRecipeAdder.reAddBlastRecipe(GGMaterial.zircaloy2, 513, 480, 2800, false); CrackRecipeAdder.reAddBlastRecipe(GGMaterial.zircaloy4, 500, 480, 2800, true); CrackRecipeAdder.reAddBlastRecipe(GGMaterial.zircaloy4, 513, 480, 2800, false); - CrackRecipeAdder.reAddBlastRecipe(GGMaterial.incoloy903, 2400, 1920, 3700, true); + CrackRecipeAdder.reAddBlastRecipe(GGMaterial.incoloy903, 1200, 1920, 3700, true); CrackRecipeAdder.reAddBlastRecipe(GGMaterial.adamantiumAlloy, 2500, 1920, 5500, true); CrackRecipeAdder.reAddBlastRecipe(GGMaterial.marM200, 200, 7680, 5000, true); CrackRecipeAdder.reAddBlastRecipe(GGMaterial.marM200, 220, 7680, 5000, false); From b896e7db7db418e08dc5c3d39da9ab42126398ee Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Mon, 23 Sep 2024 21:49:39 +0200 Subject: [PATCH 2/4] update --- dependencies.gradle | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 33477cb7ddc..8231ca19770 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -40,9 +40,9 @@ dependencies { api("com.github.GTNewHorizons:NotEnoughIds:2.1.6:dev") api("com.github.GTNewHorizons:GTNHLib:0.5.11:dev") api("com.github.GTNewHorizons:ModularUI:1.2.8:dev") - api("com.github.GTNewHorizons:ModularUI2:2.1.10-1.7.10:dev") + api("com.github.GTNewHorizons:ModularUI2:2.1.11-1.7.10:dev") api("com.github.GTNewHorizons:waila:1.8.1:dev") - api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-462-GTNH:dev") + api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-463-GTNH:dev") api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.3.36-gtnh:dev") api('com.github.GTNewHorizons:Yamcl:0.6.0:dev') api("com.github.GTNewHorizons:Postea:1.0.13:dev") @@ -69,18 +69,18 @@ dependencies { compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.27:deobf") {transitive = false} compileOnly("com.github.GTNewHorizons:ThaumicBases:1.7.5:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:EnderCore:0.4.6:dev") { transitive = false } - compileOnly('com.github.GTNewHorizons:VisualProspecting:1.3.22:dev') { transitive = false } + compileOnly('com.github.GTNewHorizons:VisualProspecting:1.3.24:dev') { transitive = false } compileOnly("com.github.GTNewHorizons:Galaxy-Space-GTNH:1.1.94-GTNH:dev") { transitive = false } - compileOnlyApi("com.github.GTNewHorizons:Galacticraft:3.2.4-GTNH:dev") { transitive = false } - implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.9-GTNH:dev") + compileOnlyApi("com.github.GTNewHorizons:Galacticraft:3.2.5-GTNH:dev") { transitive = false } + implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.10-GTNH:dev") compileOnly("com.github.GTNewHorizons:Chisel:2.15.2-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Translocators:1.2.1:dev") { transitive = false } compileOnly rfg.deobf("curse.maven:cofh-core-69162:2388751") compileOnly("com.github.GTNewHorizons:Nuclear-Control:2.6.7:dev") { transitive = false } compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false } - implementation("com.github.GTNewHorizons:Hodgepodge:2.5.69:dev") + implementation("com.github.GTNewHorizons:Hodgepodge:2.5.70:dev") compileOnly('com.github.GTNewHorizons:Botania:1.11.5-GTNH:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:HoloInventory:2.4.12-GTNH:dev') { transitive = false } compileOnly rfg.deobf("curse.maven:extra-utilities-225561:2264384") From 1abc736829841c8700b24b33d1936771a1956191 Mon Sep 17 00:00:00 2001 From: BlueHero233 <87818077+BlueHero233@users.noreply.github.com> Date: Mon, 23 Sep 2024 17:00:25 -0300 Subject: [PATCH 3/4] GT++ Code Sanitize (#3235) Co-authored-by: Martin Robertz --- .../block/base/BasicTileBlockWithTooltip.java | 27 ++++------- .../core/block/base/BlockBaseFluid.java | 4 +- .../core/block/base/BlockBaseOre.java | 28 ++++------- .../general/BlockCompressedObsidian.java | 24 +++++----- .../block/general/BlockFluidTankInfinite.java | 16 +++---- .../core/block/general/BlockHellFire.java | 38 ++++++++------- .../core/block/general/BlockLightGlass.java | 10 ++-- .../block/general/BlockMiningExplosives.java | 26 ++-------- .../core/block/general/BlockSuperLight.java | 2 +- .../block/machine/BlockCircuitProgrammer.java | 22 ++++----- .../block/machine/BlockDecayablesChest.java | 14 +++--- .../core/block/machine/BlockFishTrap.java | 27 ++++------- .../core/block/machine/BlockFlaskSetter.java | 20 ++++---- .../core/block/machine/BlockPestKiller.java | 10 ++-- .../core/block/machine/BlockProjectTable.java | 12 ++--- .../base/itemblock/ItemBlockBasicTile.java | 16 +++---- .../item/base/itemblock/ItemBlockGtBlock.java | 45 ++---------------- .../java/gtPlusPlus/core/lib/GTPPCore.java | 2 - .../textures/blocks/FirePit/Firepit.tcn | Bin 1583 -> 0 bytes .../blocks/qft/CosmicFabricManipulator.png | Bin 0 -> 1131 bytes .../qft/CosmicFabricManipulator.png.mcmeta | 6 +++ .../qft/CosmicFabricManipulatorStatic.png | Bin 0 -> 492 bytes .../blocks/qft/CosmicFabricShieldingCore.png | Bin 0 -> 1222 bytes .../qft/CosmicFabricShieldingCore.png.mcmeta | 6 +++ .../qft/CosmicFabricShieldingCoreStatic.png | Bin 0 -> 645 bytes .../textures/blocks/qft/ForceField.png | Bin 0 -> 3676 bytes .../textures/blocks/qft/ForceFieldGlass.png | Bin 0 -> 249 bytes .../blocks/qft/InfinityInfusedManipulator.png | Bin 0 -> 1627 bytes .../qft/InfinityInfusedManipulator.png.mcmeta | 6 +++ .../qft/InfinityInfusedManipulatorStatic.png | Bin 0 -> 557 bytes .../qft/InfinityInfusedShieldingCore.png | Bin 0 -> 1869 bytes .../InfinityInfusedShieldingCore.png.mcmeta | 6 +++ .../InfinityInfusedShieldingCoreStatic.png | Bin 0 -> 613 bytes .../textures/blocks/qft/Manipulator_Top.png | Bin 0 -> 511 bytes .../blocks/qft/NeutronPulseManipulator.png | Bin 0 -> 1309 bytes .../qft/NeutronPulseManipulator.png.mcmeta | 6 +++ .../qft/NeutronPulseManipulatorStatic.png | Bin 0 -> 492 bytes .../blocks/qft/NeutronShieldingCore.png | Bin 0 -> 1617 bytes .../qft/NeutronShieldingCore.png.mcmeta | 6 +++ .../blocks/qft/NeutronShieldingCoreStatic.png | Bin 0 -> 607 bytes .../blocks/qft/SpaceTimeBendingCore.png | Bin 0 -> 2084 bytes .../qft/SpaceTimeBendingCore.png.mcmeta | 6 +++ .../blocks/qft/SpaceTimeBendingCoreStatic.png | Bin 0 -> 624 bytes .../blocks/qft/SpaceTimeContinuumRipper.png | Bin 0 -> 1593 bytes .../qft/SpaceTimeContinuumRipper.png.mcmeta | 6 +++ .../qft/SpaceTimeContinuumRipperStatic.png | Bin 0 -> 562 bytes .../blocks/qft/forceFieldGlassTop.png | Bin 0 -> 655 bytes 47 files changed, 170 insertions(+), 221 deletions(-) delete mode 100644 src/main/resources/assets/miscutils/textures/blocks/FirePit/Firepit.tcn create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulator.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulator.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulatorStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCore.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCore.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCoreStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/ForceField.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/ForceFieldGlass.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulator.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulator.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulatorStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCore.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCore.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCoreStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/Manipulator_Top.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulator.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulator.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulatorStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/NeutronShieldingCore.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/NeutronShieldingCore.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/NeutronShieldingCoreStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeBendingCore.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeBendingCore.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeBendingCoreStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeContinuumRipper.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeContinuumRipper.png.mcmeta create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeContinuumRipperStatic.png create mode 100644 src/main/resources/assets/miscutils/textures/blocks/qft/forceFieldGlassTop.png diff --git a/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java b/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java index c546d2114e7..70416c82ef4 100644 --- a/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java +++ b/src/main/java/gtPlusPlus/core/block/base/BasicTileBlockWithTooltip.java @@ -29,7 +29,6 @@ import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.minecraft.CubicObject; import gtPlusPlus.api.objects.minecraft.SafeTexture; -import gtPlusPlus.core.lib.GTPPCore; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.InventoryUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -64,28 +63,28 @@ public Class getItemBlockClass() { } /** - * A lazy way to declare the unlocal name for the block, makes boilerplating easy. + * A lazy way to declare the unlocal name for the block, makes boilerplate easy. * * @return The internal name for this block. */ public abstract String getUnlocalBlockName(); /** - * Lazy Boilerplating. + * Lazy Boilerplate. * * @return Block Hardness. */ protected abstract float initBlockHardness(); /** - * Lazy Boilerplating. + * Lazy Boilerplate. * * @return Block Resistance. */ protected abstract float initBlockResistance(); /** - * Lazy Boilerplating. + * Lazy Boilerplate. * * @return The {@link CreativeTab} this Block is shown on. */ @@ -131,7 +130,7 @@ private String getTileEntityNameForTexturePathing() { /** * An array of CubicObjects, one for each meta, else just a single cell array. Expected to be null regularly, as the * default texture handling should suffice. Handy if re-using textures or using a non-standard structure for them. - * FULL texture path must be used, inclusive of the MODID and a colon. + * FULL texture path must be used, inclusive of the MOD ID and a colon. */ public CubicObject[] getCustomTextureDirectoryObject() { return null; @@ -155,24 +154,14 @@ private void handleTextures() { Logger.INFO("[TeTexture] Building Texture Maps for " + getTileEntityName() + "."); - // Init on the Client side only, to prevent Field initialisers existing in the Server side bytecode. + // Init on the Client side only, to prevent Field initializers existing in the Server side bytecode. mSidedTextureArray = new ArrayList<>(); - /** - * Holds the data for the six sides, each side holds an array of data for each respective meta. - */ + // Holds the data for the six sides, each side holds an array of data for each respective meta. ArrayList> sidedTexturePathArray = new ArrayList<>(); - // Store them in forge order // DOWN, UP, NORTH, SOUTH, WEST, EAST - // Default Path Name, this will make us look inside 'miscutils\textures\blocks' - final String aPrefixTexPath = GTPlusPlus.ID + ":"; - // Default Path Name, this will make us look in the subdirectory for this Tile Entity. - final String aTexPathMid = "TileEntities" + GTPPCore.SEPERATOR - + getTileEntityNameForTexturePathing() - + GTPPCore.SEPERATOR; - // Construct a full path - String aTexPathBuilt = aPrefixTexPath + aTexPathMid; + String aTexPathBuilt = GTPlusPlus.ID + ":TileEntities/" + getTileEntityNameForTexturePathing() + "/"; // File Name Suffixes, without meta tags String aStringBot; String aStringTop; diff --git a/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java b/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java index 6772b71262f..7629de4eb59 100644 --- a/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java +++ b/src/main/java/gtPlusPlus/core/block/base/BlockBaseFluid.java @@ -61,8 +61,8 @@ public IIcon getIcon(int ordinalSide, int meta) { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister icon) { - this.textureArray[0] = icon.registerIcon(GTPlusPlus.ID + ":" + "fluid/" + "Fluid_" + this.name + "_Still"); - this.textureArray[1] = icon.registerIcon(GTPlusPlus.ID + ":" + "fluid/" + "Fluid_" + this.name + "_Flow"); + this.textureArray[0] = icon.registerIcon(GTPlusPlus.ID + ":fluid/Fluid_" + this.name + "_Still"); + this.textureArray[1] = icon.registerIcon(GTPlusPlus.ID + ":fluid/Fluid_" + this.name + "_Flow"); } @Override diff --git a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java index 7ba3e7e4746..bc4f4b25a6a 100644 --- a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java +++ b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java @@ -122,7 +122,6 @@ public void harvestBlock(World worldIn, EntityPlayer player, int x, int y, int z if (EnchantmentHelper.getSilkTouchModifier(player)) { shouldSilkTouch = true; super.harvestBlock(worldIn, player, x, y, z, meta); - if (shouldSilkTouch) { shouldSilkTouch = false; } @@ -145,12 +144,9 @@ public ArrayList getDrops(World world, int x, int y, int z, int metad drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); } else { switch (GTMod.gregtechproxy.oreDropSystem) { - case Item -> { - drops.add( - ItemUtils.getItemStackOfAmountFromOreDictNoBroken( - "oreRaw" + this.blockMaterial.getLocalizedName(), - 1)); - } + case Item -> drops.add( + ItemUtils + .getItemStackOfAmountFromOreDictNoBroken("oreRaw" + this.blockMaterial.getLocalizedName(), 1)); case FortuneItem -> { // if shouldFortune and isNatural then get fortune drops // if not shouldFortune or not isNatural then get normal drops @@ -174,18 +170,12 @@ public ArrayList getDrops(World world, int x, int y, int z, int metad 1)); } } - case UnifiedBlock -> { - // Unified ore - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - } - case PerDimBlock -> { - // Per Dimension ore - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - } - case Block -> { - // Regular ore - drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); - } + // Unified ore + case UnifiedBlock -> drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); + // Per Dimension ore + case PerDimBlock -> drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); + // Regular ore + case Block -> drops.add(ItemUtils.simpleMetaStack(this, metadata, 1)); } } return drops; diff --git a/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java b/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java index 0c353cfbddc..07e6d3324f4 100644 --- a/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java +++ b/src/main/java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java @@ -23,7 +23,7 @@ public class BlockCompressedObsidian extends BlockObsidian { - private final IIcon textureArray[] = new IIcon[11]; + private final IIcon[] textureArray = new IIcon[11]; public BlockCompressedObsidian() { this.setBlockName("blockCompressedObsidian"); @@ -49,17 +49,17 @@ public MapColor getMapColor(final int meta) { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister iicon) { - this.textureArray[0] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian1"); - this.textureArray[1] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian2"); - this.textureArray[2] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian3"); - this.textureArray[3] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian4"); - this.textureArray[4] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian5"); - this.textureArray[5] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "obsidian_invert"); - this.textureArray[6] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone1"); - this.textureArray[7] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone2"); - this.textureArray[8] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone3"); - this.textureArray[9] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone4"); - this.textureArray[10] = iicon.registerIcon(GTPlusPlus.ID + ":" + "compressed/" + "glowstone5"); + this.textureArray[0] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/obsidian1"); + this.textureArray[1] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/obsidian2"); + this.textureArray[2] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/obsidian3"); + this.textureArray[3] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/obsidian4"); + this.textureArray[4] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/obsidian5"); + this.textureArray[5] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/obsidian_invert"); + this.textureArray[6] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/glowstone1"); + this.textureArray[7] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/glowstone2"); + this.textureArray[8] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/glowstone3"); + this.textureArray[9] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/glowstone4"); + this.textureArray[10] = iicon.registerIcon(GTPlusPlus.ID + ":compressed/glowstone5"); } /** diff --git a/src/main/java/gtPlusPlus/core/block/general/BlockFluidTankInfinite.java b/src/main/java/gtPlusPlus/core/block/general/BlockFluidTankInfinite.java index a300b835771..2e884fda964 100644 --- a/src/main/java/gtPlusPlus/core/block/general/BlockFluidTankInfinite.java +++ b/src/main/java/gtPlusPlus/core/block/general/BlockFluidTankInfinite.java @@ -14,7 +14,6 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidContainerItem; -import net.minecraftforge.fluids.ItemFluidContainer; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; @@ -55,12 +54,10 @@ public IIcon getIcon(final int ordinalSide, final int meta) { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); - this.textureBottom = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); - this.textureFront = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "Generic_Creative_Texture"); + this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/Generic_Creative_Texture"); + this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/Generic_Creative_Texture"); + this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/Generic_Creative_Texture"); + this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/Generic_Creative_Texture"); } /** @@ -81,9 +78,8 @@ public boolean onBlockActivated(final World world, final int x, final int y, fin } catch (Throwable t) { handItem = null; } - if (handItem != null - && (handItem instanceof IFluidContainerItem || handItem instanceof ItemFluidContainer - || FluidContainerRegistry.isFilledContainer(player.getHeldItem()))) { + if (handItem != null && (handItem instanceof IFluidContainerItem + || FluidContainerRegistry.isFilledContainer(player.getHeldItem()))) { if (tank.tank.getFluid() == null) { try { if (!FluidContainerRegistry.isFilledContainer(player.getHeldItem())) { diff --git a/src/main/java/gtPlusPlus/core/block/general/BlockHellFire.java b/src/main/java/gtPlusPlus/core/block/general/BlockHellFire.java index b18a2d4b861..1a6549e758c 100644 --- a/src/main/java/gtPlusPlus/core/block/general/BlockHellFire.java +++ b/src/main/java/gtPlusPlus/core/block/general/BlockHellFire.java @@ -30,6 +30,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.objects.XSTR; +import gregtech.api.util.GTLog; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.util.math.MathUtils; @@ -68,8 +69,8 @@ private void enableBrutalFire() { } } - } catch (Throwable t) { - t.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(GTLog.err); } } @@ -250,7 +251,7 @@ private int getChanceOfNeighborsEncouragingFire(final World world, final int x, } /** - * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z + * Checks to see if it is valid to put this block at the specified coordinates. Args: world, x, y, z */ @Override public boolean canPlaceBlockAt(final World worldObj, final int x, final int y, final int z) { @@ -398,9 +399,8 @@ public void randomDisplayTick(final World world, final int x, final int y, final @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister IIconRegister) { - this.IIconArray = new IIcon[] { - IIconRegister.registerIcon(GTPlusPlus.ID + ":" + "hellfire/" + "blockHellFire" + "_layer_0"), - IIconRegister.registerIcon(GTPlusPlus.ID + ":" + "hellfire/" + "blockHellFire" + "_layer_1") }; + this.IIconArray = new IIcon[] { IIconRegister.registerIcon(GTPlusPlus.ID + ":hellfire/blockHellFire_layer_0"), + IIconRegister.registerIcon(GTPlusPlus.ID + ":hellfire/blockHellFire_layer_1") }; } @Override @@ -429,13 +429,13 @@ public MapColor getMapColor(final int p_149728_1_) { private static class FireInfo { private int encouragement = 0; - private int flammibility = 0; + private int flammability = 0; } private final IdentityHashMap blockInfo = Maps.newIdentityHashMap(); @Override - public void setFireInfo(final Block block, final int encouragement, final int flammibility) { + public void setFireInfo(final Block block, final int encouragement, final int flammability) { try { if (block == Blocks.air) { throw new IllegalArgumentException("Tried to set air on fire... This is bad."); @@ -445,17 +445,19 @@ public void setFireInfo(final Block block, final int encouragement, final int fl return; } this.field_149849_a[id] = encouragement; - this.field_149848_b[id] = flammibility; + this.field_149848_b[id] = flammability; - final FireInfo info = this.getInfo(block, true); + final FireInfo info = this.getInfo(block); info.encouragement = encouragement; - info.flammibility = flammibility; - } catch (Throwable t) {} + info.flammability = flammability; + } catch (Exception e) { + e.printStackTrace(GTLog.err); + } } - private FireInfo getInfo(final Block block, final boolean garentee) { + private FireInfo getInfo(final Block block) { FireInfo ret = this.blockInfo.get(block); - if ((ret == null) && garentee) { + if (ret == null) { ret = new FireInfo(); this.blockInfo.put(block, ret); } @@ -465,10 +467,10 @@ private FireInfo getInfo(final Block block, final boolean garentee) { @Override public void rebuildFireInfo() { for (int x = 0; x < 4096; x++) { - // If we care.. we could detect changes in here and make sure we + // If we care... we could detect changes in here and make sure we // keep them, however // it's my thinking that anyone who hacks into the private variables - // should DIAF and we don't care about them. + // should reconsider, and we don't care about them. this.field_149849_a[x] = 0; this.field_149848_b[x] = 0; } @@ -477,7 +479,7 @@ public void rebuildFireInfo() { final int id = Block.getIdFromBlock(e.getKey()); if ((id >= 0) && (id < 4096)) { this.field_149849_a[id] = e.getValue().encouragement; - this.field_149848_b[id] = e.getValue().flammibility; + this.field_149848_b[id] = e.getValue().flammability; } } } @@ -527,7 +529,7 @@ public int getChanceToEncourageFire(final IBlockAccess world, final int x, final final int oldChance, final ForgeDirection face) { final int newChance = world.getBlock(x, y, z) .getFireSpreadSpeed(world, x, y, z, face); - return (newChance > oldChance ? newChance : oldChance); + return Math.max(newChance, oldChance); } /* * ================================= Forge Start ====================================== diff --git a/src/main/java/gtPlusPlus/core/block/general/BlockLightGlass.java b/src/main/java/gtPlusPlus/core/block/general/BlockLightGlass.java index 1e4df5c3994..097d5d8a5e7 100644 --- a/src/main/java/gtPlusPlus/core/block/general/BlockLightGlass.java +++ b/src/main/java/gtPlusPlus/core/block/general/BlockLightGlass.java @@ -23,11 +23,10 @@ public class BlockLightGlass extends BlockAir { private int state = 0; - private final int a = 255; private int r = 255; private int g = 0; private int b = 0; - private int hex; + private final int a = 255; public BlockLightGlass(final boolean bool) { super(); @@ -35,7 +34,7 @@ public BlockLightGlass(final boolean bool) { this.setBlockName("blockMFEffect"); this.setLightLevel(12F); setHardness(0.1F); - setBlockTextureName(GTPlusPlus.ID + ":" + "blockMFEffect"); + setBlockTextureName(GTPlusPlus.ID + ":blockMFEffect"); setStepSound(Block.soundTypeGlass); GameRegistry.registerBlock(this, "blockMFEffect"); @@ -78,7 +77,7 @@ protected boolean canSilkHarvest() { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister iIcon) { - this.blockIcon = iIcon.registerIcon(GTPlusPlus.ID + ":" + "blockMFEffect"); + this.blockIcon = iIcon.registerIcon(GTPlusPlus.ID + ":blockMFEffect"); } @Override @@ -120,8 +119,7 @@ public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, this.state = 0; } } - this.hex = (this.a << 24) + (this.r << 16) + (this.g << 8) + (this.b); - return this.hex; + return (this.r << 16) + (this.g << 8) + (this.b) + (this.a << 24); } /** diff --git a/src/main/java/gtPlusPlus/core/block/general/BlockMiningExplosives.java b/src/main/java/gtPlusPlus/core/block/general/BlockMiningExplosives.java index 20b6fff9e60..3aec9ef4279 100644 --- a/src/main/java/gtPlusPlus/core/block/general/BlockMiningExplosives.java +++ b/src/main/java/gtPlusPlus/core/block/general/BlockMiningExplosives.java @@ -2,8 +2,6 @@ import static gregtech.api.enums.Mods.GTPlusPlus; -import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockTNT; import net.minecraft.client.renderer.texture.IIconRegister; @@ -71,14 +69,6 @@ public void onNeighborBlockChange(final World world, final int x, final int y, f } } - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(final Random random) { - return 1; - } - /** * Called upon the block being destroyed by an explosion */ @@ -103,7 +93,7 @@ public void onBlockDestroyedByExplosion(final World world, final int x, final in */ @Override public void onBlockDestroyedByPlayer(final World world, final int x, final int y, final int z, final int meta) { - this.func_150114_a(world, x, y, z, meta, (EntityLivingBase) null); + this.func_150114_a(world, x, y, z, meta, null); } // TODO Spawns Primed TNT? @@ -175,19 +165,11 @@ public void onEntityCollidedWithBlock(final World world, final int x, final int } } - /** - * Return whether this block can drop from an explosion. - */ - @Override - public boolean canDropFromExplosion(final Explosion bang) { - return false; - } - @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister iconRegister) { - this.blockIcon = iconRegister.registerIcon(GTPlusPlus.ID + ":" + "chrono/" + "MetalSheet2"); - this.textureTop = iconRegister.registerIcon(GTPlusPlus.ID + ":" + "chrono/" + "MetalFunnel"); - this.textureBottom = iconRegister.registerIcon(GTPlusPlus.ID + ":" + "chrono/" + "MetalPanel"); + this.blockIcon = iconRegister.registerIcon(GTPlusPlus.ID + ":chrono/MetalSheet2"); + this.textureTop = iconRegister.registerIcon(GTPlusPlus.ID + ":chrono/MetalFunnel"); + this.textureBottom = iconRegister.registerIcon(GTPlusPlus.ID + ":chrono/MetalPanel"); } } diff --git a/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java b/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java index e12e8292603..f11c3d9a9b6 100644 --- a/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java +++ b/src/main/java/gtPlusPlus/core/block/general/BlockSuperLight.java @@ -47,7 +47,7 @@ public IIcon getIcon(final int ordinalSide, final int meta) { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "SwirlBigBlue"); + this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":SwirlBigBlue"); } /** diff --git a/src/main/java/gtPlusPlus/core/block/machine/BlockCircuitProgrammer.java b/src/main/java/gtPlusPlus/core/block/machine/BlockCircuitProgrammer.java index 191a2a8f922..dcbe41f150d 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/BlockCircuitProgrammer.java +++ b/src/main/java/gtPlusPlus/core/block/machine/BlockCircuitProgrammer.java @@ -13,6 +13,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import gregtech.api.util.GTLog; import gregtech.common.items.MetaGeneratedTool01; import gtPlusPlus.GTplusplus; import gtPlusPlus.api.objects.minecraft.CubicObject; @@ -27,7 +28,7 @@ public class BlockCircuitProgrammer extends BasicTileBlockWithTooltip { /** * Determines which tooltip is displayed within the itemblock. */ - private final int mTooltipID = 4; + private final int mTooltipID = 2; @Override public int getTooltipID() { @@ -39,7 +40,7 @@ public BlockCircuitProgrammer() { } /** - * Called upon block activation (right click on the block.) + * Called upon block activation (right-click on the block.) */ @Override public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, @@ -60,11 +61,12 @@ public boolean onBlockActivated(final World world, final int x, final int y, fin mDidScrewDriver = tile.onScrewdriverRightClick((byte) side, player, x, y, z); } } - } catch (final Throwable t) {} - + } catch (Exception e) { + e.printStackTrace(GTLog.err); + } if (!mDidScrewDriver) { final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityCircuitProgrammer)) { + if (te instanceof TileEntityCircuitProgrammer) { player.openGui(GTplusplus.instance, GuiHandler.GUI8, world, x, y, z); return true; } @@ -141,12 +143,10 @@ protected String getTileEntityName() { @Override public CubicObject[] getCustomTextureDirectoryObject() { - String[] aTexData = new String[] { GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_G", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_TECH_PANEL_B", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I" }; + String[] aTexData = new String[] { GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_H", + GTPlusPlus.ID + ":metro/TEXTURE_TECH_PANEL_B", GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_I", + GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_I", GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_I", + GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_I" }; CubicObject[] aTextureData = new CubicObject[] { new CubicObject<>(aTexData) }; return aTextureData; } diff --git a/src/main/java/gtPlusPlus/core/block/machine/BlockDecayablesChest.java b/src/main/java/gtPlusPlus/core/block/machine/BlockDecayablesChest.java index 7b42f08fa81..67ad10bb692 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/BlockDecayablesChest.java +++ b/src/main/java/gtPlusPlus/core/block/machine/BlockDecayablesChest.java @@ -36,12 +36,12 @@ public class BlockDecayablesChest extends BlockContainer implements ITileTooltip private IIcon textureBottom; @SideOnly(Side.CLIENT) - private IIcon textureFront; + private IIcon textureSide; /** * Determines which tooltip is displayed within the itemblock. */ - private final int mTooltipID = 5; + private final int mTooltipID = 3; @Override public int getTooltipID() { @@ -118,17 +118,17 @@ public IIcon getIcon(final int ordinalSide, final int meta) { return switch (ordinalSide) { case 0 -> textureBottom; case 1 -> textureTop; - default -> textureFront; + default -> textureSide; }; } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_top"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_top"); - this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_side"); - this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "DecayablesChest_bottom"); + this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/DecayablesChest_top"); + this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/DecayablesChest_top"); + this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/DecayablesChest_bottom"); + this.textureSide = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/DecayablesChest_Side"); } @Override diff --git a/src/main/java/gtPlusPlus/core/block/machine/BlockFishTrap.java b/src/main/java/gtPlusPlus/core/block/machine/BlockFishTrap.java index 0a91c76d605..cf54a044e6f 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/BlockFishTrap.java +++ b/src/main/java/gtPlusPlus/core/block/machine/BlockFishTrap.java @@ -27,19 +27,10 @@ public class BlockFishTrap extends BlockContainer implements ITileTooltip { - @SideOnly(Side.CLIENT) - private IIcon textureTop; - - @SideOnly(Side.CLIENT) - private IIcon textureBottom; - - @SideOnly(Side.CLIENT) - private IIcon textureFront; - /** * Determines which tooltip is displayed within the itemblock. */ - private final int mTooltipID = 0; + private final int mTooltipID = 1; @Override public int getTooltipID() { @@ -61,22 +52,20 @@ public BlockFishTrap() { @Override @SideOnly(Side.CLIENT) public IIcon getIcon(final int ordinalSide, final int meta) { - return ordinalSide == 1 ? this.textureTop - : (ordinalSide == 0 ? this.textureBottom - : ((ordinalSide != 2) && (ordinalSide != 4) ? this.blockIcon : this.textureFront)); + return this.blockIcon; } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); - this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); - this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "fishtrap"); + this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/fishtrap"); + p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/fishtrap"); + p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/fishtrap"); + p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/fishtrap"); } /** - * Called upon block activation (right click on the block.) + * Called upon block activation (right-click on the block.) */ @Override public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, @@ -86,7 +75,7 @@ public boolean onBlockActivated(final World world, final int x, final int y, fin } final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityFishTrap)) { + if (te instanceof TileEntityFishTrap) { player.openGui(GTplusplus.instance, 5, world, x, y, z); return true; } diff --git a/src/main/java/gtPlusPlus/core/block/machine/BlockFlaskSetter.java b/src/main/java/gtPlusPlus/core/block/machine/BlockFlaskSetter.java index 510caf3e14c..5ec07bb9e33 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/BlockFlaskSetter.java +++ b/src/main/java/gtPlusPlus/core/block/machine/BlockFlaskSetter.java @@ -14,6 +14,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import gregtech.api.util.GTLog; import gregtech.common.items.MetaGeneratedTool01; import gtPlusPlus.GTplusplus; import gtPlusPlus.api.objects.minecraft.CubicObject; @@ -29,7 +30,7 @@ public class BlockFlaskSetter extends BasicTileBlockWithTooltip { /** * Determines which tooltip is displayed within the itemblock. */ - private final int mTooltipID = 8; + private final int mTooltipID = 5; @Override public int getTooltipID() { @@ -68,11 +69,12 @@ public boolean onBlockActivated(final World world, final int x, final int y, fin mDidScrewDriver = tile.onScrewdriverRightClick((byte) side, player, x, y, z); } } - } catch (final Throwable t) {} - + } catch (Exception e) { + e.printStackTrace(GTLog.err); + } if (!mDidScrewDriver) { final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityVolumetricFlaskSetter aTile)) { + if (te instanceof TileEntityVolumetricFlaskSetter) { player.openGui(GTplusplus.instance, GuiHandler.GUI18, world, x, y, z); // new Packet_VolumetricFlaskGui2(aTile, aTile.getCustomValue()); return true; @@ -145,12 +147,10 @@ protected String getTileEntityName() { @Override public CubicObject[] getCustomTextureDirectoryObject() { - String[] aTexData = new String[] { GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_A", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_TECH_PANEL_C", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H", - GTPlusPlus.ID + ":" + "metro/" + "TEXTURE_METAL_PANEL_H" }; + String[] aTexData = new String[] { GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_H", + GTPlusPlus.ID + ":metro/TEXTURE_TECH_PANEL_C", GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_H", + GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_H", GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_H", + GTPlusPlus.ID + ":metro/TEXTURE_METAL_PANEL_H" }; CubicObject[] aTextureData = new CubicObject[] { new CubicObject<>(aTexData) }; return aTextureData; } diff --git a/src/main/java/gtPlusPlus/core/block/machine/BlockPestKiller.java b/src/main/java/gtPlusPlus/core/block/machine/BlockPestKiller.java index 95e7f3bc562..d4211a7831e 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/BlockPestKiller.java +++ b/src/main/java/gtPlusPlus/core/block/machine/BlockPestKiller.java @@ -40,7 +40,7 @@ public class BlockPestKiller extends BlockContainer implements ITileTooltip { /** * Determines which tooltip is displayed within the itemblock. */ - private final int mTooltipID = 6; + private final int mTooltipID = 4; @Override public int getTooltipID() { @@ -69,11 +69,11 @@ public IIcon getIcon(final int ordinalSide, final int meta) { @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister p_149651_1_) { this.blockIcon = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "MACHINE_CASING_FARM_MANAGER_STRUCTURAL"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "MACHINE_PESTKILLER_TOP"); + .registerIcon(GTPlusPlus.ID + ":TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL"); + this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/MACHINE_PESTKILLER_TOP"); this.textureBottom = p_149651_1_.registerIcon("planks_acacia"); this.textureFront = p_149651_1_ - .registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "MACHINE_CASING_FARM_MANAGER_STRUCTURAL"); + .registerIcon(GTPlusPlus.ID + ":TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL"); } /** @@ -87,7 +87,7 @@ public boolean onBlockActivated(final World world, final int x, final int y, fin } final TileEntity te = world.getTileEntity(x, y, z); - if ((te != null) && (te instanceof TileEntityPestKiller)) { + if (te instanceof TileEntityPestKiller) { player.openGui(GTplusplus.instance, GuiHandler.GUI15, world, x, y, z); return true; } diff --git a/src/main/java/gtPlusPlus/core/block/machine/BlockProjectTable.java b/src/main/java/gtPlusPlus/core/block/machine/BlockProjectTable.java index 195240958f3..acfc3a02ff3 100644 --- a/src/main/java/gtPlusPlus/core/block/machine/BlockProjectTable.java +++ b/src/main/java/gtPlusPlus/core/block/machine/BlockProjectTable.java @@ -42,11 +42,9 @@ public class BlockProjectTable extends BlockContainer implements ITileTooltip { /** * Determines which tooltip is displayed within the itemblock. */ - private final int mTooltipID = 3; - @Override public int getTooltipID() { - return this.mTooltipID; + return 0; } public BlockProjectTable() { @@ -70,10 +68,10 @@ public IIcon getIcon(final int ordinalSide, final int meta) { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "machine_top"); - this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "cover_crafting"); - this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "machine_top"); - this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":" + "TileEntities/" + "machine_top"); + this.blockIcon = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/machine_top"); + this.textureTop = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/cover_crafting"); + this.textureBottom = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/machine_top"); + this.textureFront = p_149651_1_.registerIcon(GTPlusPlus.ID + ":TileEntities/machine_top"); } /** diff --git a/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java b/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java index cf50da52a30..9da305cbd20 100644 --- a/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java +++ b/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockBasicTile.java @@ -21,28 +21,26 @@ public ItemBlockBasicTile(final Block block) { @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - if (this.mID == 0) { // Fish trap + if (this.mID == 1) { // Fish trap list.add("This trap catches fish faster if surrounded by more water blocks"); - list.add("Can also be placed beside upto 4 other fish traps"); + list.add("Can also be placed beside up to 4 other fish traps"); list.add("Requires at least two faces touching water"); list.add("1/1000 chance to produce triple loot."); - } else if (this.mID == 4) { // Circuit Table + } else if (this.mID == 2) { // Circuit Table list.add("Easy Circuit Configuration"); list.add("Change default setting with a Screwdriver"); list.add("Default is used to select slot for auto-insertion"); - } else if (this.mID == 5) { // Decayables Chest + } else if (this.mID == 3) { // Decayables Chest list.add("Chest which holds radioactive materials"); list.add("Items which decay will tick while inside"); - list.add("Place with right click"); - } else if (this.mID == 6) { // Butterfly Killer + list.add("Place with right-click"); + } else if (this.mID == 4) { // Butterfly Killer list.add("Kills Forestry Butterflies, Bats and other pests"); list.add("Use either Formaldehyde or Hydrogen cyanide"); list.add("Be weary of your neighbours"); - } else if (this.mID == 8) { // Volumetric Flask Setter + } else if (this.mID == 5) { // Volumetric Flask Setter list.add("Easy Flask Configuration"); list.add("Configure default input slot with a screwdriver"); - } else if (this.mID == 9) { - } else { list.add("Bad Tooltip ID - " + mID); } diff --git a/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java b/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java index 92876663f0a..a69d9eab34f 100644 --- a/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java +++ b/src/main/java/gtPlusPlus/core/item/base/itemblock/ItemBlockGtBlock.java @@ -1,6 +1,5 @@ package gtPlusPlus.core.item.base.itemblock; -import java.util.HashMap; import java.util.List; import net.minecraft.block.Block; @@ -11,6 +10,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import gregtech.api.util.GTLog; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.BlockBaseModular; import gtPlusPlus.core.block.base.BlockBaseOre; @@ -22,8 +22,6 @@ public class ItemBlockGtBlock extends ItemBlock { - public static HashMap sNameCache = new HashMap<>(); - protected final int blockColour; private int sRadiation; @@ -50,7 +48,6 @@ public ItemBlockGtBlock(final Block block) { } else { this.blockColour = block.getBlockColor(); } - if (block instanceof BlockBaseModular g) { this.mMaterial = g.getMaterialEx(); this.thisBlockType = g.thisBlock; @@ -60,55 +57,23 @@ public ItemBlockGtBlock(final Block block) { } } - public int getBlockTypeMeta() { - if (this.thisBlockType.equals(BlockTypes.STANDARD)) { - return 0; - } else if (this.thisBlockType.equals(BlockTypes.FRAME)) { - return 1; - } else if (this.thisBlockType.equals(BlockTypes.ORE)) { - return 2; - } - return 0; - } - - public String getUnlocalizedBlockName() { - return "block." + mMaterial.getUnlocalizedName() - + "." - + this.thisBlockType.name() - .toLowerCase(); - } - - public String GetProperName() { - String tempIngot = sNameCache.get(getUnlocalizedBlockName()); - if (tempIngot == null) { - tempIngot = "BAD.UNLOCAL.NAME"; - } - return tempIngot; - } - @Override public String getItemStackDisplayName(ItemStack stack) { return this.thisBlock.getLocalizedName(); } - public int getRenderColor(final int aMeta) { - return this.blockColour; - } - @Override public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { if (this.mMaterial != null) { list.add(this.mMaterial.vChemicalFormula); } else { - try { BlockBaseModular g = (BlockBaseModular) thisBlock; this.mMaterial = g.getMaterialEx(); - } catch (Throwable t) { - + } catch (Exception e) { + e.printStackTrace(GTLog.err); } - // list.add("Material is Null."); } @@ -116,10 +81,7 @@ public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, fi if (KeyboardUtils.isCtrlKeyDown()) { Block b = Block.getBlockFromItem(stack.getItem()); if (b != null) { - - String aTool = b.getHarvestTool(stack.getItemDamage()); int aMiningLevel1 = b.getHarvestLevel(stack.getItemDamage()); - if (this.mMaterial != null) { list.add("Mining Level: " + Math.min(Math.max(aMiningLevel1, 0), 5)); list.add("Contains: "); @@ -141,7 +103,6 @@ public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, fi } else { Block b = Block.getBlockFromItem(stack.getItem()); if (b != null) { - String aTool = b.getHarvestTool(stack.getItemDamage()); int aMiningLevel1 = b.getHarvestLevel(stack.getItemDamage()); list.add("Mining Level: " + Math.min(Math.max(aMiningLevel1, 0), 5)); } diff --git a/src/main/java/gtPlusPlus/core/lib/GTPPCore.java b/src/main/java/gtPlusPlus/core/lib/GTPPCore.java index db30eecb333..a4aecd59823 100644 --- a/src/main/java/gtPlusPlus/core/lib/GTPPCore.java +++ b/src/main/java/gtPlusPlus/core/lib/GTPPCore.java @@ -40,8 +40,6 @@ public class GTPPCore { public static final Supplier GT_Tooltip_Radioactive = () -> StatCollector .translateToLocal("GTPP.core.GT_Tooltip_Radioactive"); - public static final String SEPERATOR = "/"; - /** * Lists/Maps */ diff --git a/src/main/resources/assets/miscutils/textures/blocks/FirePit/Firepit.tcn b/src/main/resources/assets/miscutils/textures/blocks/FirePit/Firepit.tcn deleted file mode 100644 index 453b7325c8be4c2799d23ec307bd8eddd39be18e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1583 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulator.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulator.png.mcmeta new file mode 100644 index 00000000000..cba1c432712 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulator.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":2, + "frames": [0,1,2,3,4,5,6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulatorStatic.png b/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricManipulatorStatic.png new file mode 100644 index 0000000000000000000000000000000000000000..29b3a74f3424ffce1c884113475faaa3c8597c02 GIT binary patch literal 492 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0f9+GK~y+TWsy%x z!$1_qo5@U)*4op!C|J;iN6?Kf3I!2+Aw?I0Ag;WFf$2%1Ei7X^13!J6^m5uruDPrEEJ%k!w*jsb{KesX+bFXmSaU6rNx{%5(Q40Tio z5|iXbPCy&l^Xp5P&6dittg4E3sk3R|@0$?_pUUcS4H@BRfW+mxy6tu4vlhTtpyj^FdNEo)^ms=3Vd2ZO!g5T;uZ iBgO4G@;c|TEc*qJc>CiM=I1g10000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1Y1c&K~z{r?U`F> z9Ay-M=RTX%&BlP>t+pss6dy!WlaP9O5Q!EnZOFD2u_A?{h^Ns=ntoX^5`NENU7pWNvnrXT|f-qtV&@aC=8L z?Nn3K{QP`XC6Z{(+36XyuS=)tU!I%OR8==k(=dV{z%&|OrDEH*%%)pf)L$=6R~IXV zd|uae&+}5L6h7c$fVSh%W-!y*ia#i*=VtO4E0s#@=eq8pkB0O4nN+IDvaBeeFkHQ% z&$8`uxy(K-nM|~UU#Xz#`~JZX255Z$?TGA&+Zs05C$&4hbQWYAm z>-c`a{*0p>nJJe_zUL`H;5cQvh^!GQ7K^1~5w{J~Boa;Xts6$DD7KwK1H()#tRWwI zbYPL`M;`5of@W?em(vX6<9GWRtqGcR^<;aAm_t-KriqKWFbFsu+{7@6631jW&gAiI zFX3UddC3yXw$zE=FVZKb>0AzDv`G=h$fhL9DVOI8g_hPH`1=!(t^Mz5?a{9@NA)g zV;rBH53Y(HLIC_}7Qt1GnU=*L-qRKhYseovW1j%U9yz)WKm%6trXgj~1Pk2ap_>+gncDyP)biJ^hxa;uH{o*UTo_bOO z;6`P4?wK4taU~w!cxIg>3flkq6 zVG$4GW2dco-1@?Z?U^$uz2$*zM393z|C2R^4n5HasoUa}8#J!qIl=m-6; z?_sc(2ejo)jBS>&rqMiL9;?EG>{g!#Dk5uWpq+ewNO<^%JWwJCATAHQiCI8#;Mo8k z4D!ur4G*}^8eaEwmoC2};UVE61`p8=Tr5;c2**sL=BE}MtpEGcwhuq!=5fzs{k{Ye zR0b&yOf{MZ+Sq0jX|OU@ec&mQ@R0Cut$Cm_NO52)77ucZMCyEALIVu&hc6E_=q5ZQ zJX}*ABmk!4{{I0awb@>R!2~?{DxR=0#%h k@b%#P2@j%uH9XkX9}eZ}>mtaXJpcdz07*qoM6N<$g4$+IqW}N^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCore.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCore.png.mcmeta new file mode 100644 index 00000000000..10cf8c6afdf --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCore.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCoreStatic.png b/src/main/resources/assets/miscutils/textures/blocks/qft/CosmicFabricShieldingCoreStatic.png new file mode 100644 index 0000000000000000000000000000000000000000..53e0e51c0682478cdbfe1f174f41d28eccfcd4ca GIT binary patch literal 645 zcmV;00($+4P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0vbs~K~y+TU6IRc z6hRQir>A=!Yn+`$@TLe}1o0rckU#`Ic!+qCkf0z0MDV{6JPD!%6h$H)ym;~;qQXKH z-?%=Gl3*tLba&o8{$?9IScj&n>#MJ-z7pS}UCXkB5WLmQ9i{8u1o+4i0Bw@pOBB5#Mh#CX>kwQd?c~qt^$$HwcLTjK{VR(s3N6wAN6A z$cw`BJd+KYP4RuVH!HS=gMpMX&vW1RnSl{C=rqOWGicZLREGC;)?5eNs`c~8HRO-vM7L-W%=aZ1DtnnI;JOf{Ny|XURb+~EMXY( zBlm~BddY ztuC`3q@R0~I)HFh+NirS|o2?eta9qbmU~}Uj2za?Jpe#*! zspJQ4(1ci}EAeG(8&;;OFHcgbJJ)YOPlzm+u3a_a*610Rt#!#Jc<@0y8V(tZ^O^fF fs=;9_;Ck*~si-X`Z{QSX00000NkvXXu0mjf8zm_- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/ForceField.png b/src/main/resources/assets/miscutils/textures/blocks/qft/ForceField.png new file mode 100644 index 0000000000000000000000000000000000000000..32254623d1fc513d5f602160d497ea8e98832a41 GIT binary patch literal 3676 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulator.png b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulator.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d7fe80b2945467adc44dd0a3a605b5ee99a272 GIT binary patch literal 1627 zcmV-h2Bi6kP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1@K8kK~!i%?V3$! zTvZguGc#`{nTQo4rj3f|P7E<)nnj=iyKp0}EHO#Hh!{|bRxRklr7IUMbm0fqYOzX9 zf~^ZdH!dPX8Ei>SV`vqGss&A|C<$b~XZ)S_&%6xDB$Xud0+S>bi%G%AC~d?So4^Y6i^U=X zsZ>gS`FviA1RorbFi!lCi2yAvw|4jR${U3p=5skdg+f8Qh}?Ed%a!Sw`yS|I9_zGs zC1$5CUid+{(L@DI+IAFxt z&X7)}2*8H{lfugGiH&PxQxm!ujnamD_C3hdrg)q)L`h9!qwi^ljyE?;XO8T>`yUGZ z{P#b0_(CC<%dylK<7Zjt;)Ns=7^WS1ZiES?Vks2%zX#Kc#Y`rX&1TsyX~CNT+wtUt z!eb9dEcG^lon!NNp3kH+m@0+ onN$#PF3h!^p^#-`;1AcT-&5q-g%Hta<`j(YR1 zU3@q?rk>vYw1hz6F0tWUmhX;lk345Bt(=C{qOmAx89x3zmLU9*k*ECZMTr}YS{B1u zPMgWHu7%+w{sy`Sk9IuTPdAfJb2f(T!yU=zmoIi8;vvyDxOd<%yIRYG$BO)5OKM5W z?DSN6Pa8|kOipnB!~;XiX_X&>A`|lcr=QGxHZDEzCZC8+U=jLcg8|2b<6(PwAUwh7 zuH|8MK^Z;qKHf{MyU}mDKEJrQ@c6N3IH*P~T@v~-krrU+>OTZPC~ND3-5LBeTP9$j zmBNL^s8PkO&I7I&MnAGiWx>ZTgyX^Suzfr%U+h3sAG89~YIxDj8;*|12gOr(nFs?9Ej_(SpB~aG9^`=F;CNuW zj)$G%fwF)r-CFB|V35LF4MvSBZWSI@0VI)+Da>Bh%Jsp!_S@9>89pfDVe|TM{>#s= z|9IK);CQHzt?)oLaixp0mIrh76J{BZDbaV3mhDQx$S5uOL~H^p&?g%VzymPgdjEle zfFuMTyAZ`i5FhNf+8N|fY>_g)Q4Z@F3*M+7HZ{zV#QOO<3Zwh@H4m-9wcm6 z3Pwh0jfQo2FmBkD6bU|dA*#MVP!^!4tN(Bv^`Ue4>9+Qc`Q*2?@<6fTQwI;wqgN+l zDJZy~z`32{e;A0n}Di2$EpKk5hcSlE}j{4Bme~5Zj7Y_yyL&U~)a~||d1jmEp z;Rf(f_xp7B;8E&T9X$AtefGddY+NgO@Zf@IT-|hpvl< zgL>d2Hm;l32LV(^eJI_154Ps{Io4angS}-j1`mv}UD7f;J=NeNfsiO1u!kb%jqZ3r z91l0<_e<651N3mP`1~9?!kkTb=zQ^IhOfN&I_uR`AM^-UM|}w1fgBIMu%L-LY|Qbn zEj(<~`}79&p$ZRpQ+{|2O7Ce?c+;G6YF%K($2g>>Np^^uWV=+f*(H#*$EPLtP7y#L5 z*ha;J$Gv3^r)3f9A|^0M`g2e)GLx0r4+`6}kd6n(!w&I4ePDoPYpoB0LCX18U#W$M z6@X}MbYmWx{`g(4C|^3^^~RR^Aa%N8vG$u*AZEl2VQ*=ez8Ico|o7U3Tss7VX1XDNdur- zd7xN*cjiO7jt9rXf8n80YT`jc2r0Ub$hti6ue^#C*Bc`nuH?bey7qa=ht6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulator.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulator.png.mcmeta new file mode 100644 index 00000000000..b0c531fa791 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulator.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulatorStatic.png b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedManipulatorStatic.png new file mode 100644 index 0000000000000000000000000000000000000000..40d9b8f31bea17af888b69a70b3956f66c3ac43a GIT binary patch literal 557 zcmV+|0@D47P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0m4Z{K~y+TO_DuJ z13?gmb02%j1&k1}5%C9T;RhB01E%mV*a-nGgn)`aMnwdLV54Abt)P%X6cIrLLBvwg z%JV+<&S!Td`f^NWXWn^tW;V{_+k2^0avTR+SezVmdlzRMXB*AM<+ckvPqNTly#F}b z+s9^EmL!Sq``xV_iT7dZfgI3?qA%p3a>NP4D)Mr_SVOgq6#bAO2m)~klEr!!rhpqb z=Xp*diX!3Bl{f-85P%Db9|<8)uMaV+uyN=xOH)3rwRGVP57r-U@5ZMmspFoBnW_8h zo7b0T#uynLYp-?a387r;!|h#CZtwD(I#VqJ6h&(HgNuVjMQ0fVf{@J&-%*4B9|;5f z*FD-$%asbguN2m8%*|6;2}5R3tfpMHOfz&?t%^^L#G9=J=jr3q46k*Xrd)M;e8N39 zS3L?yW83Q;3W~gNT>B2j&+|Brd0N_KEwD+Lj_n@=0&&+ft2YI7PRw?m#osZZ|DYc2 zKjekkJ&Qok^Zjz=cL0EdI7ZO|HrDl(&!_{n8Xuz*YBXC|ByjjI(QumZcDx>YPRv@F vhTBx2Sj)=h29dt}QfJj}Pob-n3WDGVg6ke2B8FZ100000NkvXXu0mjfLiz0~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCore.png b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCore.png new file mode 100644 index 0000000000000000000000000000000000000000..4e2e761fa82fa8669f44efc2b664bf3fcebeb950 GIT binary patch literal 1869 zcmV-T2eSByP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2I5IXK~!i%?V4R| z6jc;}_kWk9rJ+rQ5EJCZXh;Ya2(6%?A*Rug+LonlBnoZR*fjnnD35CN!554^fHt85 z7D@{(Ai+pt46$gbg%Tqm2pS)-G@)hNV(rg%w|=vyds%j8x=VpgYwpQpa(~X8bN{}3 z=FYDD_nuyx&1SdTxsOMr`O7^gPkiTcxt8Ux@>jm(K%7pgMa@A9xj8VveJmJ6k3{~; z)yr0_B<-6uYjAKdqGE{g%#|Afv=4u^kG$9GeXeZ1)9rS>}N9r3;@OZsN z8!Iwr&vx)oMrP*d$Vf+9>#36`jx`>nap>`YXjAx0=g*i!+v#+=Fhd;%q%pMK@EsND z41#m~%+AWPU+%pT8XF6RLKu_k3EimRXVsdu&zAeMva-lJbF;E9{d#`kBM&cnY)Rks zKzG+wX%B*PG#-EQXR;bFO>G!n7m_IO-wHzf`kZ|Chz7Y`X38QhgyWX;+_qtjFedV0QXK5W(L zA+8uWLrRzQ8;c(0Ddd6F-852=Ol!^RRYy4H4JYJ8B>83q26jkcbW=up| z1VgIp%(9Dh*WcGiL-EV(JhQ%7>JWNa{z?@I%t_bB!{hb~*ScAZw2GC8D`e-kPgzZ5 zna<5`)Wn+S&bkQE6H?3+eg^vcJswZ{Pd_l^KA(@_7d?aya5+3)AFaYWBhAH7kQNPW z2S-P7F4@tM(cow>ojf?^&9~ygw_qXW;(0i8w3$*<9;jmCG!JRvVd=V3#@mz!s%!yc z3%-p9Pj?q)%z5bUl746&3SN85iig#2ZpEDNVE-e~M_v8)FV1$fQHqk)#1;BWG!OTm zhw8ef?Ufr$d7!GZZaZmXY2bmG=Y@nGOMIB+^NFglBHix&wL7KX8>?T%o8}>ulbgr` zg|R%`iVqz}4sfY45m6I|bNpx?QsluH(~;p}v>9)-sb=Y`i!6n%`41l2vzIh0@)i#T zMSko#d#}gwfT86@e#L`B#fP>XpP-!>A1I_sx~}5`=ZCz?>O>wWG(SJQzNdwKNsWmJ zbI-m+74x8Zm$3jDdOLd;G7&e-7CWO;xpa~`N>nkICkB40twc{pDCc_I(;ZZKnbu()A$%A~BnozgdmKXWuD~KfzXTCo!?Llzfb?L&)80LHwcG92kLfHG6T*Jrk##GKitLd52#X?cz(c;>bmBE{Pf_#(1wQ%Rh!hg zFqD&vRWA7yMIlx2Fef`34<_g7w&n(`Al;WQ;^d*Z^Ju+ge2|@3nul#3CV|{L9@yNu ziwAfho16y~A|yCy9yAZp@96SU#YKWFg_H46^5HfX4^|M)rR=SoG$-Rhc47>3$F}+c zcJFwg4cx^8JdjPo18J0`VUnO>ng`88lm{XMSE@X;A8I_+vj6ID=Wzb~yYD68fo+%v zFie)O9~?7KJ4b?C&dz%f!P|FKkX8A4r3NiVulAIBT|SVSGTwC3S|a(@3* z^815miyso=3Q3g*?y@K>d7$0A0f~oqn!X{MoChl6I<4b_=3&Y_0K?xG&lhifKP4W} z=GBTj*PZb|W4OzrP&~L8Z}PD`D68_jz@o)@l0`HRnun;Q%0sN+CkYQ|5E*#UkT;Ix zzfa5e90?9QObL<_4+u)KC@gtEu>JPFuSv-A7PlgnJj4pE(mZG$(#Hd;5*&D#5+n%^ zN)IJj6p9Cv@2&7qP+B3ufvo01^AKrFx_H1Rf^#%d`u`G0aPcG}B}sS?F`_{#@c{t| z?kWBLVA^TTgXST9Jjm|NlZccg;X(B7fCmXynujU!;Pw0m(ldZFf?}7V00000NkvXX Hu0mjfv4@1! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCore.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCore.png.mcmeta new file mode 100644 index 00000000000..9720a238668 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCore.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCoreStatic.png b/src/main/resources/assets/miscutils/textures/blocks/qft/InfinityInfusedShieldingCoreStatic.png new file mode 100644 index 0000000000000000000000000000000000000000..c822112126a0f9f4c693c438eb98075bcf5c6e70 GIT binary patch literal 613 zcmV-r0-F7aP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0s2WqK~y+Tb&|_# zQ$ZBQGk50BO(Dqz!9T!F5!@(Lj5cbJQlwpo&|m~XZPAtBeH#E&apKe&s#kG5edq3nwRLB0^+obdC&F}s1(JuCKyE03OUQ{v zYj-#7ba3dT8%?!ZEwPZ=T@}|_5?In$zXeFL2>A8(lp^}rSfcU;eSmZ zJ$|x$ZJZ@4N2!giN*qP=lT*xF!puadpeK{+`Dy~-^7u1UcGtaZ+R^L zBBT>MHbtIBy>6{tefgY`r_*W1FFZg4*0a9>9f%r4ZBv`n00000NkvXXu0mjf-SQ7U literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/Manipulator_Top.png b/src/main/resources/assets/miscutils/textures/blocks/qft/Manipulator_Top.png new file mode 100644 index 0000000000000000000000000000000000000000..2a5b8aec95db3e5265d89fe015fe078d317335b6 GIT binary patch literal 511 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0hCEZK~y+TRg%w2 z!$1(mySqu6wg*A*CA^4Guuwq{9()49qfqdT1P_9sc=6=jgMtMG5k(NeXHbflrcE~S zH#=$6AzkLr_kA-vTl4Yx)%tIjC#QEe*HIMp2b=qcqdL1V%de^`4RFe`#2E~?`Wr(y zMV^=5H&ssQV2sfKG>oL(#xIH@j$`jVr3Qf29WgRd)*1QO1qt!Tvo=Ke4a11WDIC%jVd?>!XXoU zSv{c;$Y}ryaxE{aav8K6BMb!Kfx!7anMii=CS}-#U;>j*XNP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1hPp)K~!i%?U{dQ zRb?2*ch5cN-n(fN1B>-Tozkd8EU{XfX=xCM)c#l^N(kbpgdj+R!apQ}0tuqPRfATk zm9RiUg#rZ!GjTDMT!m0kqNdodm3YrR_nzD5d7taqrMaE+XS;hJUS8kxobU6z@AJIp z!-h+px%^vQU0o`bVlEr|toNf6-=5}iVauIQZrtEt>9oE@=CB%TS1$eP|9;tZ-O6*7 zNj#SZc^$y-ETGFVrN`7>7if&E;5g5N4;feL11I`g)E_6EoSYQI3{@ z5u^U44?pUz-~2R17kobmg1<*b*oJ*nhoziUHkT!!9G2HT+l8mnCExc8g#yQApUMHQ zT{8mlr=|5gI%LGh0Z8oUeTM2HBloC<(lqHk`O>b-?hMsw4Wa3UdQdYvuIEzf4ULTq zN{@=xBgx%{VNl@ixV?a5OIxXo-Moxf-_S5^`gA-|izvx-&m*trNf(_0)%peYl{8dh z4!|Ox&ole^Jhkyk2H!}rSoyI3WAh$pyQA%)s8Q9Xdsf0sAB2bVr-sfB4YII2SRQJR z2f3MCE^1V@>7JD^(+A;UQAg*3)g3I7@-V!AA45GDZ<&P#%Y)@%^7Eil7D;(%>)Omv z55`+&ppf?%B|a0Y_A~(`_9)29?KXc?T3pHXa50;1jD-Sboo88!StCmidcpmQQT+84Uxsg`$ z;KBp{@KNxE<4T))PWF9DVGXQ|5fkx{`r(g1rFd>S2-u2k4({#yE1O}_BE%eLDf2= zj^{xljd4h%@jQUroYr=UFh)!a4=tOXLG;U>50mmRxa<9|clVm?l3x6lhcPBMV|kbg z|G%_y>$b;U+O9DO#6K|)hjzTmFnY@arh8VxOdl){%%~?N54_LOsaPT& zM*om%d9Xax91qo&h=&EMJMLQbIE$n_4Da9f-NDaU$lY2VEDyEC1Ew`3<>B_l_ch=D zAPc$MBs~0d{HwD=gObmf<-uqy4>iIArbm*yO~S*pn{IAwx`hQLneJWVA(QzR=&zCj TKm)?v00000NkvXXu0mjf)_r|0 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulator.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulator.png.mcmeta new file mode 100644 index 00000000000..cba1c432712 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulator.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":2, + "frames": [0,1,2,3,4,5,6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulatorStatic.png b/src/main/resources/assets/miscutils/textures/blocks/qft/NeutronPulseManipulatorStatic.png new file mode 100644 index 0000000000000000000000000000000000000000..29b3a74f3424ffce1c884113475faaa3c8597c02 GIT binary patch literal 492 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 KMNUMnLSTYbMh;&9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeContinuumRipper.png b/src/main/resources/assets/miscutils/textures/blocks/qft/SpaceTimeContinuumRipper.png new file mode 100644 index 0000000000000000000000000000000000000000..bb21d8af985688f4cc59767c7d344798da3bbb7d GIT binary patch literal 1593 zcmV-92FCe`P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1k;%R++?=xz&^XD$@%}vMCD3M49?qz%_m1%P#4W~*Z7z~O+C9RbHrl<~#zCanc=n^yRokxBYBCG|L($kwCfhrZq+f0_ zz306+)4H|ecUIhYEz$S={@c&5CZ9b}uhl;PU?ev=Wsd*!BmGow!zh(X>8^?W`DC&% z@YK~l6v9Pity;wZ7Z|HGl!`?h@PxzR?Bf}XdaozMdg{@Ma=8==hcUAP0aXq?_X2;y zkw}G>QVBO0$r9=8tNNnR9k>sMLYN&q^rCTf<+fUUt!CTy*^yBOA^fzlVmhau8KUOc znf*nH0DaD$gn|>8~)q!}iWc;zRa;Z#}NT4}m`s4eq z)Egw;PkfY1%L;|nL`5VOi1OGJtSL<^V6h9fZQstr(y1Ccc!&}gDC{LBY**|m|7@FS ztFW>fMhgT3k&ccNr{1E*aewrU*NGTS_+^r~HY=>QTwz@0hLtoYK;lR_P~6kQ(3!_3|s z%7erM4UA4VEgtwB;|A)_r%<$bAPF3M0E8lyv{G)$g8)RD1t1Y@)P~rM2k7BL1LYp@ zfLF106b~K-ZyumVOewjoT|Bt&2d*59XkY}nfxPbrKKlp}by#0Ib=k#(ab!WOJ%Y zHmIbPa#J420H!=Bw2EM(HbhGv$N*b|2St|$em^YlTEfvi;6dUerj#lb?Rh{K-%=vp zJa9kA2|#4E?gwrY4zkqzAc|NM^mg}y=l+SnON+ux}ZJdyy(I82724 zK`2x*VYaHX6;xQaJ`a4i$_To@ALQg?x}s1?D`gXhRy+tme8mYsBG_Pn7{4to->LKY zz8o2)T>t4{z7%3sM~)B6&Qs%T0hN8s-;m6cD$h>(dymJFnQh~CO2jlwM8b_c@ThjPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0mn&1K~y+TO_IAx z#8421H`h%T+?5qu5lb5tR#|YtEqnv969p|qLBxmghN2)MSoj7O3M*K7K?D&jMC=r; zOtL2zzmtLJpD>v-=b!(~%!%>*@mVUB48y=?InEA`t~(bj8_m}2;(`e*OLn1|c>i&_ zcYuxKxZCa8wtcj@E%5?6AIJiYAoxKZDoY&SuOKhyi`CS;kgNy^T-OzcAiG#Ahfd%G z)@hou5d?wos7f3G90cVrII9(Dy;rm{ptQ;cx;5c$D6y( z#ksUZ8wkC>y$%cxjZBQENpifk`*?F}USD0Zt+Ndy3`5a|T{r}jIEH`^S&M~1fB>)O zc`_fNVo8gluV};GoO-qknConHsMvu;-Fd`&y z@`}kv`wwZx#aqlrOWJnX(}fC(9<*W(*jUqcZ2p3tYL%DP2{l`7ED|{UOBAfSD&|p& zvh`T$hSMC^@hg?3jddc0{M_m?(_;%=igaD~7xrHoPhwYD_y7O^07*qoM6N<$f~=_V A&Hw-a literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/miscutils/textures/blocks/qft/forceFieldGlassTop.png b/src/main/resources/assets/miscutils/textures/blocks/qft/forceFieldGlassTop.png new file mode 100644 index 0000000000000000000000000000000000000000..97dbb4049ee89078a6652e6107180bbd0164e82f GIT binary patch literal 655 zcmV;A0&x9_P)EX>4Tx04R}tkv&MmKpe$iQ>7{u5i^K5WT>6&q9Tr^ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx7Fxu3aNLh~_a1le0HIM~n$;5pG~G5+ z@tBm&txADc^kWzz!hp;yBavRrz;k@v!^hXV2+#69_vaW?^A-bq5^D0H8@kK~y-)rIEo3!Y~YmKg-fXM}_&Qf`a13gCZV$*p2nD9^A!_ zO}bL;cS%Y@n*Yz{dV9P9L^J{Khbb4)(RYZIh~|9UZ;8`=qKy>~r%S8m(|@IDcBn+X zTgewvQv>WuzCg{*OKh-8?gmjrbeRVLMOW~CNP0l21e;}Iri8!FnCAh7DChbj6DxrG p^VI@`VaC)r*JDgQHGh8;dPa-(JQH4hpV Date: Mon, 23 Sep 2024 21:07:16 +0100 Subject: [PATCH 4/4] More log entries for ra2 failing (#3267) Co-authored-by: Martin Robertz --- .../gregtech/api/recipe/RecipeMapBackend.java | 15 +++++++++--- .../gregtech/api/util/GTRecipeBuilder.java | 24 +++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/src/main/java/gregtech/api/recipe/RecipeMapBackend.java b/src/main/java/gregtech/api/recipe/RecipeMapBackend.java index 1122eaf869e..c1f8afffebd 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMapBackend.java +++ b/src/main/java/gregtech/api/recipe/RecipeMapBackend.java @@ -2,6 +2,8 @@ import static gregtech.api.util.GTRecipeBuilder.ENABLE_COLLISION_CHECK; import static gregtech.api.util.GTRecipeBuilder.handleInvalidRecipe; +import static gregtech.api.util.GTRecipeBuilder.handleInvalidRecipeLowFluids; +import static gregtech.api.util.GTRecipeBuilder.handleInvalidRecipeLowItems; import static gregtech.api.util.GTRecipeBuilder.handleRecipeCollision; import static gregtech.api.util.GTUtility.areStacksEqualOrNull; @@ -172,14 +174,21 @@ protected Collection doAdd(GTRecipeBuilder builder) { Iterable recipes = properties.recipeEmitter.apply(builder); Collection ret = new ArrayList<>(); for (GTRecipe recipe : recipes) { - if (recipe.mFluidInputs.length < properties.minFluidInputs - || recipe.mInputs.length < properties.minItemInputs) { + if (recipe.mInputs.length < properties.minItemInputs) { + handleInvalidRecipeLowItems(); + return Collections.emptyList(); + } + if (recipe.mFluidInputs.length < properties.minFluidInputs) { + handleInvalidRecipeLowFluids(); return Collections.emptyList(); } if (properties.recipeTransformer != null) { recipe = properties.recipeTransformer.apply(recipe); } - if (recipe == null) continue; + if (recipe == null) { + handleInvalidRecipe(); + continue; + } if (builder.isCheckForCollision() && ENABLE_COLLISION_CHECK && checkCollision(recipe)) { handleCollision(recipe); continue; diff --git a/src/main/java/gregtech/api/util/GTRecipeBuilder.java b/src/main/java/gregtech/api/util/GTRecipeBuilder.java index 1426c1c2648..69890e564df 100644 --- a/src/main/java/gregtech/api/util/GTRecipeBuilder.java +++ b/src/main/java/gregtech/api/util/GTRecipeBuilder.java @@ -211,6 +211,30 @@ public static void handleInvalidRecipe() { } } + public static void handleInvalidRecipeLowFluids() { + if (!DEBUG_MODE_INVALID && !PANIC_MODE_INVALID) { + return; + } + // place a breakpoint here to catch all these issues + GTLog.err.println("invalid recipe: not enough input fluids"); + new IllegalArgumentException().printStackTrace(GTLog.err); + if (PANIC_MODE_INVALID) { + throw new IllegalArgumentException("invalid recipe"); + } + } + + public static void handleInvalidRecipeLowItems() { + if (!DEBUG_MODE_INVALID && !PANIC_MODE_INVALID) { + return; + } + // place a breakpoint here to catch all these issues + GTLog.err.println("invalid recipe: not enough input items"); + new IllegalArgumentException().printStackTrace(GTLog.err); + if (PANIC_MODE_INVALID) { + throw new IllegalArgumentException("invalid recipe"); + } + } + public static void handleRecipeCollision(String details) { if (!DEBUG_MODE_COLLISION && !PANIC_MODE_COLLISION) { return;