diff options
author | huajijam <strhuaji@gmail.com> | 2019-01-30 19:01:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-30 19:01:07 +0800 |
commit | d0e3b95db387194a5da4ff71d743a3ede6b42f5e (patch) | |
tree | da5c64c420de4242ab1e23cbb74d8294843228b0 | |
parent | f32773a4c5664c48b3ea832e22da9dda68120c38 (diff) | |
parent | 241df1134f16c6c9c54b198db97279d697de8c77 (diff) | |
download | GT5-Unofficial-d0e3b95db387194a5da4ff71d743a3ede6b42f5e.tar.gz GT5-Unofficial-d0e3b95db387194a5da4ff71d743a3ede6b42f5e.tar.bz2 GT5-Unofficial-d0e3b95db387194a5da4ff71d743a3ede6b42f5e.zip |
update
update
653 files changed, 8611 insertions, 1183 deletions
diff --git a/.gitignore b/.gitignore index 9581eb380c..2144086d21 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,4 @@ scripts /src/Java/gtPlusPlus/xmod/galacticraft/asm/TileEntityFuelLoader_ASM.java /src/Java/gtPlusPlus/xmod/ob/TileEntitySprinkler_ASM.java /src/Java/gtPlusPlus/xmod/thermalfoundation/asm/OreDictionaryArbiter_ASM.java +/GeneratedIcons diff --git a/build.gradle b/build.gradle index d7c9ccf6c4..c0a53d65c1 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,7 @@ targetCompatibility = JavaVersion.VERSION_1_8 //Jar Info archivesBaseName = "GT-PlusPlus" -version = "1.7.02.55" +version = "1.7.02.64-nightly" minecraft.version = "1.7.10-10.13.4.1614-1.7.10" minecraft { diff --git a/src/Java/gregtech/api/util/Recipe_GT.java b/src/Java/gregtech/api/util/Recipe_GT.java index 8a5abb529d..611f55c8b0 100644 --- a/src/Java/gregtech/api/util/Recipe_GT.java +++ b/src/Java/gregtech/api/util/Recipe_GT.java @@ -271,7 +271,7 @@ public class Recipe_GT extends GT_Recipe implements IComparableRecipe{ "Fuel Value: ", 1000, " EU", true, false); //Cyclotron recipe map - public static final GT_Recipe_Map sCyclotronRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.cyclotron", "COMET - Compact Cyclotron", null, RES_PATH_GUI + "basicmachines/BlastSmelter", 1, 1, 1, 0, 1, E, 1, E, true, true); + public static final GT_Recipe_Map sCyclotronRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(200), "gt.recipe.cyclotron", "COMET - Compact Cyclotron", null, RES_PATH_GUI + "basicmachines/BlastSmelter", 2, 16, 0, 0, 1, E, 1, E, true, true); //Advanced Mixer public static final GT_Recipe_Map sAdvancedMixerRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(1000), "gt.recipe.advanced.mixer", diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 8ae48f3b3f..79a3bee7ba 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -1,6 +1,8 @@ package gtPlusPlus; -import static gtPlusPlus.core.lib.CORE.ConfigSwitches.*; +import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableAnimatedTurbines; +import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustomCapes; +import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableUpdateChecker; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -9,18 +11,24 @@ import java.util.Collection; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; 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.FMLLoadCompleteEvent; +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.event.FMLServerStoppingEvent; import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; import gregtech.api.enums.Textures.BlockIcons; -import gregtech.api.util.*; +import gregtech.api.util.FishPondFakeRecipe; +import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gregtech.api.util.Recipe_GT; +import gregtech.api.util.SemiFluidFuelHandler; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.commands.CommandDebugChunks; import gtPlusPlus.core.commands.CommandMath; import gtPlusPlus.core.common.CommonProxy; @@ -28,16 +36,22 @@ import gtPlusPlus.core.config.ConfigHandler; import gtPlusPlus.core.handler.BookHandler; import gtPlusPlus.core.handler.Recipes.RegistrationHandler; import gtPlusPlus.core.handler.chunkloading.ChunkLoading; -import gtPlusPlus.core.handler.events.*; +import gtPlusPlus.core.handler.events.BlockEventHandler; +import gtPlusPlus.core.handler.events.LoginEventHandler; +import gtPlusPlus.core.handler.events.MissingMappingsEvent; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.data.LocaleUtils; -import gtPlusPlus.core.util.minecraft.*; +import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.minecraft.RecipeUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; -import gtPlusPlus.core.util.sys.*; +import gtPlusPlus.core.util.sys.GeoUtils; +import gtPlusPlus.core.util.sys.NetworkUtils; +import gtPlusPlus.core.util.sys.SystemUtils; import gtPlusPlus.plugin.manager.Core_Manager; import gtPlusPlus.xmod.gregtech.api.objects.GregtechBufferThread; import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; @@ -46,7 +60,6 @@ import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; import gtPlusPlus.xmod.gregtech.loaders.GT_Material_Loader; import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelterGT_GTNH; import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechMiniRaFusion; -import gtPlusPlus.xmod.ob.SprinklerHandler; import gtPlusPlus.xmod.thaumcraft.commands.CommandDumpAspects; import net.minecraft.launchwrapper.Launch; import net.minecraft.util.IIcon; @@ -88,6 +101,7 @@ public class GTplusplus implements ActionListener { //Mod Instance @Mod.Instance(CORE.MODID) public static GTplusplus instance; + public static Meta_GT_Proxy instanceGtProxy; //Material Loader public static GT_Material_Loader mGregMatLoader; @@ -155,8 +169,12 @@ public class GTplusplus implements ActionListener { Logger.INFO("Login Handler Initialized"); + mChunkLoading.preInit(event); proxy.preInit(event); + Logger.INFO("Setting up our own GT_Proxy."); + instanceGtProxy = Meta_GT_Proxy.instance; + instanceGtProxy.preInit(); Core_Manager.preInit(); } @@ -167,6 +185,7 @@ public class GTplusplus implements ActionListener { mChunkLoading.init(event); proxy.init(event); proxy.registerNetworkStuff(); + instanceGtProxy.init(); Core_Manager.init(); //Used by foreign players to generate .lang files for translation. @@ -183,6 +202,7 @@ public class GTplusplus implements ActionListener { mChunkLoading.postInit(event); proxy.postInit(event); BookHandler.runLater(); + instanceGtProxy.postInit(); Core_Manager.postInit(); //SprinklerHandler.registerModFerts(); @@ -420,69 +440,4 @@ public class GTplusplus implements ActionListener { mGregMatLoader.enableMaterial(Materials.Force); } - /** - * Capes - */ - - public static final AutoMap<Pair<String, String>> mOrangeCapes = new AutoMap<Pair<String, String>>(); - public static final AutoMap<Pair<String, String>> mMiscCapes = new AutoMap<Pair<String, String>>(); - public static final AutoMap<Pair<String, String>> mBetaTestCapes = new AutoMap<Pair<String, String>>(); - public static final AutoMap<Pair<String, String>> mDevCapes = new AutoMap<Pair<String, String>>(); - public static final AutoMap<Pair<String, String>> mPatreonCapes = new AutoMap<Pair<String, String>>(); - - public static void BuildCapeList() { - //Basic Orange Cape (I give these away at times, just because) - mOrangeCapes.put(new Pair<String, String>("ImmortalPharaoh7", "c8c479b2-7464-4b20-adea-b43ff1c10c53")); - mOrangeCapes.put(new Pair<String, String>("Walmart_Employee", "7a56602b-9a67-44e3-95a5-270f887712c6")); - mOrangeCapes.put(new Pair<String, String>("ArchonCerulean", "f773e61f-261f-41e7-a221-5dcace291ced")); - mOrangeCapes.put(new Pair<String, String>("netmc", "c3ecbcc3-0d83-4da6-bb89-69f3f1a6e38b")); - mOrangeCapes.put(new Pair<String, String>("twinsrock8", "c1239b45b-b3a3-4282-8143-c73778897dda")); - mOrangeCapes.put(new Pair<String, String>("Ajes", "b1781fc7-35ca-4255-a21c-cdb1b7ea1853")); - mOrangeCapes.put(new Pair<String, String>("LAGIdiot", "44f38ff8-aad7-49c3-acb3-d92317af9078")); - mOrangeCapes.put(new Pair<String, String>("Snaggerr", "7e553c3b-b259-4c16-992a-c8c107401e74")); - mOrangeCapes.put(new Pair<String, String>("Semmelx4", "651b3963-038f-4769-9f75-0eaca0c4e748")); - //mOrangeCapes.put(new Pair<String, String>("aaaa", "1234")); - //mOrangeCapes.put(new Pair<String, String>("aaaa", "1234")); - //mOrangeCapes.put(new Pair<String, String>("aaaa", "1234")); - - //Misc - mMiscCapes.put(new Pair<String, String>("doomsquirter", "3aee80ab-d982-4e6d-b8d0-7912bbd75f5d")); - mMiscCapes.put(new Pair<String, String>("ukdunc", "17d57521-3a1e-4eb9-91e6-901a65c15e07")); - mMiscCapes.put(new Pair<String, String>("q009", "520aebe6-4cd9-46cd-bc7a-d47e5e648e38")); - mMiscCapes.put(new Pair<String, String>("JaidenC", "00b157e5-cd97-43a2-a080-460f550e93cd")); - mMiscCapes.put(new Pair<String, String>("TheGiggitygoo", "9f996c78-bddc-4dec-a522-0df7267f11f3")); - - //Beta/Dev Tester Capes - mBetaTestCapes.put(new Pair<String, String>("fobius", "ca399a5b-d1bb-46e3-af5b-5939817b5cf8")); - mBetaTestCapes.put(new Pair<String, String>("cantankerousrex", "")); - mBetaTestCapes.put(new Pair<String, String>("stephen_2015", "004ae3d8-ecaf-48eb-9e4e-224d42d31c78")); - mBetaTestCapes.put(new Pair<String, String>("Dyonovan", "2f3a7dff-b1ec-4c05-8eed-63ad2a3ba73f")); - mBetaTestCapes.put(new Pair<String, String>("Bear989Sr", "1964e3d1-6500-40e7-9ff2-e6161d41a8c2")); - mBetaTestCapes.put(new Pair<String, String>("CrazyJ1984", "d84f9654-87ea-46a9-881f-c6aa45dd5af8")); - mBetaTestCapes.put(new Pair<String, String>("AndreyKV", "9550c173-a8c5-4e7f-bf8d-b5ded56921ef")); - mBetaTestCapes.put(new Pair<String, String>("Piky", "7822ae35-9d5a-4fe7-bd5f-d03006932a65")); - - //GTNH Beta Testers - mBetaTestCapes.put(new Pair<String, String>("bartimaeusnek", "578c2d13-9358-4ae8-95e7-a30ab9f9f3c7")); - mBetaTestCapes.put(new Pair<String, String>("Prewf", "634433ec-6256-44aa-97b3-a615be18ce23")); - mBetaTestCapes.put(new Pair<String, String>("FallDark", "86aa136e-9b5e-45e3-8273-6684fd7c537d")); - mBetaTestCapes.put(new Pair<String, String>("0lafe", "8b06bcf9-7a94-45f9-a01f-2fff73e7582d")); - mBetaTestCapes.put(new Pair<String, String>("Dogehog", "499b751e-f106-41ae-8dfe-3b88a73958e0")); - //mBetaTestCapes.put(new Pair<String, String>("cantankerousrex", "")); - - //Dev Capes - mDevCapes.put(new Pair<String, String>("draknyte1", "5652713c-668e-47f3-853a-3fa959a9dfd3")); - mDevCapes.put(new Pair<String, String>("crimsonhood17", "c4773470-2585-4bd7-82b3-8764ca6acd08")); - - - /** - * Patreons - */ - - mPatreonCapes.put(new Pair<String, String>("Baxterzz", "e8aa5500-7319-4453-822c-b96b29ab5981")); - mPatreonCapes.put(new Pair<String, String>("leagris", "09752aa3-8b9c-4f8f-b04f-5421e799547d")); - mPatreonCapes.put(new Pair<String, String>("Traumeister", "fd3f46ac-801a-4566-90b5-75cb362d261e")); - mPatreonCapes.put(new Pair<String, String>("asturrial", "26c4881f-c708-4c5d-aa76-4419c3a1265b")); - } - } diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java index eb40fd080e..dc1239f4be 100644 --- a/src/Java/gtPlusPlus/core/block/ModBlocks.java +++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java @@ -3,6 +3,7 @@ package gtPlusPlus.core.block; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; +import net.minecraft.block.BlockJukebox; import net.minecraft.block.material.Material; import gtPlusPlus.api.objects.Logger; @@ -73,8 +74,10 @@ public final class ModBlocks { public static Block blockPlayerDoorCustom_Glass; public static Block blockPlayerDoorCustom_Ice; public static Block blockPlayerDoorCustom_Cactus; - + public static Block blockCustomMobSpawner; + public static Block blockCustomSuperLight; + public static Block blockCustomJukebox; public static void init() { Logger.INFO("Initializing Blocks."); @@ -86,7 +89,7 @@ public final class ModBlocks { public static void registerBlocks(){ Logger.INFO("Registering Blocks."); - GameRegistry.registerBlock(MatterFabricatorEffectBlock = new LightGlass(Material.glass, false).setHardness(0.1F).setBlockTextureName(CORE.MODID + ":" + "blockMFEffect").setStepSound(Block.soundTypeGlass), "blockMFEffect"); + MatterFabricatorEffectBlock = new LightGlass(false); //Fluids FluidRegistryHandler.registerFluids(); @@ -121,6 +124,9 @@ public final class ModBlocks { blockPlayerDoorCustom_Glass = new PlayerDoors(Material.glass, "door_glass", false); blockPlayerDoorCustom_Ice = new PlayerDoors(Material.ice, "door_ice", false); blockPlayerDoorCustom_Cactus = new PlayerDoors(Material.cactus, "door_cactus", false, 0.6f, Block.soundTypeGrass, "Cactus"); + + blockCustomSuperLight = new BlockSuperLight(); + blockCustomJukebox = new Machine_SuperJukebox(); } diff --git a/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java b/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java index bbec95a28e..b979f7864b 100644 --- a/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java +++ b/src/Java/gtPlusPlus/core/block/general/FluidTankInfinite.java @@ -4,7 +4,10 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.tileentities.general.TileEntityInfiniteFluid; +import gtPlusPlus.core.util.minecraft.PlayerUtils; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -14,12 +17,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; - -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.tileentities.general.TileEntityInfiniteFluid; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import net.minecraftforge.fluids.*; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidContainerItem; +import net.minecraftforge.fluids.ItemFluidContainer; public class FluidTankInfinite extends BlockContainer { @@ -68,69 +69,68 @@ public class FluidTankInfinite extends BlockContainer { final int side, final float lx, final float ly, final float lz) { if (world.isRemote) { return true; - } - else { + } else { TileEntityInfiniteFluid tank = (TileEntityInfiniteFluid) world.getTileEntity(x, y, z); - if (tank != null){ + if (tank != null) { Item handItem; try { handItem = player.getHeldItem().getItem(); - } - catch (Throwable t){ + } catch (Throwable t) { handItem = null; } - if (handItem != null && (handItem instanceof IFluidContainerItem || handItem instanceof ItemFluidContainer || FluidContainerRegistry.isFilledContainer(player.getHeldItem()))){ - if (tank.tank.getFluid() == null){ - try { - if (!FluidContainerRegistry.isFilledContainer(player.getHeldItem())){ - ItemStack handItemStack = player.getHeldItem(); - IFluidContainerItem container = (IFluidContainerItem) handItem; - FluidStack containerFluid = container.getFluid(handItemStack); - container.drain(handItemStack, container.getFluid(handItemStack).amount, true); - tank.tank.setFluid(containerFluid); - } - else { - ItemStack handItemStack = player.getHeldItem(); - FluidContainerRegistry.drainFluidContainer(handItemStack); - FluidStack containerFluid = FluidContainerRegistry.getFluidForFilledItem(handItemStack); - ItemStack emptyContainer = FluidContainerRegistry.drainFluidContainer(handItemStack); - player.setItemInUse(emptyContainer, 0); - - tank.tank.setFluid(containerFluid); + if (handItem != null + && (handItem instanceof IFluidContainerItem || handItem instanceof ItemFluidContainer + || FluidContainerRegistry.isFilledContainer(player.getHeldItem()))) { + if (tank.tank.getFluid() == null) { + try { + if (!FluidContainerRegistry.isFilledContainer(player.getHeldItem())) { + ItemStack handItemStack = player.getHeldItem(); + IFluidContainerItem container = (IFluidContainerItem) handItem; + FluidStack containerFluid = container.getFluid(handItemStack); + container.drain(handItemStack, container.getFluid(handItemStack).amount, true); + tank.tank.setFluid(containerFluid); + } else { + ItemStack handItemStack = player.getHeldItem(); + FluidContainerRegistry.drainFluidContainer(handItemStack); + FluidStack containerFluid = FluidContainerRegistry.getFluidForFilledItem(handItemStack); + ItemStack emptyContainer = FluidContainerRegistry.drainFluidContainer(handItemStack); + player.setItemInUse(emptyContainer, 0); + + tank.tank.setFluid(containerFluid); + } + } catch (Throwable t) { + t.printStackTrace(); } } - catch (Throwable t){ - t.printStackTrace(); - } + + } + if (tank.tank.getFluid() != null) { + PlayerUtils.messagePlayer(player, "This tank contains " + tank.tank.getFluidAmount() + "L of " + + tank.tank.getFluid().getLocalizedName()); } - - } - if (tank.tank.getFluid() != null){ - PlayerUtils.messagePlayer(player, "This tank contains "+tank.tank.getFluidAmount()+"L of "+tank.tank.getFluid().getLocalizedName()); } } + return true; } - return true; -} -@Override -public int getRenderBlockPass() { - return 1; -} + @Override + public int getRenderBlockPass() { + return 1; + } -@Override -public boolean isOpaqueCube() { - return false; -} + @Override + public boolean isOpaqueCube() { + return false; + } -@Override -public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { - return new TileEntityInfiniteFluid(); -} + @Override + public TileEntity createNewTileEntity(final World world, final int p_149915_2_) { + return new TileEntityInfiniteFluid(); + } -@Override -public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); -} + @Override + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + } } diff --git a/src/Java/gtPlusPlus/core/block/general/LightGlass.java b/src/Java/gtPlusPlus/core/block/general/LightGlass.java index 5a265ed7ef..30da7f1d56 100644 --- a/src/Java/gtPlusPlus/core/block/general/LightGlass.java +++ b/src/Java/gtPlusPlus/core/block/general/LightGlass.java @@ -2,37 +2,46 @@ package gtPlusPlus.core.block.general; import java.util.Random; +import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.block.BlockBreakable; -import net.minecraft.block.material.Material; +import net.minecraft.block.Block; +import net.minecraft.block.BlockAir; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; -public class LightGlass extends BlockBreakable +/*public class LightGlass extends BlockBreakable +{*/ +public class LightGlass extends BlockAir { - private int state = 0; + +private int state = 0; private final int a = 255; private int r = 255; private int g = 0; private int b = 0; private int hex; - public LightGlass(final Material mat, final boolean bool) + public LightGlass(final boolean bool) { - super("blockMFEffect", mat, bool); + //super("blockMFEffect", Material.air, bool); + super(); this.setCreativeTab(AddToCreativeTab.tabBlock); this.setBlockName("blockMFEffect"); this.setLightLevel(12F); + setHardness(0.1F); + setBlockTextureName(CORE.MODID + ":" + "blockMFEffect"); + setStepSound(Block.soundTypeGlass); + GameRegistry.registerBlock(this, "blockMFEffect"); + + /* this.setLightOpacity(0); this.setTickRandomly(true); - this.setResistance(1); + this.setResistance(1);*/ } /** @@ -60,7 +69,7 @@ public class LightGlass extends BlockBreakable @Override public boolean renderAsNormalBlock() { - return true; + return false; } /** @@ -129,7 +138,7 @@ public class LightGlass extends BlockBreakable @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(final World world, final int posX, final int posY, final int posZ, final Random random){ - Utils.spawnFX(world, posX, posY, posZ, "smoke", "cloud"); + //Utils.spawnFX(world, posX, posY, posZ, "smoke", "cloud"); } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/machine/FishTrap.java b/src/Java/gtPlusPlus/core/block/machine/FishTrap.java index 8e5f8a33f5..b5e78f23ef 100644 --- a/src/Java/gtPlusPlus/core/block/machine/FishTrap.java +++ b/src/Java/gtPlusPlus/core/block/machine/FishTrap.java @@ -50,6 +50,7 @@ public class FishTrap extends BlockContainer implements ITileTooltip { super(Material.iron); this.setBlockName("blockFishTrap"); + this.setHardness(5f); this.setCreativeTab(AddToCreativeTab.tabMachines); GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockFishTrap"); LanguageRegistry.addName(this, "Fish Catcher"); diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_SuperJukebox.java b/src/Java/gtPlusPlus/core/block/machine/Machine_SuperJukebox.java new file mode 100644 index 0000000000..e3d9d0e646 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_SuperJukebox.java @@ -0,0 +1,215 @@ +package gtPlusPlus.core.block.machine; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockJukebox; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class Machine_SuperJukebox extends BlockJukebox +{ + @SideOnly(Side.CLIENT) + private IIcon mIcon; + + public Machine_SuperJukebox(){ + this.setBlockName("blockSuperJukebox"); + this.setCreativeTab(CreativeTabs.tabRedstone); + setHardness(2.0F); + setResistance(10.0F); + setStepSound(soundTypePiston); + setBlockTextureName("jukebox"); + GameRegistry.registerBlock(this, "blockSuperJukebox"); + LanguageRegistry.addName(this, "Sir Mixalot [Jukebox]"); + } + + /** + * Gets the block's texture. Args: side, meta + */ + @SideOnly(Side.CLIENT) + public IIcon getIcon(int aSide, int aMeta) + { + return aSide == 1 ? this.mIcon : this.blockIcon; + } + + /** + * Called upon block activation (right click on the block.) + */ + @Override + public boolean onBlockActivated(World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) + { + if (aWorld.getBlockMetadata(aX, aY, aZ) == 0) + { + return false; + } + else + { + this.func_149925_e(aWorld, aX, aY, aZ); + return true; + } + } + + /** + * Set the record in the {@link SuperJukebox} {@link TileEntity}. + */ + @Override + public final void func_149926_b(World aWorld, int aX, int aY, int aZ, ItemStack aStackToSet) { + setRecordInJukeBox(aWorld, aX, aY, aZ, aStackToSet); + } + + public void setRecordInJukeBox(World aWorld, int aX, int aY, int aZ, ItemStack aStackToSet) { + if (!aWorld.isRemote) { + TileEntitySuperJukebox tileentityjukebox = (TileEntitySuperJukebox) aWorld.getTileEntity(aX, aY, aZ); + if (tileentityjukebox != null) { + tileentityjukebox.func_145857_a(aStackToSet.copy()); + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, 1, 2); + } + } + } + + /** + * Function to handle playing of records. + */ + @Override + public final void func_149925_e(World aWorld, int aX, int aY, int aZ) { + playerJukeboxRecord(aWorld, aX, aY, aZ); + } + + public void playerJukeboxRecord(World aWorld, int aX, int aY, int aZ) { + if (!aWorld.isRemote) { + TileEntitySuperJukebox tileentityjukebox = (TileEntitySuperJukebox) aWorld.getTileEntity(aX, + aY, aZ); + + if (tileentityjukebox != null) { + ItemStack itemstack = tileentityjukebox.func_145856_a(); + + if (itemstack != null) { + aWorld.playAuxSFX(1005, aX, aY, aZ, 0); + aWorld.playRecord((String) null, aX, aY, aZ); + tileentityjukebox.func_145857_a((ItemStack) null); + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, 0, 2); + float f = 0.7F; + double d0 = (double) (aWorld.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + double d1 = (double) (aWorld.rand.nextFloat() * f) + (double) (1.0F - f) * 0.2D + 0.6D; + double d2 = (double) (aWorld.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + ItemStack itemstack1 = itemstack.copy(); + EntityItem entityitem = new EntityItem(aWorld, (double) aX + d0, + (double) aY + d1, (double) aZ + d2, itemstack1); + entityitem.delayBeforeCanPickup = 10; + aWorld.spawnEntityInWorld(entityitem); + } + } + } + } + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + this.func_149925_e(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_); + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + /** + * Drops the block items with a specified chance of dropping the specified items + */ + @Override + public void dropBlockAsItemWithChance(World p_149690_1_, int p_149690_2_, int p_149690_3_, int p_149690_4_, int p_149690_5_, float p_149690_6_, int p_149690_7_) + { + if (!p_149690_1_.isRemote) + { + super.dropBlockAsItemWithChance(p_149690_1_, p_149690_2_, p_149690_3_, p_149690_4_, p_149690_5_, p_149690_6_, 0); + } + } + + /** + * Returns a new instance of a block's tile entity class. Called on placing the block. + */ + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) + { + return new TileEntitySuperJukebox(); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerBlockIcons(IIconRegister p_149651_1_) + { + this.blockIcon = p_149651_1_.registerIcon(this.getTextureName() + "_side"); + this.mIcon = p_149651_1_.registerIcon(this.getTextureName() + "_top"); + } + + public static class TileEntitySuperJukebox extends TileEntityJukebox { + + private ItemStack field_145858_a; + + @Override + public void readFromNBT(NBTTagCompound aNBT) + { + super.readFromNBT(aNBT); + + if (aNBT.hasKey("RecordItem", 10)) + { + this.func_145857_a(ItemStack.loadItemStackFromNBT(aNBT.getCompoundTag("RecordItem"))); + } + else if (aNBT.getInteger("Record") > 0) + { + this.func_145857_a(new ItemStack(Item.getItemById(aNBT.getInteger("Record")), 1, 0)); + } + } + + @Override + public void writeToNBT(NBTTagCompound aNBT) + { + super.writeToNBT(aNBT); + + if (this.func_145856_a() != null) + { + aNBT.setTag("RecordItem", this.func_145856_a().writeToNBT(new NBTTagCompound())); + aNBT.setInteger("Record", Item.getIdFromItem(this.func_145856_a().getItem())); + } + } + + /** + * Called to get the internal stack + */ + @Override + public ItemStack func_145856_a() + { + return this.field_145858_a; + } + + /** + * Called to get the internal stack, wraps vanilla function {@link func_145856_a}. + */ + public ItemStack getCurrentRecord() { + return func_145856_a(); + } + + /** + * Called to set the internal stack + */ + @Override + public void func_145857_a(ItemStack p_145857_1_) + { + this.field_145858_a = p_145857_1_; + this.markDirty(); + } + + /** + * Called to set the internal stack, wraps vanilla function {@link func_145857_a}. + */ + public void setCurrentRecord(ItemStack aStack) { + func_145857_a(aStack); + } + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderBatKing.java b/src/Java/gtPlusPlus/core/client/renderer/RenderBatKing.java new file mode 100644 index 0000000000..fb260eedeb --- /dev/null +++ b/src/Java/gtPlusPlus/core/client/renderer/RenderBatKing.java @@ -0,0 +1,150 @@ +package gtPlusPlus.core.client.renderer; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBat; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityBat; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; + +@SideOnly(Side.CLIENT) +public class RenderBatKing extends RenderLiving { + + private static final ResourceLocation batTextures = new ResourceLocation("textures/entity/bat.png"); + + /** + * not actually sure this is size, is not used as of now, but the model would be + * recreated if the value changed and it seems a good match for a bats size + */ + private int renderedBatSize; + + public RenderBatKing() { + super(new ModelBat(), 1F); + this.renderedBatSize = ((ModelBat) this.mainModel).getBatSize(); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, + * always casting down its argument and then handing it off to a worker function + * which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void + * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). + * But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(EntityBat p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, + float p_76986_8_, float p_76986_9_) { + int i = ((ModelBat) this.mainModel).getBatSize(); + + if (i != this.renderedBatSize) { + this.renderedBatSize = i; + this.mainModel = new ModelBat(); + } + + super.doRender((EntityLiving) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless + * you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(EntityBat p_110775_1_) { + return batTextures; + } + + /** + * Allows the render to do any OpenGL state modifications necessary before the + * model is rendered. Args: entityLiving, partialTickTime + */ + protected void preRenderCallback(EntityBat p_77041_1_, float p_77041_2_) { + GL11.glScalef(0.35F, 0.35F, 0.35F); + } + + /** + * Sets a simple glTranslate on a LivingEntity. + */ + protected void renderLivingAt(EntityBat p_77039_1_, double p_77039_2_, double p_77039_4_, double p_77039_6_) { + super.renderLivingAt(p_77039_1_, p_77039_2_, p_77039_4_, p_77039_6_); + } + + protected void rotateCorpse(EntityBat p_77043_1_, float p_77043_2_, float p_77043_3_, float p_77043_4_) { + if (!p_77043_1_.getIsBatHanging()) { + GL11.glTranslatef(0.0F, MathHelper.cos(p_77043_2_ * 0.3F) * 0.1F, 0.0F); + } else { + GL11.glTranslatef(0.0F, -0.1F, 0.0F); + } + + super.rotateCorpse(p_77043_1_, p_77043_2_, p_77043_3_, p_77043_4_); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, + * always casting down its argument and then handing it off to a worker function + * which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void + * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). + * But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(EntityLiving p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, + float p_76986_8_, float p_76986_9_) { + this.doRender((EntityBat) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + /** + * Allows the render to do any OpenGL state modifications necessary before the + * model is rendered. Args: entityLiving, partialTickTime + */ + protected void preRenderCallback(EntityLivingBase p_77041_1_, float p_77041_2_) { + this.preRenderCallback((EntityBat) p_77041_1_, p_77041_2_); + } + + protected void rotateCorpse(EntityLivingBase p_77043_1_, float p_77043_2_, float p_77043_3_, float p_77043_4_) { + this.rotateCorpse((EntityBat) p_77043_1_, p_77043_2_, p_77043_3_, p_77043_4_); + } + + /** + * Sets a simple glTranslate on a LivingEntity. + */ + protected void renderLivingAt(EntityLivingBase p_77039_1_, double p_77039_2_, double p_77039_4_, + double p_77039_6_) { + this.renderLivingAt((EntityBat) p_77039_1_, p_77039_2_, p_77039_4_, p_77039_6_); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, + * always casting down its argument and then handing it off to a worker function + * which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void + * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). + * But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(EntityLivingBase p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, + float p_76986_8_, float p_76986_9_) { + this.doRender((EntityBat) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless + * you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return this.getEntityTexture((EntityBat) p_110775_1_); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, + * always casting down its argument and then handing it off to a worker function + * which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void + * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). + * But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, + float p_76986_9_) { + this.doRender((EntityBat) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java index 9e75cd4a16..9176dcc720 100644 --- a/src/Java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java @@ -2,13 +2,13 @@ package gtPlusPlus.core.common; import static gtPlusPlus.core.lib.CORE.DEBUG; -import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLLoadCompleteEvent; +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.registry.GameRegistry; - -import net.minecraft.entity.Entity; - import gregtech.api.enums.ItemList; - import gtPlusPlus.GTplusplus; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.minecraft.ChunkManager; @@ -18,8 +18,15 @@ import gtPlusPlus.core.entity.InternalEntityRegistry; import gtPlusPlus.core.entity.monster.EntityGiantChickenBase; import gtPlusPlus.core.entity.monster.EntitySickBlaze; import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct; -import gtPlusPlus.core.handler.*; -import gtPlusPlus.core.handler.events.*; +import gtPlusPlus.core.handler.BookHandler; +import gtPlusPlus.core.handler.BurnableFuelHandler; +import gtPlusPlus.core.handler.COMPAT_HANDLER; +import gtPlusPlus.core.handler.COMPAT_IntermodStaging; +import gtPlusPlus.core.handler.GuiHandler; +import gtPlusPlus.core.handler.events.BlockEventHandler; +import gtPlusPlus.core.handler.events.GeneralTooltipEventHandler; +import gtPlusPlus.core.handler.events.PickaxeBlockBreakEventHandler; +import gtPlusPlus.core.handler.events.ZombieBackupSpawnEventHandler; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.CORE.ConfigSwitches; @@ -33,30 +40,20 @@ import gtPlusPlus.core.util.player.PlayerCache; import gtPlusPlus.plugin.villagers.block.BlockGenericSpawner; import gtPlusPlus.xmod.eio.handler.HandlerTooltip_EIO; import gtPlusPlus.xmod.galacticraft.handler.HandlerTooltip_GC; -import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; +import net.minecraft.entity.Entity; import net.minecraftforge.common.ForgeChunkManager; public class CommonProxy { - public static Meta_GT_Proxy GtProxy; private boolean mFluidsGenerated = false; - public CommonProxy(){ - //Should Register Gregtech Materials I've Made + public CommonProxy() { + // Should Register Gregtech Materials I've Made Utils.registerEvent(this); - if (LoadedMods.Gregtech){ - if (!CORE.GTNH) { - Logger.INFO("We're using Gregtech "+Utils.getGregtechVersionAsString()); - } - else { - Logger.INFO("We're using GTNH's Gregtech "+Utils.getGregtechVersionAsString()); - } - - Logger.INFO("Setting up our own GT_Proxy."); - GtProxy = new Meta_GT_Proxy(); - } - else { - GtProxy = null; + if (!CORE.GTNH) { + Logger.INFO("We're using Gregtech " + Utils.getGregtechVersionAsString()); + } else { + Logger.INFO("We're using GTNH's Gregtech " + Utils.getGregtechVersionAsString()); } } @@ -65,38 +62,33 @@ public class CommonProxy { LoadedMods.checkLoaded(); Logger.INFO("Making sure we're ready to party!"); - - if (!DEBUG){ + if (!DEBUG) { Logger.WARNING("Development mode not enabled."); - } - else if (DEBUG){ + } else if (DEBUG) { Logger.INFO("Development mode enabled."); - } - else { + } else { Logger.WARNING("Development mode not set."); } AddToCreativeTab.initialiseTabs(); - - //Moved from Init after Debug Loading. - //29/01/18 - Alkalus - //Moved earlier into PreInit, so that Items exist before they're called upon in recipes. - //20/03/18 - Alkalus + + // Moved from Init after Debug Loading. + // 29/01/18 - Alkalus + // Moved earlier into PreInit, so that Items exist before they're called upon in + // recipes. + // 20/03/18 - Alkalus ModItems.init(); ModBlocks.init(); CI.preInit(); - - - + COMPAT_IntermodStaging.preInit(); BookHandler.run(); - //Registration of entities and renderers + // Registration of entities and renderers Logger.INFO("[Proxy] Calling Entity registrator."); registerEntities(); Logger.INFO("[Proxy] Calling Tile Entity registrator."); registerTileEntities(); - - + Logger.INFO("[Proxy] Calling Render registrator."); registerRenderThings(); @@ -104,25 +96,21 @@ public class CommonProxy { Material.generateQueuedFluids(); mFluidsGenerated = true; } - - //Must be done in pre-init. - generateMobSpawners(); - + } public void init(final FMLInitializationEvent e) { - //Debug Loading - if (CORE.DEBUG){ + // Debug Loading + if (CORE.DEBUG) { DEBUG_INIT.registerHandlers(); - } + } ModBlocks.blockCustomMobSpawner = new BlockGenericSpawner(); - + if (!mFluidsGenerated && ItemList.valueOf("Cell_Empty").hasBeenSet()) { Material.generateQueuedFluids(); mFluidsGenerated = true; - } - else { + } else { Logger.INFO("[ERROR] Did not generate fluids at all."); Logger.WARNING("[ERROR] Did not generate fluids at all."); Logger.ERROR("[ERROR] Did not generate fluids at all."); @@ -133,22 +121,22 @@ public class CommonProxy { * Register the Event Handlers. */ - //Prevents my Safes being destroyed. + // Prevents my Safes being destroyed. Utils.registerEvent(new PickaxeBlockBreakEventHandler()); - //Block Handler for all events. + // Block Handler for all events. Utils.registerEvent(new BlockEventHandler()); Utils.registerEvent(new GeneralTooltipEventHandler()); - //Handles Custom tooltips for EIO. + // Handles Custom tooltips for EIO. Utils.registerEvent(new HandlerTooltip_EIO()); - //Handles Custom Tooltips for GC + // Handles Custom Tooltips for GC Utils.registerEvent(new HandlerTooltip_GC()); - - //Register Chunkloader + + // Register Chunkloader ForgeChunkManager.setForcedChunkLoadingCallback(GTplusplus.instance, ChunkManager.getInstance()); Utils.registerEvent(ChunkManager.getInstance()); - if (ConfigSwitches.disableZombieReinforcement){ - //Make Zombie reinforcements fuck off. + if (ConfigSwitches.disableZombieReinforcement) { + // Make Zombie reinforcements fuck off. Utils.registerEvent(new ZombieBackupSpawnEventHandler()); } @@ -156,7 +144,7 @@ public class CommonProxy { * End of Subscribe Event registration. */ - //Compat Handling + // Compat Handling COMPAT_HANDLER.registerMyModsOreDictEntries(); COMPAT_HANDLER.intermodOreDictionarySupport(); COMPAT_IntermodStaging.init(); @@ -166,14 +154,14 @@ public class CommonProxy { Logger.INFO("Cleaning up, doing postInit."); PlayerCache.initCache(); - //Make Burnables burnable - if (!CORE.burnables.isEmpty()){ + // Make Burnables burnable + if (!CORE.burnables.isEmpty()) { BurnableFuelHandler fuelHandler = new BurnableFuelHandler(); GameRegistry.registerFuelHandler(fuelHandler); - Logger.INFO("[Fuel Handler] Registering "+fuelHandler.getClass().getName()); + Logger.INFO("[Fuel Handler] Registering " + fuelHandler.getClass().getName()); } - //Compat Handling + // Compat Handling COMPAT_HANDLER.RemoveRecipesFromOtherMods(); COMPAT_HANDLER.InitialiseHandlerThenAddRecipes(); COMPAT_HANDLER.startLoadingGregAPIBasedRecipes(); @@ -181,25 +169,23 @@ public class CommonProxy { COMPAT_HANDLER.runQueuedRecipes(); } - - public void serverStarting(final FMLServerStartingEvent e) - { + public void serverStarting(final FMLServerStartingEvent e) { COMPAT_HANDLER.InitialiseLateHandlerThenAddRecipes(); } - + public void onLoadComplete(FMLLoadCompleteEvent event) { COMPAT_IntermodStaging.onLoadComplete(event); } - public void registerNetworkStuff(){ + public void registerNetworkStuff() { GuiHandler.init(); } - public void registerEntities(){ + public void registerEntities() { InternalEntityRegistry.registerEntities(); } - public void registerTileEntities(){ + public void registerTileEntities() { ModTileEntities.init(); } @@ -212,11 +198,11 @@ public class CommonProxy { } public void generateMysteriousParticles(final Entity entity) { - + } - + public void generateMobSpawners() { - //Try register some test spawners + // Try register some test spawners Utils.createNewMobSpawner(0, EntityGiantChickenBase.class); Utils.createNewMobSpawner(1, EntitySickBlaze.class); Utils.createNewMobSpawner(2, EntityStaballoyConstruct.class); diff --git a/src/Java/gtPlusPlus/core/container/Container_SuperJukebox.java b/src/Java/gtPlusPlus/core/container/Container_SuperJukebox.java new file mode 100644 index 0000000000..cb2f33dd47 --- /dev/null +++ b/src/Java/gtPlusPlus/core/container/Container_SuperJukebox.java @@ -0,0 +1,190 @@ +package gtPlusPlus.core.container; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.block.ModBlocks; +import gtPlusPlus.core.inventories.InventoryCircuitProgrammer; +import gtPlusPlus.core.slots.SlotIntegratedCircuit; +import gtPlusPlus.core.slots.SlotNoInput; +import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer; + +public class Container_SuperJukebox extends Container { + + protected TileEntityCircuitProgrammer tile_entity; + public final InventoryCircuitProgrammer inventoryChest; + + private final World worldObj; + private final int posX; + private final int posY; + private final int posZ; + + public static final int SLOT_OUTPUT = 25; + + public static int StorageSlotNumber = 26; // Number of slots in storage area + public static int InventorySlotNumber = 36; // Inventory Slots (Inventory + // and Hotbar) + public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All + // slots + + public Container_SuperJukebox(final InventoryPlayer inventory, final TileEntityCircuitProgrammer te) { + this.tile_entity = te; + this.inventoryChest = te.getInventory(); + + int var6; + int var7; + this.worldObj = te.getWorldObj(); + this.posX = te.xCoord; + this.posY = te.yCoord; + this.posZ = te.zCoord; + Logger.INFO("1"); + + int o = 0; + + // Storage Side + /*for (var6 = 0; var6 < 3; var6++) { + for (var7 = 0; var7 < 5; var7++) { + this.addSlotToContainer(new SlotIntegratedCircuit(o, this.inventoryChest, o, 44 + (var7 * 18), 15 + (var6 * 18))); + o++; + } + }*/ + + + int xStart = 8; + int yStart = 5; + + try { + //0 + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart, yStart)); + //1-10 + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+18, yStart)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+36, yStart)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+54, yStart)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+72, yStart)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+90, yStart)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+108, yStart)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+18, yStart+18)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+36, yStart+18)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+54, yStart+18)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+72, yStart+18)); + //11-20 + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+90, yStart+18)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+108, yStart+18)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+18, yStart+36)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+36, yStart+36)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+54, yStart+36)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+72, yStart+36)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+90, yStart+36)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+108, yStart+36)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+18, yStart+54)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+36, yStart+54)); + //21-24 + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+54, yStart+54)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+72, yStart+54)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+90, yStart+54)); + this.addSlotToContainer(new SlotIntegratedCircuit(this.inventoryChest, o++, xStart+108, yStart+54)); + Logger.INFO("2"); + + //Add Output + this.addSlotToContainer(new SlotNoInput(this.inventoryChest, SLOT_OUTPUT, xStart+(8*18), yStart+54)); + o++; + Logger.INFO("3"); + + + + // Player Inventory + for (var6 = 0; var6 < 3; ++var6) { + for (var7 = 0; var7 < 9; ++var7) { + this.addSlotToContainer(new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18))); + } + } + // Player Hotbar + for (var6 = 0; var6 < 9; ++var6) { + this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142)); + } + + + + Logger.INFO("4"); + } + catch (Throwable t) {} + + } + + @Override + public ItemStack slotClick(final int aSlotIndex, final int aMouseclick, final int aShifthold, + final EntityPlayer aPlayer) { + + if (!aPlayer.worldObj.isRemote) { + if ((aSlotIndex == 999) || (aSlotIndex == -999)) { + // Utils.LOG_WARNING("??? - "+aSlotIndex); + } + } + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + } + + @Override + public void onContainerClosed(final EntityPlayer par1EntityPlayer) { + super.onContainerClosed(par1EntityPlayer); + } + + @Override + public boolean canInteractWith(final EntityPlayer par1EntityPlayer) { + if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockCircuitProgrammer) { + return false; + } + + return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D; + } + + @Override + public ItemStack transferStackInSlot(final EntityPlayer par1EntityPlayer, final int par2) { + ItemStack var3 = null; + final Slot var4 = (Slot) this.inventorySlots.get(par2); + + if ((var4 != null) && var4.getHasStack()) { + final ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + /* + * if (par2 == 0) { if (!this.mergeItemStack(var5, + * InOutputSlotNumber, FullSlotNumber, true)) { return null; } + * + * var4.onSlotChange(var5, var3); } else if (par2 >= + * InOutputSlotNumber && par2 < InventoryOutSlotNumber) { if + * (!this.mergeItemStack(var5, InventoryOutSlotNumber, + * FullSlotNumber, false)) { return null; } } else if (par2 >= + * InventoryOutSlotNumber && par2 < FullSlotNumber) { if + * (!this.mergeItemStack(var5, InOutputSlotNumber, + * InventoryOutSlotNumber, false)) { return null; } } else if + * (!this.mergeItemStack(var5, InOutputSlotNumber, FullSlotNumber, + * false)) { return null; } + */ + + if (var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + + if (var5.stackSize == var3.stackSize) { + return null; + } + + var4.onPickupFromSlot(par1EntityPlayer, var5); + } + + return var3; + } + + // Can merge Slot + @Override + public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) { + return super.func_94530_a(p_94530_1_, p_94530_2_); + } + +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java b/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java index f130a1f936..36f5b86184 100644 --- a/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java +++ b/src/Java/gtPlusPlus/core/entity/InternalEntityRegistry.java @@ -8,6 +8,7 @@ import gtPlusPlus.australia.entity.type.EntityAustralianSpiderBase; import gtPlusPlus.australia.entity.type.EntityBoar; import gtPlusPlus.australia.entity.type.EntityDingo; import gtPlusPlus.australia.entity.type.EntityOctopus; +import gtPlusPlus.core.entity.monster.EntityBatKing; import gtPlusPlus.core.entity.monster.EntityGiantChickenBase; import gtPlusPlus.core.entity.monster.EntitySickBlaze; import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct; @@ -55,6 +56,7 @@ public class InternalEntityRegistry { */ EntityRegistry.registerGlobalEntityID(EntityGiantChickenBase.class, "bigChickenFriendly", EntityRegistry.findGlobalUniqueEntityId(), Utils.rgbtoHexValue(255, 0, 0), Utils.rgbtoHexValue(175, 175, 175)); + EntityRegistry.registerGlobalEntityID(EntityBatKing.class, "batKing", EntityRegistry.findGlobalUniqueEntityId(), Utils.rgbtoHexValue(175, 175, 0), Utils.rgbtoHexValue(0, 175, 175)); //EntityRegistry.registerModEntity(EntityGiantChickenBase.class, "bigChickenFriendly", mEntityID++, GTplusplus.instance, 64, 20, true); diff --git a/src/Java/gtPlusPlus/core/entity/monster/EntityBatKing.java b/src/Java/gtPlusPlus/core/entity/monster/EntityBatKing.java new file mode 100644 index 0000000000..114ca50b4b --- /dev/null +++ b/src/Java/gtPlusPlus/core/entity/monster/EntityBatKing.java @@ -0,0 +1,228 @@ +package gtPlusPlus.core.entity.monster; + +import java.util.Calendar; +import net.minecraft.entity.Entity; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.passive.EntityBat; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityBatKing extends EntityBat +{ + /** Coordinates of where the bat spawned. */ + private ChunkCoordinates spawnPosition; + + public EntityBatKing(World p_i1680_1_) + { + super(p_i1680_1_); + this.setSize(2F, 3.6F); + this.setIsBatHanging(false); + } + + protected void entityInit() + { + super.entityInit(); + } + + /** + * Returns the volume for the sounds this mob makes. + */ + protected float getSoundVolume() + { + return 0.3F; + } + + /** + * Gets the pitch of living sounds in living entities. + */ + protected float getSoundPitch() + { + return super.getSoundPitch() * 0.35F; + } + + /** + * Returns the sound this mob makes while it's alive. + */ + protected String getLivingSound() + { + return this.getIsBatHanging() && this.rand.nextInt(4) != 0 ? null : "mob.bat.idle"; + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + protected String getHurtSound() + { + return "mob.bat.hurt"; + } + + /** + * Returns the sound this mob makes on death. + */ + protected String getDeathSound() + { + return "mob.bat.death"; + } + + /** + * Returns true if this entity should push and be pushed by other entities when colliding. + */ + public boolean canBePushed() + { + return false; + } + + protected void collideWithEntity(Entity p_82167_1_) {} + + protected void collideWithNearbyEntities() {} + + protected void applyEntityAttributes() + { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(60.0D); + } + + public boolean getIsBatHanging() + { + return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; + } + + public void setIsBatHanging(boolean p_82236_1_) + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (p_82236_1_) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } + else + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + } + + /** + * Returns true if the newer Entity AI code should be run + */ + protected boolean isAIEnabled() + { + return true; + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() + { + super.onUpdate(); + } + + protected void updateAITasks() + { + super.updateAITasks(); + + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to + * prevent them from trampling crops + */ + protected boolean canTriggerWalking() + { + return false; + } + + /** + * Called when the mob is falling. Calculates and applies fall damage. + */ + protected void fall(float p_70069_1_) {} + + /** + * Takes in the distance the entity has fallen this tick and whether its on the ground to update the fall distance + * and deal fall damage if landing on the ground. Args: distanceFallenThisTick, onGround + */ + protected void updateFallState(double p_70064_1_, boolean p_70064_3_) {} + + /** + * Return whether this entity should NOT trigger a pressure plate or a tripwire. + */ + public boolean doesEntityNotTriggerPressurePlate() + { + return true; + } + + /** + * Called when the entity is attacked. + */ + public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) + { + if (this.isEntityInvulnerable()) + { + return false; + } + else + { + if (!this.worldObj.isRemote && this.getIsBatHanging()) + { + this.setIsBatHanging(false); + } + + return super.attackEntityFrom(p_70097_1_, p_70097_2_); + } + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound p_70037_1_) + { + super.readEntityFromNBT(p_70037_1_); + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound p_70014_1_) + { + super.writeEntityToNBT(p_70014_1_); + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + public boolean getCanSpawnHere() + { + int i = MathHelper.floor_double(this.boundingBox.minY); + + if (i >= 63) + { + return false; + } + else + { + int j = MathHelper.floor_double(this.posX); + int k = MathHelper.floor_double(this.posZ); + int l = this.worldObj.getBlockLightValue(j, i, k); + byte b0 = 4; + Calendar calendar = this.worldObj.getCurrentDate(); + + if ((calendar.get(2) + 1 != 10 || calendar.get(5) < 20) && (calendar.get(2) + 1 != 11 || calendar.get(5) > 3)) + { + if (this.rand.nextBoolean()) + { + return false; + } + } + else + { + b0 = 7; + } + + return l > this.rand.nextInt(b0) ? false : super.getCanSpawnHere(); + } + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/gui/machine/GUI_SuperJukebox.java b/src/Java/gtPlusPlus/core/gui/machine/GUI_SuperJukebox.java new file mode 100644 index 0000000000..adaf8469ad --- /dev/null +++ b/src/Java/gtPlusPlus/core/gui/machine/GUI_SuperJukebox.java @@ -0,0 +1,44 @@ +package gtPlusPlus.core.gui.machine; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; +import gtPlusPlus.core.container.Container_CircuitProgrammer; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer; + +@SideOnly(Side.CLIENT) +public class GUI_SuperJukebox extends GuiContainer { + + private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation(CORE.MODID, "textures/gui/CircuitProgrammer.png"); + + public GUI_SuperJukebox(final InventoryPlayer player_inventory, final TileEntityCircuitProgrammer te){ + super(new Container_CircuitProgrammer(player_inventory, te)); + } + + @Override + protected void drawGuiContainerForegroundLayer(final int i, final int j){ + super.drawGuiContainerForegroundLayer(i, j); + } + + @Override + protected void drawGuiContainerBackgroundLayer(final float f, final int i, final int j){ + GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + this.mc.renderEngine.bindTexture(craftingTableGuiTextures); + final int x = (this.width - this.xSize) / 2; + final int y = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); + } + + //This method is called when the Gui is first called! + @Override + public void initGui(){ + super.initGui(); + } + +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index c37369b00f..eaa17f9f87 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -120,6 +120,7 @@ public class COMPAT_HANDLER { GregtechIndustrialArcFurnace.run(); GregtechSolarTower.run(); GregtechLargeTurbinesAndHeatExchanger.run(); + GregtechPowerBreakers.run(); //New Horizons Content NewHorizonsAccelerator.run(); diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 2fd23ec88d..a14073e569 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -292,11 +292,12 @@ public final class ModItems { public static Item boxFood; public static Item boxMagic; - private static DustDecayable dustMolybdenum99; + public static DustDecayable dustMolybdenum99; + public static DustDecayable dustTechnetium99; + public static DustDecayable dustTechnetium99M; - private static DustDecayable dustTechnetium99; - - private static DustDecayable dustTechnetium99M; + public static IonParticles itemIonParticleBase; + public static StandardBaseParticles itemStandarParticleBase; static { Logger.INFO("Items!"); @@ -580,7 +581,7 @@ public final class ModItems { MaterialGenerator.generate(ALLOY.ABYSSAL); - MaterialGenerator.generate(ALLOY.TITANSTEEL, false); + MaterialGenerator.generate(ALLOY.TITANSTEEL); MaterialGenerator.generate(ALLOY.ARCANITE); MaterialGenerator.generate(ALLOY.OCTIRON); @@ -630,7 +631,7 @@ public final class ModItems { dustLithiumPeroxide = ItemUtils.generateSpecialUseDusts("LithiumPeroxide", "Lithium Peroxide", "Li2O2", Utils.rgbtoHexValue(250, 250, 250))[0]; //https://en.wikipedia.org/wiki/Lithium_peroxide dustLithiumHydroxide = ItemUtils.generateSpecialUseDusts("LithiumHydroxide", "Lithium Hydroxide", "LiOH", Utils.rgbtoHexValue(250, 250, 250))[0]; //https://en.wikipedia.org/wiki/Lithium_hydroxide - if ((ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1).getItem() == ModItems.AAA_Broken) || !LoadedMods.IHL){ + if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1)) && !LoadedMods.IHL){ dustQuicklime = ItemUtils.generateSpecialUseDusts("Quicklime", "Quicklime", "CaO", Utils.rgbtoHexValue(255, 255, 175))[0]; //https://en.wikipedia.org/wiki/Calcium_oxide } dustCalciumHydroxide = ItemUtils.generateSpecialUseDusts("CalciumHydroxide", "Hydrated Lime", "Ca(OH)2", Utils.rgbtoHexValue(255, 255, 255))[0]; //https://en.wikipedia.org/wiki/Calcium_hydroxide @@ -814,8 +815,8 @@ public final class ModItems { dustTechnetium99M = new DustDecayable("dustTechnetium99M", ELEMENT.getInstance().TECHNETIUM.getRgbAsHex(), 8570, new String[] {""+StringUtils.superscript("99ᵐTc"), "Result: Technicium 99 ("+StringUtils.superscript("99Tc")+")"}, dustTechnetium99, 4); dustMolybdenum99 = new DustDecayable("dustMolybdenum99", ELEMENT.getInstance().MOLYBDENUM.getRgbAsHex(), 16450, new String[] {""+StringUtils.superscript("99Mo"), "Result: Technicium 99ᵐ ("+StringUtils.superscript("99ᵐTc")+")"}, dustTechnetium99M, 4); - new IonParticles(); - new StandardBaseParticles(); + itemIonParticleBase = new IonParticles(); + itemStandarParticleBase = new StandardBaseParticles(); diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockDoor.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockDoor.java index a41a44c113..2aba494d6e 100644 --- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockDoor.java +++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockDoor.java @@ -1,5 +1,7 @@ package gtPlusPlus.core.item.base.itemblock; +import java.util.List; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -89,4 +91,10 @@ public class ItemBlockDoor extends ItemBlock { } } } + + @Override + public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_) { + p_77624_3_.add("This is a block, you can place it by right clicking"); + super.addInformation(p_77624_1_, p_77624_2_, p_77624_3_, p_77624_4_); + } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java b/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java index 89cd1e55ae..b7bbc84757 100644 --- a/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java +++ b/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java @@ -30,7 +30,10 @@ public abstract class BaseItemParticle extends CoreItem { public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { return aColourMap.get(stack.getItemDamage()); } - + + public int getColorFromParentClass(ItemStack stack, int aaa) { + return super.getColorFromItemStack(stack, aaa); + } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override diff --git a/src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java b/src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java index ff5f67d2da..517a698e80 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java @@ -1,23 +1,42 @@ package gtPlusPlus.core.item.chemistry; +import java.util.HashMap; +import java.util.List; + import gregtech.api.enums.Materials; import gtPlusPlus.core.item.base.misc.BaseItemParticle; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; public class IonParticles extends BaseItemParticle { + public static HashMap<String, Integer> NameToMetaMap = new HashMap<String, Integer>(); + public static HashMap<Integer, String> MetaToNameMap = new HashMap<Integer, String>(); + + public IonParticles() { super("Ion", aElements.length, EnumRarity.rare); } private static final String[] aElements = new String[]{"Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminum", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Cesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson"}; + + public static IIcon[] overlays = new IIcon[aElements.length]; + public static IIcon baseTexture; static { //Generate Ions int key = 0; for (String s : aElements) { + //Map names to Meta + NameToMetaMap.put(Utils.sanitizeString(s.toLowerCase()), key); + MetaToNameMap.put(key, Utils.sanitizeString(s.toLowerCase())); Materials m = Materials.get(s); int aColour = 0; if (m == null) { @@ -45,5 +64,103 @@ public class IonParticles extends BaseItemParticle { public String getUnlocalizedName(final ItemStack itemStack) { return "item.particle.ion" + "." + aElements[itemStack.getItemDamage()]; } + + private static boolean createNBT(ItemStack rStack){ + final NBTTagCompound tagMain = new NBTTagCompound(); + final NBTTagCompound tagNBT = new NBTTagCompound(); + tagNBT.setLong("Charge", 0); + tagMain.setTag("Ion", tagNBT); + rStack.setTagCompound(tagMain); + return true; + } + + public static final long getChargeState(final ItemStack aStack) { + NBTTagCompound aNBT = aStack.getTagCompound(); + if (aNBT != null) { + aNBT = aNBT.getCompoundTag("Ion"); + if (aNBT != null) { + return aNBT.getLong("Charge"); + } + } + else { + createNBT(aStack); + } + return 0L; + } + + public static final boolean setChargeState(final ItemStack aStack, final long aCharge) { + NBTTagCompound aNBT = aStack.getTagCompound(); + if (aNBT != null) { + aNBT = aNBT.getCompoundTag("Ion"); + if (aNBT != null) { + aNBT.setLong("Charge", aCharge); + return true; + } + } + return false; + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + if (stack.getTagCompound() == null){ + createNBT(stack); + } + double chargeState = getChargeState(stack); + return chargeState; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + long aCharge = getChargeState(stack); + String aState = EnumChatFormatting.YELLOW+"Unknown"+EnumChatFormatting.GRAY; + //State not set + if (aCharge == 0) { + list.add(EnumChatFormatting.GRAY+"A "+MetaToNameMap.get(stack.getItemDamage())+" Ion with an "+aState+" charge state"); + } + else { + if (aCharge > 0) { + aState = EnumChatFormatting.GREEN+"Positive"+EnumChatFormatting.GRAY; + } + else { + aState = EnumChatFormatting.RED+"Negative"+EnumChatFormatting.GRAY; + } + + list.add(EnumChatFormatting.GRAY+"A "+MetaToNameMap.get(stack.getItemDamage())+" Ion with a "+aState+" charge state of "+aCharge+""); + } + super.addInformation(stack, player, list, bool); + } + + @Override + public void registerIcons(IIconRegister reg) { + for (int i = 0; i < IonParticles.overlays.length; i++) { + IonParticles.overlays[i] = reg.registerIcon(CORE.MODID + ":" + "ion/"+i); + } + IonParticles.baseTexture = reg.registerIcon(CORE.MODID + ":" + "ion/IonBase"); + } + + @Override + public IIcon getIconFromDamage(int meta) { + return IonParticles.overlays[meta]; + } + + @Override + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + public IIcon getIconFromDamageForRenderPass(int aMeta, int aPass) { + if (aPass == 0) { + return IonParticles.baseTexture; + } + else { + return IonParticles.overlays[aMeta]; + } + } + + @Override + public int getRenderPasses(int metadata) { + return 2; + } } diff --git a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java index 9bd8a521ab..a516cb0639 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java @@ -404,7 +404,7 @@ public class RocketFuels { 480); ItemStack aCell11dimethylhydrazine = ItemUtils.getItemStackOfAmountFromOreDict("cell1,1Dimethylhydrazine", 2); - if (aCell11dimethylhydrazine != null && aCell11dimethylhydrazine.getItem() != ModItems.AAA_Broken) { + if (ItemUtils.checkForInvalidItems(aCell11dimethylhydrazine)) { GT_Values.RA.addCentrifugeRecipe( CI.getNumberedCircuit(23), aCell11dimethylhydrazine, diff --git a/src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java b/src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java index dd07d41b3d..1e833a7b00 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java @@ -1,15 +1,26 @@ package gtPlusPlus.core.item.chemistry; -import gregtech.api.enums.Materials; +import java.util.HashMap; +import java.util.List; + +import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.item.base.misc.BaseItemParticle; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Particle; import gtPlusPlus.core.material.Particle.ElementaryGroup; import gtPlusPlus.core.util.Utils; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; public class StandardBaseParticles extends BaseItemParticle { + public static HashMap<String, Integer> NameToMetaMap = new HashMap<String, Integer>(); + public static HashMap<Integer, String> MetaToNameMap = new HashMap<Integer, String>(); + public StandardBaseParticles() { super("Base", aTypes.length, EnumRarity.rare); } @@ -17,13 +28,19 @@ public class StandardBaseParticles extends BaseItemParticle { private static final String[] aTypes = new String[] { "Graviton", "Up", "Down", "Charm", "Strange", "Top", "Bottom", "Electron", "Electron Neutrino", "Muon", "Muon Neutrino", "Tau", "Tau Neutrino", "Gluon", "Photon", "Z Boson", "W Boson", "Higgs Boson", "Proton", "Neutron", "Lambda", "Omega", "Pion", - "ETA Meson", }; + "ETA Meson", "Unknown" }; + + public IIcon[] icons = new IIcon[aTypes.length]; static { //Generate Ions int key = 0; + + for (String s : aTypes) { - Particle p; + //Map names to Meta + NameToMetaMap.put(Utils.sanitizeString(s.toLowerCase()), key); + MetaToNameMap.put(key, Utils.sanitizeString(s.toLowerCase())); for (Particle o : Particle.aMap) { int aColour = 0; if (o.mParticleName.toLowerCase().equals(s.toLowerCase())) { @@ -73,5 +90,72 @@ public class StandardBaseParticles extends BaseItemParticle { public String getUnlocalizedName(final ItemStack itemStack) { return "item.particle.base" + "." + aTypes[itemStack.getItemDamage()]; } + + public static Particle getParticle(ItemStack aStack) { + AutoMap<Particle> g = Particle.aMap; + for (Particle p : g) { + String aPartName = Utils.sanitizeString(p.mParticleName.toLowerCase()); + String expectedPart = Utils.sanitizeString(aTypes[aStack.getItemDamage()].toLowerCase()); + if (aPartName.equals(expectedPart)) { + return p; + } + } + return Particle.UNKNOWN; + } + + @Override + public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { + //return Utils.rgbtoHexValue(200, 200, 200); + return super.getColorFromParentClass(stack, HEX_OxFFFFFF); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + Particle aCharge = getParticle(stack); + EnumChatFormatting aColour = EnumChatFormatting.GRAY; + String aState = aColour+"Unknown"+EnumChatFormatting.RESET; + if (aCharge != null) { + String aGroup = aCharge.mParticleType.name().toLowerCase(); + if (aGroup.toLowerCase().contains("quark")) { + aColour = EnumChatFormatting.LIGHT_PURPLE; + } + else if (aGroup.toLowerCase().contains("lepton")) { + aColour = EnumChatFormatting.GREEN; + } + else if (aCharge == Particle.HIGGS_BOSON) { + aColour = EnumChatFormatting.YELLOW; + } + else if (aGroup.toLowerCase().contains("boson")) { + aColour = EnumChatFormatting.RED; + } + else if (aGroup.toLowerCase().contains("baryon")) { + aColour = EnumChatFormatting.BLUE; + } + else if (aGroup.toLowerCase().contains("meson")) { + aColour = EnumChatFormatting.WHITE; + } + else { + aColour = EnumChatFormatting.GRAY; + } + String aFirstLet = aGroup.substring(0, 1).toUpperCase(); + aGroup = aGroup.replaceFirst(aGroup.substring(0, 1), aFirstLet); + aState = aColour+aGroup+EnumChatFormatting.RESET; + list.add(EnumChatFormatting.GRAY + "Type: "+aState); + } + super.addInformation(stack, player, list, bool); + } + + @Override + public void registerIcons(IIconRegister reg) { + for (int i = 0; i < this.icons.length; i++) { + this.icons[i] = reg.registerIcon(CORE.MODID + ":" + "particle/"+i); + } + } + + @Override + public IIcon getIconFromDamage(int meta) { + return this.icons[meta]; + } } diff --git a/src/Java/gtPlusPlus/core/item/general/BufferCore.java b/src/Java/gtPlusPlus/core/item/general/BufferCore.java index d3c7d5112f..9b00d3d034 100644 --- a/src/Java/gtPlusPlus/core/item/general/BufferCore.java +++ b/src/Java/gtPlusPlus/core/item/general/BufferCore.java @@ -4,7 +4,7 @@ import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - +import gregtech.api.enums.GT_Values; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -21,7 +21,7 @@ public class BufferCore extends BaseItemWithDamageValue{ public BufferCore(final String unlocalizedName, final int i) { super(unlocalizedName+i); this.setTextureName(CORE.MODID + ":" + unlocalizedName); - this.setMaxStackSize(2); + this.setMaxStackSize(32); this.coreTier = i; } @@ -40,7 +40,7 @@ public class BufferCore extends BaseItemWithDamageValue{ @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add(EnumChatFormatting.GRAY+"A key crafting component for making energy buffers."); + list.add(EnumChatFormatting.GRAY+"A key crafting component for "+GT_Values.VN[this.coreTier-1]+" Applicances"); } public final int getCoreTier() { @@ -48,51 +48,25 @@ public class BufferCore extends BaseItemWithDamageValue{ } @Override - public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - //Figure Out Damage - final String s = String.format("%X", HEX_OxFFFFFF); - //Utils.LOG_INFO(s); - //String rgb = Utils.hex2Rgb(s); - //Utils.LOG_INFO(rgb); - if (this.coreTier == 1){ - HEX_OxFFFFFF = 0x4d4d4d; - } - else if (this.coreTier == 2){ - HEX_OxFFFFFF = 0x666666; - } - else if (this.coreTier == 3){ - HEX_OxFFFFFF = 0x8c8c8c; - } - else if (this.coreTier == 4){ - HEX_OxFFFFFF = 0xa6a6a6; - } - else if (this.coreTier == 5){ - HEX_OxFFFFFF = 0xcccccc; - } - else if (this.coreTier == 6){ - HEX_OxFFFFFF = 0xe6e6e6; - } - else if (this.coreTier == 7){ - HEX_OxFFFFFF = 0xffffcc; - } - else if (this.coreTier == 8){ - HEX_OxFFFFFF = 0xace600; - } - else if (this.coreTier == 9){ - HEX_OxFFFFFF = 0xffff00; - } - /*else if (coreTier == 10){ - HEX_OxFFFFFF = 0xff0000; - }*/ - else if (this.coreTier == 10){ - HEX_OxFFFFFF = Utils.rgbtoHexValue(MathUtils.randInt(220, 250), MathUtils.randInt(221, 251), MathUtils.randInt(220, 250)); - } - else { - HEX_OxFFFFFF = 0xffffff; - } + public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { + int[] mTierTypes = new int[] { + Utils.rgbtoHexValue(200, 180, 180), + Utils.rgbtoHexValue(142, 153, 161), + Utils.rgbtoHexValue(230, 121, 75), + Utils.rgbtoHexValue(215, 156, 70), + Utils.rgbtoHexValue(97, 97, 96), //EV + Utils.rgbtoHexValue(202, 202, 201), + Utils.rgbtoHexValue(247, 159, 157), + Utils.rgbtoHexValue(181, 223, 223), + Utils.rgbtoHexValue(187, 219, 185), + }; + + if (this.coreTier == 10){ + return Utils.rgbtoHexValue(MathUtils.randInt(220, 250), MathUtils.randInt(221, 251), MathUtils.randInt(220, 250)); + } - return HEX_OxFFFFFF; + return mTierTypes[this.coreTier-1]; } } diff --git a/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java b/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java index 8ad87c0ea8..eb22f8fa07 100644 --- a/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java +++ b/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java @@ -4,10 +4,13 @@ import java.util.List; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import gtPlusPlus.core.lib.CORE; @@ -57,6 +60,14 @@ public class ItemControlCore extends Item { public String getUnlocalizedName(ItemStack stack) { return this.getUnlocalizedName() + "_" + stack.getItemDamage(); } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { + list.add(EnumChatFormatting.GRAY+"Allows a Multiblock to function upto "+GT_Values.VN[stack.getItemDamage()]+""); + list.add(EnumChatFormatting.GRAY+"Required Tier is determined by the sum of the eu/t of all Energy Inputs"); + list.add(EnumChatFormatting.GRAY+"Lower tiers may be used to underclock, which is useful in some situations"); + } @Override public String getItemStackDisplayName(final ItemStack tItem) { diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index 3c18e2f6f7..97da974967 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -115,7 +115,6 @@ public class CORE { @Deprecated public static IGregtech_RecipeAdder sRecipeAdder; public static IGregtech_RecipeAdder RA; - public static GregtechRecipe GT_Recipe = new GregtechRecipe(); public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; diff --git a/src/Java/gtPlusPlus/core/lib/LoadedMods.java b/src/Java/gtPlusPlus/core/lib/LoadedMods.java index 2a7ef9bc39..da0357a9c4 100644 --- a/src/Java/gtPlusPlus/core/lib/LoadedMods.java +++ b/src/Java/gtPlusPlus/core/lib/LoadedMods.java @@ -11,7 +11,6 @@ import gtPlusPlus.xmod.gregtech.recipes.GregtechRecipeAdder; public class LoadedMods { - //Initialize Variables public static boolean Gregtech = false; public static boolean PlayerAPI = false; @@ -53,6 +52,7 @@ public class LoadedMods { public static boolean TiCon = false; public static boolean StevesCarts = false; public static boolean Witchery = false; + public static boolean Waila = false; @@ -185,6 +185,11 @@ public class LoadedMods { Logger.INFO("Components enabled for: Railcraft"); totalMods++; } + if (Loader.isModLoaded("Waila")){ + Waila = true; + Logger.INFO("Components enabled for: WAILA"); + totalMods++; + } if (Loader.isModLoaded("Mekanism")){ Mekanism = true; Logger.INFO("Components enabled for: Mekanism - This feature is not configurable and balances Mekanism to suit GT."); diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 1ee02a2654..03e50aa7dd 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -753,7 +753,7 @@ public class Material { } } //Logger.MATERIALS("Unabled to find \"" + aKey + this.unlocalizedName + "\""); - return ItemUtils.getErrorStack(stacksize); + return ItemUtils.getErrorStack(stacksize, (aKey + this.unlocalizedName+" x"+stacksize)); } } diff --git a/src/Java/gtPlusPlus/core/material/Particle.java b/src/Java/gtPlusPlus/core/material/Particle.java index 6cc0f878d6..e93129ec58 100644 --- a/src/Java/gtPlusPlus/core/material/Particle.java +++ b/src/Java/gtPlusPlus/core/material/Particle.java @@ -1,6 +1,11 @@ package gtPlusPlus.core.material; import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.item.chemistry.IonParticles; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import net.minecraft.item.ItemStack; public class Particle { @@ -34,6 +39,8 @@ public class Particle { public static final Particle PION; public static final Particle ETA_MESON; + public static final Particle UNKNOWN; + public static final AutoMap<Particle> aMap = new AutoMap<Particle>(); static { @@ -80,7 +87,11 @@ public class Particle { //Mesons PION = new Particle(ElementaryGroup.MESON, "Pion", new Particle[] {MUON, MUON_NEUTRINO}); - ETA_MESON = new Particle(ElementaryGroup.MESON, "ETA Meson", new Particle[] {PION, PION, PION}); + ETA_MESON = new Particle(ElementaryGroup.MESON, "ETA Meson", new Particle[] {PION, PION, PION}); + + + //Wildcard + UNKNOWN = new Particle(ElementaryGroup.UNKNOWN, "Unknown"); } @@ -89,7 +100,8 @@ public class Particle { LEPTON, BOSON, BARYON, - MESON; + MESON, + UNKNOWN; } public final ElementaryGroup mParticleType; @@ -107,4 +119,35 @@ public class Particle { aMap.put(this); } + + public static ItemStack getIon(String aElementName, int aCharge) { + for (String g : gtPlusPlus.core.item.chemistry.IonParticles.NameToMetaMap.keySet()) { + if (g.toLowerCase().equals(Utils.sanitizeString(aElementName.toLowerCase()))){ + Integer meta = gtPlusPlus.core.item.chemistry.IonParticles.NameToMetaMap.get(Utils.sanitizeString(aElementName.toLowerCase())); + if (meta == null) { + meta = 0; + } + ItemStack aIon = ItemUtils.simpleMetaStack(ModItems.itemIonParticleBase, meta, 1); + if (aCharge != 0) { + IonParticles.setChargeState(aIon, aCharge); + } + return aIon; + } + } + return null; + } + + public static ItemStack getBaseParticle(Particle aParticle) { + String aPartName = Utils.sanitizeString(aParticle.mParticleName.toLowerCase()); + for (String g : gtPlusPlus.core.item.chemistry.StandardBaseParticles.NameToMetaMap.keySet()) { + if (g.toLowerCase().equals(aPartName)){ + Integer meta = gtPlusPlus.core.item.chemistry.StandardBaseParticles.NameToMetaMap.get(aPartName); + if (meta == null) { + meta = 0; + } + return ItemUtils.simpleMetaStack(ModItems.itemStandarParticleBase, meta, 1); + } + } + return null; + } } diff --git a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java index 727a411e4f..c7374ca7d5 100644 --- a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java +++ b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java @@ -30,6 +30,7 @@ import gtPlusPlus.australia.entity.type.EntityDingo; import gtPlusPlus.australia.entity.type.EntityOctopus; import gtPlusPlus.core.client.model.ModelGiantChicken; import gtPlusPlus.core.client.renderer.CustomOreBlockRenderer; +import gtPlusPlus.core.client.renderer.RenderBatKing; import gtPlusPlus.core.client.renderer.RenderDecayChest; import gtPlusPlus.core.client.renderer.RenderGiantChicken; import gtPlusPlus.core.client.renderer.RenderMiningExplosivesPrimed; @@ -41,6 +42,7 @@ import gtPlusPlus.core.common.CommonProxy; import gtPlusPlus.core.common.compat.COMPAT_PlayerAPI; import gtPlusPlus.core.entity.EntityPrimedMiningExplosive; import gtPlusPlus.core.entity.EntityTeslaTowerLightning; +import gtPlusPlus.core.entity.monster.EntityBatKing; import gtPlusPlus.core.entity.monster.EntityGiantChickenBase; import gtPlusPlus.core.entity.monster.EntitySickBlaze; import gtPlusPlus.core.entity.monster.EntityStaballoyConstruct; @@ -55,7 +57,9 @@ import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; import gtPlusPlus.core.tileentities.general.TileEntityFirepit; import gtPlusPlus.core.util.minecraft.particles.EntityParticleFXMysterious; import gtPlusPlus.xmod.gregtech.common.render.GTPP_CapeRenderer; +import gtPlusPlus.xmod.gregtech.common.render.GTPP_Render_MachineBlock; import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBat; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.entity.Entity; @@ -106,6 +110,7 @@ public class ClientProxy extends CommonProxy implements Runnable{ * Custom Block Renderers */ new CustomOreBlockRenderer(); + new GTPP_Render_MachineBlock(); super.init(e); } @@ -132,6 +137,7 @@ public class ClientProxy extends CommonProxy implements Runnable{ RenderingRegistry.registerEntityRenderingHandler(EntityHydrofluoricAcidPotion.class, new RenderSnowball(ModItems.itemHydrofluoricPotion)); RenderingRegistry.registerEntityRenderingHandler(EntityTeslaTowerLightning.class, new RenderPlasmaBolt()); RenderingRegistry.registerEntityRenderingHandler(EntityGiantChickenBase.class, new RenderGiantChicken(new ModelGiantChicken(), 1f)); + RenderingRegistry.registerEntityRenderingHandler(EntityBatKing.class, new RenderBatKing()); /** * Tiles diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index e2c69277f6..456b535606 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -1,22 +1,27 @@ package gtPlusPlus.core.recipe; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack; +import static gtPlusPlus.core.lib.CORE.GTNH; import gregtech.api.GregTech_API; -import gregtech.api.enums.*; -import gregtech.api.util.*; - +import gregtech.api.enums.ConfigCategories; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import gregtech.api.util.HotFuel; +import gregtech.api.util.ThermalFuel; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.item.chemistry.IonParticles; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.Particle; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; import gtPlusPlus.core.recipe.common.CI; @@ -25,10 +30,12 @@ import gtPlusPlus.core.util.minecraft.EnchantingUtils; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; import gtPlusPlus.core.util.reflect.AddGregtechRecipe; import gtPlusPlus.everglades.dimension.Dimension_Everglades; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; public class RECIPES_GREGTECH { @@ -70,9 +77,76 @@ public class RECIPES_GREGTECH { extruderRecipes(); cuttingSawRecipes(); breweryRecipes(); + laserEngraverRecipes(); + assemblyLineRecipes(); addFuels(); } + private static void assemblyLineRecipes() { + + CORE.RA.addAssemblylineRecipe( + ItemList.Field_Generator_IV.get(1), + 20 * 60 * 30, + new ItemStack[] { + ItemList.Field_Generator_IV.get(GTNH ? 32 : 16), + ItemList.Electric_Motor_EV.get(GTNH ? 64 : 32), + ItemList.Energy_LapotronicOrb.get(GTNH ? 32 : 16), + CI.getTieredComponent(OrePrefixes.cableGt12, 7, GTNH ? 32 : 16), + CI.getTieredComponent(OrePrefixes.wireGt16, 6, GTNH ? 64 : 32), + ItemUtils.getOrePrefixStack(OrePrefixes.plate, Materials.Naquadria, GTNH ? 64 : 16), + ELEMENT.getInstance().GADOLINIUM.getDust(GTNH ? 32 : 8), + ELEMENT.getInstance().SAMARIUM.getDust(GTNH ? 16 : 4), + ALLOY.ARCANITE.getGear(GTNH ? 8 : 2), + CI.getTieredComponent(OrePrefixes.circuit, 5, GTNH ? 64 : 32), + CI.getTieredComponent(OrePrefixes.circuit, 6, GTNH ? 32 : 16), + CI.getTieredComponent(OrePrefixes.circuit, 7, GTNH ? 16 : 8), + GregtechItemList.Laser_Lens_Special.get(1) + }, + new FluidStack[] { + ALLOY.NITINOL_60.getFluid(144 * 9 * (GTNH ? 4 : 2)), + ALLOY.ENERGYCRYSTAL.getFluid(144 * 9 * (GTNH ? 8 : 4)), + ALLOY.TUMBAGA.getFluid(144 * 9 * (GTNH ? 32 : 8)), + ALLOY.NICHROME.getFluid(144 * 1 * (GTNH ? 16 : 4)), + + }, + ItemUtils.getSimpleStack(ModBlocks.blockCasings3Misc, 15, 32), + 20 * 60 * 10 * (GTNH ? 2 : 1), + (int) GT_Values.V[6]); + + } + + private static void laserEngraverRecipes() { + + GT_Values.RA.addLaserEngraverRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1), + 20 * 60 * 3, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier)); + + GT_Values.RA.addLaserEngraverRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 8L), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1), + 20 * 60 * 2, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier)); + + GT_Values.RA.addLaserEngraverRecipe( + ALLOY.NITINOL_60.getBlock(2), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1), + 20 * 60 * 1, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier)); + + GT_Values.RA.addLaserEngraverRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 64L), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1), + 20 * 60 * 5, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier)); + + } + private static void breweryRecipes() { CORE.RA.addBrewingRecipe(14, EnchantingUtils.getMobEssence(100), EnchantingUtils.getLiquidXP(1332), 100, 120, false); CORE.RA.addBrewingRecipe(14, EnchantingUtils.getLiquidXP(1332), EnchantingUtils.getMobEssence(100), 100, 120, false); @@ -92,7 +166,7 @@ public class RECIPES_GREGTECH { ItemUtils.getSimpleStack(ModItems.dustDecayedRadium226, 1), null, null, - FluidUtils.getFluidStack("radon", !CORE.GTNH ? 500 : 144), + FluidUtils.getFluidStack("radon", !GTNH ? 500 : 144), null, null, null, @@ -118,7 +192,7 @@ public class RECIPES_GREGTECH { private static void blastSmelterRecipes() { - if (!CORE.GTNH) { + if (!GTNH) { // Trinium CORE.RA.addBlastSmelterRecipe( new ItemStack[] { @@ -481,10 +555,9 @@ public class RECIPES_GREGTECH { } // Calcium Hydroxide - if ((ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1).getItem() != ModItems.AAA_Broken) - || LoadedMods.IHL) { + if ((ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) || LoadedMods.IHL) { try { - + CORE.RA.addDehydratorRecipe( new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 10) }, // Item FluidUtils.getFluidStack("water", 10000), // Fluid input @@ -908,13 +981,6 @@ public class RECIPES_GREGTECH { } - private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final ItemStack outputA, - final int seconds, final int voltage) { - // return GT_Values.RA.addAssemblerRecipe(inputA, inputB, outputA, - // seconds*20, voltage); - return addAR(inputA, inputB, null, outputA, seconds * 20, voltage); - } - private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final FluidStack inputFluidA, final ItemStack outputA, final int seconds, final int voltage) { // return GT_Values.RA.addAssemblerRecipe(inputA, inputB, outputA, @@ -953,7 +1019,7 @@ public class RECIPES_GREGTECH { private static void addFuels() { Logger.INFO("Registering New Fuels."); - if (!CORE.GTNH) { + if (!GTNH) { GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketFire_water", 0, 1), null, 120, 0); GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketRocket_fuel", 0, 1), null, 112, 0); GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketHootch", 0, 1), null, 36, 0); @@ -1116,7 +1182,7 @@ public class RECIPES_GREGTECH { CI.emptyCells(1), 300 * 20); // LFTR Fuel Related Compounds - if (CORE.GTNH) { + if (GTNH) { // Hydroxide AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly( ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), @@ -1140,7 +1206,7 @@ public class RECIPES_GREGTECH { CI.emptyCells(2), GT_Values.NI, 20 * 20, 30); } - if (!CORE.GTNH) { + if (!GTNH) { // Hydroxide GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF, @@ -1261,40 +1327,202 @@ public class RECIPES_GREGTECH { //Polonium CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.bismuth", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, null, new int[] { 100 }, 20 * 300, 2040, + new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, null, new int[] { 100 }, 20 * 300 * 100, 2040, 500 * 20); //Americium CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.americium", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, null, new int[] { 2500 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, null, new int[] { 2500 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Strontium u235 CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium235", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 570 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 570 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Strontium u233 CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium233", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 660 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 660 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Strontium pu239 CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium239", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 220 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 220 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Plutonium CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium238", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, null, new int[] { 780 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, null, new int[] { 780 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value - //Neptunium CORE.RA.addCyclotronRecipe(new ItemStack[] {ELEMENT.getInstance().URANIUM238.getDust(1) }, FluidUtils.getFluidStack("deuterium", 400), - ItemUtils.getSimpleStack(ModItems.dustNeptunium238), null, new int[] { 500 }, 20 * 5, 500, + new ItemStack[] {ItemUtils.getSimpleStack(ModItems.dustNeptunium238)}, null, new int[] { 500 }, 20 * 5, 500, 500 * 20); //PO Special Value + + + /** + * Particle Science + */ + + // Quark Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(3), + FluidUtils.getFluidStack("plasma.hydrogen", 1000), + new ItemStack[] { + Particle.getBaseParticle(Particle.UP), + Particle.getBaseParticle(Particle.DOWN), + Particle.getBaseParticle(Particle.CHARM), + Particle.getBaseParticle(Particle.STRANGE), + Particle.getBaseParticle(Particle.TOP), + Particle.getBaseParticle(Particle.BOTTOM), + }, + null, + new int[] { 50, 50, 50, 50, 50, 50 }, + 20 * 300 * 38, + (int) GT_Values.V[7], + 750 * 20); + + // Lepton Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(6), + FluidUtils.getFluidStack("plasma.helium", 1500), + new ItemStack[] { + Particle.getBaseParticle(Particle.ELECTRON), + Particle.getBaseParticle(Particle.MUON), + Particle.getBaseParticle(Particle.TAU), + Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO), + Particle.getBaseParticle(Particle.MUON_NEUTRINO), + Particle.getBaseParticle(Particle.TAU_NEUTRINO), + }, + null, + new int[] { 60, 40, 20, 15, 10, 5 }, + 20 * 300 * 38, + (int) GT_Values.V[7], + 750 * 20); + + //Boson Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(9), + FluidUtils.getFluidStack("plasma.helium", 1500), + new ItemStack[] { + Particle.getBaseParticle(Particle.GLUON), + Particle.getBaseParticle(Particle.PHOTON), + Particle.getBaseParticle(Particle.Z_BOSON), + Particle.getBaseParticle(Particle.W_BOSON), + Particle.getBaseParticle(Particle.HIGGS_BOSON), + }, + null, + new int[] { 60, 60, 50, 50, 1 }, + 20 * 300 * 38, + (int) GT_Values.V[7], + 750 * 20); + + + // Mixed Smash 1 + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(12), + FluidUtils.getFluidStack("plasma.beryllium", 2500), + new ItemStack[] { + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.ETA_MESON), + Particle.getBaseParticle(Particle.PION), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.NEUTRON), + Particle.getBaseParticle(Particle.LAMBDA), + Particle.getBaseParticle(Particle.OMEGA), + Particle.getBaseParticle(Particle.HIGGS_BOSON), + }, + null, + new int[] { 10, 20, 20, 10, 10, 5, 5, 2 }, + 17 * 247 * 134, + (int) GT_Values.V[8], + 750 * 20); + + //Graviton Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(15), + FluidUtils.getFluidStack("plasma.hydrogen", GTNH ? 50 : 10), + new ItemStack[] { + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.UNKNOWN) + }, + null, + new int[] {15, 100}, + 20 * (GTNH ? 90 : 30), + (int) GT_Values.V[6], + 1000 * 20); + + FluidStack aPlasma = Materials.Duranium.getMolten(GTNH ? 40 : 10); + FluidStack aPlasma_NULL = Materials._NULL.getPlasma(1); + + if (aPlasma == null || aPlasma.isFluidEqual(aPlasma_NULL)) { + aPlasma = Materials.Americium.getMolten(GTNH ? 20 : 5); + } + + //Quantum Anomaly + CORE.RA.addCyclotronRecipe( + new ItemStack[] { + CI.getNumberedCircuit(24), + Particle.getBaseParticle(Particle.UNKNOWN), + }, + aPlasma, + new ItemStack[] { + GregtechItemList.Laser_Lens_Special.get(1) + }, + null, + new int[] {100}, + 20 * (GTNH ? 300 : 60), + (int) GT_Values.V[6], + 1000 * 20); + + /* + * Ions + */ + + int IonCount = 2; + int tenCountA = (GTNH ? 2 : 1); + int tenCountB = 0; + for (String y : IonParticles.MetaToNameMap.values()) { + FluidStack aPlasma2 = FluidUtils.getFluidStack("plasma."+y.toLowerCase(), 2); + Materials aTestMat = MaterialUtils.getMaterial(y); + FluidStack aPlasma3 = aTestMat != null ? aTestMat.getPlasma(2) : aPlasma2; + + // Ionize Plasma + if ((aPlasma2 != null && !aPlasma2.isFluidEqual(aPlasma_NULL)) || (aPlasma3 != null && !aPlasma3.isFluidEqual(aPlasma_NULL))) { + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(1+(tenCountA-1)), + aPlasma2 != null ? aPlasma2 : aPlasma3, + new ItemStack[] { + Particle.getIon(y, 1), + Particle.getIon(y, 2), + Particle.getIon(y, 3), + Particle.getIon(y, -1), + Particle.getIon(y, -2), + Particle.getIon(y, -3), + Particle.getIon(y, 1), + Particle.getIon(y, 2), + Particle.getIon(y, -1), + }, + null, + new int[] { 75, 50, 25, 75, 50, 25, 75, 50, 75}, + 20 * 20 * (IonCount++) * tenCountA, + (int) GT_Values.V[7], + 1500 * 20 * tenCountA); + } + else { + Logger.INFO("Plasma for "+y+" does not exist, please report this to Alkalus."); + } + + if (tenCountB == 12) { + tenCountB = 0; + tenCountA++; + } + else { + tenCountB++; + } + } } diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 0040edfa99..e2cfb3516e 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -208,6 +208,8 @@ public class RECIPES_Machines { private static void run(){ initModItems(); controlCores(); + energyCores(); + wirelessChargers(); } private static void initModItems(){ @@ -338,109 +340,7 @@ public class RECIPES_Machines { 8000); - //Buffer Core - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[1], cableTier1, CI.component_Plate[1], - "circuitPrimitive", "plateStaballoy", "circuitPrimitive", - CI.component_Plate[1], cableTier1, CI.component_Plate[1], - RECIPE_BufferCore_ULV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[2], cableTier2, CI.component_Plate[2], - RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV, - CI.component_Plate[2], cableTier2, CI.component_Plate[2], - RECIPE_BufferCore_LV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[3], cableTier3, CI.component_Plate[3], - RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV, - CI.component_Plate[3], cableTier3, CI.component_Plate[3], - RECIPE_BufferCore_MV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[4], cableTier4, CI.component_Plate[4], - RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV, - CI.component_Plate[4], cableTier4, CI.component_Plate[4], - RECIPE_BufferCore_HV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[5], cableTier5, CI.component_Plate[5], - RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV, - CI.component_Plate[5], cableTier5, CI.component_Plate[5], - RECIPE_BufferCore_EV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], cableTier6, CI.component_Plate[6], - RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV, - CI.component_Plate[6], cableTier6, CI.component_Plate[6], - RECIPE_BufferCore_IV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[7], cableTier7, CI.component_Plate[7], - RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV, - CI.component_Plate[7], cableTier7, CI.component_Plate[7], - RECIPE_BufferCore_LuV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], cableTier8, CI.component_Plate[8], - RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV, - CI.component_Plate[8], cableTier8, CI.component_Plate[8], - RECIPE_BufferCore_ZPM); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[9], cableTier9, CI.component_Plate[9], - RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM, - CI.component_Plate[9], cableTier9, CI.component_Plate[9], - RECIPE_BufferCore_UV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[10], cableTier10, CI.component_Plate[10], - RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV, - CI.component_Plate[10], cableTier10, CI.component_Plate[10], - RECIPE_BufferCore_MAX); - - - RecipeUtils.addShapedGregtechRecipe( - wireTier1, RECIPE_BufferCore_ULV, wireTier1, - wireTier1, CI.machineCasing_ULV, wireTier1, - CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive, - RECIPE_Buffer_ULV); - RecipeUtils.addShapedGregtechRecipe( - wireTier2, RECIPE_BufferCore_LV, wireTier2, - wireTier2, CI.machineCasing_LV, wireTier2, - CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1, - RECIPE_Buffer_LV); - RecipeUtils.addShapedGregtechRecipe( - wireTier3, RECIPE_BufferCore_MV, wireTier3, - wireTier3, CI.machineCasing_MV, wireTier3, - CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2, - RECIPE_Buffer_MV); - RecipeUtils.addShapedGregtechRecipe( - wireTier4, RECIPE_BufferCore_HV, wireTier4, - wireTier4, CI.machineCasing_HV, wireTier4, - CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3, - RECIPE_Buffer_HV); - RecipeUtils.addShapedGregtechRecipe( - wireTier5, RECIPE_BufferCore_EV, wireTier5, - wireTier5, CI.machineCasing_EV, wireTier5, - CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4, - RECIPE_Buffer_EV); - RecipeUtils.addShapedGregtechRecipe( - wireTier6, RECIPE_BufferCore_IV, wireTier6, - wireTier6, CI.machineCasing_IV, wireTier6, - CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5, - RECIPE_Buffer_IV); - RecipeUtils.addShapedGregtechRecipe( - wireTier7, RECIPE_BufferCore_LuV, wireTier7, - wireTier7, CI.machineCasing_LuV, wireTier7, - CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6, - RECIPE_Buffer_LuV); - RecipeUtils.addShapedGregtechRecipe( - wireTier8, RECIPE_BufferCore_ZPM, wireTier8, - wireTier8, CI.machineCasing_ZPM, wireTier8, - CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7, - RECIPE_Buffer_ZPM); - RecipeUtils.addShapedGregtechRecipe( - wireTier9, RECIPE_BufferCore_UV, wireTier9, - wireTier9, CI.machineCasing_UV, wireTier9, - CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8, - RECIPE_Buffer_UV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11], - wireTier10, CI.machineCasing_MAX, wireTier10, - CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9, - RECIPE_Buffer_MAX); + //Steam Condenser if (CORE.ConfigSwitches.enableMachine_SteamConverter ){ @@ -1382,53 +1282,6 @@ public class RECIPES_Machines { o_Fermenter, o_Distillery, o_Extractor, GregtechItemList.Industrial_MultiMachine.get(1)); } - - //Wireless Chargers - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_LV, CI.circuitTier1, CI.emitter_LV, - CI.component_Plate[3], CI.machineHull_LV, CI.component_Plate[3], - CI.sensor_LV, CI.fieldGenerator_LV, CI.sensor_LV, - GregtechItemList.Charger_LV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_MV, CI.circuitTier2, CI.emitter_MV, - CI.component_Plate[4], CI.machineHull_MV, CI.component_Plate[4], - CI.sensor_MV, CI.fieldGenerator_MV, CI.sensor_MV, - GregtechItemList.Charger_MV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_HV, CI.circuitTier3, CI.emitter_HV, - CI.component_Plate[5], CI.machineHull_HV, CI.component_Plate[5], - CI.sensor_HV, CI.fieldGenerator_HV, CI.sensor_HV, - GregtechItemList.Charger_HV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_EV, CI.circuitTier4, CI.emitter_EV, - CI.component_Plate[6], CI.machineHull_EV, CI.component_Plate[6], - CI.sensor_EV, CI.fieldGenerator_EV, CI.sensor_EV, - GregtechItemList.Charger_EV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_IV, CI.circuitTier5, CI.emitter_IV, - CI.component_Plate[7], CI.machineHull_IV, CI.component_Plate[7], - CI.sensor_IV, CI.fieldGenerator_IV, CI.sensor_IV, - GregtechItemList.Charger_IV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_LuV, CI.circuitTier6, CI.emitter_LuV, - CI.component_Plate[8], CI.machineHull_LuV, CI.component_Plate[8], - CI.sensor_LuV, CI.fieldGenerator_LuV, CI.sensor_LuV, - GregtechItemList.Charger_LuV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_ZPM, CI.circuitTier7, CI.emitter_ZPM, - CI.component_Plate[9], CI.machineHull_ZPM, CI.component_Plate[9], - CI.sensor_ZPM, CI.fieldGenerator_ZPM, CI.sensor_ZPM, - GregtechItemList.Charger_ZPM.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_UV, CI.circuitTier8, CI.emitter_UV, - CI.component_Plate[10], CI.machineHull_UV, CI.component_Plate[10], - CI.sensor_UV, CI.fieldGenerator_UV, CI.sensor_UV, - GregtechItemList.Charger_UV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.emitter_MAX, CI.circuitTier9, CI.emitter_MAX, - CI.component_Plate[11], CI.machineHull_MAX, CI.component_Plate[11], - CI.sensor_MAX, CI.fieldGenerator_MAX, CI.sensor_MAX, - GregtechItemList.Charger_MAX.get(1)); @@ -1576,17 +1429,60 @@ public class RECIPES_Machines { } - + int aCostMultiplier = GTNH ? 2 : 1; //Mystic Frame - Logger.RECIPE("[Inspection] Portal Frame"); - if (RecipeUtils.addShapedGregtechRecipe( - "circuitMaster", ItemList.Field_Generator_MV.get(1, CI.circuitTier7), "circuitElite", - CI.craftingToolScrewdriver, GregtechItemList.Casing_Multi_Use.get(1), CI.craftingToolWrench, - ItemList.Sensor_HV.get(1, CI.circuitTier7), ItemList.Field_Generator_HV.get(1, CI.circuitTier7), ItemList.Emitter_HV.get(1, CI.circuitTier7), - ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame, 2))){ - Logger.INFO("Added a recipe for the Toxic Everglades Portal frame"); + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + GregtechItemList.Casing_Multi_Use.get(1), + ItemList.Field_Generator_MV.get(1, CI.circuitTier7), + ItemList.Field_Generator_HV.get(1, CI.circuitTier7), + ItemList.Emitter_HV.get(1, CI.circuitTier7), + ItemList.Sensor_HV.get(1, CI.circuitTier7), + CI.getTieredComponent(OrePrefixes.plate, 7, 8 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.wireGt08, 8, 4 * aCostMultiplier), + }, + CI.getTieredFluid(6, (144 * 8)), //Input Fluid + ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame, 2), + 45 * 20 * 1 * (6), + MaterialUtils.getVoltageForTier(6)); + + + //Player Doors + ItemStack[] aDoorInputs = new ItemStack[] { + ItemUtils.getSimpleStack(Blocks.log2), + ItemUtils.getSimpleStack(Blocks.iron_block), + ItemUtils.getSimpleStack(Blocks.glass), + ItemUtils.getSimpleStack(Blocks.packed_ice), + ItemUtils.getSimpleStack(Blocks.cactus), + }; + ItemStack[] aDoorOutputs = new ItemStack[] { + ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorWooden), + ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorIron), + ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Glass), + ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Ice), + ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Cactus), + }; + + for (int y = 0; y < aDoorInputs.length; y++) { + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + ItemUtils.getSimpleStack(Items.iron_door), + aDoorInputs[y], + ItemList.Sensor_LV.get(1, CI.circuitTier7), + CI.getTieredComponent(OrePrefixes.plate, 1, 2 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.wireGt02, 1, 2 * aCostMultiplier), + ItemUtils.getSimpleStack(Items.redstone, 16) + }, + CI.getTieredFluid(1, (144 * 2)), //Input Fluid + aDoorOutputs[y], + 100, + MaterialUtils.getVoltageForTier(1)); } + + + + Logger.INFO("Done loading recipes for the Various machine blocks."); @@ -1622,7 +1518,7 @@ public class RECIPES_Machines { Item aBaseCore = ModItems.itemControlCore; ItemStack[] aInputPrevTier = new ItemStack[] { - ItemUtils.getItemStack("miscutils:item.itemBufferCore5", 1), + GTNH ? ItemUtils.getItemStack("miscutils:item.itemBufferCore3", 1) : ItemUtils.getItemStack("miscutils:item.itemBufferCore2", 1), ItemUtils.simpleMetaStack(aBaseCore, 0, 1), ItemUtils.simpleMetaStack(aBaseCore, 1, 1), ItemUtils.simpleMetaStack(aBaseCore, 2, 1), @@ -1653,7 +1549,7 @@ public class RECIPES_Machines { aOutput[2], aMat_A[3].getGear(GTNH ? 4 : 2), aMat_B[5].getPlateDouble(GTNH ? 16 : 8), - ItemUtils.getItemStack("miscutils:item.itemBufferCore"+(GTNH ? "5" : "4"), GTNH ? 4 : 2), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+(GTNH ? "4" : "3"), GTNH ? 4 : 2), ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(GTNH ? 4 : 3), GTNH ? 10 : 5) }, aMat_B[4].getFluid(144 * 16), //Input Fluid @@ -1702,10 +1598,219 @@ public class RECIPES_Machines { aOutput[i], 60 * 20 * 1 * (i+1), MaterialUtils.getVoltageForTier(i)); + } + } + + private static void energyCores() { + + //Simpler Recipes for normal Players, Force assembly crafting in GTNH + if (!GTNH) { + //Buffer Core + /*RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[1], cableTier1, CI.component_Plate[1], + "circuitPrimitive", "plateStaballoy", "circuitPrimitive", + CI.component_Plate[1], cableTier1, CI.component_Plate[1], + RECIPE_BufferCore_ULV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[2], cableTier2, CI.component_Plate[2], + RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV, + CI.component_Plate[2], cableTier2, CI.component_Plate[2], + RECIPE_BufferCore_LV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[3], cableTier3, CI.component_Plate[3], + RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV, + CI.component_Plate[3], cableTier3, CI.component_Plate[3], + RECIPE_BufferCore_MV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[4], cableTier4, CI.component_Plate[4], + RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV, + CI.component_Plate[4], cableTier4, CI.component_Plate[4], + RECIPE_BufferCore_HV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[5], cableTier5, CI.component_Plate[5], + RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV, + CI.component_Plate[5], cableTier5, CI.component_Plate[5], + RECIPE_BufferCore_EV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[6], cableTier6, CI.component_Plate[6], + RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV, + CI.component_Plate[6], cableTier6, CI.component_Plate[6], + RECIPE_BufferCore_IV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[7], cableTier7, CI.component_Plate[7], + RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV, + CI.component_Plate[7], cableTier7, CI.component_Plate[7], + RECIPE_BufferCore_LuV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[8], cableTier8, CI.component_Plate[8], + RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV, + CI.component_Plate[8], cableTier8, CI.component_Plate[8], + RECIPE_BufferCore_ZPM); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[9], cableTier9, CI.component_Plate[9], + RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM, + CI.component_Plate[9], cableTier9, CI.component_Plate[9], + RECIPE_BufferCore_UV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[10], cableTier10, CI.component_Plate[10], + RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV, + CI.component_Plate[10], cableTier10, CI.component_Plate[10], + RECIPE_BufferCore_MAX);*/ + + + /*RecipeUtils.addShapedGregtechRecipe( + wireTier1, RECIPE_BufferCore_ULV, wireTier1, + wireTier1, CI.machineCasing_ULV, wireTier1, + CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive, + RECIPE_Buffer_ULV); + RecipeUtils.addShapedGregtechRecipe( + wireTier2, RECIPE_BufferCore_LV, wireTier2, + wireTier2, CI.machineCasing_LV, wireTier2, + CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1, + RECIPE_Buffer_LV); + RecipeUtils.addShapedGregtechRecipe( + wireTier3, RECIPE_BufferCore_MV, wireTier3, + wireTier3, CI.machineCasing_MV, wireTier3, + CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2, + RECIPE_Buffer_MV); + RecipeUtils.addShapedGregtechRecipe( + wireTier4, RECIPE_BufferCore_HV, wireTier4, + wireTier4, CI.machineCasing_HV, wireTier4, + CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3, + RECIPE_Buffer_HV); + RecipeUtils.addShapedGregtechRecipe( + wireTier5, RECIPE_BufferCore_EV, wireTier5, + wireTier5, CI.machineCasing_EV, wireTier5, + CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4, + RECIPE_Buffer_EV); + RecipeUtils.addShapedGregtechRecipe( + wireTier6, RECIPE_BufferCore_IV, wireTier6, + wireTier6, CI.machineCasing_IV, wireTier6, + CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5, + RECIPE_Buffer_IV); + RecipeUtils.addShapedGregtechRecipe( + wireTier7, RECIPE_BufferCore_LuV, wireTier7, + wireTier7, CI.machineCasing_LuV, wireTier7, + CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6, + RECIPE_Buffer_LuV); + RecipeUtils.addShapedGregtechRecipe( + wireTier8, RECIPE_BufferCore_ZPM, wireTier8, + wireTier8, CI.machineCasing_ZPM, wireTier8, + CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7, + RECIPE_Buffer_ZPM); + RecipeUtils.addShapedGregtechRecipe( + wireTier9, RECIPE_BufferCore_UV, wireTier9, + wireTier9, CI.machineCasing_UV, wireTier9, + CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8, + RECIPE_Buffer_UV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11], + wireTier10, CI.machineCasing_MAX, wireTier10, + CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9, + RECIPE_Buffer_MAX);*/ + } + + + ItemStack[] aBufferOutput = new ItemStack[] { + RECIPE_Buffer_ULV, RECIPE_Buffer_LV, RECIPE_Buffer_MV, + RECIPE_Buffer_HV, RECIPE_Buffer_EV, RECIPE_Buffer_IV, + RECIPE_Buffer_LuV, RECIPE_Buffer_ZPM, RECIPE_Buffer_UV, RECIPE_Buffer_MAX }; + + + + ItemStack[] aOutput = new ItemStack[] { + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"1", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"2", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"3", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"4", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"5", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"6", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"7", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"8", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"9", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"10", 1) + }; + + int aCostMultiplier = GTNH ? 4 : 1; + + for (int i = 0; i < 10; i++) { + + ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(GTNH ? 2 : 1) : aOutput[i-1]); + aPrevTier.stackSize = GTNH ? 2 : 1; + int aTier = (i + 1); + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + aPrevTier, + CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.cableGt04, i, 2 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.screw, aTier, 6 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.bolt, i, 12 * (GTNH ? 2 : 1)), + }, + CI.getTieredFluid(i, (144 * 4 * aTier)), //Input Fluid + aOutput[i], + 45 * 10 * 1 * (aTier), + MaterialUtils.getVoltageForTier(i)); + + //Energy Buffer + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + ItemUtils.getSimpleStack(aOutput[i], 4), + CI.getTieredComponent(OrePrefixes.plate, aTier, 8 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.wireGt08, i, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.circuit, i, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.gearGt, i, 5 * (GTNH ? 2 : 1)), + }, + CI.getTieredFluid(aTier, (144 * 16 * aTier)), //Input Fluid + aBufferOutput[i], + 45 * 20 * 1 * (aTier), + MaterialUtils.getVoltageForTier(i)); + } } + + private static void wirelessChargers() { + + ItemStack[] aChargers = new ItemStack[] { + null, + GregtechItemList.Charger_LV.get(1), + GregtechItemList.Charger_MV.get(1), + GregtechItemList.Charger_HV.get(1), + GregtechItemList.Charger_EV.get(1), + GregtechItemList.Charger_IV.get(1), + GregtechItemList.Charger_LuV.get(1), + GregtechItemList.Charger_ZPM.get(1), + GregtechItemList.Charger_UV.get(1), + GregtechItemList.Charger_MAX.get(1) + }; + + int aCostMultiplier = GTNH ? 2 : 1; + + for (int i = 0; i < 10; i++) { + if (i == 0) { + continue; + } + int aTier = (i + 1); + ItemStack[] aInputs = new ItemStack[] { + CI.getTieredMachineHull(i, 1 * aCostMultiplier), + CI.getEmitter(i, 2 * aCostMultiplier), + CI.getSensor(i, 2 * aCostMultiplier), + CI.getFieldGenerator(i, 1 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier), + }; + CORE.RA.addSixSlotAssemblingRecipe( + aInputs, + CI.getAlternativeTieredFluid(i, (144 * 2 * aTier)), //Input Fluid + aChargers[i], + 45 * 10 * 1 * (aTier), + MaterialUtils.getVoltageForTier(i)); + + } + } } diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java index dc156c6f91..13a30a510c 100644 --- a/src/Java/gtPlusPlus/core/recipe/common/CI.java +++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java @@ -1,29 +1,31 @@ package gtPlusPlus.core.recipe.common; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; - +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ALLOY; +import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.recipe.LOADER_Machine_Components; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.eio.material.MaterialEIO; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import ic2.core.Ic2Items; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; public class CI { //null - public static ItemStack _NULL = ItemUtils.getSimpleStack(ModItems.AAA_Broken); + public static ItemStack _NULL = ItemUtils.getErrorStack(1); //bits public static long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE @@ -520,5 +522,630 @@ public class CI { public static ItemStack emptyCells(int i) { return ItemUtils.getEmptyCell(i); } + + + + /* + * + */ + + private static final Material[] aMaterial_Main = new Material[] { + MaterialEIO.REDSTONE_ALLOY, + ALLOY.POTIN, + ALLOY.ZIRCONIUM_CARBIDE, + ALLOY.EGLIN_STEEL, + ALLOY.INCONEL_792, + ALLOY.TUNGSTEN_TITANIUM_CARBIDE, + ALLOY.NITINOL_60, + ALLOY.ZERON_100, + ALLOY.PIKYONIUM, + ELEMENT.STANDALONE.ADVANCED_NITINOL, + ALLOY.ABYSSAL, + ALLOY.QUANTUM + }; + + private static final Material[] aMaterial_Secondary = new Material[] { + ELEMENT.getInstance().LEAD, + ALLOY.TUMBAGA, + ALLOY.SILICON_CARBIDE, + ALLOY.TUNGSTEN_CARBIDE, + ALLOY.INCONEL_690, + ALLOY.STELLITE, + ALLOY.ARCANITE, + ALLOY.LAFIUM, + ALLOY.CINOBITE, + ALLOY.TITANSTEEL, + ALLOY.OCTIRON, + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN + }; + + private static final Material[] aMaterial_Tertiary = new Material[] { + ELEMENT.getInstance().IRON, + ALLOY.STEEL, + ELEMENT.getInstance().ALUMINIUM, + ALLOY.STAINLESSSTEEL, + ELEMENT.getInstance().TUNGSTEN, + ALLOY.HASTELLOY_N, + ALLOY.ENERGYCRYSTAL, + ALLOY.TRINIUM_NAQUADAH_CARBON, + ALLOY.TRINIUM_REINFORCED_STEEL, //Arceus + ALLOY.TITANSTEEL, + ELEMENT.STANDALONE.ASTRAL_TITANIUM, + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN + }; + + private static final Materials[] aMaterial_Cables = new Materials[] { + (CORE.ConfigSwitches.enableCustom_Cables && LoadedMods.EnderIO) ? Materials.RedstoneAlloy : CORE.GTNH ? Materials.Lead : Materials.Tin, + Materials.Cobalt, + Materials.AnnealedCopper, + Materials.Gold, + Materials.Titanium, + Materials.Nichrome, + Materials.Platinum, + Materials.YttriumBariumCuprate, + Materials.Naquadah, + Materials.Duranium, + Materials.Superconductor, + }; + + private static final Materials[] aMaterial_Circuits = new Materials[] { + Materials.Primitive, + Materials.Basic, + Materials.Good, + Materials.Advanced, + Materials.Data, + Materials.Data, + Materials.Elite, + Materials.Master, + Materials.Ultimate, + Materials.Superconductor, + Materials.Infinite, + }; + + private static final Material[][] aMaster = new Material[][] {aMaterial_Main, aMaterial_Secondary, aMaterial_Tertiary}; + + + public static FluidStack getTieredFluid(int aTier, int aAmount) { + return getTieredFluid(aTier, aAmount, 0); + } + + public static FluidStack getAlternativeTieredFluid(int aTier, int aAmount) { + return getTieredFluid(aTier, aAmount, 1); + } + + public static FluidStack getTertiaryTieredFluid(int aTier, int aAmount) { + return getTieredFluid(aTier, aAmount, 2); + } + + public static FluidStack getTieredFluid(int aTier, int aAmount, int aType) { + ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1); + FluidStack a = GT_Utility.getFluidForFilledItem(aCell, true); + if (a == null) { + a = aMaster[aType][aTier].getFluid(aAmount); + } + a.amount = aAmount; + return a; + } + + public static ItemStack getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) { + aTier = Math.max(0, aTier); + + Material m = null; + + + + + + + if (aPrefix == OrePrefixes.liquid) { + int aMatID = (aTier == 0 || aTier == 2 || aTier == 5 || aTier == 8 ? 0 : (aTier == 1 || aTier == 3 || aTier == 6 || aTier == 9 ? 1 : 2)); + ItemStack aCell = aMaster[aMatID][aTier].getCell(aAmount); + return aCell; + } + + if (aPrefix == OrePrefixes.circuit) { + if (aTier == 4) { + return ItemUtils.getSimpleStack(CI.getDataStick(), aAmount); + } + else if (aTier == 5) { + return ItemUtils.getSimpleStack(CI.getDataOrb(), aAmount); + } + return ItemUtils.getOrePrefixStack(OrePrefixes.circuit, aMaterial_Circuits[aTier], aAmount); + } + + //Check for Cables first, catch SuperConductor case and swap to wire. + if (aPrefix == OrePrefixes.cableGt01 || aPrefix == OrePrefixes.cableGt02 || aPrefix == OrePrefixes.cableGt04 || aPrefix == OrePrefixes.cableGt08 || aPrefix == OrePrefixes.cableGt12) { + //Special Handler + if (aTier == 10) { + if (aPrefix == OrePrefixes.cableGt01) { + aPrefix = OrePrefixes.wireGt02; + } + else if (aPrefix == OrePrefixes.cableGt02) { + aPrefix = OrePrefixes.wireGt04; + } + else if (aPrefix == OrePrefixes.cableGt04) { + aPrefix = OrePrefixes.wireGt08; + } + else if (aPrefix == OrePrefixes.cableGt08) { + aPrefix = OrePrefixes.wireGt12; + } + else if (aPrefix == OrePrefixes.cableGt12) { + aPrefix = OrePrefixes.wireGt16; + } + } + else { + return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount); + } + + + } + if (aPrefix == OrePrefixes.wireGt01 || aPrefix == OrePrefixes.wireGt02 || aPrefix == OrePrefixes.wireGt04 || aPrefix == OrePrefixes.wireGt08 || aPrefix == OrePrefixes.wireGt12 || aPrefix == OrePrefixes.wireGt16) { + return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount); + } + + if (aPrefix == OrePrefixes.pipeTiny || aPrefix == OrePrefixes.pipeSmall || aPrefix == OrePrefixes.pipe || aPrefix == OrePrefixes.pipeMedium || aPrefix == OrePrefixes.pipeLarge || aPrefix == OrePrefixes.pipeHuge) { + if (aTier == 0) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Lead, aAmount); + } + else if (aTier == 1) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Steel, aAmount); + } + else if (aTier == 2) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.StainlessSteel, aAmount); + } + else if (aTier == 3) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Tungsten, aAmount); + } + else if (aTier == 4) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.TungstenSteel, aAmount); + } + else if (aTier == 5) { + return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.MARAGING350, aAmount); + } + else if (aTier == 6) { + return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.STABALLOY, aAmount); + } + else if (aTier == 7) { + return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.HASTELLOY_X, aAmount); + } + else if (aTier == 8) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Ultimate, aAmount); + } + else if (aTier == 9) { + return ItemUtils.getOrePrefixStack(OrePrefixes.pipeMedium, Materials.Superconductor, aAmount); + } + else if (aTier == 10) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Europium, aAmount); + } + else { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Titanium, aAmount); + } + } + + ItemStack aTempStack = null; + + if (aPrefix == OrePrefixes.gear || aPrefix == OrePrefixes.gearGt) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.rod || aPrefix == OrePrefixes.stick) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.stickLong) { + m = aMaster[1][aTier]; + } + else if (aPrefix == OrePrefixes.bolt) { + m = aMaster[2][aTier]; + } + else if (aPrefix == OrePrefixes.screw) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.rotor) { + m = aMaster[1][aTier]; + } + else if (aPrefix == OrePrefixes.frame || aPrefix == OrePrefixes.frameGt) { + m = aMaster[2][aTier]; + } + else if (aPrefix == OrePrefixes.ingot) { + m = aMaster[1][aTier]; + } + else if (aPrefix == OrePrefixes.plate) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.plateDouble) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.ring) { + m = aMaster[2][aTier]; + } + else if (aPrefix == OrePrefixes.cell) { + m = aMaster[1][aTier]; + } + else { + m = aMaterial_Main[aTier]; + } + + ItemStack aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //If Invalid, Try First Material + if (!ItemUtils.checkForInvalidItems(aReturn)) { + m = aMaster[0][aTier]; + aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //If Invalid, Try Second Material + if (!ItemUtils.checkForInvalidItems(aReturn)) { + m = aMaster[1][aTier]; + aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //If Invalid, Try Third Material + if (!ItemUtils.checkForInvalidItems(aReturn)) { + m = aMaster[2][aTier]; + aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //All Invalid? Ok, shit. + //Let's add a special error ingot. + if (!ItemUtils.checkForInvalidItems(aReturn)) { + aReturn = ItemUtils.getErrorStack(1, (aPrefix.toString()+m.getLocalizedName()+" x"+aAmount)); + } + } + } + } + + return aReturn; + + + } + + public static ItemStack getElectricMotor(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.electricMotor_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricMotor_MAX; + } + else { + aType = CI.electricMotor_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + public static ItemStack getElectricPiston(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.electricPiston_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPiston_MAX; + } + else { + aType = CI.electricPiston_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + public static ItemStack getElectricPump(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.electricPump_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.electricPump_MAX; + } + else { + aType = CI.electricPump_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + public static ItemStack getRobotArm(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.robotArm_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.robotArm_MAX; + } + else { + aType = CI.robotArm_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + public static ItemStack getConveyor(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.conveyorModule_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.conveyorModule_MAX; + } + else { + aType = CI.conveyorModule_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + public static ItemStack getEmitter(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.emitter_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.emitter_MAX; + } + else { + aType = CI.emitter_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + public static ItemStack getSensor(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.sensor_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.sensor_MAX; + } + else { + aType = CI.sensor_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + public static ItemStack getFieldGenerator(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.fieldGenerator_MAX; + } + else { + aType = CI.fieldGenerator_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } + + + + public static ItemStack getTieredMachineHull(int aTier, int aSize) { + ItemStack aType; + int aLazyTier = 0; + if (aTier == aLazyTier++) { + aType = CI.machineHull_ULV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_LV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_MV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_HV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_EV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_IV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_LuV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_ZPM; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_UV; + } + else if (aTier == aLazyTier++) { + aType = CI.machineHull_MAX; + } + else { + aType = CI.machineHull_LV; + } + return ItemUtils.getSimpleStack(aType, aSize); + } } diff --git a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java index 771283d686..da018675f3 100644 --- a/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java +++ b/src/Java/gtPlusPlus/core/tileentities/ModTileEntities.java @@ -3,6 +3,8 @@ package gtPlusPlus.core.tileentities; import cpw.mods.fml.common.registry.GameRegistry; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.block.general.BlockSuperLight.TileEntitySuperLight; +import gtPlusPlus.core.block.machine.Machine_SuperJukebox.TileEntitySuperJukebox; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.tileentities.general.*; import gtPlusPlus.core.tileentities.machines.*; @@ -25,7 +27,9 @@ public class ModTileEntities { GameRegistry.registerTileEntity(TileEntityGenericSpawner.class, "TileEntityGenericSpawner"); GameRegistry.registerTileEntity(TileEntityCircuitProgrammer.class, "TileCircuitProgrammer"); GameRegistry.registerTileEntity(TileEntityPlayerDoorBase.class, "TilePlayerDoorBase"); - GameRegistry.registerTileEntity(TileEntityDecayablesChest.class, "TileDecayablesChest"); + GameRegistry.registerTileEntity(TileEntityDecayablesChest.class, "TileDecayablesChest"); + GameRegistry.registerTileEntity(TileEntitySuperJukebox.class, "TileEntitySuperJukebox"); + GameRegistry.registerTileEntity(TileEntitySuperLight.class, "TileEntitySuperLight"); //Mod TEs diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java index e2220f74f8..968de2f55a 100644 --- a/src/Java/gtPlusPlus/core/util/Utils.java +++ b/src/Java/gtPlusPlus/core/util/Utils.java @@ -485,7 +485,10 @@ public class Utils { return true; } - public static File getMcDir() { + public static File getMcDir() { + if (Minecraft.getMinecraft() == null) { + return new File("testdir"); + } if ((MinecraftServer.getServer() != null) && MinecraftServer.getServer().isDedicatedServer()) { return new File("."); } diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java index 425606dd8e..486cda42f9 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -1,26 +1,18 @@ package gtPlusPlus.core.util.minecraft; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; - -import net.minecraft.block.Block; -import net.minecraft.init.Items; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; - import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; -import gtPlusPlus.GTplusplus; -import gtPlusPlus.api.objects.GregtechException; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.api.objects.minecraft.BlockPos; @@ -38,6 +30,14 @@ import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration; +import net.minecraft.block.Block; +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; @@ -50,9 +50,18 @@ public class ItemUtils { public static ItemStack getSimpleStack(final Block x) { return simpleMetaStack(Item.getItemFromBlock(x), 0, 1); } + - public static ItemStack getSimpleStack(final Block x, int meta) { - return simpleMetaStack(Item.getItemFromBlock(x), meta, 1); + public static ItemStack getSimpleStack(final Block x, int i) { + if (i == 0) { + return getSimpleStack(x, i, 1); + } + + return getSimpleStack(x, 0, i); + } + + public static ItemStack getSimpleStack(final Block x, int meta, int i) { + return simpleMetaStack(Item.getItemFromBlock(x), meta, i); } public static ItemStack getSimpleStack(final Item x, final int i) { @@ -315,7 +324,7 @@ public class ItemUtils { return returnValue; } Logger.INFO("Failed to find `" + oredictName + "` in OD."); - return getErrorStack(amount); + return getErrorStack(amount, oredictName+" x"+amount); //return getItemStackOfAmountFromOreDictNoBroken(mTemp, amount); } @@ -366,8 +375,7 @@ public class ItemUtils { public static ItemStack getGregtechDust(final Materials material, final int amount) { final ItemStack returnValue = GT_OreDictUnificator.get(OrePrefixes.dust, material, 1L); if (returnValue != null) { - if ((returnValue.getItem().getClass() != ModItems.AAA_Broken.getClass()) - || (returnValue.getItem() != ModItems.AAA_Broken)) { + if (ItemUtils.checkForInvalidItems(returnValue)) { return returnValue.copy(); } } @@ -600,25 +608,40 @@ public class ItemUtils { public static String getArrayStackNames(final ItemStack[] aStack) { String itemNames = "Item Array: "; - for (final ItemStack alph : aStack) { - + int aPos = 0; + for (final ItemStack alph : aStack) { + if (alph == null) { + continue; + } if (alph != null) { final String temp = itemNames; - itemNames = temp + ", " + alph.getDisplayName() + " x" + alph.stackSize; - } else { - final String temp = itemNames; - itemNames = temp + ", " + "null" + " x" + "0"; + itemNames = temp + (aPos > 0 ? ", " : "") + alph.getDisplayName() + " x" + alph.stackSize; + aPos++; } } return itemNames; } public static String[] getArrayStackNamesAsArray(final ItemStack[] aStack) { - final String[] itemNames = {}; + final String[] itemNames = aStack == null ? new String[] {} : new String[aStack.length]; + Logger.INFO(""+aStack.length); + + if (aStack == null || aStack.length < 1) { + return itemNames; + } + int arpos = 0; - for (final ItemStack alph : aStack) { + for (final ItemStack alph : aStack) { + if (alph == null) { + continue; + } + try { itemNames[arpos] = alph.getDisplayName(); arpos++; + } + catch (Throwable t) { + t.printStackTrace(); + } } return itemNames; @@ -762,23 +785,23 @@ public class ItemUtils { if (aGtStack == null) { Logger.INFO( "Failed to find `" + mPrefix + MaterialUtils.getMaterialName(mMat) + "` in OD. [Prefix Search]"); - return getErrorStack(mAmount); + return getErrorStack(mAmount, (mPrefix.toString()+MaterialUtils.getMaterialName(mMat)+" x"+mAmount)); } else { return aGtStack; } } - public static ItemStack getErrorStack(int mAmount) { - //System.exit(1); - try { - //new GregtechException("Logging - [Issue #999]"); - } - catch (Throwable t) { - t.printStackTrace(); - } + public static ItemStack getErrorStack(int mAmount) { + return getErrorStack(mAmount, null); + } - return getSimpleStack(ModItems.AAA_Broken, mAmount); - //return null; + public static ItemStack getErrorStack(int mAmount, String aName) { + ItemStack g = getSimpleStack(ModItems.AAA_Broken, 1); + NBTUtils.setString(g, "Lore", EnumChatFormatting.RED+aName); + if (aName != null) { + NBTUtils.setBookTitle(g, EnumChatFormatting.YELLOW+"Maybe Alkalus should know about this"); + } + return g; } public static ItemStack[] getStackOfAllOreDictGroup(String oredictname) { diff --git a/src/Java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java index d4f217bbfd..dde785cee6 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java @@ -10,18 +10,22 @@ import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; import gregtech.common.GT_Proxy; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.reflect.ReflectionUtils; -import net.minecraft.tileentity.TileEntity; import net.minecraft.world.chunk.Chunk; public class PollutionUtils { private static boolean mIsPollutionEnabled = true; + private static Method mAddPollution; + private static Method mAddPollution2; + + private static Method mGetPollution; + private static Method mGetPollution2; + static { if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK || CORE.GTNH) { mIsPollutionEnabled = mPollution(); - } - else { + } else { mIsPollutionEnabled = false; } } @@ -42,65 +46,123 @@ public class PollutionUtils { public static boolean addPollution(IGregTechTileEntity te, int pollutionValue) { if (mIsPollutionEnabled) - try { - Class<?> GT_Pollution = Class.forName("gregtech.common.GT_Pollution"); - if (GT_Pollution != null) { - Method addPollution = GT_Pollution.getMethod("addPollution", IGregTechTileEntity.class, int.class); - if (addPollution != null) { - addPollution.invoke(null, te, pollutionValue); - return true; + try { + if (te == null) { + return false; } + if (mAddPollution != null) { + mAddPollution.invoke(null, te, pollutionValue); + } + Class<?> GT_Pollution = Class.forName("gregtech.common.GT_Pollution"); + if (GT_Pollution != null) { + Method addPollution = GT_Pollution.getMethod("addPollution", IGregTechTileEntity.class, int.class); + if (addPollution != null) { + mAddPollution = addPollution; + addPollution.invoke(null, te, pollutionValue); + return true; + } + } + } catch (ClassNotFoundException | SecurityException | NoSuchMethodException | IllegalAccessException + | IllegalArgumentException | InvocationTargetException e) { } - } catch (ClassNotFoundException | SecurityException | NoSuchMethodException | IllegalAccessException - | IllegalArgumentException | InvocationTargetException e) { - } return false; } - public static int getPollution(IGregTechTileEntity te) { + public static boolean addPollution(IHasWorldObjectAndCoords aTileOfSomeSort, int pollutionValue) { if (mIsPollutionEnabled) - try { - Class<?> GT_Pollution = Class.forName("gregtech.common.GT_Pollution"); - if (GT_Pollution != null) { - Method addPollution = GT_Pollution.getMethod("getPollution", IGregTechTileEntity.class); - if (addPollution != null) { - return (int) addPollution.invoke(null, te); + try { + if (aTileOfSomeSort == null) { + return false; } + IHasWorldObjectAndCoords j = (IHasWorldObjectAndCoords) aTileOfSomeSort; + Chunk c = j.getWorld().getChunkFromBlockCoords(j.getXCoord(), j.getZCoord()); + return addPollution(c, pollutionValue); + } catch (SecurityException | IllegalArgumentException e) { } - } catch (ClassNotFoundException | SecurityException | NoSuchMethodException | IllegalAccessException - | IllegalArgumentException | InvocationTargetException e) { - } - return 0; + return false; } - public static boolean addPollution(Object aTileOfSomeSort, int pollutionValue) { + public static boolean addPollution(Chunk aChunk, int pollutionValue) { if (mIsPollutionEnabled) - try { - Class<?> GT_Pollution = Class.forName("gregtech.common.GT_Pollution"); - if (GT_Pollution != null) { - Method addPollution = GT_Pollution.getMethod("addPollution", Chunk.class, int.class); - if (addPollution != null) { - IHasWorldObjectAndCoords j = (IHasWorldObjectAndCoords) aTileOfSomeSort; - if (j != null) { - Chunk c = j.getWorld().getChunkFromBlockCoords(j.getXCoord(), j.getZCoord()); - addPollution.invoke(null, c, pollutionValue); + try { + if (aChunk == null) { + return false; + } + if (mAddPollution2 != null) { + mAddPollution2.invoke(null, aChunk, pollutionValue); + return true; + } + Class<?> GT_Pollution = Class.forName("gregtech.common.GT_Pollution"); + if (GT_Pollution != null) { + Method addPollution = GT_Pollution.getMethod("addPollution", Chunk.class, int.class); + if (addPollution != null) { + mAddPollution2 = addPollution; + mAddPollution2.invoke(null, aChunk, pollutionValue); return true; - } else { - TileEntity t = (TileEntity) aTileOfSomeSort; - if (t != null) { - Chunk c = t.getWorldObj().getChunkFromBlockCoords(t.xCoord, t.zCoord); - addPollution.invoke(null, c, pollutionValue); - return true; - } } - } + } catch (ClassNotFoundException | SecurityException | NoSuchMethodException | IllegalAccessException + | IllegalArgumentException | InvocationTargetException e) { } - } catch (ClassNotFoundException | SecurityException | NoSuchMethodException | IllegalAccessException - | IllegalArgumentException | InvocationTargetException e) { - } return false; + } + + public static boolean removePollution(IGregTechTileEntity te, int pollutionValue) { + return addPollution(te, -pollutionValue); + } + + public static boolean removePollution(IHasWorldObjectAndCoords aTileOfSomeSort, int pollutionValue) { + return addPollution(aTileOfSomeSort, -pollutionValue); + } + + public static boolean removePollution(Chunk aChunk, int pollutionValue) { + return addPollution(aChunk, -pollutionValue); + } + + public static int getPollution(IGregTechTileEntity te) { + if (mIsPollutionEnabled) + try { + if (te == null) { + return 0; + } + if (mGetPollution != null) { + mGetPollution.invoke(null, te); + } + Class<?> GT_Pollution = Class.forName("gregtech.common.GT_Pollution"); + if (GT_Pollution != null) { + Method addPollution = GT_Pollution.getMethod("getPollution", IGregTechTileEntity.class); + if (addPollution != null) { + mGetPollution = addPollution; + return (int) addPollution.invoke(null, te); + } + } + } catch (ClassNotFoundException | SecurityException | NoSuchMethodException | IllegalAccessException + | IllegalArgumentException | InvocationTargetException e) { + } + return 0; + } + public static int getPollution(Chunk te) { + if (mIsPollutionEnabled) + try { + if (te == null) { + return 0; + } + if (mGetPollution2 != null) { + mGetPollution2.invoke(null, te); + } + Class<?> GT_Pollution = Class.forName("gregtech.common.GT_Pollution"); + if (GT_Pollution != null) { + Method addPollution = GT_Pollution.getMethod("getPollution", Chunk.class); + if (addPollution != null) { + mGetPollution2 = addPollution; + return (int) addPollution.invoke(null, te); + } + } + } catch (ClassNotFoundException | SecurityException | NoSuchMethodException | IllegalAccessException + | IllegalArgumentException | InvocationTargetException e) { + } + return 0; } } diff --git a/src/Java/gtPlusPlus/core/util/minecraft/gregtech/recipehandlers/GregtechRecipe.java b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/recipehandlers/GregtechRecipe.java index afba320fe7..635239bbfc 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/gregtech/recipehandlers/GregtechRecipe.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/gregtech/recipehandlers/GregtechRecipe.java @@ -1,76 +1,3 @@ package gtPlusPlus.core.util.minecraft.gregtech.recipehandlers; -import java.lang.reflect.Method; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_ModHandler; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; - -public final class GregtechRecipe { - - public LibraryProxy ourProxy; - public GregtechRecipe(){ - Logger.INFO("Initializing a recipe handler for different versions of Gregtech 5."); - try { - if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){ - this.ourProxy = new LibProxy1(); - Logger.INFO("Selecting GT 5.7/5.8 Recipe Set"); - } - if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){ - this.ourProxy = new LibProxy2(); - Logger.INFO("Selecting GT 5.9 Recipe Set"); - } - } catch (final NoSuchMethodException e) { - this.ourProxy = null; - } - } - - public boolean addSmeltingAndAlloySmeltingRecipe(final ItemStack aInput, final ItemStack aOutput) { - Logger.WARNING("Adding a GT Furnace/Alloy Smelter Recipe"+"| Input:"+aInput.getDisplayName()+" | Output:"+aOutput.getDisplayName()+" |"); - return this.ourProxy.addSmeltingAndAlloySmeltingRecipe(aInput, aOutput); - } - -} - -abstract class LibraryProxy { // can also be interface unless you want to have common code here - abstract public boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aInput, ItemStack aOutput); -} - -class LibProxy1 extends LibraryProxy { - final Method m1; - - public LibProxy1() throws NoSuchMethodException { - this.m1 = GT_ModHandler.class.getDeclaredMethod("addSmeltingAndAlloySmeltingRecipe", ItemStack.class, ItemStack.class); - } - - @Override - public boolean addSmeltingAndAlloySmeltingRecipe(final ItemStack aInput, final ItemStack aOutput) { - try { - //Logger.INFO("Trying with Gt 5.7/5.8 Method."); - return (boolean) this.m1.invoke(null, aInput, aOutput); - } catch (final Exception e) { - throw new RuntimeException(e); - } - } -} - -class LibProxy2 extends LibraryProxy { - final Method m2; - - public LibProxy2() throws NoSuchMethodException { - this.m2 = GT_ModHandler.class.getDeclaredMethod("addSmeltingAndAlloySmeltingRecipe", ItemStack.class, ItemStack.class, boolean.class); - } - - @Override - public boolean addSmeltingAndAlloySmeltingRecipe(final ItemStack aInput, final ItemStack aOutput) { - try { - //Logger.INFO("Trying with Gt 5.9 Method."); - return (boolean) this.m2.invoke(null, aInput, aOutput, true); - } catch (final Exception e) { - throw new RuntimeException(e); - } - } -}
\ No newline at end of file +public final class GregtechRecipe {}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/plugin/waila/Core_WailaPlugin.java b/src/Java/gtPlusPlus/plugin/waila/Core_WailaPlugin.java new file mode 100644 index 0000000000..e3af6d9681 --- /dev/null +++ b/src/Java/gtPlusPlus/plugin/waila/Core_WailaPlugin.java @@ -0,0 +1,49 @@ +package gtPlusPlus.plugin.waila; + +import gtPlusPlus.api.interfaces.IPlugin; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.plugin.manager.Core_Manager; + +public class Core_WailaPlugin implements IPlugin { + + final static Core_WailaPlugin mInstance; + static boolean mActive = false; + + static { + mInstance = new Core_WailaPlugin(); + mInstance.log("Preparing "+mInstance.getPluginName()+" for use."); + } + + Core_WailaPlugin() { + Core_Manager.registerPlugin(this); + } + + @Override + public boolean preInit() { + if (LoadedMods.Waila) { + mActive = true; + } + return mActive; + } + + @Override + public boolean init() { + return mActive; + } + + @Override + public boolean postInit() { + return mActive; + } + + @Override + public String getPluginName() { + return "GT++ WAILA module"; + } + + @Override + public String getPluginAbbreviation() { + return "Look"; + } + +} diff --git a/src/Java/gtPlusPlus/preloader/asm/AsmConfig.java b/src/Java/gtPlusPlus/preloader/asm/AsmConfig.java index d68ba3c2a6..aa1e382278 100644 --- a/src/Java/gtPlusPlus/preloader/asm/AsmConfig.java +++ b/src/Java/gtPlusPlus/preloader/asm/AsmConfig.java @@ -76,7 +76,11 @@ public class AsmConfig { prop = config.get("general", "enableGcFuelChanges", true); prop.comment = "Enable/Disable changes to Galacticraft Rocket Fuels."; prop.setLanguageKey("gtpp.enableGcFuelChanges").setRequiresMcRestart(true); - enableGcFuelChanges = prop.getBoolean(true); + + //Disabled because Broken + //enableGcFuelChanges = prop.getBoolean(true); + enableGcFuelChanges = false; + propOrder.add(prop.getName()); diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity.java b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity.java new file mode 100644 index 0000000000..39cd8c248e --- /dev/null +++ b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity.java @@ -0,0 +1,266 @@ +package gtPlusPlus.preloader.asm.transformers; + +import static org.objectweb.asm.Opcodes.*; + +import java.io.IOException; +import org.apache.logging.log4j.Level; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; + +import cpw.mods.fml.relauncher.FMLRelaunchLog; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.SubTag; +import gregtech.api.metatileentity.BaseMetaPipeEntity; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.preloader.DevHelper; +import gtPlusPlus.preloader.asm.AsmConfig; +import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class ClassTransformer_GT_BlockMachines_MetaPipeEntity { + + //The qualified name of the class we plan to transform. + //gregtech/common/blocks/GT_Block_Machines + + private final boolean isValid; + private final ClassReader reader; + private final ClassWriter writer; + + /** + * Utility Functions + */ + + public static String getHarvestTool(int aMeta) { + //FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Attempting to call getHarvestTool. Meta: "+aMeta); + if (aMeta >= 8 && aMeta <= 11) { + return "cutter"; + } + return "wrench"; + } + + /** + * This determines the BaseMetaTileEntity belonging to this MetaTileEntity by using the Meta ID of the Block itself. + * <p/> + * 0 = BaseMetaTileEntity, Wrench lvl 0 to dismantle + * 1 = BaseMetaTileEntity, Wrench lvl 1 to dismantle + * <p/> + * 2 = BaseMetaTileEntity, Wrench lvl 2 to dismantle + * 3 = BaseMetaTileEntity, Wrench lvl 3 to dismantle + * <p/> + * 4 = BaseMetaPipeEntity, Wrench lvl 0 to dismantle + * 5 = BaseMetaPipeEntity, Wrench lvl 1 to dismantle + * <p/> + * 6 = BaseMetaPipeEntity, Wrench lvl 2 to dismantle + * 7 = BaseMetaPipeEntity, Wrench lvl 3 to dismantle + * <p/> + * 8 = BaseMetaPipeEntity, Cutter lvl 0 to dismantle + * 9 = BaseMetaPipeEntity, Cutter lvl 1 to dismantle + * <p/> + * 10 = BaseMetaPipeEntity, Cutter lvl 2 to dismantle + * 11 = BaseMetaPipeEntity, Cutter lvl 3 to dismantle + * <p/> + * == Reserved For Alkalus (Was previously used to allow axes on wooden blocks, but that's fucking stupid.) + * <p/> + * 12 = BaseMetaTileEntity, Wrench lvl 0 to dismantle + * 13 = BaseMetaTileEntity, Wrench lvl 1 to dismantle + * <p/> + * 14 = BaseMetaTileEntity, Wrench lvl 2 to dismantle + * 15 = BaseMetaTileEntity, Wrench lvl 3 to dismantle + */ + public static byte getTileEntityBaseType(Materials mMaterial) { + //FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Attempting to call getTileEntityBaseType."); + return (byte) (mMaterial == null ? 4 : (byte) (4) + Math.max(0, Math.min(3, mMaterial.mToolQuality))); + } + + + + /** + * This determines the BaseMetaTileEntity belonging to this MetaTileEntity by using the Meta ID of the Block itself. + * <p/> + * 0 = BaseMetaTileEntity, Wrench lvl 0 to dismantle + * 1 = BaseMetaTileEntity, Wrench lvl 1 to dismantle + * <p/> + * 2 = BaseMetaTileEntity, Wrench lvl 2 to dismantle + * 3 = BaseMetaTileEntity, Wrench lvl 3 to dismantle + * <p/> + * 4 = BaseMetaPipeEntity, Wrench lvl 0 to dismantle + * 5 = BaseMetaPipeEntity, Wrench lvl 1 to dismantle + * <p/> + * 6 = BaseMetaPipeEntity, Wrench lvl 2 to dismantle + * 7 = BaseMetaPipeEntity, Wrench lvl 3 to dismantle + * <p/> + * 8 = BaseMetaPipeEntity, Cutter lvl 0 to dismantle + * 9 = BaseMetaPipeEntity, Cutter lvl 1 to dismantle + * <p/> + * 10 = BaseMetaPipeEntity, Cutter lvl 2 to dismantle + * 11 = BaseMetaPipeEntity, Cutter lvl 3 to dismantle + * <p/> + * == Reserved For Alkalus (Was previously used to allow axes on wooden blocks, but that's fucking stupid.) + * <p/> + * 12 = BaseMetaTileEntity, Wrench lvl 2 to dismantle + * 13 = BaseMetaTileEntity, Wrench lvl 2 to dismantle + * <p/> + * 14 = BaseMetaTileEntity, Wrench lvl 3 to dismantle + * 15 = BaseMetaTileEntity, Wrench lvl 3 to dismantle + */ + public static TileEntity createTileEntity(World aWorld, int aMeta) { + Logger.INFO("Creating Tile Entity with Meta of "+aMeta); + if (aMeta < 4) { + return GregTech_API.constructBaseMetaTileEntity(); + } else if (aMeta < 12) { + return new BaseMetaPipeEntity(); + } else { + return Meta_GT_Proxy.constructCustomGregtechMetaTileEntityByMeta(aMeta); + } + } + + + + String aEntityPlayer; + String aEntityPlayerMP; + String aWorld; + int mMode; + + public ClassTransformer_GT_BlockMachines_MetaPipeEntity(byte[] basicClass, boolean obfuscated, int aMode) { + mMode = aMode; + ClassReader aTempReader = null; + ClassWriter aTempWriter = null; + + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Attempting to patch in mode "+aMode+"."); + + aTempReader = new ClassReader(basicClass); + aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES); + aTempReader.accept(new localClassVisitor(aTempWriter), 0); + + if (aTempReader != null && aTempWriter != null) { + isValid = true; + } + else { + isValid = false; + } + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Valid patch? "+isValid+"."); + reader = aTempReader; + writer = aTempWriter; + + + if (reader != null && writer != null) { + aEntityPlayer = obfuscated ? DevHelper.getObfuscated("net/minecraft/entity/player/EntityPlayer") : "net/minecraft/entity/player/EntityPlayer"; + aEntityPlayerMP = obfuscated ? DevHelper.getObfuscated("net/minecraft/entity/player/EntityPlayerMP") : "net/minecraft/entity/player/EntityPlayerMP"; + aWorld = obfuscated ? DevHelper.getObfuscated("net/minecraft/world/World") : "net/minecraft/world/World"; + + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Attempting Method Injection."); + if (aMode == 0) { + injectMethod("getHarvestTool"); + injectMethod("createTileEntity"); + } + else { + injectMethod("getTileEntityBaseType"); + } + } + + } + + public boolean isValidTransformer() { + return isValid; + } + + public ClassReader getReader() { + return reader; + } + + public ClassWriter getWriter() { + return writer; + } + + public boolean injectMethod(String aMethodName) { + MethodVisitor mv; + boolean didInject = false; + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Injecting "+aMethodName+"."); + if (aMethodName.equals("getHarvestTool")) { + mv = getWriter().visitMethod(ACC_PUBLIC, "getHarvestTool", "(I)Ljava/lang/String;", null, null); + mv.visitCode(); + Label l0 = new Label(); + mv.visitLabel(l0); + mv.visitLineNumber(63, l0); + mv.visitVarInsn(ILOAD, 1); + mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity", "getHarvestTool", "(I)Ljava/lang/String;", false); + mv.visitInsn(ARETURN); + Label l1 = new Label(); + mv.visitLabel(l1); + mv.visitLocalVariable("this", "Lgregtech/common/blocks/GT_Block_Machines;", null, l0, l1, 0); + mv.visitLocalVariable("aMeta", "I", null, l0, l1, 1); + mv.visitMaxs(1, 2); + mv.visitEnd(); + didInject = true; + } + else if (aMethodName.equals("createTileEntity")) { + mv = getWriter().visitMethod(ACC_PUBLIC, "createTileEntity", "(Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity;", null, null); + mv.visitCode(); + Label l0 = new Label(); + mv.visitLabel(l0); + mv.visitLineNumber(442, l0); + mv.visitVarInsn(ALOAD, 1); + mv.visitVarInsn(ILOAD, 2); + mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity", "createTileEntity", "(Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity;", false); + mv.visitInsn(ARETURN); + Label l1 = new Label(); + mv.visitLabel(l1); + mv.visitLocalVariable("this", "Lgregtech/common/blocks/GT_Block_Machines;", null, l0, l1, 0); + mv.visitLocalVariable("aWorld", "Lnet/minecraft/world/World;", null, l0, l1, 1); + mv.visitLocalVariable("aMeta", "I", null, l0, l1, 2); + mv.visitMaxs(2, 3); + mv.visitEnd(); + didInject = true; + + } + else if (aMethodName.equals("getTileEntityBaseType")) { + + String aClassName = mMode == 1 ? "gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item" : mMode == 2 ? "gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame" : "gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid"; + mv = getWriter().visitMethod(ACC_PUBLIC, "getTileEntityBaseType", "()B", null, null); + mv.visitCode(); + Label l0 = new Label(); + mv.visitLabel(l0); + mv.visitLineNumber(37, l0); + mv.visitVarInsn(ALOAD, 0); + mv.visitFieldInsn(GETFIELD, ""+aClassName+"", "mMaterial", "Lgregtech/api/enums/Materials;"); + mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_MetaPipeEntity", "getTileEntityBaseType", "(Lgregtech/api/enums/Materials;)B", false); + mv.visitInsn(IRETURN); + Label l1 = new Label(); + mv.visitLabel(l1); + mv.visitLocalVariable("this", "L"+aClassName+";", null, l0, l1, 0); + mv.visitMaxs(1, 1); + mv.visitEnd(); + didInject = true; + + } + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Method injection complete."); + return didInject; + } + + public static final class localClassVisitor extends ClassVisitor { + + public localClassVisitor(ClassVisitor cv) { + super(ASM5, cv); + } + + @Override + public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { + MethodVisitor methodVisitor; + if (name.equals("getHarvestTool") || name.equals("createTileEntity") || name.equals("getTileEntityBaseType")) { + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Found method "+name+", removing."); + methodVisitor = null; + } + else { + methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); + } + return methodVisitor; + } + } + +} diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java new file mode 100644 index 0000000000..1e67619337 --- /dev/null +++ b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool.java @@ -0,0 +1,206 @@ +package gtPlusPlus.preloader.asm.transformers; + +import static org.objectweb.asm.Opcodes.*; + +import java.util.Random; + +import org.apache.logging.log4j.Level; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; + +import cpw.mods.fml.relauncher.FMLRelaunchLog; +import net.minecraft.block.Block; +import net.minecraft.item.Item; + +public class ClassTransformer_IC2_GetHarvestTool { + + private final boolean isValid; + private final ClassReader reader; + private final ClassWriter writer; + private final String className; + + public static String getHarvestTool(int aMeta) { + return "wrench"; + } + + public static Item getItemDropped(Block aBlock, int meta, Random random, int fortune) { + return Item.getItemFromBlock(aBlock); + } + + public static int damageDropped(int aMeta) { + return aMeta; + } + + public ClassTransformer_IC2_GetHarvestTool(byte[] basicClass, boolean obfuscated, String aClassName) { + className = aClassName; + ClassReader aTempReader = null; + ClassWriter aTempWriter = null; + + FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, + "Attempting to patch in mode " + className + "."); + + aTempReader = new ClassReader(basicClass); + aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES); + aTempReader.accept(new localClassVisitor(aTempWriter, className), 0); + + if (aTempReader != null && aTempWriter != null) { + isValid = true; + } else { + isValid = false; + } + FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Valid patch? " + isValid + "."); + reader = aTempReader; + writer = aTempWriter; + + if (reader != null && writer != null) { + FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Attempting Method Injection."); + injectMethod("getHarvestTool"); + + if (aClassName.equals("ic2.core.block.machine.BlockMachine2") + || aClassName.equals("ic2.core.block.machine.BlockMachine3")) { + injectMethod("getItemDropped"); + injectMethod("damageDropped"); + } + else if (aClassName.equals("ic2.core.block.generator.block.BlockGenerator") + || aClassName.equals("ic2.core.block.machine.BlockMachine")) { + injectMethod("damageDropped"); + } + } + + } + + public boolean isValidTransformer() { + return isValid; + } + + public ClassReader getReader() { + return reader; + } + + public ClassWriter getWriter() { + return writer; + } + + public boolean injectMethod(String aMethodName) { + MethodVisitor mv; + boolean didInject = false; + String aFormattedClassName = className.replace('.', '/'); + ClassWriter cw = getWriter(); + + + FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Injecting " + aMethodName + "."); + if (aMethodName.equals("getHarvestTool")) { + mv = getWriter().visitMethod(ACC_PUBLIC, "getHarvestTool", "(I)Ljava/lang/String;", null, null); + mv.visitCode(); + Label l0 = new Label(); + mv.visitLabel(l0); + mv.visitLineNumber(63, l0); + mv.visitVarInsn(ILOAD, 1); + mv.visitMethodInsn(INVOKESTATIC, + "gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool", "getHarvestTool", + "(I)Ljava/lang/String;", false); + mv.visitInsn(ARETURN); + Label l1 = new Label(); + mv.visitLabel(l1); + mv.visitLocalVariable("this", "L" + aFormattedClassName + ";", null, l0, l1, 0); + mv.visitLocalVariable("aMeta", "I", null, l0, l1, 1); + mv.visitMaxs(1, 2); + mv.visitEnd(); + didInject = true; + } + else if (aMethodName.equals("getItemDropped")) { + mv = cw.visitMethod(ACC_PUBLIC, "getItemDropped", "(ILjava/util/Random;I)Lnet/minecraft/item/Item;", null, null); + mv.visitCode(); + Label l0 = new Label(); + mv.visitLabel(l0); + mv.visitLineNumber(44, l0); + mv.visitVarInsn(ALOAD, 0); + mv.visitVarInsn(ILOAD, 1); + mv.visitVarInsn(ALOAD, 2); + mv.visitVarInsn(ILOAD, 3); + mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool", "getItemDropped", "(Lnet/minecraft/block/Block;ILjava/util/Random;I)Lnet/minecraft/item/Item;", false); + mv.visitInsn(ARETURN); + Label l1 = new Label(); + mv.visitLabel(l1); + mv.visitLocalVariable("this", "L"+aFormattedClassName+";", null, l0, l1, 0); + mv.visitLocalVariable("meta", "I", null, l0, l1, 1); + mv.visitLocalVariable("random", "Ljava/util/Random;", null, l0, l1, 2); + mv.visitLocalVariable("fortune", "I", null, l0, l1, 3); + mv.visitMaxs(4, 4); + mv.visitEnd(); + didInject = true; + } + else if (aMethodName.equals("damageDropped")) { + mv = cw.visitMethod(ACC_PUBLIC, "damageDropped", "(I)I", null, null); + mv.visitCode(); + Label l0 = new Label(); + mv.visitLabel(l0); + mv.visitLineNumber(48, l0); + mv.visitVarInsn(ILOAD, 1); + mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_GetHarvestTool", "damageDropped", "(I)I", false); + mv.visitInsn(IRETURN); + Label l1 = new Label(); + mv.visitLabel(l1); + mv.visitLocalVariable("this", "L"+aFormattedClassName+";", null, l0, l1, 0); + mv.visitLocalVariable("meta", "I", null, l0, l1, 1); + mv.visitMaxs(1, 2); + mv.visitEnd(); + didInject = true; + } + FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Method injection complete."); + return didInject; + } + + public final class localClassVisitor extends ClassVisitor { + + String aClassName; + + public localClassVisitor(ClassVisitor cv, String aName) { + super(ASM5, cv); + aClassName = aName; + } + + @Override + public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { + MethodVisitor methodVisitor; + if (aClassName.equals("ic2.core.block.machine.BlockMachine2") + || aClassName.equals("ic2.core.block.machine.BlockMachine3")) { + if (name.equals("getItemDropped")) { + methodVisitor = null; + } else if (name.equals("damageDropped")) { + methodVisitor = null; + } else if (name.equals("getHarvestTool")) { + methodVisitor = null; + } else { + methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); + } + } + else if (aClassName.equals("ic2.core.block.generator.block.BlockGenerator") + || aClassName.equals("ic2.core.block.machine.BlockMachine")) { + if (name.equals("damageDropped")) { + methodVisitor = null; + } else if (name.equals("getHarvestTool")) { + methodVisitor = null; + } else { + methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); + } + } + else { + if (name.equals("getHarvestTool")) { + methodVisitor = null; + } else { + methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); + } + } + if (methodVisitor == null) { + FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, + "Found method " + name + ", removing."); + } + return methodVisitor; + } + } + +} diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java index 8a8f0d86db..df9cd658be 100644 --- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java +++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java @@ -2,6 +2,8 @@ package gtPlusPlus.preloader.asm.transformers; import java.io.File; import java.io.IOException; +import java.util.Random; + import org.apache.logging.log4j.Level; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassWriter; @@ -10,16 +12,24 @@ import cpw.mods.fml.relauncher.CoreModManager; import cpw.mods.fml.relauncher.FMLRelaunchLog; import cpw.mods.fml.relauncher.ReflectionHelper; import galaxyspace.SolarSystem.core.configs.GSConfigDimensions; +import net.minecraft.block.Block; +import net.minecraft.item.Item; import net.minecraft.launchwrapper.IClassTransformer; import net.minecraft.launchwrapper.Launch; import gtPlusPlus.core.util.Utils; import gtPlusPlus.preloader.asm.AsmConfig; import gtPlusPlus.preloader.asm.transformers.Preloader_ClassTransformer.OreDictionaryVisitor; +@SuppressWarnings("static-access") public class Preloader_Transformer_Handler implements IClassTransformer { private final boolean mEnabled = false; - public static final AsmConfig mConfig; + public static final AsmConfig mConfig; + + private static final String class_Block_Machines = "gregtech.common.blocks.GT_Block_Machines"; + private static final String class_GT_MetaPipeEntity_Item = "gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Item"; + private static final String class_GT_MetaPipeEntity_Frame = "gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Frame"; + private static final String class_GT_MetaPipeEntity_Fluid = "gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid"; static { mConfig = new AsmConfig(new File("config/GTplusplus/asm.cfg")); @@ -27,6 +37,7 @@ public class Preloader_Transformer_Handler implements IClassTransformer { System.out.println("[GT++ ASM] Is DevHelper Valid? "+gtPlusPlus.preloader.DevHelper.mIsValidHelper); } + @SuppressWarnings("static-access") public byte[] transform(String name, String transformedName, byte[] basicClass) { @@ -93,11 +104,6 @@ public class Preloader_Transformer_Handler implements IClassTransformer { } } - //Fix GT NBT Persistency issue - if (transformedName.equals("gregtech.common.blocks.GT_Block_Machines")) { - FMLRelaunchLog.log("[GT++ ASM] Gregtech NBT Persistency Patch", Level.INFO, "Transforming %s", transformedName); - return new ClassTransformer_GT_BlockMachines_NBT(basicClass, probablyShouldBeFalse).getWriter().toByteArray(); - } //Patching Meta Tile Tooltips if (transformedName.equals("gregtech.common.blocks.GT_Item_Machines") && mConfig.enableGtTooltipFix) { FMLRelaunchLog.log("[GT++ ASM] Gregtech Tooltip Patch", Level.INFO, "Transforming %s", transformedName); @@ -105,7 +111,55 @@ public class Preloader_Transformer_Handler implements IClassTransformer { } + if (transformedName.equals(class_Block_Machines)) { + //Fix GT NBT Persistency issue + FMLRelaunchLog.log("[GT++ ASM] Gregtech NBT Persistency Patch", Level.INFO, "Transforming %s", transformedName); + byte[] g = new ClassTransformer_GT_BlockMachines_NBT(basicClass, probablyShouldBeFalse).getWriter().toByteArray(); + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Transforming %s", transformedName); + return new ClassTransformer_GT_BlockMachines_MetaPipeEntity(g, probablyShouldBeFalse, 0).getWriter().toByteArray(); + } + if (transformedName.equals(class_GT_MetaPipeEntity_Item) || transformedName.equals(class_GT_MetaPipeEntity_Frame) || transformedName.equals(class_GT_MetaPipeEntity_Fluid)) { + FMLRelaunchLog.log("[GT++ ASM] Gregtech getTileEntityBaseType Patch", Level.INFO, "Transforming %s", transformedName); + int mode = 0; + if (transformedName.equals(class_GT_MetaPipeEntity_Item)) { + mode = 1; + } + else if (transformedName.equals(class_GT_MetaPipeEntity_Frame)) { + mode = 2; + } + else { + mode = 3; + } + return new ClassTransformer_GT_BlockMachines_MetaPipeEntity(basicClass, probablyShouldBeFalse, mode).getWriter().toByteArray(); + } + + String[] aIC2ClassNames = new String[] { + "ic2.core.block.BlockTileEntity", + "ic2.core.block.machine.BlockMachine", + "ic2.core.block.machine.BlockMachine2", + "ic2.core.block.machine.BlockMachine3", + "ic2.core.block.kineticgenerator.block.BlockKineticGenerator", + "ic2.core.block.heatgenerator.block.BlockHeatGenerator", + "ic2.core.block.generator.block.BlockGenerator", + "ic2.core.block.reactor.block.BlockReactorAccessHatch", + "ic2.core.block.reactor.block.BlockReactorChamber", + "ic2.core.block.reactor.block.BlockReactorFluidPort", + "ic2.core.block.reactor.block.BlockReactorRedstonePort", + "ic2.core.block.reactor.block.BlockReactorVessel", + }; + + //Fix IC2 Shit + for (String y : aIC2ClassNames) { + if (transformedName.equals(y)) { + //Fix GT NBT Persistency issue + FMLRelaunchLog.log("[GT++ ASM] IC2 getHarvestTool Patch", Level.INFO, "Transforming %s", transformedName); + return new ClassTransformer_IC2_GetHarvestTool(basicClass, probablyShouldBeFalse, transformedName).getWriter().toByteArray(); + } + } + return basicClass; } + + } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index def213ec7c..068f47e0c4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -96,6 +96,9 @@ public enum GregtechItemList implements GregtechItemContainer { Carbyne_Tube_Finished, Carbyne_Sheet_Finished, + //End Game Laser Engraver Lens + Laser_Lens_Special, + //---------------------------------------------------------------------------- @@ -332,6 +335,19 @@ public enum GregtechItemList implements GregtechItemContainer { Hatch_Muffler_Adv_EV, Hatch_Muffler_Adv_IV, Hatch_Muffler_Adv_LuV, Hatch_Muffler_Adv_ZPM, Hatch_Muffler_Adv_UV, Hatch_Muffler_Adv_MAX, + //Super Input Busses + Hatch_SuperBus_Input_ULV, Hatch_SuperBus_Input_LV, Hatch_SuperBus_Input_MV, + Hatch_SuperBus_Input_HV, Hatch_SuperBus_Input_EV, Hatch_SuperBus_Input_IV, + Hatch_SuperBus_Input_LuV, Hatch_SuperBus_Input_ZPM, Hatch_SuperBus_Input_UV, + Hatch_SuperBus_Input_MAX, + + //Super Output Busses + Hatch_SuperBus_Output_ULV, Hatch_SuperBus_Output_LV, Hatch_SuperBus_Output_MV, + Hatch_SuperBus_Output_HV, Hatch_SuperBus_Output_EV, Hatch_SuperBus_Output_IV, + Hatch_SuperBus_Output_LuV, Hatch_SuperBus_Output_ZPM, Hatch_SuperBus_Output_UV, + Hatch_SuperBus_Output_MAX, + + //---------------------------------------------------------------------------- @@ -429,6 +445,12 @@ public enum GregtechItemList implements GregtechItemContainer { Machine_ZPM_Component_Maker, Machine_UV_Component_Maker, + //Breakers + BreakerBox_ULV, BreakerBox_LV, BreakerBox_MV, + BreakerBox_HV, BreakerBox_EV, BreakerBox_IV, + BreakerBox_LuV, BreakerBox_ZPM, BreakerBox_UV, + BreakerBox_MAX, + //Solar Generators GT_Solar_ULV, GT_Solar_LV, GT_Solar_MV, diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_Cyclotron.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_Cyclotron.java new file mode 100644 index 0000000000..fff86ba7bd --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_Cyclotron.java @@ -0,0 +1,232 @@ +package gtPlusPlus.xmod.gregtech.api.gui; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.gui.GT_ContainerMetaTile_Machine; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.util.GT_LanguageManager; +import java.util.Iterator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.ICrafting; + +public class CONTAINER_Cyclotron extends GT_ContainerMetaTile_Machine { + + public int mActive = 0; + public int mMaxProgressTime = 0; + public int mProgressTime = 0; + public long mEnergy = 0; + public int mSteam = 0; + public int mSteamStorage = 0; + public int mStorage = 0; + public int mOutput = 0; + public int mInput = 0; + public int mID = 0; + public int mDisplayErrorCode = 0; + private int oActive = 0; + private int oMaxProgressTime = 0; + private int oProgressTime = 0; + private long oEnergy = 0; + private int oSteam = 0; + private int oSteamStorage = 0; + private int oStorage = 0; + private int oOutput = 0; + private int oInput = 0; + private int oID = 0; + private int oDisplayErrorCode = 0; + private int mTimer = 0; + + public CONTAINER_Cyclotron(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { + super(aInventoryPlayer, aTileEntity); + this.mTileEntity = aTileEntity; + if (this.mTileEntity != null && this.mTileEntity.getMetaTileEntity() != null) { + this.addSlots(aInventoryPlayer); + if (this.doesBindPlayerInventory()) { + this.bindPlayerInventory(aInventoryPlayer); + } + + this.detectAndSendChanges(); + } else { + aInventoryPlayer.player.openContainer = aInventoryPlayer.player.inventoryContainer; + } + + } + + public CONTAINER_Cyclotron(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, + boolean doesBindInventory) { + super(aInventoryPlayer, aTileEntity); + this.mTileEntity = aTileEntity; + if (this.mTileEntity != null && this.mTileEntity.getMetaTileEntity() != null) { + this.addSlots(aInventoryPlayer); + if (this.doesBindPlayerInventory() && doesBindInventory) { + this.bindPlayerInventory(aInventoryPlayer); + } + + this.detectAndSendChanges(); + } else { + aInventoryPlayer.player.openContainer = aInventoryPlayer.player.inventoryContainer; + } + + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + if (!this.mTileEntity.isClientSide() && this.mTileEntity.getMetaTileEntity() != null) { + this.mStorage = (int) Math.min(2147483647L, this.mTileEntity.getEUCapacity()); + this.mEnergy = this.mTileEntity.getStoredEU(); + this.mSteamStorage = (int) Math.min(2147483647L, this.mTileEntity.getSteamCapacity()); + this.mSteam = (int) Math.min(2147483647L, this.mTileEntity.getStoredSteam()); + this.mOutput = (int) Math.min(2147483647L, this.mTileEntity.getOutputVoltage()); + this.mInput = (int) Math.min(2147483647L, this.mTileEntity.getInputVoltage()); + this.mDisplayErrorCode = this.mTileEntity.getErrorDisplayID(); + this.mProgressTime = this.mTileEntity.getProgress(); + this.mMaxProgressTime = this.mTileEntity.getMaxProgress(); + this.mActive = this.mTileEntity.isActive() ? 1 : 0; + ++this.mTimer; + Iterator var2 = this.crafters.iterator(); + + while (true) { + ICrafting var1; + do { + if (!var2.hasNext()) { + this.oID = this.mID; + this.oSteam = this.mSteam; + this.oInput = this.mInput; + this.oActive = this.mActive; + this.oOutput = this.mOutput; + this.oEnergy = this.mEnergy; + this.oStorage = this.mStorage; + this.oSteamStorage = this.mSteamStorage; + this.oProgressTime = this.mProgressTime; + this.oMaxProgressTime = this.mMaxProgressTime; + this.oDisplayErrorCode = this.mDisplayErrorCode; + return; + } + + var1 = (ICrafting) var2.next(); + if (this.mTimer % 500 == 10 || this.oEnergy != this.mEnergy) { + + int uEnergy = (int) Math.min(2147483647L, this.mTileEntity.getStoredEU()); + + var1.sendProgressBarUpdate(this, 0, uEnergy & ''); + var1.sendProgressBarUpdate(this, 1, uEnergy >>> 16); + } + + if (this.mTimer % 500 == 10 || this.oStorage != this.mStorage) { + var1.sendProgressBarUpdate(this, 2, this.mStorage & ''); + var1.sendProgressBarUpdate(this, 3, this.mStorage >>> 16); + } + + if (this.mTimer % 500 == 10 || this.oOutput != this.mOutput) { + var1.sendProgressBarUpdate(this, 4, this.mOutput); + } + + if (this.mTimer % 500 == 10 || this.oInput != this.mInput) { + var1.sendProgressBarUpdate(this, 5, this.mInput); + } + + if (this.mTimer % 500 == 10 || this.oDisplayErrorCode != this.mDisplayErrorCode) { + var1.sendProgressBarUpdate(this, 6, this.mDisplayErrorCode); + } + + if (this.mTimer % 500 == 10 || this.oProgressTime != this.mProgressTime) { + var1.sendProgressBarUpdate(this, 11, this.mProgressTime & ''); + var1.sendProgressBarUpdate(this, 12, this.mProgressTime >>> 16); + } + + if (this.mTimer % 500 == 10 || this.oMaxProgressTime != this.mMaxProgressTime) { + var1.sendProgressBarUpdate(this, 13, this.mMaxProgressTime & ''); + var1.sendProgressBarUpdate(this, 14, this.mMaxProgressTime >>> 16); + } + + if (this.mTimer % 500 == 10 || this.oID != this.mID) { + var1.sendProgressBarUpdate(this, 15, this.mID); + } + + if (this.mTimer % 500 == 10 || this.oActive != this.mActive) { + var1.sendProgressBarUpdate(this, 16, this.mActive); + } + + if (this.mTimer % 500 == 10 || this.oSteam != this.mSteam) { + var1.sendProgressBarUpdate(this, 17, this.mSteam & ''); + var1.sendProgressBarUpdate(this, 18, this.mSteam >>> 16); + } + } while (this.mTimer % 500 != 10 && this.oSteamStorage == this.mSteamStorage); + + var1.sendProgressBarUpdate(this, 19, this.mSteamStorage & ''); + var1.sendProgressBarUpdate(this, 20, this.mSteamStorage >>> 16); + } + } + } + + @SideOnly(Side.CLIENT) + public void updateProgressBar(int par1, int par2) { + super.updateProgressBar(par1, par2); + switch (par1) { + case 0 : + this.mEnergy = this.mEnergy & -65536 | par2; + break; + case 1 : + this.mEnergy = this.mEnergy & '' | par2 << 16; + break; + case 2 : + this.mStorage = this.mStorage & -65536 | par2; + break; + case 3 : + this.mStorage = this.mStorage & '' | par2 << 16; + break; + case 4 : + this.mOutput = par2; + break; + case 5 : + this.mInput = par2; + break; + case 6 : + this.mDisplayErrorCode = par2; + case 7 : + case 8 : + case 9 : + case 10 : + default : + break; + case 11 : + this.mProgressTime = this.mProgressTime & -65536 | par2; + break; + case 12 : + this.mProgressTime = this.mProgressTime & '' | par2 << 16; + break; + case 13 : + this.mMaxProgressTime = this.mMaxProgressTime & -65536 | par2; + break; + case 14 : + this.mMaxProgressTime = this.mMaxProgressTime & '' | par2 << 16; + break; + case 15 : + this.mID = par2; + break; + case 16 : + this.mActive = par2; + break; + case 17 : + this.mSteam = this.mSteam & -65536 | par2; + break; + case 18 : + this.mSteam = this.mSteam & '' | par2 << 16; + break; + case 19 : + this.mSteamStorage = this.mSteamStorage & -65536 | par2; + break; + case 20 : + this.mSteamStorage = this.mSteamStorage & '' | par2 << 16; + } + + } + + public boolean canInteractWith(EntityPlayer player) { + return this.mTileEntity.isUseableByPlayer(player); + } + + public String trans(String aKey, String aEnglish) { + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_" + aKey, aEnglish, false); + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java index 788fff4031..e3365935aa 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/CONTAINER_PollutionCleaner.java @@ -14,6 +14,7 @@ import net.minecraft.item.ItemStack; import gregtech.api.gui.*; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaAtmosphericReconditioner; /** * NEVER INCLUDE THIS FILE IN YOUR MOD!!! @@ -23,6 +24,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachin public class CONTAINER_PollutionCleaner extends GT_Container_BasicTank { public boolean mFluidTransfer = false, mItemTransfer = false, mStuttering = false; + public int mReduction = 0; public CONTAINER_PollutionCleaner(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -37,72 +39,11 @@ public class CONTAINER_PollutionCleaner extends GT_Container_BasicTank { int tStartIndex = ((GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity()).getInputSlot(); switch (((GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity()).mInputSlotCount) { - case 0: - break; - case 1: //Chemical Mixer - //Add 3 Item Slots - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7)); - //Add 6 Fluid Slots - addSlotToContainer(new GT_Slot_Render(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new GT_Slot_Render(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new GT_Slot_Render(mTileEntity, tStartIndex++, 53, 25)); - addSlotToContainer(new GT_Slot_Render(mTileEntity, tStartIndex++, 17, 43)); - addSlotToContainer(new GT_Slot_Render(mTileEntity, tStartIndex++, 35, 43)); - addSlotToContainer(new GT_Slot_Render(mTileEntity, tStartIndex++, 53, 43)); - - break; case 2: //Pollution Scrubber //Add 2 Item Slots addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 107, 25)); - break; - case 3: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - break; - case 4: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34)); - break; - case 5: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34)); - break; - case 6: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34)); - break; - case 7: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43)); - break; - case 8: - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43)); - addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 43)); - break; + break; default: addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7)); addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7)); @@ -121,68 +62,7 @@ public class CONTAINER_PollutionCleaner extends GT_Container_BasicTank { switch (((GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity()).mOutputItems.length) { case 0: break; - case 1: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - break; - case 2: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - break; - case 3: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - break; - case 4: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34)); - break; - case 5: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34)); - break; - case 6: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 16)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 34)); - break; - case 7: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43)); - break; - case 8: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 43)); - break; default: - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 43)); - addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 43)); break; } @@ -215,6 +95,7 @@ public class CONTAINER_PollutionCleaner extends GT_Container_BasicTank { mFluidTransfer = ((GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity()).mFluidTransfer; mItemTransfer = ((GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity()).mItemTransfer; mStuttering = ((GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity()).mStuttering; + mReduction = ((GregtechMetaAtmosphericReconditioner) mTileEntity.getMetaTileEntity()).mPollutionReduction; Iterator var2 = this.crafters.iterator(); while (var2.hasNext()) { @@ -222,6 +103,7 @@ public class CONTAINER_PollutionCleaner extends GT_Container_BasicTank { var1.sendProgressBarUpdate(this, 102, mFluidTransfer ? 1 : 0); var1.sendProgressBarUpdate(this, 103, mItemTransfer ? 1 : 0); var1.sendProgressBarUpdate(this, 104, mStuttering ? 1 : 0); + var1.sendProgressBarUpdate(this, 105, mReduction); } } @@ -244,6 +126,9 @@ public class CONTAINER_PollutionCleaner extends GT_Container_BasicTank { case 104: mStuttering = (par2 != 0); break; + case 105: + mReduction = (par2); + break; } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java index edc1ad4c8b..2c1601cee2 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/basic/GUI_PollutionCleaner.java @@ -6,15 +6,20 @@ import java.util.List; import net.minecraft.entity.player.InventoryPlayer; import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; - +import gregtech.api.util.GT_Utility; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.math.MathUtils; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ControlCore; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaAtmosphericReconditioner; public class GUI_PollutionCleaner extends GT_GUIContainerMetaTile_Machine { public final String mName; public final String mNEI; public final byte mProgressBarDirection; public final byte mProgressBarAmount; + public int mReduction; public GUI_PollutionCleaner(final InventoryPlayer aInventoryPlayer, final IGregTechTileEntity aTileEntity, final String aName, final String aTextureFile) { @@ -50,6 +55,12 @@ public class GUI_PollutionCleaner extends GT_GUIContainerMetaTile_Machine { if (x3 >= 25 && x3 <= 42) { list.add("Item Auto-Output"); } + if (x3 >= 77 && x3 <= 95) { + //Do Dumb shit + CONTAINER_PollutionCleaner aContainerCast = (CONTAINER_PollutionCleaner) this.mContainer; + mReduction = aContainerCast.mReduction; + list.add("Reduction: "+mReduction); + } } if (!list.isEmpty()) { this.drawHoveringText(list, x3, y3, this.fontRendererObj); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java index 4c7ea6d05d..ac2320afdb 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java @@ -135,7 +135,7 @@ public interface IGregtech_RecipeAdder { public boolean addCyclotronRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue); - boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, FluidStack aFluidOutput, + boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack[] aOutput, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue); public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, @@ -179,4 +179,6 @@ public interface IGregtech_RecipeAdder { public boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden); public boolean addBrewingRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden); + + public boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java new file mode 100644 index 0000000000..939cac2779 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java @@ -0,0 +1,115 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity; + +import java.util.ArrayList; +import java.util.Arrays; + +import gregtech.GT_Mod; +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.metatileentity.BaseMetaTileEntity; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_Utility; +import gregtech.common.GT_Pollution; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; +import ic2.api.Direction; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class BaseCustomTileEntity extends BaseMetaTileEntity { + + protected NBTTagCompound mRecipeStuff2; + + public BaseCustomTileEntity() { + super(); + Logger.INFO("Created new BaseCustomTileEntity"); + } + + public void writeToNBT(NBTTagCompound aNBT) { + try { + super.writeToNBT(aNBT); + } catch (Throwable arg7) { + GT_Log.err.println( + "Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould\'ve been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!"); + arg7.printStackTrace(GT_Log.err); + } + + try { + if (!aNBT.hasKey("ModVersion")) + aNBT.setString("ModVersion", CORE.VERSION); + } catch (Throwable arg6) { + GT_Log.err.println( + "Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould\'ve been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!"); + arg6.printStackTrace(GT_Log.err); + } + } + + public void doEnergyExplosion() { + if (this.getUniversalEnergyCapacity() > 0L + && this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() / 5L) { + this.doExplosion( + this.getOutput() * (long) (this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() ? 4 + : (this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() / 2L ? 2 : 1))); + GT_Mod arg9999 = GT_Mod.instance; + GT_Mod.achievements.issueAchievement(this.getWorldObj().getPlayerEntityByName(this.getOwnerName()), + "electricproblems"); + } + + } + + public void doExplosion(long aAmount) { + if (this.canAccessData()) { + if (GregTech_API.sMachineWireFire && this.mMetaTileEntity.isElectric()) { + try { + this.mReleaseEnergy = true; + Util.emitEnergyToNetwork(GT_Values.V[5], Math.max(1L, this.getStoredEU() / GT_Values.V[5]), this); + } catch (Exception arg4) { + ; + } + } + + this.mReleaseEnergy = false; + this.mMetaTileEntity.onExplosion(); + int i; + if (GT_Mod.gregtechproxy.mExplosionItemDrop) { + for (i = 0; i < this.getSizeInventory(); ++i) { + ItemStack tItem = this.getStackInSlot(i); + if (tItem != null && tItem.stackSize > 0 && this.isValidSlot(i)) { + this.dropItems(tItem); + this.setInventorySlotContents(i, (ItemStack) null); + } + } + } + + if (this.mRecipeStuff2 != null) { + for (i = 0; i < 9; ++i) { + this.dropItems(GT_Utility.loadItem(this.mRecipeStuff2, "Ingredient." + i)); + } + } + + GT_Pollution.addPollution(this, 100000); + this.mMetaTileEntity.doExplosion(aAmount); + } + + } + + public ArrayList<ItemStack> getDrops() { + ItemStack rStack = new ItemStack(Meta_GT_Proxy.sBlockMachines, 1, this.getMetaTileID()); + NBTTagCompound aSuperNBT = super.getDrops().get(0).getTagCompound(); + NBTTagCompound tNBT = aSuperNBT; + if (this.hasValidMetaTileEntity()) { + this.mMetaTileEntity.setItemNBT(tNBT); + } + if (!tNBT.hasNoTags()) { + rStack.setTagCompound(tNBT); + } + + return new ArrayList<ItemStack>(Arrays.asList(new ItemStack[] { rStack })); + } + + public boolean isTeleporterCompatible(Direction aSide) { + return this.canAccessData() && this.mMetaTileEntity.isTeleporterCompatible(); + } + +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java new file mode 100644 index 0000000000..0b8cb10606 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java @@ -0,0 +1,280 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.xmod.gregtech.api.metatileentity.BaseCustomTileEntity; +import ic2.api.Direction; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class BaseCustomPower_MTE extends BaseCustomTileEntity { + + public BaseCustomPower_MTE() { + super(); + Logger.INFO("Created new BaseCustomPower_MTE"); + } + + public long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage) { + if (mMetaTileEntity == null) { + Logger.MACHINE_INFO("Bad Tile"); + } + if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.inputEnergyFrom(aSide) && aAmperage > 0L + && aVoltage > 0L && this.getStoredEU() < this.getEUCapacity() + && this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()) { + Logger.MACHINE_INFO("Injecting Energy Units"); + return super.injectEnergyUnits(aSide, aVoltage, aAmperage); + } else { + Logger.MACHINE_INFO("canAccessData(): "+canAccessData()); + Logger.MACHINE_INFO("isElectric(): "+this.mMetaTileEntity.isElectric()); + Logger.MACHINE_INFO("InputEnergyFromSide("+aSide+"): "+this.inputEnergyFrom(aSide)); + Logger.MACHINE_INFO("aAmperage: "+aAmperage); + Logger.MACHINE_INFO("aVoltage: "+aVoltage); + Logger.MACHINE_INFO("this.getStoredEU() < this.getEUCapacity(): "+(this.getStoredEU() < this.getEUCapacity())); + Logger.MACHINE_INFO("this.mMetaTileEntity.maxAmperesIn() >= this.mAcceptedAmperes: "+(this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage())); + Logger.MACHINE_INFO("this.mMetaTileEntity.maxAmperesIn(): "+(this.mMetaTileEntity.maxAmperesIn())); + Logger.MACHINE_INFO("this.mAcceptedAmperes: "+(this.getInputAmperage())); + return 0L; + } + } + + public boolean drainEnergyUnits(byte aSide, long aVoltage, long aAmperage) { + Logger.MACHINE_INFO("Draining Energy Units 4"); + if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.outputsEnergyTo(aSide) + && this.getStoredEU() - aVoltage * aAmperage >= this.mMetaTileEntity.getMinimumStoredEU()) { + if (this.decreaseStoredEU(aVoltage * aAmperage, false)) { + this.mAverageEUOutput[this.mAverageEUOutputIndex] = (int) ((long) this.mAverageEUOutput[this.mAverageEUOutputIndex] + + aVoltage * aAmperage); + return true; + } else { + return false; + } + } else { + return false; + } + } + + @Override + public boolean decreaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooLessEnergy) { + Logger.MACHINE_INFO("Draining Energy Units 3"); + // TODO Auto-generated method stub + return super.decreaseStoredEnergyUnits(aEnergy, aIgnoreTooLessEnergy); + } + + @Override + public boolean increaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooMuchEnergy) { + // TODO Auto-generated method stub + return super.increaseStoredEnergyUnits(aEnergy, aIgnoreTooMuchEnergy); + } + + @Override + public boolean inputEnergyFrom(byte aSide) { + // TODO Auto-generated method stub + return super.inputEnergyFrom(aSide); + } + + @Override + public boolean outputsEnergyTo(byte aSide) { + Logger.MACHINE_INFO("Draining Energy Units 2"); + // TODO Auto-generated method stub + return super.outputsEnergyTo(aSide); + } + + @Override + public long getOutputAmperage() { + // TODO Auto-generated method stub + return super.getOutputAmperage(); + } + + @Override + public long getOutputVoltage() { + // TODO Auto-generated method stub + return super.getOutputVoltage(); + } + + @Override + public long getInputAmperage() { + // TODO Auto-generated method stub + return super.getInputAmperage(); + } + + @Override + public long getInputVoltage() { + // TODO Auto-generated method stub + return super.getInputVoltage(); + } + + @Override + public long getUniversalEnergyStored() { + // TODO Auto-generated method stub + return super.getUniversalEnergyStored(); + } + + @Override + public long getUniversalEnergyCapacity() { + // TODO Auto-generated method stub + return super.getUniversalEnergyCapacity(); + } + + @Override + public long getStoredEU() { + // TODO Auto-generated method stub + return super.getStoredEU(); + } + + @Override + public long getEUCapacity() { + // TODO Auto-generated method stub + return super.getEUCapacity(); + } + + @Override + public boolean setStoredEU(long aEnergy) { + // TODO Auto-generated method stub + return super.setStoredEU(aEnergy); + } + + @Override + public boolean decreaseStoredEU(long aEnergy, boolean aIgnoreTooLessEnergy) { + Logger.MACHINE_INFO("Draining Energy Units 1"); + // TODO Auto-generated method stub + return super.decreaseStoredEU(aEnergy, aIgnoreTooLessEnergy); + } + + @Override + public boolean decreaseStoredSteam(long aEnergy, boolean aIgnoreTooLessEnergy) { + // TODO Auto-generated method stub + return super.decreaseStoredSteam(aEnergy, aIgnoreTooLessEnergy); + } + + @Override + public void doEnergyExplosion() { + // TODO Auto-generated method stub + super.doEnergyExplosion(); + } + + @Override + public void doExplosion(long aAmount) { + // TODO Auto-generated method stub + super.doExplosion(aAmount); + } + + @Override + public byte getLightValue() { + // TODO Auto-generated method stub + return super.getLightValue(); + } + + @Override + public long getAverageElectricInput() { + // TODO Auto-generated method stub + return super.getAverageElectricInput(); + } + + @Override + public long getAverageElectricOutput() { + // TODO Auto-generated method stub + return super.getAverageElectricOutput(); + } + + @Override + public double getOutputEnergyUnitsPerTick() { + // TODO Auto-generated method stub + return super.getOutputEnergyUnitsPerTick(); + } + + @Override + public double demandedEnergyUnits() { + // TODO Auto-generated method stub + return super.demandedEnergyUnits(); + } + + @Override + public double injectEnergyUnits(ForgeDirection aDirection, double aAmount) { + // TODO Auto-generated method stub + return super.injectEnergyUnits(aDirection, aAmount); + } + + @Override + public boolean acceptsEnergyFrom(TileEntity aEmitter, ForgeDirection aDirection) { + // TODO Auto-generated method stub + return super.acceptsEnergyFrom(aEmitter, aDirection); + } + + @Override + public boolean emitsEnergyTo(TileEntity aReceiver, ForgeDirection aDirection) { + // TODO Auto-generated method stub + return super.emitsEnergyTo(aReceiver, aDirection); + } + + @Override + public double getOfferedEnergy() { + // TODO Auto-generated method stub + return super.getOfferedEnergy(); + } + + @Override + public void drawEnergy(double amount) { + // TODO Auto-generated method stub + super.drawEnergy(amount); + } + + @Override + public int injectEnergy(ForgeDirection aForgeDirection, int aAmount) { + // TODO Auto-generated method stub + return super.injectEnergy(aForgeDirection, aAmount); + } + + @Override + public int addEnergy(int aEnergy) { + // TODO Auto-generated method stub + return super.addEnergy(aEnergy); + } + + @Override + public boolean isAddedToEnergyNet() { + // TODO Auto-generated method stub + return super.isAddedToEnergyNet(); + } + + @Override + public int demandsEnergy() { + // TODO Auto-generated method stub + return super.demandsEnergy(); + } + + @Override + public int getMaxSafeInput() { + // TODO Auto-generated method stub + return super.getMaxSafeInput(); + } + + @Override + public int getMaxEnergyOutput() { + // TODO Auto-generated method stub + return super.getMaxEnergyOutput(); + } + + @Override + public int injectEnergy(Direction aDirection, int aAmount) { + // TODO Auto-generated method stub + return super.injectEnergy(aDirection, aAmount); + } + + @Override + public boolean acceptsEnergyFrom(TileEntity aReceiver, Direction aDirection) { + // TODO Auto-generated method stub + return super.acceptsEnergyFrom(aReceiver, aDirection); + } + + @Override + public boolean emitsEnergyTo(TileEntity aReceiver, Direction aDirection) { + // TODO Auto-generated method stub + return super.emitsEnergyTo(aReceiver, aDirection); + } + + @Override + public boolean isUniversalEnergyStored(long aEnergyAmount) { + // TODO Auto-generated method stub + return super.isUniversalEnergyStored(aEnergyAmount); + } + +} diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java new file mode 100644 index 0000000000..b0dc635aee --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java @@ -0,0 +1,872 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power; + +import gregtech.GT_Mod; +import gregtech.api.GregTech_API; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Textures; +import gregtech.api.gui.GT_Container_BasicMachine; +import gregtech.api.gui.GT_GUIContainer_BasicMachine; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; +import gregtech.api.objects.GT_ItemStack; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.objects.XSTR; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.DimensionManager; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidHandler; + +import java.util.Arrays; + +import static gregtech.api.enums.GT_Values.V; + +/** + * NEVER INCLUDE THIS FILE IN YOUR MOD!!! + * <p/> + * This is the main construct for my Basic Machines such as the Automatic Extractor + * Extend this class to make a simple Machine + */ +public abstract class GTPP_MTE_BasicMachine extends GTPP_MTE_BasicTank { + /** + * return values for checkRecipe() + */ + protected static final int + DID_NOT_FIND_RECIPE = 0, + FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS = 1, + FOUND_AND_SUCCESSFULLY_USED_RECIPE = 2; + public static final int OTHER_SLOT_COUNT = 4; + public final ItemStack[] mOutputItems; + public final int mInputSlotCount, mAmperage; + public boolean mAllowInputFromOutputSide = false, mFluidTransfer = false, mItemTransfer = false, mHasBeenUpdated = false, mStuttering = false, mCharge = false, mDecharge = false; + public int mMainFacing = -1, mProgresstime = 0, mMaxProgresstime = 0, mEUt = 0, mOutputBlocked = 0; + public FluidStack mOutputFluid; + public String mGUIName = "", mNEIName = ""; + public GT_MetaTileEntity_MultiBlockBase mCleanroom; + /** + * Contains the Recipe which has been previously used, or null if there was no previous Recipe, which could have been buffered + */ + protected GT_Recipe mLastRecipe = null; + private FluidStack mFluidOut; + + /** + * @param aOverlays 0 = SideFacingActive + * 1 = SideFacingInactive + * 2 = FrontFacingActive + * 3 = FrontFacingInactive + * 4 = TopFacingActive + * 5 = TopFacingInactive + * 6 = BottomFacingActive + * 7 = BottomFacingInactive + * ----- Not all Array Elements have to be initialised, you can also just use 8 Parameters for the Default Pipe Texture Overlays ----- + * 8 = BottomFacingPipeActive + * 9 = BottomFacingPipeInactive + * 10 = TopFacingPipeActive + * 11 = TopFacingPipeInactive + * 12 = SideFacingPipeActive + * 13 = SideFacingPipeInactive + */ + public GTPP_MTE_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage, String aDescription, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName, ITexture... aOverlays) { + super(aID, aName, aNameRegional, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aOverlays); + mInputSlotCount = Math.max(0, aInputSlotCount); + mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)]; + mAmperage = aAmperage; + mGUIName = aGUIName; + mNEIName = aNEIName; + } + + public GTPP_MTE_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage, String[] aDescription, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName, ITexture... aOverlays) { + super(aID, aName, aNameRegional, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aOverlays); + mInputSlotCount = Math.max(0, aInputSlotCount); + mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)]; + mAmperage = aAmperage; + mGUIName = aGUIName; + mNEIName = aNEIName; + } + + public GTPP_MTE_BasicMachine(String aName, int aTier, int aAmperage, String aDescription, ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) { + super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures); + mInputSlotCount = Math.max(0, aInputSlotCount); + mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)]; + mAmperage = aAmperage; + mGUIName = aGUIName; + mNEIName = aNEIName; + } + + public GTPP_MTE_BasicMachine(String aName, int aTier, int aAmperage, String[] aDescription, ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) { + super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures); + mInputSlotCount = Math.max(0, aInputSlotCount); + mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)]; + mAmperage = aAmperage; + mGUIName = aGUIName; + mNEIName = aNEIName; + } + + protected boolean isValidMainFacing(byte aSide) { + return aSide > 1; + } + + public boolean setMainFacing(byte aSide){ + if (!isValidMainFacing(aSide)) return false; + mMainFacing = aSide; + if(getBaseMetaTileEntity().getFrontFacing() == mMainFacing){ + getBaseMetaTileEntity().setFrontFacing(GT_Utility.getOppositeSide(aSide)); + } + onFacingChange(); + onMachineBlockUpdate(); + return true; + } + + @Override + public ITexture[][][] getTextureSet(ITexture[] aTextures) { + ITexture[][][] rTextures = new ITexture[14][17][]; + aTextures = Arrays.copyOf(aTextures, 14); + + for (int i = 0; i < aTextures.length; i++) + if (aTextures[i] != null) for (byte c = -1; c < 16; c++) { + if (rTextures[i][c + 1] == null) + rTextures[i][c + 1] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][c + 1], aTextures[i]}; + } + + for (byte c = -1; c < 16; c++) { + if (rTextures[0][c + 1] == null) rTextures[0][c + 1] = getSideFacingActive(c); + if (rTextures[1][c + 1] == null) rTextures[1][c + 1] = getSideFacingInactive(c); + if (rTextures[2][c + 1] == null) rTextures[2][c + 1] = getFrontFacingActive(c); + if (rTextures[3][c + 1] == null) rTextures[3][c + 1] = getFrontFacingInactive(c); + if (rTextures[4][c + 1] == null) rTextures[4][c + 1] = getTopFacingActive(c); + if (rTextures[5][c + 1] == null) rTextures[5][c + 1] = getTopFacingInactive(c); + if (rTextures[6][c + 1] == null) rTextures[6][c + 1] = getBottomFacingActive(c); + if (rTextures[7][c + 1] == null) rTextures[7][c + 1] = getBottomFacingInactive(c); + if (rTextures[8][c + 1] == null) rTextures[8][c + 1] = getBottomFacingPipeActive(c); + if (rTextures[9][c + 1] == null) rTextures[9][c + 1] = getBottomFacingPipeInactive(c); + if (rTextures[10][c + 1] == null) rTextures[10][c + 1] = getTopFacingPipeActive(c); + if (rTextures[11][c + 1] == null) rTextures[11][c + 1] = getTopFacingPipeInactive(c); + if (rTextures[12][c + 1] == null) rTextures[12][c + 1] = getSideFacingPipeActive(c); + if (rTextures[13][c + 1] == null) rTextures[13][c + 1] = getSideFacingPipeInactive(c); + } + return rTextures; + } + + @Override + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + return mTextures[mMainFacing < 2 ? aSide == aFacing ? aActive ? 2 : 3 : aSide == 0 ? aActive ? 6 : 7 : aSide == 1 ? aActive ? 4 : 5 : aActive ? 0 : 1 : aSide == mMainFacing ? aActive ? 2 : 3 : (showPipeFacing() && aSide == aFacing) ? aSide == 0 ? aActive ? 8 : 9 : aSide == 1 ? aActive ? 10 : 11 : aActive ? 12 : 13 : aSide == 0 ? aActive ? 6 : 7 : aSide == 1 ? aActive ? 4 : 5 : aActive ? 0 : 1][aColorIndex + 1]; + } + + @Override + public boolean isSimpleMachine() { + return false; + } + + @Override + public boolean isOverclockerUpgradable() { + return false; + } + + @Override + public boolean isTransformerUpgradable() { + return false; + } + + @Override + public boolean isElectric() { + return true; + } + + @Override + public boolean isValidSlot(int aIndex) { + return aIndex > 0 && super.isValidSlot(aIndex) && aIndex != OTHER_SLOT_COUNT + mInputSlotCount + mOutputItems.length; + } + + @Override + public boolean isFacingValid(byte aFacing) { + return mMainFacing > 1 || aFacing > 1; + } + + @Override + public boolean isEnetInput() { + return true; + } + + @Override + public boolean isInputFacing(byte aSide) { + return aSide != mMainFacing; + } + + @Override + public boolean isOutputFacing(byte aSide) { + return false; + } + + @Override + public boolean isTeleporterCompatible() { + return false; + } + + @Override + public boolean isLiquidInput(byte aSide) { + return aSide != mMainFacing && (mAllowInputFromOutputSide || aSide != getBaseMetaTileEntity().getFrontFacing()); + } + + @Override + public boolean isLiquidOutput(byte aSide) { + return aSide != mMainFacing; + } + + @Override + public long getMinimumStoredEU() { + return V[mTier] * 16; + } + + @Override + public long maxEUStore() { + return V[mTier] * 64; + } + + @Override + public long maxEUInput() { + return V[mTier]; + } + + @Override + public long maxSteamStore() { + return maxEUStore(); + } + + @Override + public long maxAmperesIn() { + return (mEUt * 2) / V[mTier] + 1; + } + + @Override + public int getInputSlot() { + return OTHER_SLOT_COUNT; + } + + @Override + public int getOutputSlot() { + return OTHER_SLOT_COUNT + mInputSlotCount; + } + + @Override + public int getStackDisplaySlot() { + return 2; + } + + @Override + public int rechargerSlotStartIndex() { + return 1; + } + + @Override + public int dechargerSlotStartIndex() { + return 1; + } + + @Override + public int rechargerSlotCount() { + return mCharge ? 1 : 0; + } + + @Override + public int dechargerSlotCount() { + return mDecharge ? 1 : 0; + } + + @Override + public boolean isAccessAllowed(EntityPlayer aPlayer) { + return true; + } + + @Override + public int getProgresstime() { + return mProgresstime; + } + + @Override + public int maxProgresstime() { + return mMaxProgresstime; + } + + @Override + public int increaseProgress(int aProgress) { + mProgresstime += aProgress; + return mMaxProgresstime - mProgresstime; + } + + @Override + public boolean isFluidInputAllowed(FluidStack aFluid) { + return getFillableStack() != null || (getRecipeList() != null && getRecipeList().containsInput(aFluid)); + } + + @Override + public boolean isFluidChangingAllowed() { + return true; + } + + @Override + public boolean doesFillContainers() { + return false; + } + + @Override + public boolean doesEmptyContainers() { + return false; + } + + @Override + public boolean canTankBeFilled() { + return true; + } + + @Override + public boolean canTankBeEmptied() { + return true; + } + + @Override + public boolean displaysItemStack() { + return true; + } + + @Override + public boolean displaysStackSize() { + return true; + } + + @Override + public FluidStack getDisplayedFluid() { + return displaysOutputFluid() ? getDrainableStack() : null; + } + + @Override + public FluidStack getDrainableStack() { + return mFluidOut; + } + + @Override + public FluidStack setDrainableStack(FluidStack aFluid) { + mFluidOut = aFluid; + return mFluidOut; + } + + @Override + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + if (aBaseMetaTileEntity.isClientSide()) return true; + if(!GT_Mod.gregtechproxy.mForceFreeFace) { + aBaseMetaTileEntity.openGUI(aPlayer); + return true; + } + for(byte i=0;i < 6; i++){ + if(aBaseMetaTileEntity.getAirAtSide(i)){ + aBaseMetaTileEntity.openGUI(aPlayer); + return true; + } + } + GT_Utility.sendChatToPlayer(aPlayer,"No free Side!"); + return true; + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_BasicMachine(aPlayerInventory, aBaseMetaTileEntity); + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), mGUIName, GT_Utility.isStringValid(mNEIName) ? mNEIName : getRecipeList() != null ? getRecipeList().mUnlocalizedName : ""); + } + + @Override + public void initDefaultModes(NBTTagCompound aNBT) { + mMainFacing = -1; + } + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + aNBT.setBoolean("mFluidTransfer", mFluidTransfer); + aNBT.setBoolean("mItemTransfer", mItemTransfer); + aNBT.setBoolean("mHasBeenUpdated", mHasBeenUpdated); + aNBT.setBoolean("mAllowInputFromOutputSide", mAllowInputFromOutputSide); + aNBT.setInteger("mEUt", mEUt); + aNBT.setInteger("mMainFacing", mMainFacing); + aNBT.setInteger("mProgresstime", mProgresstime); + aNBT.setInteger("mMaxProgresstime", mMaxProgresstime); + if (mOutputFluid != null) aNBT.setTag("mOutputFluid", mOutputFluid.writeToNBT(new NBTTagCompound())); + if (mFluidOut != null) aNBT.setTag("mFluidOut", mFluidOut.writeToNBT(new NBTTagCompound())); + + for (int i = 0; i < mOutputItems.length; i++) + if (mOutputItems[i] != null) + aNBT.setTag("mOutputItem" + i, mOutputItems[i].writeToNBT(new NBTTagCompound())); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + mFluidTransfer = aNBT.getBoolean("mFluidTransfer"); + mItemTransfer = aNBT.getBoolean("mItemTransfer"); + mHasBeenUpdated = aNBT.getBoolean("mHasBeenUpdated"); + mAllowInputFromOutputSide = aNBT.getBoolean("mAllowInputFromOutputSide"); + mEUt = aNBT.getInteger("mEUt"); + mMainFacing = aNBT.getInteger("mMainFacing"); + mProgresstime = aNBT.getInteger("mProgresstime"); + mMaxProgresstime = aNBT.getInteger("mMaxProgresstime"); + mOutputFluid = FluidStack.loadFluidStackFromNBT(aNBT.getCompoundTag("mOutputFluid")); + mFluidOut = FluidStack.loadFluidStackFromNBT(aNBT.getCompoundTag("mFluidOut")); + + for (int i = 0; i < mOutputItems.length; i++) mOutputItems[i] = GT_Utility.loadItem(aNBT, "mOutputItem" + i); + } + + @Override + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + super.onPostTick(aBaseMetaTileEntity, aTick); + + if (aBaseMetaTileEntity.isServerSide()) { + mCharge = aBaseMetaTileEntity.getStoredEU() / 2 > aBaseMetaTileEntity.getEUCapacity() / 3; + mDecharge = aBaseMetaTileEntity.getStoredEU() < aBaseMetaTileEntity.getEUCapacity() / 3; + + doDisplayThings(); + + boolean tSucceeded = false; + + if (mMaxProgresstime > 0 && (mProgresstime >= 0 || aBaseMetaTileEntity.isAllowedToWork())) { + aBaseMetaTileEntity.setActive(true); + if (mProgresstime < 0 || drainEnergyForProcess(mEUt)) { + if (++mProgresstime >= mMaxProgresstime) { + for (int i = 0; i < mOutputItems.length; i++) + for (int j = 0; j < mOutputItems.length; j++) + if (aBaseMetaTileEntity.addStackToSlot(getOutputSlot() + ((j + i) % mOutputItems.length), mOutputItems[i])) + break; + if (mOutputFluid != null) + if (getDrainableStack() == null) setDrainableStack(mOutputFluid.copy()); + else if (mOutputFluid.isFluidEqual(getDrainableStack())) + getDrainableStack().amount += mOutputFluid.amount; + for (int i = 0; i < mOutputItems.length; i++) mOutputItems[i] = null; + mOutputFluid = null; + mEUt = 0; + mProgresstime = 0; + mMaxProgresstime = 0; + mStuttering = false; + tSucceeded = true; + endProcess(); + } + if (mProgresstime > 5) mStuttering = false; + XSTR aXSTR = new XSTR(); + if(GT_Mod.gregtechproxy.mAprilFool && aXSTR.nextInt(5000)==0)GT_Utility.sendSoundToPlayers(aBaseMetaTileEntity.getWorld(), GregTech_API.sSoundList.get(5), 10.0F, -1.0F, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(),aBaseMetaTileEntity.getZCoord()); + } else { + if (!mStuttering) { + stutterProcess(); + if (canHaveInsufficientEnergy()) mProgresstime = -100; + mStuttering = true; + } + } + } else { + aBaseMetaTileEntity.setActive(false); + } + + boolean tRemovedOutputFluid = false; + + if (doesAutoOutputFluids() && getDrainableStack() != null && aBaseMetaTileEntity.getFrontFacing() != mMainFacing && (tSucceeded || aTick % 20 == 0)) { + IFluidHandler tTank = aBaseMetaTileEntity.getITankContainerAtSide(aBaseMetaTileEntity.getFrontFacing()); + if (tTank != null) { + FluidStack tDrained = drain(1000, false); + if (tDrained != null) { + int tFilledAmount = tTank.fill(ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()), tDrained, false); + if (tFilledAmount > 0) + tTank.fill(ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()), drain(tFilledAmount, true), true); + } + } + if (getDrainableStack() == null) tRemovedOutputFluid = true; + } + + if (doesAutoOutput() && !isOutputEmpty() && aBaseMetaTileEntity.getFrontFacing() != mMainFacing && (tSucceeded || mOutputBlocked % 300 == 1 || aBaseMetaTileEntity.hasInventoryBeenModified() || aTick % 600 == 0)) { + TileEntity tTileEntity2 = aBaseMetaTileEntity.getTileEntityAtSide(aBaseMetaTileEntity.getFrontFacing()); + for (int i = 0, tCosts = 1; i < mOutputItems.length && tCosts > 0 && aBaseMetaTileEntity.isUniversalEnergyStored(128); i++) { + tCosts = GT_Utility.moveOneItemStack(aBaseMetaTileEntity, tTileEntity2, aBaseMetaTileEntity.getFrontFacing(), aBaseMetaTileEntity.getBackFacing(), null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1); + if (tCosts > 0) aBaseMetaTileEntity.decreaseStoredEnergyUnits(tCosts, true); + } + } + + if (mOutputBlocked != 0) if (isOutputEmpty()) mOutputBlocked = 0; + else mOutputBlocked++; + + if (allowToCheckRecipe()) { + if (mMaxProgresstime <= 0 && aBaseMetaTileEntity.isAllowedToWork() && (tRemovedOutputFluid || tSucceeded || aBaseMetaTileEntity.hasInventoryBeenModified() || aTick % 600 == 0 || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) && hasEnoughEnergyToCheckRecipe()) { + if (checkRecipe() == 2) { + if (mInventory[3] != null && mInventory[3].stackSize <= 0) mInventory[3] = null; + for (int i = getInputSlot(), j = i + mInputSlotCount; i < j; i++) + if (mInventory[i] != null && mInventory[i].stackSize <= 0) mInventory[i] = null; + for (int i = 0; i < mOutputItems.length; i++) { + mOutputItems[i] = GT_Utility.copy(mOutputItems[i]); + if (mOutputItems[i] != null && mOutputItems[i].stackSize > 64) + mOutputItems[i].stackSize = 64; + mOutputItems[i] = GT_OreDictUnificator.get(true, mOutputItems[i]); + } + if (mFluid != null && mFluid.amount <= 0) mFluid = null; + mMaxProgresstime = Math.max(1, mMaxProgresstime); + if (GT_Utility.isDebugItem(mInventory[dechargerSlotStartIndex()])) { + mEUt = mMaxProgresstime = 1; + } + startProcess(); + } else { + mMaxProgresstime = 0; + for (int i = 0; i < mOutputItems.length; i++) mOutputItems[i] = null; + mOutputFluid = null; + } + } + } else { + if (!mStuttering) { + stutterProcess(); + mStuttering = true; + } + } + } + } + + protected void doDisplayThings() { + if (mMainFacing < 2 && getBaseMetaTileEntity().getFrontFacing() > 1) { + mMainFacing = getBaseMetaTileEntity().getFrontFacing(); + } + if (mMainFacing >= 2 && !mHasBeenUpdated) { + mHasBeenUpdated = true; + getBaseMetaTileEntity().setFrontFacing(getBaseMetaTileEntity().getBackFacing()); + } + + if (displaysInputFluid()) { + int tDisplayStackSlot = OTHER_SLOT_COUNT + mInputSlotCount + mOutputItems.length; + if (getFillableStack() == null) { + if (ItemList.Display_Fluid.isStackEqual(mInventory[tDisplayStackSlot], true, true)) + mInventory[tDisplayStackSlot] = null; + } else { + mInventory[tDisplayStackSlot] = GT_Utility.getFluidDisplayStack(getFillableStack(), displaysStackSize()); + } + } + } + + protected boolean hasEnoughEnergyToCheckRecipe() { + return getBaseMetaTileEntity().isUniversalEnergyStored(getMinimumStoredEU() / 2); + } + + protected boolean drainEnergyForProcess(long aEUt) { + return getBaseMetaTileEntity().decreaseStoredEnergyUnits(aEUt, false); + } + + protected void calculateOverclockedNess(GT_Recipe aRecipe) { + calculateOverclockedNess(aRecipe.mEUt, aRecipe.mDuration); + } + + protected void calculateOverclockedNess(int aEUt, int aDuration) { + if (aEUt <= 16) { + mEUt = aEUt * (1 << (mTier - 1)) * (1 << (mTier - 1)); + mMaxProgresstime = aDuration / (1 << (mTier - 1)); + } else { + mEUt = aEUt; + mMaxProgresstime = aDuration; + while (mEUt <= V[mTier - 1] * mAmperage) { + mEUt *= 4; + mMaxProgresstime /= 2; + } + } + } + + protected ItemStack getSpecialSlot() { + return mInventory[3]; + } + + protected ItemStack getOutputAt(int aIndex) { + return mInventory[getOutputSlot() + aIndex]; + } + + protected ItemStack[] getAllOutputs() { + ItemStack[] rOutputs = new ItemStack[mOutputItems.length]; + for (int i = 0; i < mOutputItems.length; i++) rOutputs[i] = getOutputAt(i); + return rOutputs; + } + + protected boolean canOutput(GT_Recipe aRecipe) { + return aRecipe != null && (aRecipe.mNeedsEmptyOutput ? isOutputEmpty() && getDrainableStack() == null : canOutput(aRecipe.getFluidOutput(0)) && canOutput(aRecipe.mOutputs)); + } + + protected boolean canOutput(ItemStack... aOutputs) { + if (aOutputs == null) return true; + ItemStack[] tOutputSlots = getAllOutputs(); + for (int i = 0; i < tOutputSlots.length && i < aOutputs.length; i++) + if (tOutputSlots[i] != null && aOutputs[i] != null && (!GT_Utility.areStacksEqual(tOutputSlots[i], aOutputs[i], false) || tOutputSlots[i].stackSize + aOutputs[i].stackSize > tOutputSlots[i].getMaxStackSize())) { + mOutputBlocked++; + return false; + } + return true; + } + + protected boolean canOutput(FluidStack aOutput) { + return getDrainableStack() == null || aOutput == null || (getDrainableStack().isFluidEqual(aOutput) && (getDrainableStack().amount <= 0 || getDrainableStack().amount + aOutput.amount <= getCapacity())); + } + + protected ItemStack getInputAt(int aIndex) { + return mInventory[getInputSlot() + aIndex]; + } + + protected ItemStack[] getAllInputs() { + ItemStack[] rInputs = new ItemStack[mInputSlotCount]; + for (int i = 0; i < mInputSlotCount; i++) rInputs[i] = getInputAt(i); + return rInputs; + } + + protected boolean isOutputEmpty() { + boolean rIsEmpty = true; + for (ItemStack tOutputSlotContent : getAllOutputs()) if (tOutputSlotContent != null) rIsEmpty = false; + return rIsEmpty; + } + + protected boolean displaysInputFluid() { + return true; + } + + protected boolean displaysOutputFluid() { + return true; + } + + @Override + public void onValueUpdate(byte aValue) { + mMainFacing = aValue; + } + + @Override + public byte getUpdateData() { + return (byte) mMainFacing; + } + + @Override + public void doSound(byte aIndex, double aX, double aY, double aZ) { + super.doSound(aIndex, aX, aY, aZ); + if (aIndex == 8) GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(210), 100, 1.0F, aX, aY, aZ); + } + + public boolean doesAutoOutput() { + return mItemTransfer; + } + + public boolean doesAutoOutputFluids() { + return mFluidTransfer; + } + + public boolean allowToCheckRecipe() { + return true; + } + + public boolean showPipeFacing() { + return true; + } + + /** + * Called whenever the Machine successfully started a Process, useful for Sound Effects + */ + public void startProcess() { + // + } + + /** + * Called whenever the Machine successfully finished a Process, useful for Sound Effects + */ + public void endProcess() { + // + } + + /** + * Called whenever the Machine aborted a Process, useful for Sound Effects + */ + public void abortProcess() { + // + } + + /** + * Called whenever the Machine aborted a Process but still works on it, useful for Sound Effects + */ + public void stutterProcess() { + if (useStandardStutterSound()) sendSound((byte) 8); + } + + /** + * If this Machine can have the Insufficient Energy Line Problem + */ + public boolean canHaveInsufficientEnergy() { + return true; + } + + public boolean useStandardStutterSound() { + return true; + } + + @Override + public String[] getInfoData() { + return new String[]{ + mNEIName, + "Progress:", (mProgresstime / 20) + " secs", + (mMaxProgresstime / 20) + " secs", + "Stored Energy:", + getBaseMetaTileEntity().getStoredEU() + "EU", + getBaseMetaTileEntity().getEUCapacity() + "EU"}; + } + + @Override + public boolean isGivingInformation() { + return true; + } + + @Override + public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + if (aSide == getBaseMetaTileEntity().getFrontFacing() || aSide == mMainFacing) { + mAllowInputFromOutputSide = !mAllowInputFromOutputSide; + GT_Utility.sendChatToPlayer(aPlayer, mAllowInputFromOutputSide ? trans("095","Input from Output Side allowed") : trans("096","Input from Output Side forbidden")); + } + } + + @Override + public boolean allowCoverOnSide(byte aSide, GT_ItemStack aCoverID) { + return (aSide != mMainFacing || GregTech_API.getCoverBehavior(aCoverID.toStack()).isGUIClickable(aSide, GT_Utility.stackToInt(aCoverID.toStack()), 0, getBaseMetaTileEntity())); + } + + @Override + public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return aSide != mMainFacing && aIndex >= getOutputSlot() && aIndex < getOutputSlot() + mOutputItems.length; + } + + @Override + public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + if (aSide == mMainFacing || aIndex < getInputSlot() || aIndex >= getInputSlot() + mInputSlotCount || (!mAllowInputFromOutputSide && aSide == aBaseMetaTileEntity.getFrontFacing())) + return false; + for (int i = getInputSlot(), j = i + mInputSlotCount; i < j; i++) + if (GT_Utility.areStacksEqual(GT_OreDictUnificator.get(aStack), mInventory[i])) return i == aIndex; + return true; + } + + /** + * @return the Recipe List which is used for this Machine, this is a useful Default Handler + */ + public GT_Recipe_Map getRecipeList() { + return null; + } + + /** + * Override this to check the Recipes yourself, super calls to this could be useful if you just want to add a special case + * <p/> + * I thought about Enum too, but Enum doesn't add support for people adding other return Systems. + * <p/> + * Funny how Eclipse marks the word Enum as not correctly spelled. + * + * @return see constants above + */ + public int checkRecipe() { + return checkRecipe(false); + } + + public static boolean isValidForLowGravity(GT_Recipe tRecipe, int dimId){ + return //TODO check or get a better solution + DimensionManager.getProvider(dimId).getClass().getName().contains("Orbit") || + DimensionManager.getProvider(dimId).getClass().getName().endsWith("Space") || + DimensionManager.getProvider(dimId).getClass().getName().endsWith("Asteroids") || + DimensionManager.getProvider(dimId).getClass().getName().endsWith("SS") || + DimensionManager.getProvider(dimId).getClass().getName().contains("SpaceStation"); + } + + + /** + * + * @param skipOC disables OverclockedNess calculation and check - if you do you must implement your own method... + * @return + */ + public int checkRecipe(boolean skipOC){ + GT_Recipe_Map tMap = getRecipeList(); + if (tMap == null) return DID_NOT_FIND_RECIPE; + GT_Recipe tRecipe = tMap.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, V[mTier], new FluidStack[]{getFillableStack()}, getSpecialSlot(), getAllInputs()); + if (tRecipe == null) return DID_NOT_FIND_RECIPE; + + if (GT_Mod.gregtechproxy.mLowGravProcessing && tRecipe.mSpecialValue == -100 && + !isValidForLowGravity(tRecipe,getBaseMetaTileEntity().getWorld().provider.dimensionId)) + return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; + if (tRecipe.mCanBeBuffered) mLastRecipe = tRecipe; + if (!canOutput(tRecipe)) { + mOutputBlocked++; + return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; + } + if (tRecipe.mSpecialValue == -200 && (mCleanroom == null || mCleanroom.mEfficiency == 0)) + return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; + if (!tRecipe.isRecipeInputEqual(true, new FluidStack[]{getFillableStack()}, getAllInputs())) + return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; + for (int i = 0; i < mOutputItems.length; i++) + if (getBaseMetaTileEntity().getRandomNumber(10000) < tRecipe.getOutputChance(i)) + mOutputItems[i] = tRecipe.getOutput(i); + if (tRecipe.mSpecialValue == -200) + for (int i = 0; i < mOutputItems.length; i++) + if (mOutputItems[i] != null && getBaseMetaTileEntity().getRandomNumber(10000) > mCleanroom.mEfficiency) + mOutputItems[i] = null; + mOutputFluid = tRecipe.getFluidOutput(0); + calculateOverclockedNess(tRecipe); + return FOUND_AND_SUCCESSFULLY_USED_RECIPE; + } + + public ITexture[] getSideFacingActive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getSideFacingInactive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getFrontFacingActive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getFrontFacingInactive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getTopFacingActive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getTopFacingInactive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getBottomFacingActive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getBottomFacingInactive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1]}; + } + + public ITexture[] getBottomFacingPipeActive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + } + + public ITexture[] getBottomFacingPipeInactive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + } + + public ITexture[] getTopFacingPipeActive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + } + + public ITexture[] getTopFacingPipeInactive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + } + + public ITexture[] getSideFacingPipeActive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + } + + public ITexture[] getSideFacingPipeInactive(byte aColor) { + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColor + 1], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)}; + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicTank.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicTank.java new file mode 100644 index 0000000000..03c8fadad4 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicTank.java @@ -0,0 +1,264 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power; + +import gregtech.api.enums.ItemList; +import gregtech.api.gui.GT_Container_BasicTank; +import gregtech.api.gui.GT_GUIContainer_BasicTank; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fluids.FluidStack; + +/** + * NEVER INCLUDE THIS FILE IN YOUR MOD!!! + * <p/> + * This is the main construct for my generic Tanks. Filling and emptying behavior have to be implemented manually + */ +public abstract class GTPP_MTE_BasicTank extends GTPP_MTE_TieredMachineBlock { + + public FluidStack mFluid; + + /** + * @param aInvSlotCount should be 3 + */ + public GTPP_MTE_BasicTank(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription, ITexture... aTextures) { + super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription, aTextures); + } + + public GTPP_MTE_BasicTank(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String[] aDescription, ITexture... aTextures) { + super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription, aTextures); + } + + public GTPP_MTE_BasicTank(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { + super(aName, aTier, aInvSlotCount, aDescription, aTextures); + } + + public GTPP_MTE_BasicTank(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) { + super(aName, aTier, aInvSlotCount, aDescription, aTextures); + } + + @Override + public boolean isSimpleMachine() { + return false; + } + + @Override + public boolean isValidSlot(int aIndex) { + return aIndex != getStackDisplaySlot(); + } + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + if (mFluid != null) aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + mFluid = FluidStack.loadFluidStackFromNBT(aNBT.getCompoundTag("mFluid")); + } + + public abstract boolean doesFillContainers(); + + public abstract boolean doesEmptyContainers(); + + public abstract boolean canTankBeFilled(); + + public abstract boolean canTankBeEmptied(); + + public abstract boolean displaysItemStack(); + + public abstract boolean displaysStackSize(); + + public int getInputSlot() { + return 0; + } + + public int getOutputSlot() { + return 1; + } + + public int getStackDisplaySlot() { + return 2; + } + + public boolean isFluidInputAllowed(FluidStack aFluid) { + return true; + } + + public boolean isFluidChangingAllowed() { + return true; + } + + public FluidStack getFillableStack() { + return mFluid; + } + + public FluidStack setFillableStack(FluidStack aFluid) { + mFluid = aFluid; + return mFluid; + } + + public FluidStack getDrainableStack() { + return mFluid; + } + + public FluidStack setDrainableStack(FluidStack aFluid) { + mFluid = aFluid; + return mFluid; + } + + public FluidStack getDisplayedFluid() { + return getDrainableStack(); + } + + @Override + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_BasicTank(aPlayerInventory, aBaseMetaTileEntity); + } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_BasicTank(aPlayerInventory, aBaseMetaTileEntity, getLocalName()); + } + + @Override + public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + if (aBaseMetaTileEntity.isServerSide()) { + if (isFluidChangingAllowed() && getFillableStack() != null && getFillableStack().amount <= 0) + setFillableStack(null); + + if (displaysItemStack() && getStackDisplaySlot() >= 0 && getStackDisplaySlot() < mInventory.length) { + if (getDisplayedFluid() == null) { + if (ItemList.Display_Fluid.isStackEqual(mInventory[getStackDisplaySlot()], true, true)) + mInventory[getStackDisplaySlot()] = null; + } else { + mInventory[getStackDisplaySlot()] = GT_Utility.getFluidDisplayStack(getDisplayedFluid(), displaysStackSize()); + } + } + + if (doesEmptyContainers()) { + FluidStack tFluid = GT_Utility.getFluidForFilledItem(mInventory[getInputSlot()], true); + if (tFluid != null && isFluidInputAllowed(tFluid)) { + if (getFillableStack() == null) { + if (isFluidInputAllowed(tFluid) && tFluid.amount <= getCapacity()) { + if (aBaseMetaTileEntity.addStackToSlot(getOutputSlot(), GT_Utility.getContainerItem(mInventory[getInputSlot()], true), 1)) { + setFillableStack(tFluid.copy()); + this.onEmptyingContainerWhenEmpty(); + aBaseMetaTileEntity.decrStackSize(getInputSlot(), 1); + } + } + } else { + if (tFluid.isFluidEqual(getFillableStack()) && tFluid.amount + getFillableStack().amount <= getCapacity()) { + if (aBaseMetaTileEntity.addStackToSlot(getOutputSlot(), GT_Utility.getContainerItem(mInventory[getInputSlot()], true), 1)) { + getFillableStack().amount += tFluid.amount; + aBaseMetaTileEntity.decrStackSize(getInputSlot(), 1); + } + } + } + } + } + + if (doesFillContainers()) { + ItemStack tOutput = GT_Utility.fillFluidContainer(getDrainableStack(), mInventory[getInputSlot()], false, true); + if (tOutput != null && aBaseMetaTileEntity.addStackToSlot(getOutputSlot(), tOutput, 1)) { + FluidStack tFluid = GT_Utility.getFluidForFilledItem(tOutput, true); + aBaseMetaTileEntity.decrStackSize(getInputSlot(), 1); + if (tFluid != null) getDrainableStack().amount -= tFluid.amount; + if (getDrainableStack().amount <= 0 && isFluidChangingAllowed()) setDrainableStack(null); + } + } + } + } + + @Override + public FluidStack getFluid() { + return getDrainableStack(); + } + + @Override + public int getFluidAmount() { + return getDrainableStack() != null ? getDrainableStack().amount : 0; + } + + @Override + public int fill(FluidStack aFluid, boolean doFill) { + if (aFluid == null || aFluid.getFluid().getID() <= 0 || aFluid.amount <= 0 || !canTankBeFilled() || !isFluidInputAllowed(aFluid)) + return 0; + + if (getFillableStack() == null || getFillableStack().getFluid().getID() <= 0) { + if (aFluid.amount <= getCapacity()) { + if (doFill) { + setFillableStack(aFluid.copy()); + getBaseMetaTileEntity().markDirty(); + } + return aFluid.amount; + } + if (doFill) { + setFillableStack(aFluid.copy()); + getFillableStack().amount = getCapacity(); + getBaseMetaTileEntity().markDirty(); + } + return getCapacity(); + } + + if (!getFillableStack().isFluidEqual(aFluid)) + return 0; + + int space = getCapacity() - getFillableStack().amount; + if (aFluid.amount <= space) { + if (doFill) { + getFillableStack().amount += aFluid.amount; + getBaseMetaTileEntity().markDirty(); + } + return aFluid.amount; + } + if (doFill) + getFillableStack().amount = getCapacity(); + return space; + } + + @Override + public FluidStack drain(int maxDrain, boolean doDrain) { + if (getDrainableStack() == null || !canTankBeEmptied()) return null; + if (getDrainableStack().amount <= 0 && isFluidChangingAllowed()) { + setDrainableStack(null); + getBaseMetaTileEntity().markDirty(); + return null; + } + + int used = maxDrain; + if (getDrainableStack().amount < used) + used = getDrainableStack().amount; + + if (doDrain) { + getDrainableStack().amount -= used; + getBaseMetaTileEntity().markDirty(); + } + + FluidStack drained = getDrainableStack().copy(); + drained.amount = used; + + if (getDrainableStack().amount <= 0 && isFluidChangingAllowed()) { + setDrainableStack(null); + getBaseMetaTileEntity().markDirty(); + } + + return drained; + } + + @Override + public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return aIndex == getOutputSlot(); + } + + @Override + public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return aIndex == getInputSlot(); + } + + protected void onEmptyingContainerWhenEmpty(){ + //Do nothing + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java new file mode 100644 index 0000000000..785c4698db --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java @@ -0,0 +1,100 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power; + +import static gregtech.api.enums.GT_Values.GT; + +import gregtech.api.interfaces.ITexture; +import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.core.lib.CORE; + +public abstract class GTPP_MTE_TieredMachineBlock extends MetaTileEntityCustomPower { + /** + * Value between [0 - 9] to describe the Tier of this Machine. + */ + public final byte mTier; + + @Deprecated + public final String mDescription; + + /** + * A simple Description. + */ + public final String[] mDescriptionArray; + + /** + * Contains all Textures used by this Block. + */ + public final ITexture[][][] mTextures; + + public GTPP_MTE_TieredMachineBlock(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription, ITexture... aTextures) { + super(aID, aName, aNameRegional, aInvSlotCount); + mTier = (byte) Math.max(0, Math.min(aTier, 9)); + mDescriptionArray = aDescription == null ? new String[0] : new String[]{aDescription}; + mDescription = mDescriptionArray.length > 0 ? mDescriptionArray[0] : ""; + // must always be the last call! + if (GT.isClientSide()) mTextures = getTextureSet(aTextures); + else mTextures = null; + } + + public GTPP_MTE_TieredMachineBlock(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String[] aDescription, ITexture... aTextures) { + super(aID, aName, aNameRegional, aInvSlotCount); + mTier = (byte) Math.max(0, Math.min(aTier, 9)); + mDescriptionArray = aDescription == null ? new String[0] : aDescription; + mDescription = mDescriptionArray.length > 0 ? mDescriptionArray[0] : ""; + + // must always be the last call! + if (GT.isClientSide()) mTextures = getTextureSet(aTextures); + else mTextures = null; + } + + public GTPP_MTE_TieredMachineBlock(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { + super(aName, aInvSlotCount); + mTier = (byte) aTier; + mDescriptionArray = aDescription == null ? new String[0] : new String[]{aDescription}; + mDescription = mDescriptionArray.length > 0 ? mDescriptionArray[0] : ""; + mTextures = aTextures; + } + + public GTPP_MTE_TieredMachineBlock(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) { + super(aName, aInvSlotCount); + mTier = (byte) aTier; + mDescriptionArray = aDescription == null ? new String[0] : aDescription; + mDescription = mDescriptionArray.length > 0 ? mDescriptionArray[0] : ""; + mTextures = aTextures; + } + + @Override + public byte getTileEntityBaseType() { + return 12; + } + + @Override + public long getInputTier() { + return mTier; + } + + @Override + public long getOutputTier() { + return mTier; + } + + @Override + public String[] getDescription() { + + AutoMap<String> aTooltip = new AutoMap<String>(); + String []s1 = null; + s1 = new String[aTooltip.size()]; + int u = 0; + for (String s : aTooltip) { + s1[u] = s; + } + return s1; + } + + /** + * Used Client Side to get a Texture Set for this Block. + * Called after setting the Tier and the Description so that those two are accessible. + * + * @param aTextures is the optional Array you can give to the Constructor. + */ + public abstract ITexture[][][] getTextureSet(ITexture[] aTextures); +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java new file mode 100644 index 0000000000..ba98af25f7 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java @@ -0,0 +1,91 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.util.math.MathUtils; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.CustomMetaTileBase; +import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public abstract class MetaTileEntityCustomPower extends CustomMetaTileBase { + + public MetaTileEntityCustomPower(int aID, String aBasicName, String aRegionalName, int aInvSlotCount) { + super(aID, aBasicName, aRegionalName, aInvSlotCount); + this.setBaseMetaTileEntity(Meta_GT_Proxy.constructBaseMetaTileEntityCustomPower()); + } + + public MetaTileEntityCustomPower(String aStack, int aInvSlotCount) { + super(aStack, aInvSlotCount); + } + + public long getMinimumStoredEU() { + return 0L; + } + + public void doExplosion(long aExplosionPower) { + + if (MathUtils.randInt(1, 10) > 0) { + Logger.INFO("Machine tried to explode, let's stop that. xo"); + return; + } + + float tStrength = aExplosionPower < GT_Values.V[0] + ? 1.0F + : (aExplosionPower < GT_Values.V[1] + ? 2.0F + : (aExplosionPower < GT_Values.V[2] + ? 3.0F + : (aExplosionPower < GT_Values.V[3] + ? 4.0F + : (aExplosionPower < GT_Values.V[4] + ? 5.0F + : (aExplosionPower < GT_Values.V[4] * 2L + ? 6.0F + : (aExplosionPower < GT_Values.V[5] + ? 7.0F + : (aExplosionPower < GT_Values.V[6] + ? 8.0F + : (aExplosionPower < GT_Values.V[7] + ? 9.0F + : 10.0F)))))))); + int tX = this.getBaseMetaTileEntity().getXCoord(); + short tY = this.getBaseMetaTileEntity().getYCoord(); + int tZ = this.getBaseMetaTileEntity().getZCoord(); + World tWorld = this.getBaseMetaTileEntity().getWorld(); + GT_Utility.sendSoundToPlayers(tWorld, (String) GregTech_API.sSoundList.get(Integer.valueOf(209)), 1.0F, -1.0F, + tX, tY, tZ); + tWorld.setBlock(tX, tY, tZ, Blocks.air); + if (GregTech_API.sMachineExplosions) { + tWorld.createExplosion((Entity) null, (double) tX + 0.5D, (double) tY + 0.5D, (double) tZ + 0.5D, tStrength, + true); + } + + } + + @Override + public void onExplosion() { + + if (MathUtils.randInt(1, 10) > 0) { + Logger.INFO("Machine tried to explode, let's stop that. xo"); + return; + } + // TODO Auto-generated method stub + super.onExplosion(); + } + + @Override + public boolean isElectric() { + return true; + } + + @Override + public long getEUVar() { + // TODO Auto-generated method stub + return super.getEUVar(); + } + +} diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java new file mode 100644 index 0000000000..e6bf4b8486 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java @@ -0,0 +1,283 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Textures.BlockIcons; +import gregtech.api.gui.GT_Container_4by4; +import gregtech.api.gui.GT_GUIContainer_4by4; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.items.GT_MetaBase_Item; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power.GTPP_MTE_TieredMachineBlock; +import ic2.api.item.ElectricItem; +import ic2.api.item.IElectricItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock { + + public boolean mCharge = false; + public boolean mDecharge = false; + public int mBatteryCount = 0; + public int mChargeableCount = 0; + private long count = 0L; + private long mStored = 0L; + private long mMax = 0L; + + public GT_MetaTileEntity_BasicBreaker(int aID, String aName, String aNameRegional, int aTier, + String aDescription, int aSlotCount) { + super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription, new ITexture[0]); + } + + public GT_MetaTileEntity_BasicBreaker(String aName, int aTier, String aDescription, ITexture[][][] aTextures, + int aSlotCount) { + super(aName, aTier, aSlotCount, aDescription, aTextures); + } + + public GT_MetaTileEntity_BasicBreaker(String aName, int aTier, String[] aDescription, + ITexture[][][] aTextures, int aSlotCount) { + super(aName, aTier, aSlotCount, aDescription, aTextures); + } + + public String[] getDescription() { + String []s1 = super.getDescription(); + s1 = new String[0]; + return s1; + } + + public ITexture[][][] getTextureSet(ITexture[] aTextures) { + ITexture[][][] rTextures = new ITexture[2][17][]; + + for (byte i = -1; i < 16; ++i) { + rTextures[0][i + 1] = new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][i + 1], + this.mInventory.length > 4 + ? BlockIcons.OVERLAYS_ENERGY_IN_MULTI[Math.min(12, mTier)] + : BlockIcons.OVERLAYS_ENERGY_IN[Math.min(12, mTier)]}; + + rTextures[1][i + 1] = new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][i + 1], + this.mInventory.length > 4 + ? BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] + : BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]}; + } + + return rTextures; + } + + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, + boolean aActive, boolean aRedstone) { + return this.mTextures[aSide == aFacing ? 1 : 0][aColorIndex + 1]; + } + + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_BasicBreaker(this.mName, this.mTier, this.mDescriptionArray, this.mTextures, + this.mInventory.length); + } + + public boolean isSimpleMachine() { + return false; + } + + public boolean isElectric() { + return true; + } + + public boolean isValidSlot(int aIndex) { + return true; + } + + public boolean isFacingValid(byte aFacing) { + return true; + } + + public boolean isEnetInput() { + return true; + } + + public boolean isEnetOutput() { + return true; + } + + public boolean isInputFacing(byte aSide) { + return aSide != this.getBaseMetaTileEntity().getFrontFacing(); + } + + public boolean isOutputFacing(byte aSide) { + return aSide == this.getBaseMetaTileEntity().getFrontFacing(); + } + + public boolean isTeleporterCompatible() { + return false; + } + + public long getMinimumStoredEU() { + return GT_Values.V[this.mTier] * 16L * 16; + } + + public long maxEUStore() { + return GT_Values.V[this.mTier] * 64L * 16; + } + + public long maxEUInput() { + return GT_Values.V[this.mTier] * 16; + } + + public long maxEUOutput() { + return GT_Values.V[this.mTier]; + } + + public long maxAmperesIn() { + return (long) (1); + } + + public long maxAmperesOut() { + return (long) 16; + } + + public int rechargerSlotStartIndex() { + return 0; + } + + public int dechargerSlotStartIndex() { + return 0; + } + + public int rechargerSlotCount() { + return 0; + } + + public int dechargerSlotCount() { + return 0; + } + + public int getProgresstime() { + return (int) this.getBaseMetaTileEntity().getUniversalEnergyStored(); + } + + public int maxProgresstime() { + return (int) this.getBaseMetaTileEntity().getUniversalEnergyCapacity(); + } + + public boolean isAccessAllowed(EntityPlayer aPlayer) { + return true; + } + + public void saveNBTData(NBTTagCompound aNBT) { + } + + public void loadNBTData(NBTTagCompound aNBT) { + } + + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + if (aBaseMetaTileEntity.isClientSide()) { + return true; + } else { + aBaseMetaTileEntity.openGUI(aPlayer); + return true; + } + } + + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_Container_4by4(aPlayerInventory, aBaseMetaTileEntity); + } + + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName()); + } + + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + super.onPostTick(aBaseMetaTileEntity, aTick); + if (aBaseMetaTileEntity.isServerSide()) { + /*this.mCharge = aBaseMetaTileEntity.getStoredEU() / 2L > aBaseMetaTileEntity.getEUCapacity() / 3L; + this.mDecharge = aBaseMetaTileEntity.getStoredEU() < aBaseMetaTileEntity.getEUCapacity() / 3L; + this.mBatteryCount = 0; + this.mChargeableCount = 0; + ItemStack[] arg3 = this.mInventory; + int arg4 = arg3.length; + + for (int arg5 = 0; arg5 < arg4; ++arg5) { + ItemStack tStack = arg3[arg5]; + if (GT_ModHandler.isElectricItem(tStack, this.mTier)) { + if (GT_ModHandler.isChargerItem(tStack)) { + ++this.mBatteryCount; + } + + ++this.mChargeableCount; + } + }*/ + } + + } + + public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return false; + } + + public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return true; + } + + public int getInventoryStackLimit() { + return 1; + } + + public long[] getStoredEnergy() { + boolean scaleOverflow = false; + boolean storedOverflow = false; + long tScale = this.getBaseMetaTileEntity().getEUCapacity(); + long tStored = this.getBaseMetaTileEntity().getStoredEU(); + long tStep = 0L; + if (this.mInventory != null) { + ItemStack[] arg8 = this.mInventory; + int arg9 = arg8.length; + + for (int arg10 = 0; arg10 < arg9; ++arg10) { + ItemStack aStack = arg8[arg10]; + if (GT_ModHandler.isElectricItem(aStack)) { + if (aStack.getItem() instanceof GT_MetaBase_Item) { + Long[] stats = ((GT_MetaBase_Item) aStack.getItem()).getElectricStats(aStack); + if (stats != null) { + if (stats[0].longValue() > 4611686018427387903L) { + scaleOverflow = true; + } + + tScale += stats[0].longValue(); + tStep = ((GT_MetaBase_Item) aStack.getItem()).getRealCharge(aStack); + if (tStep > 4611686018427387903L) { + storedOverflow = true; + } + + tStored += tStep; + } + } else if (aStack.getItem() instanceof IElectricItem) { + tStored += (long) ElectricItem.manager.getCharge(aStack); + tScale += (long) ((IElectricItem) aStack.getItem()).getMaxCharge(aStack); + } + } + } + } + + if (scaleOverflow) { + tScale = Long.MAX_VALUE; + } + + if (storedOverflow) { + tStored = Long.MAX_VALUE; + } + + return new long[]{tStored, tScale}; + } + + public String[] getInfoData() { + return new String[]{}; + } + + public boolean isGivingInformation() { + return true; + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java index 57f8b722c3..01134817ae 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java @@ -51,8 +51,7 @@ GT_MetaTileEntity_Hatch { } return new String[]{ this.mDescription, - "Capacity: " + mSlots + " slots", - CORE.GT_Tooltip}; + "Capacity: " + mSlots + " slots"}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java index ba97cc38eb..8cb7c943c0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java @@ -49,8 +49,7 @@ GT_MetaTileEntity_Hatch { } return new String[]{ this.mDescription, - "Capacity: " + mSlots + " slots", - CORE.GT_Tooltip}; + "Capacity: " + mSlots + " slots"}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java new file mode 100644 index 0000000000..833c1bfcc0 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java @@ -0,0 +1,216 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; + +import gregtech.api.enums.Textures.BlockIcons; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.minecraft.PlayerUtils; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_InputBus { + public GT_Recipe_Map mRecipeMap = null; + + public GT_MetaTileEntity_SuperBus_Input(int aID, String aName, String aNameRegional, int aTier) { + super(aID, aName, aNameRegional, aTier); + } + + public GT_MetaTileEntity_SuperBus_Input(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + super(aName, aTier, aDescription, aTextures); + } + + public GT_MetaTileEntity_SuperBus_Input(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { + super(aName, aTier, aDescription, aTextures); + } + + /** + * Returns a factor of 16 based on tier. + * @param aTier The tier of this bus. + * @return (1+ aTier) * 16 + */ + public static int getSlots(int aTier) { + return (1+ aTier) * 16; + } + + public ITexture[] getTexturesActive(ITexture aBaseTexture) { + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(BlockIcons.OVERLAY_PIPE_IN)}; + } + + public ITexture[] getTexturesInactive(ITexture aBaseTexture) { + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(BlockIcons.OVERLAY_PIPE_IN)}; + } + + public boolean isSimpleMachine() { + return true; + } + + public boolean isFacingValid(byte aFacing) { + return true; + } + + public boolean isAccessAllowed(EntityPlayer aPlayer) { + return true; + } + + public boolean isValidSlot(int aIndex) { + return true; + } + + public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_SuperBus_Input(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); + } + + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return null; + } + + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return null; + } + + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { + if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { + this.fillStacksIntoFirstSlots(); + } + + } + + public void updateSlots() { + for (int i = 0; i < this.mInventory.length; ++i) { + if (this.mInventory[i] != null && this.mInventory[i].stackSize <= 0) { + this.mInventory[i] = null; + } + } + + this.fillStacksIntoFirstSlots(); + } + + protected void fillStacksIntoFirstSlots() { + for (int i = 0; i < this.mInventory.length; ++i) { + for (int j = i + 1; j < this.mInventory.length; ++j) { + if (this.mInventory[j] != null && (this.mInventory[i] == null + || GT_Utility.areStacksEqual(this.mInventory[i], this.mInventory[j]))) { + GT_Utility.moveStackFromSlotAToSlotB((IInventory) this.getBaseMetaTileEntity(), (IInventory) this.getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1); + } + } + } + + } + + public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return aSide == this.getBaseMetaTileEntity().getFrontFacing(); + } + + public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + return aSide == this.getBaseMetaTileEntity().getFrontFacing() + && (this.mRecipeMap == null || this.mRecipeMap.containsInput(aStack)); + } + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + } + + @Override + public String[] getDescription() { + String[] aDesc = new String[] { + "Item Input for Multiblocks", + "This bus has no GUI, but can have items extracted", + ""+this.getSlots(this.mTier)+" Slots", + }; + return aDesc; + } + + @Override + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, + float aY, float aZ) { + return super.onRightclick(aBaseMetaTileEntity, aPlayer, aSide, aX, aY, aZ); + } + + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + if (aBaseMetaTileEntity.isClientSide()) { + return true; + } else { + //Logger.INFO("Trying to display Super Input Bus contents."); + displayBusContents(aPlayer); + return true; + } + } + + public void displayBusContents(EntityPlayer aPlayer) { + String STRIP = "Item Array: "; + String aNameString = ItemUtils.getArrayStackNames(getRealInventory()); + aNameString = aNameString.replace(STRIP, ""); + + String[] aNames; + if (aNameString.length() < 1) { + aNames = null; + } + else { + aNames = aNameString.split(","); + } + + if (aNames == null || aNames.length <= 0) { + PlayerUtils.messagePlayer(aPlayer, "This Super Bus (I) is Empty. Total Slots: "+this.getSlots(this.mTier)); + return; + } + + PlayerUtils.messagePlayer(aPlayer, "This Super Bus (I) contains:"); + for (String s : aNames) { + if (s.startsWith(" ")) { + s = s.substring(1); + } + //Logger.INFO("Trying to display Super Input Bus contents. "+s); + PlayerUtils.messagePlayer(aPlayer, s); + } + } + + @Override + public int getMaxItemCount() { + // TODO Auto-generated method stub + return super.getMaxItemCount(); + } + + @Override + public int getSizeInventory() { + // TODO Auto-generated method stub + return super.getSizeInventory(); + } + + @Override + public ItemStack getStackInSlot(int aIndex) { + // TODO Auto-generated method stub + return super.getStackInSlot(aIndex); + } + + @Override + public boolean canInsertItem(int aIndex, ItemStack aStack, int aSide) { + // TODO Auto-generated method stub + return super.canInsertItem(aIndex, aStack, aSide); + } + + @Override + public boolean canExtractItem(int aIndex, ItemStack aStack, int aSide) { + // TODO Auto-generated method stub + return super.canExtractItem(aIndex, aStack, aSide); + } + + @Override + public ItemStack[] getRealInventory() { + // TODO Auto-generated method stub + return super.getRealInventory(); + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java new file mode 100644 index 0000000000..d09b71ee35 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Output.java @@ -0,0 +1,182 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; + +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.minecraft.PlayerUtils; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class GT_MetaTileEntity_SuperBus_Output extends GT_MetaTileEntity_Hatch_OutputBus { + public GT_Recipe_Map mRecipeMap = null; + + public GT_MetaTileEntity_SuperBus_Output(int aID, String aName, String aNameRegional, int aTier) { + super(aID, aName, aNameRegional, aTier); + } + + public GT_MetaTileEntity_SuperBus_Output(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { + super(aName, aTier, aDescription, aTextures); + } + + public GT_MetaTileEntity_SuperBus_Output(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { + super(aName, aTier, aDescription, aTextures); + } + + /** + * Returns a factor of 16 based on tier. + * @param aTier The tier of this bus. + * @return (1+ aTier) * 16 + */ + public static int getSlots(int aTier) { + return (1+ aTier) * 16; + } + + public boolean isValidSlot(int aIndex) { + return true; + } + + public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_SuperBus_Output(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); + } + + public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return null; + } + + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return null; + } + + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { + if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { + this.fillStacksIntoFirstSlots(); + } + + } + + public void updateSlots() { + for (int i = 0; i < this.mInventory.length; ++i) { + if (this.mInventory[i] != null && this.mInventory[i].stackSize <= 0) { + this.mInventory[i] = null; + } + } + this.fillStacksIntoFirstSlots(); + } + + protected void fillStacksIntoFirstSlots() { + for (int i = 0; i < this.mInventory.length; ++i) { + for (int j = i + 1; j < this.mInventory.length; ++j) { + if (this.mInventory[j] != null && (this.mInventory[i] == null + || GT_Utility.areStacksEqual(this.mInventory[i], this.mInventory[j]))) { + GT_Utility.moveStackFromSlotAToSlotB((IInventory) this.getBaseMetaTileEntity(), (IInventory) this.getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1); + } + } + } + } + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + } + + @Override + public String[] getDescription() { + String[] aDesc = new String[] { + "Item Output for Multiblocks", + "This bus has no GUI", + ""+this.getSlots(this.mTier)+" Slots", + }; + return aDesc; + } + + @Override + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, + float aY, float aZ) { + return super.onRightclick(aBaseMetaTileEntity, aPlayer, aSide, aX, aY, aZ); + } + + public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + if (aBaseMetaTileEntity.isClientSide()) { + return true; + } else { + displayBusContents(aPlayer); + return true; + } + } + + public void displayBusContents(EntityPlayer aPlayer) { + String STRIP = "Item Array: "; + String aNameString = ItemUtils.getArrayStackNames(getRealInventory()); + aNameString = aNameString.replace(STRIP, ""); + + String[] aNames; + if (aNameString.length() < 1) { + aNames = null; + } + else { + aNames = aNameString.split(","); + } + + if (aNames == null || aNames.length <= 0) { + PlayerUtils.messagePlayer(aPlayer, "This Super Bus (O) is Empty. Total Slots: "+this.getSlots(this.mTier)); + return; + } + + PlayerUtils.messagePlayer(aPlayer, "This Super Bus (O) contains:"); + for (String s : aNames) { + if (s.startsWith(" ")) { + s = s.substring(1); + } + //Logger.INFO("Trying to display Super Output Bus contents. "+s); + PlayerUtils.messagePlayer(aPlayer, s); + } + } + + @Override + public int getMaxItemCount() { + // TODO Auto-generated method stub + return super.getMaxItemCount(); + } + + @Override + public int getSizeInventory() { + // TODO Auto-generated method stub + return super.getSizeInventory(); + } + + @Override + public ItemStack getStackInSlot(int aIndex) { + // TODO Auto-generated method stub + return super.getStackInSlot(aIndex); + } + + @Override + public boolean canInsertItem(int aIndex, ItemStack aStack, int aSide) { + // TODO Auto-generated method stub + return super.canInsertItem(aIndex, aStack, aSide); + } + + @Override + public boolean canExtractItem(int aIndex, ItemStack aStack, int aSide) { + // TODO Auto-generated method stub + return super.canExtractItem(aIndex, aStack, aSide); + } + + @Override + public ItemStack[] getRealInventory() { + // TODO Auto-generated method stub + return super.getRealInventory(); + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java index 9eea6b4a28..f6056af87a 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntityFluid.java @@ -101,7 +101,7 @@ public class GregtechMetaPipeEntityFluid extends GT_MetaPipeEntity_Fluid { EnumChatFormatting.BLUE + "Fluid Capacity: %%%" + (mCapacity * 20) + "%%% L/sec" + EnumChatFormatting.GRAY, EnumChatFormatting.RED + "Heat Limit: %%%" + mHeatResistance + "%%% K" + EnumChatFormatting.GRAY, EnumChatFormatting.DARK_GREEN + "Gas Proof: " + (this.mGasProof) + EnumChatFormatting.GRAY, - CORE.GT_Tooltip + //CORE.GT_Tooltip }; } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java index c69ecec114..98722a2b96 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaPipeEntity_Cable.java @@ -59,7 +59,7 @@ public class GregtechMetaPipeEntity_Cable extends GT_MetaPipeEntity_Cable implem "Max Voltage: %%%" + EnumChatFormatting.GREEN + mVoltage + " (" + VN[GT_Utility.getTier(mVoltage)] + ")" + EnumChatFormatting.GRAY, "Max Amperage: %%%" + EnumChatFormatting.YELLOW + mAmperage + EnumChatFormatting.GRAY, "Loss/Meter/Ampere: %%%" + EnumChatFormatting.RED + mCableLossPerMeter + EnumChatFormatting.GRAY + "%%% EU-Volt", - CORE.GT_Tooltip + //CORE.GT_Tooltip }; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java index 4a496c5002..d05a254bf7 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GregtechMetaTreeFarmerStructural.java @@ -16,7 +16,7 @@ extends GregtechMetaTreeFarmerBase { @Override public String[] getDescription() { - return new String[] {this.mDescription, CORE.GT_Tooltip}; + return new String[] {this.mDescription}; } public GregtechMetaTreeFarmerStructural(final int aID, final String aName, final String aNameRegional, final int aTier) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java new file mode 100644 index 0000000000..422837fa46 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java @@ -0,0 +1,60 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base; + +import java.util.Locale; + +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.util.GT_LanguageManager; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; +import net.minecraft.item.ItemStack; + +public abstract class CustomMetaTileBase extends MetaTileEntity { + + public CustomMetaTileBase(int aID, String aBasicName, String aRegionalName, int aInvSlotCount) { + super(aID, aBasicName, aRegionalName, aInvSlotCount); + GT_LanguageManager.addStringLocalization("gtpp.blockmachines." + aBasicName.replaceAll(" ", "_").toLowerCase(Locale.ENGLISH) + ".name", aRegionalName); + this.setBaseMetaTileEntity(Meta_GT_Proxy.constructBaseMetaTileEntity()); + this.getBaseMetaTileEntity().setMetaTileID((short) aID); + } + + public CustomMetaTileBase(String aName, int aInvSlotCount) { + super(aName, aInvSlotCount); + } + + public ItemStack getStackForm(long aAmount) { + return new ItemStack(Meta_GT_Proxy.sBlockMachines, (int) aAmount, this.getBaseMetaTileEntity().getMetaTileID()); + } + + public String getLocalName() { + return GT_LanguageManager.getTranslation("gtpp.blockmachines." + this.mName + ".name"); + } + + /** + * This determines the BaseMetaTileEntity belonging to this MetaTileEntity by using the Meta ID of the Block itself. + * <p/> + * 0 = BaseMetaTileEntity, Wrench lvl 0 to dismantlee + * 1 = BaseMetaTileEntity, Wrench lvl 1 to dismantle + * 2 = BaseMetaTileEntity, Wrench lvl 2 to dismantle + * 3 = BaseMetaTileEntity, Wrench lvl 3 to dismantle + * 4 = BaseMetaPipeEntity, Wrench lvl 0 to dismantle + * 5 = BaseMetaPipeEntity, Wrench lvl 1 to dismantle + * 6 = BaseMetaPipeEntity, Wrench lvl 2 to dismantle + * 7 = BaseMetaPipeEntity, Wrench lvl 3 to dismantle + * 8 = BaseMetaPipeEntity, Cutter lvl 0 to dismantle + * 9 = BaseMetaPipeEntity, Cutter lvl 1 to dismantle + * 10 = BaseMetaPipeEntity, Cutter lvl 2 to dismantle + * 11 = BaseMetaPipeEntity, Cutter lvl 3 to dismantle + * + * == Reserved for Alk now + * + * 12 = BaseMetaPipeEntity, Wrench lvl 0 to dismantle + * 13 = BaseMetaPipeEntity, Wrench lvl 1 to dismantle + * 14 = BaseMetaPipeEntity, Wrench lvl 2 to dismantle + * 15 = BaseMetaPipeEntity, Wrench lvl 3 to dismantle + */ + @Override + public byte getTileEntityBaseType() { + return 12; + } + +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java index 4140617fcf..c9201471a4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTileEntity.java @@ -63,7 +63,7 @@ public abstract class GregtechMetaTileEntity extends MetaTileEntity { @Override public String[] getDescription() { - return new String[] { this.mDescription, CORE.GT_Tooltip }; + return new String[] { this.mDescription }; } /** diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java index df7e8cf373..ccf31673e7 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMetaTransformerHiAmp.java @@ -85,7 +85,7 @@ public class GregtechMetaTransformerHiAmp extends GT_MetaTileEntity_Transformer @Override public String[] getDescription() { - return new String[] { this.mDescription, "Accepts 4A and outputs 16A", CORE.GT_Tooltip }; + return new String[] { this.mDescription, "Accepts 4A and outputs 16A"}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index bb822ec816..41ba313b0e 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -295,15 +295,13 @@ GT_MetaTileEntity_MultiBlockBase { aRequiresCoreModule, aRequiresMuffler, getPollutionTooltip(), - getMachineTooltip(), - CORE.GT_Tooltip}; + getMachineTooltip()}; } else { z = new String[] { aRequiresMaint, aRequiresCoreModule, - getMachineTooltip(), - CORE.GT_Tooltip}; + getMachineTooltip(),}; } int a2, a3; @@ -1508,28 +1506,37 @@ GT_MetaTileEntity_MultiBlockBase { public abstract boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack); - public boolean isValidBlockForStructure(IGregTechTileEntity aBaseMetaTileEntity, int aCasingID, boolean canBeHatch, Block aFoundBlock, int aFoundMeta, Block aExpectedBlock, int aExpectedMeta) { - boolean isHatch = false; + public boolean isValidBlockForStructure(IGregTechTileEntity aBaseMetaTileEntity, int aCasingID, boolean canBeHatch, + Block aFoundBlock, int aFoundMeta, Block aExpectedBlock, int aExpectedMeta) { + boolean isHatch = false; if (aBaseMetaTileEntity != null) { isHatch = this.addToMachineList(aBaseMetaTileEntity, aCasingID); if (isHatch) { return true; } + else { + //Found a controller + if (aFoundMeta > 0 && aFoundMeta < 1000 && aFoundBlock == GregTech_API.sBlockMachines) { + return true; + } + } } if (!isHatch) { - if (aFoundBlock != aExpectedBlock || aFoundMeta != aExpectedMeta) { + if (aFoundBlock == aExpectedBlock && aFoundMeta == aExpectedMeta) { + return true; + } + else if (aFoundBlock != aExpectedBlock) { + Logger.INFO("A1 - Found: "+aFoundBlock.getLocalizedName()+", Expected: "+aExpectedBlock.getLocalizedName()); return false; } - else { - return true; + else if (aFoundMeta != aExpectedMeta) { + Logger.INFO("A2"); + return false; } + } - else { - return true; - } - - - + Logger.INFO("A3"); + return false; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java index f6dc8547cc..287d2105ac 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechDoubleFuelGeneratorBase.java @@ -58,7 +58,7 @@ public abstract class GregtechDoubleFuelGeneratorBase extends GT_MetaTileEntity_ @Override public String[] getDescription() { - return new String[]{this.mDescription, "Fuel Efficiency: " + this.getEfficiency() + "%", CORE.GT_Tooltip}; + return new String[]{this.mDescription, "Fuel Efficiency: " + this.getEfficiency() + "%"}; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java index c1915fb14a..a88d6a4832 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java @@ -65,13 +65,11 @@ public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_ return new String[]{ this.mDescription, "Fuel Efficiency: " + this.getEfficiency()*2 + "%", - aPollution, - CORE.GT_Tooltip}; + aPollution}; } return new String[]{ this.mDescription, - "Fuel Efficiency: " + this.getEfficiency()*2 + "%", - CORE.GT_Tooltip}; + "Fuel Efficiency: " + this.getEfficiency()*2 + "%"}; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java index 25997e5d35..0556a7f4fe 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java @@ -2,6 +2,8 @@ package gtPlusPlus.xmod.gregtech.common; import static gtPlusPlus.xmod.gregtech.common.covers.GTPP_Cover_Overflow.mOverflowCache; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; @@ -10,23 +12,29 @@ import java.util.Map; import java.util.Timer; import java.util.TimerTask; +import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; - +import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import gregtech.GT_Mod; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.BaseMetaTileEntity; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; import gregtech.common.GT_Proxy; +import gregtech.common.blocks.GT_Block_Machines; +import gregtech.common.render.GT_Renderer_Block; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.data.ObjMap; @@ -34,25 +42,153 @@ import gtPlusPlus.api.objects.minecraft.FormattedTooltipString; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.reflect.ProxyFinder; import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gtPlusPlus.xmod.gregtech.api.metatileentity.BaseCustomTileEntity; +import gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power.BaseCustomPower_MTE; +import gtPlusPlus.xmod.gregtech.common.blocks.GTPP_Block_Machines; +import gtPlusPlus.xmod.gregtech.common.render.GTPP_Render_MachineBlock; public class Meta_GT_Proxy { + static { + instance = new Meta_GT_Proxy(); + Logger.INFO("GT_PROXY - initialized."); + } + + public static final Meta_GT_Proxy instance; + public static List<Runnable> GT_BlockIconload = new ArrayList<>(); public static List<Runnable> GT_ItemIconload = new ArrayList<>(); public static AutoMap<Integer> GT_ValidHeatingCoilMetas = new AutoMap<Integer>(); + + private static Class sBaseMetaTileEntityClass; + private static Class sBaseMetaTileEntityClass2; public static final Map<String, FormattedTooltipString> mCustomGregtechMetaTooltips = new LinkedHashMap<String, FormattedTooltipString>(); + @SideOnly(Side.CLIENT) public static IIconRegister sBlockIcons, sItemIcons; public Meta_GT_Proxy() { - Logger.INFO("GT_PROXY - initialized."); + + } + + public static Block sBlockMachines; + + public void preInit() { + + //New GT++ Block, yay! (Progress) + //sBlockMachines = new GTPP_Block_Machines(); + + GT_Log.out.println("GT++ Mod: Register TileEntities."); + BaseMetaTileEntity tBaseMetaTileEntity = constructBaseMetaTileEntity(); + BaseMetaTileEntity tBaseMetaTileEntity2 = constructBaseMetaTileEntityCustomPower(); + + GT_Log.out.println("GT++ Mod: Testing BaseMetaTileEntity."); + if (tBaseMetaTileEntity == null || tBaseMetaTileEntity2 == null) { + GT_Log.out.println("GT++ Mod: Fatal Error ocurred while initializing TileEntities, crashing Minecraft."); + throw new RuntimeException(""); + } + + GT_Log.out.println("GT++ Mod: Registering the BaseMetaTileEntity."); + GameRegistry.registerTileEntity(tBaseMetaTileEntity.getClass(), "BaseMetaTileEntity_GTPP"); + GameRegistry.registerTileEntity(tBaseMetaTileEntity2.getClass(), "BaseMetaTileEntity_GTPP2"); + } + + public void init() { scheduleCoverMapCleaner(); - setValidHeatingCoilMetas(); + setValidHeatingCoilMetas(); } + public void postInit() { + + } + + public static TileEntity constructCustomGregtechMetaTileEntityByMeta(int aMeta) { + if (aMeta == 12) { + return Meta_GT_Proxy.constructBaseMetaTileEntityCustomPower(); + } + else { + return Meta_GT_Proxy.constructBaseMetaTileEntity(); + } + } + + public static BaseCustomTileEntity constructBaseMetaTileEntity() { + if (sBaseMetaTileEntityClass == null) { + try { + sBaseMetaTileEntityClass = BaseCustomTileEntity.class; + return (BaseCustomTileEntity) BaseCustomTileEntity.class.newInstance(); + } catch (Throwable arg1) { + try { + Constructor<?> g = BaseCustomTileEntity.class.getConstructors()[0]; + g.setAccessible(true); + return (BaseCustomTileEntity) g.newInstance(); + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException | SecurityException e) { + } + } + } + try { + return (BaseCustomTileEntity) ((BaseCustomTileEntity) sBaseMetaTileEntityClass.newInstance()); + } catch (Throwable arg0) { + arg0.printStackTrace(GT_Log.err); + try { + Constructor<?> g = BaseCustomTileEntity.class.getConstructors()[0]; + g.setAccessible(true); + return (BaseCustomTileEntity) g.newInstance(); + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException | SecurityException e) { + GT_Log.err + .println("GT++ Mod: Fatal Error ocurred while initializing TileEntities, crashing Minecraft."); + e.printStackTrace(GT_Log.err); + throw new RuntimeException(e); + } + } + } + + public static BaseCustomPower_MTE constructBaseMetaTileEntityCustomPower() { + if (sBaseMetaTileEntityClass2 == null) { + try { + sBaseMetaTileEntityClass2 = BaseCustomPower_MTE.class; + return (BaseCustomPower_MTE) BaseCustomPower_MTE.class.newInstance(); + } catch (Throwable arg1) { + try { + Constructor<?> g = BaseCustomPower_MTE.class.getConstructors()[0]; + g.setAccessible(true); + return (BaseCustomPower_MTE) g.newInstance(); + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException | SecurityException e) { + // e.printStackTrace(); + } + } + } + + try { + return (BaseCustomPower_MTE) ((BaseCustomPower_MTE) sBaseMetaTileEntityClass2.newInstance()); + } catch (Throwable arg0) { + arg0.printStackTrace(GT_Log.err); + try { + Constructor<?> g = BaseCustomPower_MTE.class.getConstructors()[0]; + g.setAccessible(true); + return (BaseCustomPower_MTE) g.newInstance(); + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException | SecurityException e) { + GT_Log.err + .println("GT++ Mod: Fatal Error ocurred while initializing TileEntities, crashing Minecraft."); + e.printStackTrace(GT_Log.err); + throw new RuntimeException(e); + } + } + } + + + + + + + + public void setValidHeatingCoilMetas() { for (int i = 0; i <= 6; i++ ) { GT_ValidHeatingCoilMetas.put(i); @@ -182,7 +318,74 @@ public class Meta_GT_Proxy { }else i++; } } - if (tTileEntity.getEUCapacity() > 0L) { + + + + if (tTileEntity.getEUCapacity() > 0L) { + + final long tVoltage = tTileEntity.getInputVoltage(); + byte tTier = (byte) ((byte) Math.max(1, GT_Utility.getTier(tVoltage))); + + //Custom handling + if (tDamage < 30500 && tDamage >= 30400) { + int aOffset = tDamage - 30400; + if ((aOffset) <= 10) { + tTier -= 2; + aList.add(EnumChatFormatting.BOLD+"16"+" Fuse Slots"+EnumChatFormatting.GRAY); + aList.add("Per each fuse, you may insert "+EnumChatFormatting.YELLOW+(GT_Values.V[tTier])+EnumChatFormatting.GRAY+" EU/t"); + aList.add("However this "+EnumChatFormatting.ITALIC+EnumChatFormatting.RED+"MUST"+EnumChatFormatting.GRAY+" be in a single Amp"); + aList.add("This machine can accept upto a single amp of "+GT_Values.VN[Math.min(tTier+2, 12)]+" as a result"); + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_Breaker_Loss", "Breaker Loss: "+EnumChatFormatting.RED+""+(GT_Values.V[Math.max(tTier-1, 0)]/10)+EnumChatFormatting.GRAY+" EU/t", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + } + + + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_Special_Power_1", EnumChatFormatting.RED+"Special Power Handling, please read manual", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + //aList.add(GT_LanguageManager.addStringLocalization("TileEntity_BreakerBox_2", EnumChatFormatting.RED+"Special Power Handling, please read manual", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + //aList.add(GT_LanguageManager.addStringLocalization("TileEntity_BreakerBox_3", EnumChatFormatting.RED+"Special Power Handling, please read manual", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + } + + + if (tTileEntity.getInputVoltage() > 0L) { + String inA = "0"; + if (tTileEntity.getInputAmperage() >= 1L) { + inA = " at " + EnumChatFormatting.YELLOW + tTileEntity.getInputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + else { + inA = " at " + EnumChatFormatting.WHITE + tTileEntity.getInputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + String a1 = "Voltage IN: "+EnumChatFormatting.GREEN + tTileEntity.getInputVoltage() + + " (" + GT_Values.VN[GT_Utility.getTier(tTileEntity.getInputVoltage())] + ")" + + EnumChatFormatting.GRAY + inA; + aList.add(a1); + } + + if (tTileEntity.getOutputVoltage() > 0L) { + String outA = "0"; + if (tTileEntity.getOutputAmperage() >= 1L) { + outA = " at " + EnumChatFormatting.YELLOW + tTileEntity.getOutputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + else { + outA = " at " + EnumChatFormatting.WHITE + tTileEntity.getOutputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + String a1 = "Voltage OUT: "+EnumChatFormatting.GREEN + tTileEntity.getOutputVoltage() + + " (" + GT_Values.VN[GT_Utility.getTier(tTileEntity.getOutputVoltage())] + ")" + + EnumChatFormatting.GRAY + outA; + aList.add(a1); + } + + + if (tTileEntity.getOutputVoltage() > 0L) { + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_Lossess_EU", "Transmission Loss: "+EnumChatFormatting.DARK_BLUE+""+(tDamage < 30500 && tDamage >= 30400 ? 0 : 1), !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + } + + if (tTileEntity.getEUCapacity() > 0) { + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_STORE2", + "Internal Capacity: ", !GregTech_API.sPostloadFinished) + EnumChatFormatting.BLUE + + tTileEntity.getEUCapacity() + EnumChatFormatting.GRAY + " EU"); + } + } + + /*if (tTileEntity.getEUCapacity() > 0L) { if (tTileEntity.getInputVoltage() > 0L) { aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_IN", "Voltage IN: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.GREEN + tTileEntity.getInputVoltage() + " (" + GT_Values.VN[GT_Utility.getTier(tTileEntity.getInputVoltage())] + ")" + EnumChatFormatting.GRAY); } @@ -193,7 +396,8 @@ public class Meta_GT_Proxy { aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_AMOUNT", "Amperage: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.YELLOW + tTileEntity.getOutputAmperage() + EnumChatFormatting.GRAY); } aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_STORE", "Capacity: ", !GregTech_API.sPostloadFinished ) + EnumChatFormatting.BLUE + tTileEntity.getEUCapacity() + EnumChatFormatting.GRAY); - } + }*/ + } NBTTagCompound aNBT = aStack.getTagCompound(); if (aNBT != null) { @@ -216,15 +420,28 @@ public class Meta_GT_Proxy { } } - //Add Custom Tooltips - for (String s : mCustomGregtechMetaTooltips.keySet()) { - if (aNBT.hasKey(s)) { - String aTip = mCustomGregtechMetaTooltips.get(s).getTooltip(aNBT.getString(s)); - aList.add(aTip); - } - } - } + + //Add Custom Here + + //Add Custom Tooltips + for (String s : mCustomGregtechMetaTooltips.keySet()) { + if (aNBT.hasKey(s)) { + String aTip = mCustomGregtechMetaTooltips.get(s).getTooltip(aNBT.getString(s)); + aList.add(aTip); + } + } + + //Add GT++ Stuff + + if (tDamage >= 30400 && tDamage < 30500) { + aList.add(EnumChatFormatting.UNDERLINE+"Special GT++ Machine"); + } + if ((tDamage >= 750 && tDamage < 1000) || (tDamage >= 30000 && tDamage < 31000)) { + aList.add(CORE.GT_Tooltip); + } + + } catch (Throwable e) { e.printStackTrace(GT_Log.err); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java index 4313ca53f6..c1db39b132 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java @@ -17,9 +17,13 @@ import gregtech.api.enums.Textures.BlockIcons; import gregtech.api.interfaces.ITexture; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; +import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.reflect.ReflectionUtils; import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; public class StaticFields59 { @@ -31,6 +35,7 @@ public class StaticFields59 { public static final Field mCasingTexturePages; public static final Method mCalculatePollutionReduction; + public static final Method mAddFurnaceRecipe; private static final Map<String, Materials> mMaterialCache = new LinkedHashMap<String, Materials>(); @@ -46,6 +51,20 @@ public class StaticFields59 { mCasingTexturePages = getField(BlockIcons.class, "casingTexturePages"); mCalculatePollutionReduction = getMethod(GT_MetaTileEntity_Hatch_Muffler.class, "calculatePollutionReduction", int.class); + + Logger.INFO("Initializing a recipe handler for different versions of Gregtech 5."); + //Yep... + if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + Logger.INFO("Selecting GT 5.7/5.8 Recipe Set"); + mAddFurnaceRecipe = getMethod(GT_ModHandler.class, "addSmeltingAndAlloySmeltingRecipe", ItemStack.class, ItemStack.class); + } + else { + Logger.INFO("Selecting GT 5.9 Recipe Set"); + mAddFurnaceRecipe = getMethod(GT_ModHandler.class, "addSmeltingAndAlloySmeltingRecipe", ItemStack.class, ItemStack.class, boolean.class); + } + + + } public static synchronized final Block getBlockCasings5() { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GTPP_Block_Machines.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GTPP_Block_Machines.java new file mode 100644 index 0000000000..c62d47e904 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GTPP_Block_Machines.java @@ -0,0 +1,534 @@ +package gtPlusPlus.xmod.gregtech.common.blocks; + +import java.util.ArrayList; +import java.util.List; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Textures.BlockIcons; +import gregtech.api.interfaces.IDebugableBlock; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.items.GT_Generic_Block; +import gregtech.api.metatileentity.BaseMetaPipeEntity; +import gregtech.api.metatileentity.BaseMetaTileEntity; +import gregtech.api.metatileentity.BaseTileEntity; +import gregtech.api.objects.XSTR; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_Utility; +import gregtech.common.blocks.GT_Item_Machines; +import gregtech.common.blocks.GT_Material_Machines; +import gregtech.common.render.GT_Renderer_Block; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; +import gtPlusPlus.xmod.gregtech.common.render.GTPP_Render_MachineBlock; +import net.minecraft.block.Block; +import net.minecraft.block.ITileEntityProvider; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; +import net.minecraft.world.Explosion; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class GTPP_Block_Machines extends GT_Generic_Block implements IDebugableBlock, ITileEntityProvider { + public static ThreadLocal<IGregTechTileEntity> mTemporaryTileEntity = new ThreadLocal<IGregTechTileEntity>(); + + public GTPP_Block_Machines() { + super(GTPP_Item_Machines.class, "gtpp.blockmachines", new GT_Material_Machines()); + GregTech_API.registerMachineBlock(this, -1); + this.setHardness(1.0F); + this.setResistance(10.0F); + this.setStepSound(soundTypeMetal); + this.setCreativeTab(GregTech_API.TAB_GREGTECH); + this.isBlockContainer = true; + } + + public String getHarvestTool(int aMeta) { + switch (aMeta / 4) { + case 0 : + return "wrench"; + case 1 : + return "wrench"; + case 2 : + return "cutter"; + case 3 : + return "axe"; + default : + return "wrench"; + } + } + + public int getHarvestLevel(int aMeta) { + return aMeta % 4; + } + + protected boolean canSilkHarvest() { + return false; + } + + public void onNeighborChange(IBlockAccess aWorld, int aX, int aY, int aZ, int aTileX, int aTileY, int aTileZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof BaseTileEntity) { + ((BaseTileEntity) tTileEntity).onAdjacentBlockChange(aTileX, aTileY, aTileZ); + } + + } + + public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { + super.onBlockAdded(aWorld, aX, aY, aZ); + if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { + GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); + } + + } + + public String getUnlocalizedName() { + int tDamage = 0; + String aUnlocalName = (tDamage >= 0 && tDamage < GregTech_API.METATILEENTITIES.length) + ? (GregTech_API.METATILEENTITIES[tDamage] != null + ? ("gtpp.blockmachines.name" + "." + GregTech_API.METATILEENTITIES[tDamage].getMetaName()) + : ("gtpp.blockmachines.name")) : ""; + + Logger.INFO("Unlocal Name: "+aUnlocalName); + return aUnlocalName; + } + + public String getLocalizedName() { + String aName = StatCollector.translateToLocal(this.getUnlocalizedName() + ".name");; + if (aName.toLowerCase().contains(".name")) { + aName = StatCollector.translateToLocal(getUnlocalizedName() + ".name"); + } + if (aName.toLowerCase().contains(".name")) { + aName = StatCollector.translateToLocal("gt.blockmachines" + ".name"); + } + if (aName.toLowerCase().contains(".name")) { + aName = "BAD"; + } + Logger.INFO("Name: "+aName); + return aName; + } + + public int getFlammability(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection face) { + return 0; + } + + public int getFireSpreadSpeed(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection face) { + return GregTech_API.sMachineFlammable && aWorld.getBlockMetadata(aX, aY, aZ) == 0 ? 100 : 0; + } + + public int getRenderType() { + return GTPP_Render_MachineBlock.INSTANCE == null ? super.getRenderType() : GTPP_Render_MachineBlock.INSTANCE.mRenderID; + } + + public boolean isFireSource(World aWorld, int aX, int aY, int aZ, ForgeDirection side) { + return GregTech_API.sMachineFlammable && aWorld.getBlockMetadata(aX, aY, aZ) == 0; + } + + public boolean isFlammable(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection face) { + return GregTech_API.sMachineFlammable && aWorld.getBlockMetadata(aX, aY, aZ) == 0; + } + + public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess aWorld, int aX, int aY, int aZ) { + return false; + } + + public boolean canConnectRedstone(IBlockAccess var1, int var2, int var3, int var4, int var5) { + return true; + } + + public boolean canBeReplacedByLeaves(IBlockAccess aWorld, int aX, int aY, int aZ) { + return false; + } + + public boolean isNormalCube(IBlockAccess aWorld, int aX, int aY, int aZ) { + return false; + } + + public boolean hasTileEntity(int aMeta) { + return true; + } + + public boolean hasComparatorInputOverride() { + return true; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public boolean canProvidePower() { + return true; + } + + public boolean isOpaqueCube() { + return false; + } + + public TileEntity createNewTileEntity(World aWorld, int aMeta) { + return this.createTileEntity(aWorld, aMeta); + } + + public IIcon getIcon(IBlockAccess aIBlockAccess, int aX, int aY, int aZ, int aSide) { + return BlockIcons.MACHINE_LV_SIDE.getIcon(); + } + + public IIcon getIcon(int aSide, int aMeta) { + return BlockIcons.MACHINE_LV_SIDE.getIcon(); + } + + public boolean onBlockEventReceived(World aWorld, int aX, int aY, int aZ, int aData1, int aData2) { + super.onBlockEventReceived(aWorld, aX, aY, aZ, aData1, aData2); + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity != null ? tTileEntity.receiveClientEvent(aData1, aData2) : false; + } + + public void addCollisionBoxesToList(World aWorld, int aX, int aY, int aZ, AxisAlignedBB inputAABB, List outputAABB, + Entity collider) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null) { + ((IGregTechTileEntity) tTileEntity).addCollisionBoxesToList(aWorld, aX, aY, aZ, inputAABB, outputAABB, + collider); + } else { + super.addCollisionBoxesToList(aWorld, aX, aY, aZ, inputAABB, outputAABB, collider); + } + } + + public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null + ? ((IGregTechTileEntity) tTileEntity).getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ) + : super.getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ); + } + + @SideOnly(Side.CLIENT) + public AxisAlignedBB getSelectedBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null + ? ((IGregTechTileEntity) tTileEntity).getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ) + : super.getSelectedBoundingBoxFromPool(aWorld, aX, aY, aZ); + } + + public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int aX, int aY, int aZ) { + TileEntity tTileEntity = blockAccess.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null) { + AxisAlignedBB bbb = ((IGregTechTileEntity) tTileEntity) + .getCollisionBoundingBoxFromPool(((IGregTechTileEntity) tTileEntity).getWorld(), 0, 0, 0); + this.minX = bbb.minX; + this.minY = bbb.minY; + this.minZ = bbb.minZ; + this.maxX = bbb.maxX; + this.maxY = bbb.maxY; + this.maxZ = bbb.maxZ; + } else { + super.setBlockBoundsBasedOnState(blockAccess, aX, aY, aZ); + } + } + + public void setBlockBoundsForItemRender() { + super.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity collider) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null) { + ((IGregTechTileEntity) tTileEntity).onEntityCollidedWithBlock(aWorld, aX, aY, aZ, collider); + } else { + super.onEntityCollidedWithBlock(aWorld, aX, aY, aZ, collider); + } + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister aIconRegister) { + + } + + public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { + return super.getBlockHardness(aWorld, aX, aY, aZ); + } + + public float getPlayerRelativeBlockHardness(EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof BaseMetaTileEntity && ((BaseMetaTileEntity) tTileEntity).privateAccess() + && !((BaseMetaTileEntity) tTileEntity).playerOwnsThis(aPlayer, true) + ? -1.0F + : super.getPlayerRelativeBlockHardness(aPlayer, aWorld, aX, aY, aZ); + } + + public boolean onBlockActivated(World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer, int aSide, float par1, + float par2, float par3) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity == null) { + return false; + } else { + if (aPlayer.isSneaking()) { + ItemStack tCurrentItem = aPlayer.inventory.getCurrentItem(); + if (tCurrentItem == null) { + return false; + } + + if (!GT_Utility.isStackInList(tCurrentItem, GregTech_API.sScrewdriverList) + && !GT_Utility.isStackInList(tCurrentItem, GregTech_API.sWrenchList)) { + return false; + } + } + + return tTileEntity instanceof IGregTechTileEntity + ? (((IGregTechTileEntity) tTileEntity).getTimer() < 50L + ? false + : (!aWorld.isRemote && !((IGregTechTileEntity) tTileEntity).isUseableByPlayer(aPlayer) + ? true + : ((IGregTechTileEntity) tTileEntity).onRightclick(aPlayer, (byte) aSide, par1, + par2, par3))) + : false; + } + } + + public void onBlockClicked(World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof IGregTechTileEntity) { + ((IGregTechTileEntity) tTileEntity).onLeftclick(aPlayer); + } + + } + + public int getDamageValue(World aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity ? ((IGregTechTileEntity) tTileEntity).getMetaTileID() : 0; + } + + public void onBlockExploded(World aWorld, int aX, int aY, int aZ, Explosion aExplosion) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof BaseMetaTileEntity) { + ((BaseMetaTileEntity) tTileEntity).doEnergyExplosion(); + } + + super.onBlockExploded(aWorld, aX, aY, aZ, aExplosion); + } + + public void breakBlock(World aWorld, int aX, int aY, int aZ, Block par5, int par6) { + GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof IGregTechTileEntity) { + IGregTechTileEntity tGregTechTileEntity = (IGregTechTileEntity) tTileEntity; + XSTR tRandom = new XSTR(); + mTemporaryTileEntity.set(tGregTechTileEntity); + + for (int i = 0; i < tGregTechTileEntity.getSizeInventory(); ++i) { + ItemStack tItem = tGregTechTileEntity.getStackInSlot(i); + if (tItem != null && tItem.stackSize > 0 && tGregTechTileEntity.isValidSlot(i)) { + EntityItem tItemEntity = new EntityItem(aWorld, + (double) ((float) aX + tRandom.nextFloat() * 0.8F + 0.1F), + (double) ((float) aY + tRandom.nextFloat() * 0.8F + 0.1F), + (double) ((float) aZ + tRandom.nextFloat() * 0.8F + 0.1F), + new ItemStack(tItem.getItem(), tItem.stackSize, tItem.getItemDamage())); + if (tItem.hasTagCompound()) { + tItemEntity.getEntityItem().setTagCompound((NBTTagCompound) tItem.getTagCompound().copy()); + } + + tItemEntity.motionX = tRandom.nextGaussian() * 0.0500000007450581D; + tItemEntity.motionY = tRandom.nextGaussian() * 0.0500000007450581D + 0.2000000029802322D; + tItemEntity.motionZ = tRandom.nextGaussian() * 0.0500000007450581D; + aWorld.spawnEntityInWorld(tItemEntity); + tItem.stackSize = 0; + tGregTechTileEntity.setInventorySlotContents(i, (ItemStack) null); + } + } + } + + super.breakBlock(aWorld, aX, aY, aZ, par5, par6); + aWorld.removeTileEntity(aX, aY, aZ); + } + + public ArrayList<ItemStack> getDrops(World aWorld, int aX, int aY, int aZ, int aMeta, int aFortune) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity + ? ((IGregTechTileEntity) tTileEntity).getDrops() + : (mTemporaryTileEntity.get() == null + ? new ArrayList() + : ((IGregTechTileEntity) mTemporaryTileEntity.get()).getDrops()); + } + + public int getComparatorInputOverride(World aWorld, int aX, int aY, int aZ, int aSide) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity + ? ((IGregTechTileEntity) tTileEntity).getComparatorValue((byte) aSide) + : 0; + } + + public int isProvidingWeakPower(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) { + if (aSide >= 0 && aSide <= 5) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity + ? ((IGregTechTileEntity) tTileEntity).getOutputRedstoneSignal(GT_Utility.getOppositeSide(aSide)) + : 0; + } else { + return 0; + } + } + + public int isProvidingStrongPower(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) { + if (aSide >= 0 && aSide <= 5) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity + ? ((IGregTechTileEntity) tTileEntity) + .getStrongOutputRedstoneSignal(GT_Utility.getOppositeSide(aSide)) + : 0; + } else { + return 0; + } + } + + public void dropBlockAsItemWithChance(World aWorld, int aX, int aY, int aZ, int par5, float chance, int par7) { + if (!aWorld.isRemote) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity != null && chance < 1.0F) { + if (tTileEntity instanceof BaseMetaTileEntity && GregTech_API.sMachineNonWrenchExplosions) { + ((BaseMetaTileEntity) tTileEntity).doEnergyExplosion(); + } + } else { + super.dropBlockAsItemWithChance(aWorld, aX, aY, aZ, par5, chance, par7); + } + } + + } + + public boolean isSideSolid(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection aSide) { + if (aWorld.getBlockMetadata(aX, aY, aZ) == 0) { + return true; + } else { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity != null) { + if (tTileEntity instanceof BaseMetaTileEntity) { + return true; + } + + if (tTileEntity instanceof BaseMetaPipeEntity + && (((BaseMetaPipeEntity) tTileEntity).mConnections & -64) != 0) { + return true; + } + + if (tTileEntity instanceof ICoverable + && ((ICoverable) tTileEntity).getCoverIDAtSide((byte) aSide.ordinal()) != 0) { + return true; + } + } + + return false; + } + } + + public int getLightOpacity(IBlockAccess aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity == null + ? 0 + : (tTileEntity instanceof IGregTechTileEntity + ? ((IGregTechTileEntity) tTileEntity).getLightOpacity() + : (aWorld.getBlockMetadata(aX, aY, aZ) == 0 ? 255 : 0)); + } + + public int getLightValue(IBlockAccess aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof BaseMetaTileEntity ? ((BaseMetaTileEntity) tTileEntity).getLightValue() : 0; + } + + public TileEntity createTileEntity(World aWorld, int aMeta) { + return (TileEntity) (aMeta >= 4 ? Meta_GT_Proxy.constructBaseMetaTileEntity() : Meta_GT_Proxy.constructBaseMetaTileEntityCustomPower()); + } + + public float getExplosionResistance(Entity par1Entity, World aWorld, int aX, int aY, int aZ, double explosionX, + double explosionY, double explosionZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof IGregTechTileEntity + ? ((IGregTechTileEntity) tTileEntity).getBlastResistance((byte) 6) + : 10.0F; + } + + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int i = 0; i < 100; ++i) { + if (GregTech_API.METATILEENTITIES[(30400 + i)] != null) { + par3List.add(new ItemStack(par1, 1, i)); + } + } + + } + + public void onBlockPlacedBy(World aWorld, int aX, int aY, int aZ, EntityLivingBase aPlayer, ItemStack aStack) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity != null) { + if (tTileEntity instanceof IGregTechTileEntity) { + IGregTechTileEntity var6 = (IGregTechTileEntity) tTileEntity; + if (aPlayer == null) { + var6.setFrontFacing((byte) 1); + } else { + int var7 = MathHelper.floor_double((double) (aPlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + int var8 = Math.round(aPlayer.rotationPitch); + if (var8 >= 65 && var6.isValidFacing((byte) 1)) { + var6.setFrontFacing((byte) 1); + } else if (var8 <= -65 && var6.isValidFacing((byte) 0)) { + var6.setFrontFacing((byte) 0); + } else { + switch (var7) { + case 0 : + var6.setFrontFacing((byte) 2); + break; + case 1 : + var6.setFrontFacing((byte) 5); + break; + case 2 : + var6.setFrontFacing((byte) 3); + break; + case 3 : + var6.setFrontFacing((byte) 4); + } + } + } + } + + } + } + + public ArrayList<String> getDebugInfo(EntityPlayer aPlayer, int aX, int aY, int aZ, int aLogLevel) { + TileEntity tTileEntity = aPlayer.worldObj.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof BaseMetaTileEntity + ? ((BaseMetaTileEntity) tTileEntity).getDebugInfo(aPlayer, aLogLevel) + : (tTileEntity instanceof BaseMetaPipeEntity + ? ((BaseMetaPipeEntity) tTileEntity).getDebugInfo(aPlayer, aLogLevel) + : null); + } + + public boolean recolourBlock(World aWorld, int aX, int aY, int aZ, ForgeDirection aSide, int aColor) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof IGregTechTileEntity) { + if (((IGregTechTileEntity) tTileEntity).getColorization() == (byte) (~aColor & 15)) { + return false; + } else { + ((IGregTechTileEntity) tTileEntity).setColorization((byte) (~aColor & 15)); + return true; + } + } else { + return false; + } + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GTPP_Item_Machines.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GTPP_Item_Machines.java new file mode 100644 index 0000000000..ba3b05ff8e --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GTPP_Item_Machines.java @@ -0,0 +1,229 @@ +package gtPlusPlus.xmod.gregtech.common.blocks; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.util.GT_ItsNotMyFaultException; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; + +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class GTPP_Item_Machines extends ItemBlock { + public GTPP_Item_Machines(Block par1) { + super(par1); + this.setMaxDamage(0); + this.setHasSubtypes(true); + this.setCreativeTab(GregTech_API.TAB_GREGTECH); + } + + @SuppressWarnings("unchecked") + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean par4) { + try { + int e = this.getDamage(aStack) + 30400; //Add Offset + if (e <= 0 || e >= GregTech_API.METATILEENTITIES.length) { + return; + } + + if (GregTech_API.METATILEENTITIES[e] != null) { + + IGregTechTileEntity aNBT = GregTech_API.METATILEENTITIES[e].getBaseMetaTileEntity(); + + final long tVoltage = aNBT.getInputVoltage(); + byte tTier = (byte) ((byte) Math.max(1, GT_Utility.getTier(tVoltage))); + + /*if (aNBT.getDescription() != null) { + int tAmount = 0; + String[] arg7 = aNBT.getDescription(); + int arg8 = arg7.length-1; + + if (arg7 != null && arg7.length > 0) { + for (String t : arg7) { + aList.add(t); + } + + } + else { + aList.add("ERROR"); + } + + for (int y = 0; y < arg8; y++) { + String tDescription = arg7[y]; + + if (tDescription != null) { + aList.add(tDescription+"|"+arg8); + continue; + } + else { + continue; + } + } + }*/ + + if (aNBT.getEUCapacity() > 0L) { + + //Custom handling + if ((e - 30400) <= 100) { + + + if ((e - 30400) <= 10) { + tTier -= 2; + aList.add(EnumChatFormatting.BOLD+"16"+" Fuse Slots"+EnumChatFormatting.GRAY); + aList.add("Per each fuse, you may insert "+EnumChatFormatting.YELLOW+(GT_Values.V[tTier])+EnumChatFormatting.GRAY+" EU/t"); + aList.add("However this "+EnumChatFormatting.ITALIC+EnumChatFormatting.RED+"MUST"+EnumChatFormatting.GRAY+" be in a single Amp"); + aList.add("This machine can accept upto a single amp of "+GT_Values.VN[Math.min(tTier+2, 12)]+" as a result"); + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_Breaker_Loss", "Breaker Loss: "+EnumChatFormatting.RED+""+(GT_Values.V[Math.max(tTier-1, 0)]/10)+EnumChatFormatting.GRAY+" EU/t", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + } + + + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_Special_Power_1", EnumChatFormatting.RED+"Special Power Handling, please read manual", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + //aList.add(GT_LanguageManager.addStringLocalization("TileEntity_BreakerBox_2", EnumChatFormatting.RED+"Special Power Handling, please read manual", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + //aList.add(GT_LanguageManager.addStringLocalization("TileEntity_BreakerBox_3", EnumChatFormatting.RED+"Special Power Handling, please read manual", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + } + + + if (aNBT.getInputVoltage() > 0L) { + String inA = "0"; + if (aNBT.getInputAmperage() >= 1L) { + inA = " at " + EnumChatFormatting.YELLOW + aNBT.getInputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + else { + inA = " at " + EnumChatFormatting.WHITE + aNBT.getInputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + String a1 = "Voltage IN: "+EnumChatFormatting.GREEN + aNBT.getInputVoltage() + + " (" + GT_Values.VN[GT_Utility.getTier(aNBT.getInputVoltage())] + ")" + + EnumChatFormatting.GRAY + inA; + aList.add(a1); + } + + if (aNBT.getOutputVoltage() > 0L) { + String outA = "0"; + if (aNBT.getOutputAmperage() >= 1L) { + outA = " at " + EnumChatFormatting.YELLOW + aNBT.getOutputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + else { + outA = " at " + EnumChatFormatting.WHITE + aNBT.getOutputAmperage() + EnumChatFormatting.GRAY +" Amps"; + } + String a1 = "Voltage OUT: "+EnumChatFormatting.GREEN + aNBT.getOutputVoltage() + + " (" + GT_Values.VN[GT_Utility.getTier(aNBT.getOutputVoltage())] + ")" + + EnumChatFormatting.GRAY + outA; + aList.add(a1); + } + + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_Lossess_EU", "Transmission Loss: "+EnumChatFormatting.DARK_BLUE+"0", !GregTech_API.sPostloadFinished) + EnumChatFormatting.GRAY); + + aList.add(GT_LanguageManager.addStringLocalization("TileEntity_EUp_STORE2", "Internal Capacity: ", + !GregTech_API.sPostloadFinished) + EnumChatFormatting.BLUE + aNBT.getEUCapacity() + + EnumChatFormatting.GRAY + " EU"); + } + } + + NBTTagCompound arg16 = aStack.getTagCompound(); + if (arg16 != null) { + if (arg16.getBoolean("mMuffler")) { + aList.add(GT_LanguageManager.addStringLocalization("GT_TileEntity_MUFFLER", "has Muffler Upgrade", + !GregTech_API.sPostloadFinished)); + } + + if (arg16.getBoolean("mSteamConverter")) { + aList.add(GT_LanguageManager.addStringLocalization("GT_TileEntity_STEAMCONVERTER", + "has Steam Upgrade", !GregTech_API.sPostloadFinished)); + } + + boolean arg17 = false; + byte arg18; + if ((arg18 = arg16.getByte("mSteamTanks")) > 0) { + aList.add(arg18 + " " + GT_LanguageManager.addStringLocalization("GT_TileEntity_STEAMTANKS", + "Steam Tank Upgrades", !GregTech_API.sPostloadFinished)); + } + } + + + aList.add(EnumChatFormatting.UNDERLINE+"Special GT++ Machine"); + + } catch (Throwable arg15) { + arg15.printStackTrace(GT_Log.err); + } + + } + + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, + float hitX, float hitY, float hitZ) { + return false; + } + + public String getUnlocalizedName(ItemStack aStack) { + short tDamage = (short) (this.getDamage(aStack) + 30400); //Add Offset; + return tDamage >= 0 && tDamage < GregTech_API.METATILEENTITIES.length + ? (GregTech_API.METATILEENTITIES[tDamage] != null + ? "gtpp.blockmachines" + "." + GregTech_API.METATILEENTITIES[tDamage].getMetaName() + : "") + : ""; + } + + public void onCreated(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { + super.onCreated(aStack, aWorld, aPlayer); + short tDamage = (short) ((short) this.getDamage(aStack) + 30400); //Add Offset; + if (tDamage < 0 + || tDamage >= GregTech_API.METATILEENTITIES.length && GregTech_API.METATILEENTITIES[tDamage] != null) { + GregTech_API.METATILEENTITIES[tDamage].onCreated(aStack, aWorld, aPlayer); + } + + } + + public boolean placeBlockAt(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int side, + float hitX, float hitY, float hitZ, int aMeta) { + short tDamage = (short) ((short) this.getDamage(aStack) + 30400); //Add Offset; + if (tDamage > 0) { + if (GregTech_API.METATILEENTITIES[tDamage] == null) { + return false; + } + + byte tMetaData = 32; + //byte tMetaData = GregTech_API.METATILEENTITIES[tDamage].getTileEntityBaseType(); + Logger.INFO("Using Meta: "+tMetaData+" for ID "+tDamage+" | "+GregTech_API.METATILEENTITIES[tDamage].getInventoryName()); + if (!aWorld.setBlock(aX, aY, aZ, this.field_150939_a, tMetaData, 3)) { + return false; + } + + if (aWorld.getBlock(aX, aY, aZ) != this.field_150939_a) { + throw new GT_ItsNotMyFaultException( + "Failed to place Block even though World.setBlock returned true. It COULD be MCPC/Bukkit causing that. In case you really have that installed, don\'t report this Bug to me, I don\'t know how to fix it."); + } + + if (aWorld.getBlockMetadata(aX, aY, aZ) != tMetaData) { + throw new GT_ItsNotMyFaultException( + "Failed to set the MetaValue of the Block even though World.setBlock returned true. It COULD be MCPC/Bukkit causing that. In case you really have that installed, don\'t report this Bug to me, I don\'t know how to fix it."); + } + + IGregTechTileEntity tTileEntity = (IGregTechTileEntity) aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity != null) { + tTileEntity.setInitialValuesAsNBT(tTileEntity.isServerSide() ? aStack.getTagCompound() : null, tDamage); + if (aPlayer != null) { + tTileEntity.setOwnerName(aPlayer.getDisplayName()); + } + + tTileEntity.getMetaTileEntity().initDefaultModes(aStack.getTagCompound()); + } + } else if (!aWorld.setBlock(aX, aY, aZ, this.field_150939_a, tDamage, 3)) { + return false; + } + + if (aWorld.getBlock(aX, aY, aZ) == this.field_150939_a) { + this.field_150939_a.onBlockPlacedBy(aWorld, aX, aY, aZ, aPlayer, aStack); + this.field_150939_a.onPostBlockPlaced(aWorld, aX, aY, aZ, tDamage); + } + + return true; + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java index b54eb770ec..7f426f8abb 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java @@ -292,6 +292,7 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 { GregtechItemList.NanoTube_Finished.set(this.addItem(102, "Carbon Nanotubes", "Multi-walled Zigzag nanotubes, possibly Carbon's final form", new Object[0])); GregtechItemList.Carbyne_Tube_Finished.set(this.addItem(103, "Linear Acetylenic Carbon (LAC/Carbyne)", "LAC chains grown inside Multi-walled Carbon Nanotubes, highly stable", new Object[0])); GregtechItemList.Carbyne_Sheet_Finished.set(this.addItem(104, "Carbyne Composite Panel", "Nanotubes which contain LAC, arranged side by side and compressed further", new Object[0])); + GregtechItemList.Laser_Lens_Special.set(this.addItem(105, "Quantum Anomaly", "Probably should shoot it with lasers", new Object[0])); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java index 612defcb89..22ce41282f 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java @@ -1,14 +1,45 @@ package gtPlusPlus.xmod.gregtech.common.render; -import static gtPlusPlus.GTplusplus.*; - +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.math.BigInteger; +import java.net.URL; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Base64; +import java.util.Date; import java.util.HashMap; +import java.util.Map; import java.util.UUID; +import javax.crypto.Cipher; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import javax.xml.bind.DatatypeConverter; + +import org.apache.commons.io.IOUtils; import org.lwjgl.opengl.GL11; import com.mojang.authlib.GameProfile; +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.CORE.ConfigSwitches; +import gtPlusPlus.core.proxy.ClientProxy; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.data.FileUtils; +import gtPlusPlus.core.util.sys.NetworkUtils; import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.entity.RenderManager; @@ -17,110 +48,122 @@ import net.minecraft.potion.Potion; import net.minecraft.server.MinecraftServer; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; -import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_Utility; +public class GTPP_CapeRenderer extends RenderPlayer { -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.lib.CORE.ConfigSwitches; -import net.minecraftforge.client.event.RenderPlayerEvent; + private final ResourceLocation[] mCapes = { + new ResourceLocation("miscutils:textures/OrangeHD.png"), + new ResourceLocation("miscutils:textures/FancyCapeHD.png"), + new ResourceLocation("miscutils:textures/TesterCapeHD.png"), + new ResourceLocation("miscutils:textures/DevCapeHD.png"), + new ResourceLocation("miscutils:textures/PatreonCapeHD.png") }; -public class GTPP_CapeRenderer -extends RenderPlayer { - private final ResourceLocation[] mCapes = {new ResourceLocation("miscutils:textures/OrangeHD.png"), new ResourceLocation("miscutils:textures/FancyCapeHD.png"), new ResourceLocation("miscutils:textures/TesterCapeHD.png"), new ResourceLocation("miscutils:textures/DevCapeHD.png"), new ResourceLocation("miscutils:textures/PatreonCapeHD.png")}; - - private static final HashMap<String, ResourceLocation> mLocalClientPlayerCache; + private final ArrayList<String> mData; - static { - mLocalClientPlayerCache = new HashMap<String, ResourceLocation>(); - } - public GTPP_CapeRenderer() { setRenderManager(RenderManager.instance); - BuildCapeList(); + downloadCapeList(); + ArrayList<String> aTemp = new ArrayList<String>(); + try { + aTemp = returnDatData(); + } + catch (Throwable t) { + aTemp = new ArrayList<String>(); + } + mData = aTemp; } private static boolean hasResourceChecked = false; + private boolean hasCape = false; + private ResourceLocation tResource = null; public synchronized void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) { AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer; - ResourceLocation tResource = null; - if (!ConfigSwitches.enableCustomCapes){ + if (!ConfigSwitches.enableCustomCapes) { aEvent.setCanceled(true); - return ; + Logger.INFO("A1"); + return; + } + + if (hasResourceChecked) { + if (!hasCape && !CORE.DEVENV) { + aEvent.setCanceled(true); + Logger.INFO("A2"); + return; + } } + // Make sure we don't keep checking on clients who dont have capes. + if (!hasResourceChecked) { - //Make sure we don't keep checking on clients who dont have capes. - if (!hasResourceChecked) { - AutoMap<Pair<String, ResourceLocation>> localGatherMap = new AutoMap<Pair<String, ResourceLocation>>(); - String mTemp = ""; - //If list's have not been built yet for some reason, we best do it now. - if (mDevCapes.size() <= 1) { - BuildCapeList(); - } - //Iterates all players in all lists, caches result. - for (Pair<String, String> mName : mOrangeCapes){ - mTemp = getPlayerName(mName.getKey(), mName.getValue()); - localGatherMap.put(new Pair<String, ResourceLocation>(mTemp, this.mCapes[0])); - } - for (Pair<String, String> mName : mMiscCapes){ - mTemp = getPlayerName(mName.getKey(), mName.getValue()); - localGatherMap.put(new Pair<String, ResourceLocation>(mTemp, this.mCapes[1])); - } - for (Pair<String, String> mName : mBetaTestCapes){ - mTemp = getPlayerName(mName.getKey(), mName.getValue()); - localGatherMap.put(new Pair<String, ResourceLocation>(mTemp, this.mCapes[2])); + // Time to Spliterate some data + Map<String, ResourceLocation> aPlayerData = new HashMap<String, ResourceLocation>(); + Map<String, String> aNameMap = new HashMap<String, String>(); + int i = 0; + for (String s : mData) { + String[] aSplit = s.split("@"); + int a[] = new int[] { 0, mCapes.length - 1 }; + int aID = Integer.parseInt(aSplit[1]); + String aPlayerName = this.getPlayerName("iteration-" + (i++), aSplit[0]); + aNameMap.put(aSplit[0], aPlayerName); + aPlayerData.put(aPlayerName, this.mCapes[Math.max(a[0], Math.min(aID, a[1]))]); + } + + // Set flag to only render this event if player has a cape. + for (String s : aNameMap.values()) { + if (s.toLowerCase().equals(ClientProxy.playerName)) { + hasCape = true; + tResource = aPlayerData.get(ClientProxy.playerName); + break; } - for (Pair<String, String> mName : mDevCapes){ - mTemp = getPlayerName(mName.getKey(), mName.getValue()); - localGatherMap.put(new Pair<String, ResourceLocation>(mTemp, this.mCapes[3])); + } + + // Dev capes for dev mode. + if (CORE.DEVENV) { + hasCape = true; + tResource = mCapes[3]; + } + + // Safety Check + if (tResource == null) { + if (aPlayerData.get(aPlayer.getDisplayName()) != null) { + tResource = aPlayerData.get(aPlayer.getDisplayName()); + } else { + hasCape = false; } - for (Pair<String, String> mName : mPatreonCapes){ - mTemp = getPlayerName(mName.getKey(), mName.getValue()); - localGatherMap.put(new Pair<String, ResourceLocation>(mTemp, this.mCapes[4])); - } - if (localGatherMap.size() > 0) { - for (Pair<String, ResourceLocation> p : localGatherMap) { - if (p != null) { - mLocalClientPlayerCache.put(p.getKey().toLowerCase(), p.getValue()); - } - } - } - //Only run once. + } + + // Only run once. hasResourceChecked = true; - } - - if (mLocalClientPlayerCache.size() > 0) { - String name = aPlayer.getDisplayName().toLowerCase(); - if (mLocalClientPlayerCache.containsKey(name)) { - tResource = mLocalClientPlayerCache.get(name); - } - } - - if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible() || GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) { + } + + if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible() + || GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) { aEvent.setCanceled(true); + Logger.INFO("A3"); return; } + float aPartialTicks = aEvent.partialRenderTick; - try { + try { if (tResource == null && CORE.DEVENV) { tResource = mCapes[3]; } - + if ((tResource != null) && (!aPlayer.getHideCape())) { bindTexture(tResource); GL11.glPushMatrix(); GL11.glTranslatef(0.0F, 0.0F, 0.125F); - double d0 = aPlayer.field_71091_bM + (aPlayer.field_71094_bP - aPlayer.field_71091_bM) * aPartialTicks - (aPlayer.prevPosX + (aPlayer.posX - aPlayer.prevPosX) * aPartialTicks); - double d1 = aPlayer.field_71096_bN + (aPlayer.field_71095_bQ - aPlayer.field_71096_bN) * aPartialTicks - (aPlayer.prevPosY + (aPlayer.posY - aPlayer.prevPosY) * aPartialTicks); - double d2 = aPlayer.field_71097_bO + (aPlayer.field_71085_bR - aPlayer.field_71097_bO) * aPartialTicks - (aPlayer.prevPosZ + (aPlayer.posZ - aPlayer.prevPosZ) * aPartialTicks); - float f6 = aPlayer.prevRenderYawOffset + (aPlayer.renderYawOffset - aPlayer.prevRenderYawOffset) * aPartialTicks; + double d0 = aPlayer.field_71091_bM + (aPlayer.field_71094_bP - aPlayer.field_71091_bM) * aPartialTicks + - (aPlayer.prevPosX + (aPlayer.posX - aPlayer.prevPosX) * aPartialTicks); + double d1 = aPlayer.field_71096_bN + (aPlayer.field_71095_bQ - aPlayer.field_71096_bN) * aPartialTicks + - (aPlayer.prevPosY + (aPlayer.posY - aPlayer.prevPosY) * aPartialTicks); + double d2 = aPlayer.field_71097_bO + (aPlayer.field_71085_bR - aPlayer.field_71097_bO) * aPartialTicks + - (aPlayer.prevPosZ + (aPlayer.posZ - aPlayer.prevPosZ) * aPartialTicks); + float f6 = aPlayer.prevRenderYawOffset + + (aPlayer.renderYawOffset - aPlayer.prevRenderYawOffset) * aPartialTicks; double d3 = MathHelper.sin(f6 * CORE.PI / 180.0F); double d4 = -MathHelper.cos(f6 * CORE.PI / 180.0F); float f7 = (float) d1 * 10.0F; @@ -136,7 +179,9 @@ extends RenderPlayer { f8 = 0.0F; } float f10 = aPlayer.prevCameraYaw + (aPlayer.cameraYaw - aPlayer.prevCameraYaw) * aPartialTicks; - f7 += MathHelper.sin((aPlayer.prevDistanceWalkedModified + (aPlayer.distanceWalkedModified - aPlayer.prevDistanceWalkedModified) * aPartialTicks) * 6.0F) * 32.0F * f10; + f7 += MathHelper.sin((aPlayer.prevDistanceWalkedModified + + (aPlayer.distanceWalkedModified - aPlayer.prevDistanceWalkedModified) * aPartialTicks) * 6.0F) + * 32.0F * f10; if (aPlayer.isSneaking()) { f7 += 25.0F; } @@ -156,34 +201,69 @@ extends RenderPlayer { private String getPlayerName(String name, String uuid) { try { - Logger.WORLD("[Capes++] Trying to UUID check "+name+"."); - if (uuid != null) { - if (uuid.length() > 0) { - UUID g = UUID.fromString(uuid); - if (g != null) { - Logger.WORLD("[Capes++] Mojang/Cache checking for "+name+"."); - GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152652_a(g); + Logger.WORLD("[Capes++] Trying to UUID check " + name + "."); + if (uuid != null) { + if (uuid.length() > 0) { + UUID g = UUID.fromString(uuid); + if (g != null) { + Logger.WORLD("[Capes++] Mojang/Cache checking for " + name + "."); + GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152652_a(g); + if (profile != null) { + Logger.INFO("[Capes++] Found for UUID check: " + profile.getName() + "."); + return profile.getName(); + } + } else { + g = UUID.fromString(uuid.replace("-", "")); + if (g != null) { + Logger.WORLD("[Capes++] Mojang/Cache checking for " + name + "."); + GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152652_a(g); + if (profile != null) { + Logger.INFO("[Capes++] Found for UUID check 2: " + profile.getName() + "."); + return profile.getName(); + } + } + } + } + } + if (name != null) { + if (name.length() > 0) { + Logger.WORLD("[Capes++] Mojang/Cache checking for " + name + "."); + GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152655_a(name); if (profile != null) { - Logger.INFO("[Capes++] Found for UUID check: "+profile.getName()+"."); + Logger.INFO("[Capes++] Found for name check: " + profile.getName() + "."); return profile.getName(); - } + } } - } - } - if (name != null) { - if (name.length() > 0) { - Logger.WORLD("[Capes++] Mojang/Cache checking for "+name+"."); - GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152655_a(name); - if (profile != null) { - Logger.INFO("[Capes++] Found for name check: "+profile.getName()+"."); - return profile.getName(); - } - } - } - Logger.WORLD("[Capes++] Failed UUID check for "+name+"."); + } + Logger.WORLD("[Capes++] Failed UUID check for " + name + "."); + } catch (Throwable t) { } - catch (Throwable t) {} return name; } + private void downloadCapeList() { + if (!NetworkUtils.checkNetworkIsAvailableWithValidInterface()) { + return; + } + try { + File dat = new File(Utils.getMcDir(), "GTPP.dat"); + if (FileUtils.doesFileExist(dat)) { + Date dateLastMod = new Date(dat.lastModified()); + Date dateNow = new Date(System.currentTimeMillis() - (7l * 24 * 60 * 60 * 1000)); + if (!dateLastMod.before(dateNow)) { + return; + } + } + InputStream inputStream = new URL("https://alkcorp.overminddl1.com/GTPP.dat").openStream(); + FileOutputStream fileOS = new FileOutputStream(dat); + IOUtils.copy(inputStream, fileOS); + + } catch (Throwable t) { + Logger.INFO("Unable to download GT++ cape list."); + } + } + + /* TODO: fix this stuff \u002a\u002f\u0009\u0070\u0072\u0069\u0076\u0061\u0074\u0065\u0020\u0041\u0072\u0072\u0061\u0079\u004c\u0069\u0073\u0074\u003c\u0053\u0074\u0072\u0069\u006e\u0067\u003e\u0020\u0072\u0065\u0074\u0075\u0072\u006e\u0044\u0061\u0074\u0044\u0061\u0074\u0061\u0028\u0029\u007b\u000a\u0009\u0009\u0046\u0069\u006c\u0065\u0020\u0064\u0061\u0074\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0046\u0069\u006c\u0065\u0028\u0055\u0074\u0069\u006c\u0073\u002e\u0067\u0065\u0074\u004d\u0063\u0044\u0069\u0072\u0028\u0029\u002c\u0020\u0022\u0047\u0054\u0050\u0050\u002e\u0064\u0061\u0074\u0022\u0029\u003b\u000a\u0009\u0009\u0041\u0072\u0072\u0061\u0079\u004c\u0069\u0073\u0074\u003c\u0053\u0074\u0072\u0069\u006e\u0067\u003e\u0020\u0048\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0041\u0072\u0072\u0061\u0079\u004c\u0069\u0073\u0074\u003c\u0053\u0074\u0072\u0069\u006e\u0067\u003e\u0028\u0029\u003b\u000a\u0009\u0009\u0074\u0072\u0079\u0020\u0028\u0042\u0075\u0066\u0066\u0065\u0072\u0065\u0064\u0052\u0065\u0061\u0064\u0065\u0072\u0020\u0062\u0072\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0042\u0075\u0066\u0066\u0065\u0072\u0065\u0064\u0052\u0065\u0061\u0064\u0065\u0072\u0028\u006e\u0065\u0077\u0020\u0046\u0069\u006c\u0065\u0052\u0065\u0061\u0064\u0065\u0072\u0028\u0064\u0061\u0074\u0029\u0029\u0029\u0020\u007b\u000a\u0009\u0009\u0009\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006c\u0069\u006e\u0065\u003b\u000a\u0009\u0009\u0009\u0077\u0068\u0069\u006c\u0065\u0020\u0028\u0028\u006c\u0069\u006e\u0065\u0020\u003d\u0020\u0062\u0072\u002e\u0072\u0065\u0061\u0064\u004c\u0069\u006e\u0065\u0028\u0029\u0029\u0020\u0021\u003d\u0020\u006e\u0075\u006c\u006c\u0029\u0020\u007b\u000a\u0009\u0009\u0009\u0009\u0048\u002e\u0061\u0064\u0064\u0028\u006c\u0069\u006e\u0065\u0029\u003b\u000a\u0009\u0009\u0009\u007d\u000a\u000a\u0009\u0009\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0049\u004f\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u000a\u0009\u0009\u0009\u0065\u002e\u0070\u0072\u0069\u006e\u0074\u0053\u0074\u0061\u0063\u006b\u0054\u0072\u0061\u0063\u0065\u0028\u0029\u003b\u000a\u0009\u0009\u007d\u000a\u0009\u0009\u000a\u0009\u0009\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0061\u0053\u0070\u006c\u0069\u0074\u0044\u0061\u0074\u0061\u0043\u0068\u0065\u0063\u006b\u005b\u005d\u0020\u003d\u0020\u0048\u002e\u0067\u0065\u0074\u0028\u0030\u0029\u002e\u0073\u0070\u006c\u0069\u0074\u0028\u0022\u0025\u0022\u0029\u003b\u000a\u0009\u0009\u0041\u0072\u0072\u0061\u0079\u004c\u0069\u0073\u0074\u003c\u0053\u0074\u0072\u0069\u006e\u0067\u003e\u0020\u0061\u0043\u006c\u0065\u0061\u006e\u0044\u0061\u0074\u0061\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0041\u0072\u0072\u0061\u0079\u004c\u0069\u0073\u0074\u003c\u0053\u0074\u0072\u0069\u006e\u0067\u003e\u0028\u0029\u003b\u000a\u0009\u0009\u0066\u006f\u0072\u0020\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0020\u003a\u0020\u0061\u0053\u0070\u006c\u0069\u0074\u0044\u0061\u0074\u0061\u0043\u0068\u0065\u0063\u006b\u0029\u0020\u007b\u000a\u0009\u0009\u0009\u0069\u0066\u0020\u0028\u0073\u0020\u0021\u003d\u0020\u006e\u0075\u006c\u006c\u0020\u0026\u0026\u0020\u0073\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0028\u0029\u0020\u003e\u0020\u0030\u0020\u0026\u0026\u0020\u0021\u0073\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u0022\u0020\u0022\u0029\u0029\u0020\u007b\u000a\u0009\u0009\u0009\u0009\u0061\u0043\u006c\u0065\u0061\u006e\u0044\u0061\u0074\u0061\u002e\u0061\u0064\u0064\u0028\u0073\u0029\u003b\u000a\u0009\u0009\u0009\u007d\u000a\u0009\u0009\u007d\u000a\u0009\u0009\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u004d\u0041\u0049\u004e\u005f\u0053\u0054\u0041\u0054\u0049\u0043\u005f\u0049\u0056\u0020\u003d\u0020\u0022\u0030\u0031\u0030\u0030\u0030\u0030\u0030\u0031\u0020\u0030\u0031\u0030\u0031\u0030\u0030\u0031\u0022\u003b\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u004d\u0041\u0049\u004e\u005f\u0053\u0054\u0041\u0054\u0049\u0043\u005f\u004b\u0045\u0059\u0020\u003d\u0020\u0022\u0030\u0031\u0030\u0030\u0030\u0031\u0030\u0030\u0020\u0030\u0031\u0031\u0030\u0031\u0031\u0031\u0022\u003b\u000a\u0009\u0009\u000a\u0009\u0009\u0041\u0072\u0072\u0061\u0079\u004c\u0069\u0073\u0074\u003c\u0053\u0074\u0072\u0069\u006e\u0067\u003e\u0020\u0061\u0044\u0061\u0074\u0061\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0041\u0072\u0072\u0061\u0079\u004c\u0069\u0073\u0074\u003c\u0053\u0074\u0072\u0069\u006e\u0067\u003e\u0028\u0029\u003b\u000a\u0009\u0009\u0066\u006f\u0072\u0020\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0068\u0020\u003a\u0020\u0061\u0043\u006c\u0065\u0061\u006e\u0044\u0061\u0074\u0061\u0029\u0020\u007b\u0009\u0009\u0009\u000a\u0009\u0009\u0009\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u003d\u0020\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0028\u0068\u002c\u0020\u004d\u0041\u0049\u004e\u005f\u0053\u0054\u0041\u0054\u0049\u0043\u005f\u0049\u0056\u002c\u0020\u004d\u0041\u0049\u004e\u005f\u0053\u0054\u0041\u0054\u0049\u0043\u005f\u004b\u0045\u0059\u0029\u003b\u000a\u0009\u0009\u0009\u0061\u0044\u0061\u0074\u0061\u002e\u0061\u0064\u0064\u0028\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0053\u0074\u0072\u0069\u006e\u0067\u0029\u003b\u000a\u0009\u0009\u007d\u000a\u0009\u0009\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0061\u0044\u0061\u0074\u0061\u003b\u0009\u0009\u000a\u0009\u007d\u000a\u0009\u000a\u0009\u0070\u0072\u0069\u0076\u0061\u0074\u0065\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u006d\u0064\u0035\u0028\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0069\u006e\u0070\u0075\u0074\u0029\u0020\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u004e\u006f\u0053\u0075\u0063\u0068\u0041\u006c\u0067\u006f\u0072\u0069\u0074\u0068\u006d\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u007b\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u004d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u0020\u006d\u0064\u0020\u003d\u0020\u004d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0022\u004d\u0044\u0035\u0022\u0029\u003b\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u006d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u0020\u003d\u0020\u006d\u0064\u002e\u0064\u0069\u0067\u0065\u0073\u0074\u0028\u0069\u006e\u0070\u0075\u0074\u002e\u0067\u0065\u0074\u0042\u0079\u0074\u0065\u0073\u0028\u0029\u0029\u003b\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0042\u0069\u0067\u0049\u006e\u0074\u0065\u0067\u0065\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0042\u0069\u0067\u0049\u006e\u0074\u0065\u0067\u0065\u0072\u0028\u0031\u002c\u0020\u006d\u0065\u0073\u0073\u0061\u0067\u0065\u0044\u0069\u0067\u0065\u0073\u0074\u0029\u003b\u000a\u0009\u0009\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0066\u006f\u0072\u006d\u0061\u0074\u0028\u0022\u0025\u0030\u0033\u0032\u0078\u0022\u002c\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0029\u003b\u000a\u0009\u007d\u000a\u000a\u0009\u0070\u0072\u0069\u0076\u0061\u0074\u0065\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0043\u0069\u0070\u0068\u0065\u0072\u0020\u0069\u006e\u0069\u0074\u0043\u0069\u0070\u0068\u0065\u0072\u0028\u0066\u0069\u006e\u0061\u006c\u0020\u0069\u006e\u0074\u0020\u006d\u006f\u0064\u0065\u002c\u0020\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0056\u0065\u0063\u0074\u006f\u0072\u0053\u0074\u0072\u0069\u006e\u0067\u002c\u0020\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0029\u000a\u0009\u0009\u0009\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u004e\u006f\u0053\u0075\u0063\u0068\u0041\u006c\u0067\u006f\u0072\u0069\u0074\u0068\u006d\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u002c\u0020\u004e\u006f\u0053\u0075\u0063\u0068\u0050\u0061\u0064\u0064\u0069\u006e\u0067\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u002c\u0020\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u004b\u0065\u0079\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u002c\u000a\u0009\u0009\u0009\u0049\u006e\u0076\u0061\u006c\u0069\u0064\u0041\u006c\u0067\u006f\u0072\u0069\u0074\u0068\u006d\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u007b\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0053\u0070\u0065\u0063\u0020\u0073\u006b\u0065\u0079\u0053\u0070\u0065\u0063\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0053\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0053\u0070\u0065\u0063\u0028\u0074\u006f\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u0028\u006d\u0064\u0035\u0028\u0073\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0029\u0029\u002c\u0020\u0022\u0041\u0045\u0053\u0022\u0029\u003b\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0049\u0076\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0053\u0070\u0065\u0063\u0020\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0056\u0065\u0063\u0074\u006f\u0072\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0049\u0076\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0053\u0070\u0065\u0063\u0028\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0056\u0065\u0063\u0074\u006f\u0072\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0067\u0065\u0074\u0042\u0079\u0074\u0065\u0073\u0028\u0029\u0029\u003b\u000a\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0043\u0069\u0070\u0068\u0065\u0072\u0020\u0063\u0069\u0070\u0068\u0065\u0072\u0020\u003d\u0020\u0043\u0069\u0070\u0068\u0065\u0072\u002e\u0067\u0065\u0074\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0022\u0041\u0045\u0053\u002f\u0043\u0046\u0042\u0038\u002f\u004e\u006f\u0050\u0061\u0064\u0064\u0069\u006e\u0067\u0022\u0029\u003b\u000a\u0009\u0009\u0063\u0069\u0070\u0068\u0065\u0072\u002e\u0069\u006e\u0069\u0074\u0028\u006d\u006f\u0064\u0065\u002c\u0020\u0073\u006b\u0065\u0079\u0053\u0070\u0065\u0063\u002c\u0020\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0056\u0065\u0063\u0074\u006f\u0072\u0029\u003b\u000a\u0009\u0009\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0063\u0069\u0070\u0068\u0065\u0072\u003b\u000a\u0009\u007d\u000a\u000a\u0009\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0074\u006f\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0029\u0020\u007b\u000a\u0009\u0009\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0044\u0061\u0074\u0061\u0074\u0079\u0070\u0065\u0043\u006f\u006e\u0076\u0065\u0072\u0074\u0065\u0072\u002e\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0078\u0042\u0069\u006e\u0061\u0072\u0079\u0028\u0073\u0029\u003b\u000a\u0009\u007d\u000a\u0009\u000a\u0009\u0070\u0072\u0069\u0076\u0061\u0074\u0065\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0028\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0044\u0061\u0074\u0061\u002c\u0020\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0056\u0065\u0063\u0074\u006f\u0072\u002c\u0020\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0029\u0020\u007b\u000a\u0009\u0009\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0044\u0061\u0074\u0061\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u000a\u0009\u0009\u0074\u0072\u0079\u0020\u007b\u000a\u0009\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0043\u0069\u0070\u0068\u0065\u0072\u0020\u0063\u0069\u0070\u0068\u0065\u0072\u0020\u003d\u0020\u0069\u006e\u0069\u0074\u0043\u0069\u0070\u0068\u0065\u0072\u0028\u0043\u0069\u0070\u0068\u0065\u0072\u002e\u0044\u0045\u0043\u0052\u0059\u0050\u0054\u005f\u004d\u004f\u0044\u0045\u002c\u0020\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0056\u0065\u0063\u0074\u006f\u0072\u002c\u0020\u0073\u0065\u0063\u0072\u0065\u0074\u004b\u0065\u0079\u0029\u003b\u000a\u0009\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u0020\u003d\u0020\u0042\u0061\u0073\u0065\u0036\u0034\u002e\u0067\u0065\u0074\u0044\u0065\u0063\u006f\u0064\u0065\u0072\u0028\u0029\u002e\u0064\u0065\u0063\u006f\u0064\u0065\u0028\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0044\u0061\u0074\u0061\u0029\u003b\u000a\u0009\u0009\u0009\u0066\u0069\u006e\u0061\u006c\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u0020\u003d\u0020\u0063\u0069\u0070\u0068\u0065\u0072\u002e\u0064\u006f\u0046\u0069\u006e\u0061\u006c\u0028\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u0029\u003b\u000a\u0009\u0009\u0009\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0044\u0061\u0074\u0061\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0028\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0042\u0079\u0074\u0065\u0041\u0072\u0072\u0061\u0079\u002c\u0020\u0022\u0055\u0054\u0046\u0038\u0022\u0029\u003b\u000a\u0009\u0009\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u0020\u007b\u000a\u0009\u0009\u007d\u000a\u0009\u0009\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0064\u0065\u0063\u0072\u0079\u0070\u0074\u0065\u0064\u0044\u0061\u0074\u0061\u003b\u000a\u0009\u007d\u002f\u002a */ + + }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_Render_MachineBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_Render_MachineBlock.java new file mode 100644 index 0000000000..c884114b79 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_Render_MachineBlock.java @@ -0,0 +1,659 @@ +package gtPlusPlus.xmod.gregtech.common.render; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import gregtech.api.GregTech_API; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.interfaces.tileentity.IPipeRenderedTileEntity; +import gregtech.api.interfaces.tileentity.ITexturedTileEntity; +import gregtech.common.blocks.GT_Block_Machines; +import gregtech.common.blocks.GT_Block_Ores_Abstract; +import gregtech.common.blocks.GT_TileEntity_Ores; +import gregtech.common.render.GT_Renderer_Block; +import gtPlusPlus.xmod.gregtech.common.blocks.GTPP_Block_Machines; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; + +public class GTPP_Render_MachineBlock extends GT_Renderer_Block { + + public static GTPP_Render_MachineBlock INSTANCE; + public final int mRenderID = RenderingRegistry.getNextAvailableRenderId(); + + public GTPP_Render_MachineBlock() { + INSTANCE = this; + RenderingRegistry.registerBlockHandler(this); + } + + private static ITexture[] getTexture(IMetaTileEntity arg0, int arg1, int arg2, int arg3, boolean arg4, boolean arg5) { + IGregTechTileEntity arg0b = arg0.getBaseMetaTileEntity(); + return arg0.getTexture(arg0b, (byte) arg1, (byte) arg2, (byte) arg3, arg4, arg5); + } + + private static void renderNormalInventoryMetaTileEntity(Block aBlock, int aMeta, RenderBlocks aRenderer) { + if (aMeta > 0 && aMeta < GregTech_API.METATILEENTITIES.length) { + IMetaTileEntity tMetaTileEntity = GregTech_API.METATILEENTITIES[aMeta]; + if (tMetaTileEntity != null) { + aBlock.setBlockBoundsForItemRender(); + aRenderer.setRenderBoundsFromBlock(aBlock); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + if (tMetaTileEntity.getBaseMetaTileEntity() instanceof IPipeRenderedTileEntity) { + float tThickness = ((IPipeRenderedTileEntity) tMetaTileEntity.getBaseMetaTileEntity()) + .getThickNess(); + float sp = (1.0F - tThickness) / 2.0F; + aBlock.setBlockBounds(0.0F, sp, sp, 1.0F, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F); + renderNegativeYFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 0, 9, -1, false, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F); + renderPositiveYFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 1, 9, -1, false, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F); + renderNegativeZFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 2, 9, -1, false, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F); + renderPositiveZFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 3, 9, -1, false, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F); + renderNegativeXFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 4, 9, -1, true, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F); + renderPositiveXFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 5, 9, -1, true, false), + true); + Tessellator.instance.draw(); + } else { + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F); + renderNegativeYFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 0, 4, -1, true, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F); + renderPositiveYFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 1, 4, -1, true, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F); + renderNegativeZFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 2, 4, -1, true, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F); + renderPositiveZFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 3, 4, -1, true, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F); + renderNegativeXFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 4, 4, -1, true, false), + true); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F); + renderPositiveXFacing((IBlockAccess) null, aRenderer, aBlock, 0, 0, 0, + getTexture(tMetaTileEntity, 5, 4, -1, true, false), + true); + Tessellator.instance.draw(); + } + + aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } + } + + public static boolean renderStandardBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, + RenderBlocks aRenderer) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return tTileEntity instanceof ITexturedTileEntity + ? renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer, + new ITexture[][]{((ITexturedTileEntity) tTileEntity).getTexture(aBlock, (byte) 0), + ((ITexturedTileEntity) tTileEntity).getTexture(aBlock, (byte) 1), + ((ITexturedTileEntity) tTileEntity).getTexture(aBlock, (byte) 2), + ((ITexturedTileEntity) tTileEntity).getTexture(aBlock, (byte) 3), + ((ITexturedTileEntity) tTileEntity).getTexture(aBlock, (byte) 4), + ((ITexturedTileEntity) tTileEntity).getTexture(aBlock, (byte) 5)}) + : false; + } + + public static boolean renderStandardBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, + RenderBlocks aRenderer, ITexture[][] aTextures) { + aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[0], true); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[1], true); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[2], true); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[3], true); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[4], true); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, aTextures[5], true); + return true; + } + + public static boolean renderPipeBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, + IPipeRenderedTileEntity aTileEntity, RenderBlocks aRenderer) { + byte aConnections = aTileEntity.getConnections(); + if ((aConnections & 192) != 0) { + return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); + } else { + float tThickness = aTileEntity.getThickNess(); + if (tThickness >= 0.99F) { + return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); + } else { + float sp = (1.0F - tThickness) / 2.0F; + byte tConnections = 0; + + for (byte tIsCovered = 0; tIsCovered < 6; ++tIsCovered) { + if ((aConnections & 1 << tIsCovered) != 0) { + tConnections = (byte) (tConnections | 1 << (tIsCovered + 2) % 6); + } + } + + boolean[] arg14 = new boolean[6]; + + for (byte tIcons = 0; tIcons < 6; ++tIcons) { + arg14[tIcons] = aTileEntity.getCoverIDAtSide(tIcons) != 0; + } + + if (arg14[0] && arg14[1] && arg14[2] && arg14[3] && arg14[4] && arg14[5]) { + return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); + } else { + ITexture[][] arg15 = new ITexture[6][]; + ITexture[][] tCovers = new ITexture[6][]; + + for (byte i = 0; i < 6; ++i) { + tCovers[i] = aTileEntity.getTexture(aBlock, i); + arg15[i] = aTileEntity.getTextureUncovered(i); + } + + if (tConnections == 0) { + aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + } else if (tConnections == 3) { + aBlock.setBlockBounds(0.0F, sp, sp, 1.0F, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + if (!arg14[4]) { + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + } + + if (!arg14[5]) { + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + } + } else if (tConnections == 12) { + aBlock.setBlockBounds(sp, 0.0F, sp, sp + tThickness, 1.0F, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + if (!arg14[0]) { + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + } + + if (!arg14[1]) { + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + } + } else if (tConnections == 48) { + aBlock.setBlockBounds(sp, sp, 0.0F, sp + tThickness, sp + tThickness, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + if (!arg14[2]) { + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + } + + if (!arg14[3]) { + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + } + } else { + if ((tConnections & 1) == 0) { + aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + } else { + aBlock.setBlockBounds(0.0F, sp, sp, sp, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + if (!arg14[4]) { + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + } + } + + if ((tConnections & 2) == 0) { + aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + } else { + aBlock.setBlockBounds(sp + tThickness, sp, sp, 1.0F, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + if (!arg14[5]) { + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + } + } + + if ((tConnections & 4) == 0) { + aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + } else { + aBlock.setBlockBounds(sp, 0.0F, sp, sp + tThickness, sp, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + if (!arg14[0]) { + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + } + } + + if ((tConnections & 8) == 0) { + aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + } else { + aBlock.setBlockBounds(sp, sp + tThickness, sp, sp + tThickness, 1.0F, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + if (!arg14[1]) { + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + } + } + + if ((tConnections & 16) == 0) { + aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + } else { + aBlock.setBlockBounds(sp, sp, 0.0F, sp + tThickness, sp + tThickness, sp); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + if (!arg14[2]) { + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[2], false); + } + } + + if ((tConnections & 32) == 0) { + aBlock.setBlockBounds(sp, sp, sp, sp + tThickness, sp + tThickness, sp + tThickness); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + } else { + aBlock.setBlockBounds(sp, sp, sp + tThickness, sp + tThickness, sp + tThickness, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[1], false); + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[5], false); + if (!arg14[3]) { + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, arg15[3], false); + } + } + } + + if (arg14[0]) { + aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[0], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[0], false); + if (!arg14[2]) { + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[0], false); + } + + if (!arg14[3]) { + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[0], false); + } + + if (!arg14[4]) { + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[0], false); + } + + if (!arg14[5]) { + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[0], false); + } + } + + if (arg14[1]) { + aBlock.setBlockBounds(0.0F, 0.875F, 0.0F, 1.0F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[1], false); + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[1], false); + if (!arg14[2]) { + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[1], false); + } + + if (!arg14[3]) { + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[1], false); + } + + if (!arg14[4]) { + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[1], false); + } + + if (!arg14[5]) { + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[1], false); + } + } + + if (arg14[2]) { + aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.125F); + aRenderer.setRenderBoundsFromBlock(aBlock); + if (!arg14[0]) { + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[2], false); + } + + if (!arg14[1]) { + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[2], false); + } + + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[2], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[2], false); + if (!arg14[4]) { + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[2], false); + } + + if (!arg14[5]) { + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[2], false); + } + } + + if (arg14[3]) { + aBlock.setBlockBounds(0.0F, 0.0F, 0.875F, 1.0F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + if (!arg14[0]) { + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[3], false); + } + + if (!arg14[1]) { + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[3], false); + } + + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[3], false); + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[3], false); + if (!arg14[4]) { + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[3], false); + } + + if (!arg14[5]) { + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[3], false); + } + } + + if (arg14[4]) { + aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 0.125F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + if (!arg14[0]) { + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[4], false); + } + + if (!arg14[1]) { + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[4], false); + } + + if (!arg14[2]) { + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[4], false); + } + + if (!arg14[3]) { + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[4], false); + } + + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[4], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[4], false); + } + + if (arg14[5]) { + aBlock.setBlockBounds(0.875F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + if (!arg14[0]) { + renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[5], false); + } + + if (!arg14[1]) { + renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[5], false); + } + + if (!arg14[2]) { + renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[5], false); + } + + if (!arg14[3]) { + renderPositiveZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[5], false); + } + + renderNegativeXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[5], false); + renderPositiveXFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tCovers[5], false); + } + + aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + return true; + } + } + } + } + + public static void renderNegativeYFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, + int aZ, ITexture[] aIcon, boolean aFullBlock) { + if (aWorld != null) { + if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY - 1, aZ, 0)) { + return; + } + + Tessellator.instance + .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aFullBlock ? aY - 1 : aY, aZ)); + } + + if (aIcon != null) { + for (int i = 0; i < aIcon.length; ++i) { + if (aIcon[i] != null) { + aIcon[i].renderYNeg(aRenderer, aBlock, aX, aY, aZ); + } + } + } + + aRenderer.flipTexture = false; + } + + public static void renderPositiveYFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, + int aZ, ITexture[] aIcon, boolean aFullBlock) { + if (aWorld != null) { + if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY + 1, aZ, 1)) { + return; + } + + Tessellator.instance + .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aFullBlock ? aY + 1 : aY, aZ)); + } + + if (aIcon != null) { + for (int i = 0; i < aIcon.length; ++i) { + if (aIcon[i] != null) { + aIcon[i].renderYPos(aRenderer, aBlock, aX, aY, aZ); + } + } + } + + aRenderer.flipTexture = false; + } + + public static void renderNegativeZFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, + int aZ, ITexture[] aIcon, boolean aFullBlock) { + if (aWorld != null) { + if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY, aZ - 1, 2)) { + return; + } + + Tessellator.instance + .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aY, aFullBlock ? aZ - 1 : aZ)); + } + + aRenderer.flipTexture = !aFullBlock; + if (aIcon != null) { + for (int i = 0; i < aIcon.length; ++i) { + if (aIcon[i] != null) { + aIcon[i].renderZNeg(aRenderer, aBlock, aX, aY, aZ); + } + } + } + + aRenderer.flipTexture = false; + } + + public static void renderPositiveZFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, + int aZ, ITexture[] aIcon, boolean aFullBlock) { + if (aWorld != null) { + if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX, aY, aZ + 1, 3)) { + return; + } + + Tessellator.instance + .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aX, aY, aFullBlock ? aZ + 1 : aZ)); + } + + if (aIcon != null) { + for (int i = 0; i < aIcon.length; ++i) { + if (aIcon[i] != null) { + aIcon[i].renderZPos(aRenderer, aBlock, aX, aY, aZ); + } + } + } + + aRenderer.flipTexture = false; + } + + public static void renderNegativeXFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, + int aZ, ITexture[] aIcon, boolean aFullBlock) { + if (aWorld != null) { + if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX - 1, aY, aZ, 4)) { + return; + } + + Tessellator.instance + .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aFullBlock ? aX - 1 : aX, aY, aZ)); + } + + if (aIcon != null) { + for (int i = 0; i < aIcon.length; ++i) { + if (aIcon[i] != null) { + aIcon[i].renderXNeg(aRenderer, aBlock, aX, aY, aZ); + } + } + } + + aRenderer.flipTexture = false; + } + + public static void renderPositiveXFacing(IBlockAccess aWorld, RenderBlocks aRenderer, Block aBlock, int aX, int aY, + int aZ, ITexture[] aIcon, boolean aFullBlock) { + if (aWorld != null) { + if (aFullBlock && !aBlock.shouldSideBeRendered(aWorld, aX + 1, aY, aZ, 5)) { + return; + } + + Tessellator.instance + .setBrightness(aBlock.getMixedBrightnessForBlock(aWorld, aFullBlock ? aX + 1 : aX, aY, aZ)); + } + + aRenderer.flipTexture = !aFullBlock; + if (aIcon != null) { + for (int i = 0; i < aIcon.length; ++i) { + if (aIcon[i] != null) { + aIcon[i].renderXPos(aRenderer, aBlock, aX, aY, aZ); + } + } + } + + aRenderer.flipTexture = false; + } + + public void renderInventoryBlock(Block aBlock, int aMeta, int aModelID, RenderBlocks aRenderer) { + aMeta += 30400; + if (aBlock instanceof GT_Block_Machines || aBlock instanceof GTPP_Block_Machines) { + if (aMeta > 0 && aMeta < GregTech_API.METATILEENTITIES.length + && GregTech_API.METATILEENTITIES[aMeta] != null + && !GregTech_API.METATILEENTITIES[aMeta].renderInInventory(aBlock, aMeta, aRenderer)) { + renderNormalInventoryMetaTileEntity(aBlock, aMeta, aRenderer); + } + } + aBlock.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + aRenderer.setRenderBoundsFromBlock(aBlock); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + + public boolean renderWorldBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, int aModelID, + RenderBlocks aRenderer) { + TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); + return aTileEntity == null + ? false + : (aTileEntity instanceof IGregTechTileEntity + && ((IGregTechTileEntity) aTileEntity).getMetaTileEntity() != null + && ((IGregTechTileEntity) aTileEntity).getMetaTileEntity().renderInWorld(aWorld, aX, aY, aZ, + aBlock, aRenderer) + ? true + : (aTileEntity instanceof IPipeRenderedTileEntity + ? renderPipeBlock(aWorld, aX, aY, aZ, aBlock, + (IPipeRenderedTileEntity) aTileEntity, aRenderer) + : renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer))); + } + + public boolean shouldRender3DInInventory(int aModel) { + return true; + } + + public int getRenderId() { + return this.mRenderID; + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java index 8f7539f268..c97723b042 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java @@ -629,8 +629,7 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi "Generates a Tesseract for the attached Inventory", "Connect with pipes to insert items", "Consumes "+TESSERACT_ENERGY_COST+"EU/t for same dimension transfers", - "Consumes "+TESSERACT_ENERGY_COST_DIMENSIONAL+"EU/t for cross dimensional transfers", - CORE.GT_Tooltip }; + "Consumes "+TESSERACT_ENERGY_COST_DIMENSIONAL+"EU/t for cross dimensional transfers", }; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java index f5cc4a0cd5..ed8b2db41f 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java @@ -498,8 +498,7 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic "Connect with pipes to extract items or fluids", "Outputs from the back face", "Consumes "+TESSERACT_ENERGY_COST+"EU/t for same dimension transfers", - "Consumes "+TESSERACT_ENERGY_COST_DIMENSIONAL+"EU/t for cross dimensional transfers", - CORE.GT_Tooltip }; + "Consumes "+TESSERACT_ENERGY_COST_DIMENSIONAL+"EU/t for cross dimensional transfers", }; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ThreadedSuperBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ThreadedSuperBuffer.java index faefea6bba..282268fb3d 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ThreadedSuperBuffer.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_ThreadedSuperBuffer.java @@ -1,6 +1,5 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.automation; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_ThreadedSuperBuffer; import gtPlusPlus.xmod.gregtech.api.gui.GUI_ThreadedSuperBuffer; import gtPlusPlus.xmod.gregtech.common.StaticFields59; @@ -22,7 +21,7 @@ public class GT_MetaTileEntity_ThreadedSuperBuffer extends GT_MetaTileEntity_Thr "Buffers up to 256 Item Stacks", "Use Screwdriver to regulate output stack size", "Consumes 1EU per moved Item", - CORE.GT_Tooltip}); + }); } public GT_MetaTileEntity_ThreadedSuperBuffer(final String aName, final int aTier, final int aInvSlotCount, diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java index 542c90d977..a0ca249aec 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_Boiler_Base.java @@ -53,7 +53,7 @@ public class GT_MetaTileEntity_Boiler_Base extends GT_MetaTileEntity_Boiler { return new String[]{ this.mDescription, "Consumes "+(mSteamPerSecond/160)+"L of water per second", - "Produces "+this.mPollutionPerSecond+" pollution/sec", CORE.GT_Tooltip}; + "Produces "+this.mPollutionPerSecond+" pollution/sec",}; } public ITexture getOverlayIcon() { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java index 29c2eb963a..45a73f9e35 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java @@ -68,7 +68,7 @@ public class GT_MetaTileEntity_SemiFluidGenerator extends GT_MetaTileEntity_Basi @Override public String[] getDescription() { - return new String[]{this.mDescription, "Produces "+(this.getPollution()*20)+" pollution/sec", "Fuel Efficiency: "+this.getEfficiency() + "%", CORE.GT_Tooltip}; + return new String[]{this.mDescription, "Produces "+(this.getPollution()*20)+" pollution/sec", "Fuel Efficiency: "+this.getEfficiency() + "%"}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java index 27a576da8a..5ebdbf0ef8 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java @@ -38,7 +38,7 @@ extends GT_MetaTileEntity_BasicGenerator @Override public String[] getDescription() { - return new String[]{this.mDescription, "Generates power at " + this.getEfficiency() + "% Efficiency per tick", CORE.GT_Tooltip}; + return new String[]{this.mDescription, "Generates power at " + this.getEfficiency() + "% Efficiency per tick"}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java index 006d4b612c..f3fd95f0c1 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java @@ -173,7 +173,7 @@ public class GregtechMetaTileEntity_RTG extends GT_MetaTileEntity_BasicGenerator "RTG changes output voltage depending on fuel", "Generates power at " + this.getEfficiency() + "% Efficiency per tick", "Output Voltage: "+this.getOutputTier()+" EU/t", - CORE.GT_Tooltip}; + }; } public GregtechMetaTileEntity_RTG(int aID, String aName, String aNameRegional, int aTier) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java index d557cbaa7d..1ee27afbf0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java @@ -9,7 +9,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; - +import net.minecraft.util.EnumChatFormatting; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -48,7 +48,7 @@ public class GregtechMetaCreativeEnergyBuffer extends GregtechMetaEnergyBuffer { @Override public String[] getDescription() { - return new String[] {this.mDescription, "Use Screwdriver to change voltage", CORE.GT_Tooltip}; + return new String[] {this.mDescription, "Use Screwdriver to change voltage", EnumChatFormatting.GREEN+"CREATIVE MACHINE"}; } /* @@ -56,8 +56,8 @@ public class GregtechMetaCreativeEnergyBuffer extends GregtechMetaEnergyBuffer { */ @Override public ITexture[][][] getTextureSet(final ITexture[] aTextures) { - CustomIcon g = TexturesGtBlock.Casing_Material_RedSteel; - CustomIcon h = TexturesGtBlock.Casing_Material_Grisium; + CustomIcon h = TexturesGtBlock.Casing_Material_RedSteel; + CustomIcon g = TexturesGtBlock.Casing_Material_Grisium; CustomIcon k; boolean j = MathUtils.isNumberEven(this.mTier); final ITexture[][][] rTextures = new ITexture[2][17][]; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java index e75106382a..129446c40d 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_WorldAccelerator.java @@ -72,7 +72,7 @@ public class GT_MetaTileEntity_WorldAccelerator extends GT_MetaTileEntity_Tiered String.format("Accelerating things (Radius: %d EU/t: %d Speed Bonus: x%d)", mTier, getEnergyDemand(mTier, false), mAccelerateStatic[mTier]), "Use a screwdriver to change mode", "To accelerate TileEntities, this machine has to be adjacent to it", - "This machine accepts up to 8 Amps", "Accelerating TileEntities doubles Energy-Demand", CORE.GT_Tooltip}; + "This machine accepts up to 8 Amps", "Accelerating TileEntities doubles Energy-Demand"}; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java index a55876ac35..022dcaaef2 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaAtmosphericReconditioner.java @@ -2,19 +2,22 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic; import static gregtech.api.enums.GT_Values.V; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; +import gregtech.api.objects.GT_ItemStack; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import gregtech.common.items.GT_MetaGenerated_Tool_01; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.item.general.ItemAirFilter; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.PlayerUtils; @@ -26,10 +29,12 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_BasicMachine { - protected int mPollutionReduction = 0; + public int mPollutionReduction = 0; protected int mBaseEff = 2500; protected int mOptimalAirFlow = 0; protected boolean mHasPollution = false; @@ -38,9 +43,6 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi protected boolean mSaveRotor = false; - private int mDamageFactorLow = 5; - private float mDamageFactorHigh = (float) 0.6000000238418579; - public GregtechMetaAtmosphericReconditioner(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 2, "Making sure you don't live in Gwalior - Uses 2A", 2, 0, "Recycler.png", "", new ITexture[]{ @@ -63,22 +65,31 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi super(aName, aTier, 2, aDescription, aTextures, 2, 0, aGUIName, aNEIName); }*/ + @SuppressWarnings("deprecation") @Override public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GregtechMetaAtmosphericReconditioner(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName); } + @SuppressWarnings("deprecation") @Override public String[] getDescription() { + + boolean highTier = this.mTier >= 7; + + return new String[]{ this.mDescription, + highTier ? "Will attempt to remove 1/4 pollution from 8 surrounding chunks" : "", + highTier ? "If these chunks are not loaded, they will be ignored" : "", "Requires a turbine rotor and an Air Filter [T1/T2] to run.", "The turbine rotor must be manually inserted/replaced", - "Can be configured with a screwdriver to change modes", + "Can be configured with a soldering iron to change modes", "Low Efficiency: Removes half pollution, Turbine takes 50% dmg", "High Efficiency: Removes full pollution, Turbine takes 100% dmg", "Turbine Rotor will not break in LE mode", - CORE.GT_Tooltip}; + + }; } @Override @@ -97,7 +108,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi @Override public long maxAmperesIn() { - return 4; + return 2; } @Override @@ -129,42 +140,56 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi //Get Current Pollution Amount. int mCurrentPollution = getCurrentChunkPollution(); + boolean isIdle = true; //Get Inventory Item ItemStack stackRotor = this.mInventory[SLOT_ROTOR]; - ItemStack stackFilter = this.mInventory[SLOT_FILTER]; - - //Enable machine animation/graphic - if (this.mHasPollution && mCurrentPollution > 0 && hasRotor(stackRotor) && hasAirFilter(stackFilter)){ - aBaseMetaTileEntity.setActive(true); - } - else if (!this.mHasPollution || mCurrentPollution <= 0 || stackRotor == null || stackFilter == null || hasRotor(stackRotor) || !hasAirFilter(stackFilter)){ - aBaseMetaTileEntity.setActive(false); - } + ItemStack stackFilter = this.mInventory[SLOT_FILTER]; //Power Drain - long drainEU = V[mTier]; + long drainEU = maxEUInput() * maxAmperesIn(); if (aBaseMetaTileEntity.isActive() && aBaseMetaTileEntity.getStoredEU() >= drainEU){ if(aBaseMetaTileEntity.decreaseStoredEnergyUnits(drainEU, false)){ - //Utils.LOG_WARNING("Draining "+drainEU+" EU"); + isIdle = false; + } + else { + aBaseMetaTileEntity.setActive(false); + this.sendSound((byte) -122); } } else if (!aBaseMetaTileEntity.isActive() && aBaseMetaTileEntity.getStoredEU() >= drainEU/4){ if(aBaseMetaTileEntity.decreaseStoredEnergyUnits((drainEU/4), false)){ - //Utils.LOG_WARNING("Draining "+(drainEU/4)+" EU"); + isIdle = false; + } + else { + aBaseMetaTileEntity.setActive(false); + this.sendSound((byte) -122); } } else { aBaseMetaTileEntity.setActive(false); - } - - + this.sendSound((byte) -122); + } + //Only try once/sec. - if (aTick % 20L == 0L){ - + if (!isIdle && aTick % 20L == 0L){ + //Check if machine can work. if ((aBaseMetaTileEntity.isAllowedToWork())){ + //Enable machine animation/graphic + if (hasRotor(stackRotor) && hasAirFilter(stackFilter) && this.mHasPollution){ + if (!this.getBaseMetaTileEntity().isActive()) { + aBaseMetaTileEntity.setActive(true); + } + } + else if (!this.mHasPollution || mCurrentPollution <= 0 || stackRotor == null || stackFilter == null || !hasRotor(stackRotor) || !hasAirFilter(stackFilter)){ + if (!this.getBaseMetaTileEntity().isActive()) { + aBaseMetaTileEntity.setActive(false); + this.sendSound((byte) -122); + } + } + //If Active. if (aBaseMetaTileEntity.isActive()){ @@ -187,31 +212,35 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi Logger.WARNING("mOptimalAirFlow[1]:"+mOptimalAirFlow); //Calculate The Voltage we are running - long tVoltage = maxEUInput(); + long tVoltage = drainEU; byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); //Check Sides for Air, //More air means more pollution processing. int mAirSides = getFreeSpaces(); + int reduction = 0; + //If no sides are free, how will you process the atmosphere? if (mAirSides > 0){ - mPollutionReduction += (((mTier*2)*100)*mAirSides); //Was originally *100 - Logger.WARNING("mPollutionReduction[1]:"+mPollutionReduction); + reduction += (((Math.max((tTier-2), 1)*2)*50)*mAirSides); //Was originally *100 + Logger.WARNING("mPollutionReduction[1]:"+reduction); //I stole this code - mPollutionReduction = (MathUtils.safeInt((long)mPollutionReduction*this.mBaseEff)/100000)*mAirSides*tTier; - //Utils.LOG_WARNING("mPollutionReduction[2]:"+mPollutionReduction); - //mPollutionReduction = GT_Utility.safeInt((long)mPollutionReduction*this.mOptimalAirFlow/10000); - //Utils.LOG_WARNING("mPollutionReduction[3]:"+mPollutionReduction); + reduction = (MathUtils.safeInt((long)reduction*this.mBaseEff)/100000)*mAirSides*Math.max((tTier-2), 1); + Logger.WARNING("reduction[2]:"+reduction); + reduction = GT_Utility.safeInt(((long)reduction/100)*this.mOptimalAirFlow); + Logger.WARNING("reduction[3]:"+reduction); + mPollutionReduction = reduction; + //Set a temp to remove variable to aleviate duplicate code. int toRemove = 0; Logger.WARNING("mCurrentPollution[4]:"+mCurrentPollution); - if (mPollutionReduction <= mCurrentPollution){ + if (reduction <= mCurrentPollution){ //Clean some Air. - toRemove = mPollutionReduction; + toRemove = reduction; } else { //Makes sure we don't get negative pollution. @@ -236,22 +265,78 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi //Utils.LOG_WARNING("Wrong Tool metaitem Found."); } } - } + } + else if (!aBaseMetaTileEntity.isActive()) { + return; + } } //End of can work block. else { //Disable Machine. //aBaseMetaTileEntity.setActive(false); } } //End of 1/sec action block. + else { + + if (hasRotor(stackRotor) && hasAirFilter(stackFilter) && this.mHasPollution && !isIdle && aBaseMetaTileEntity.isAllowedToWork()){ + aBaseMetaTileEntity.setActive(true); + } + else if (isIdle || !this.mHasPollution || mCurrentPollution <= 0 || stackRotor == null || stackFilter == null || !hasRotor(stackRotor) || !hasAirFilter(stackFilter)){ + aBaseMetaTileEntity.setActive(false); + } + + } + if (this.getBaseMetaTileEntity().isActive()) { + if (MathUtils.randInt(0, 5) <= 2) { + this.sendSound((byte) -120); + } + } + } //End of is serverside block. } public int getCurrentChunkPollution(){ - return getCurrentChunkPollution(this.getBaseMetaTileEntity()); + int mCurrentChunkPollution = 0; + if (this.mTier < 7) { + mCurrentChunkPollution = PollutionUtils.getPollution(getBaseMetaTileEntity()); + } + else { + AutoMap<Chunk> aSurrounding = new AutoMap<Chunk>(); + World aWorld = this.getBaseMetaTileEntity().getWorld(); + int xPos = this.getBaseMetaTileEntity().getXCoord(); + int zPos = this.getBaseMetaTileEntity().getZCoord(); + Chunk a1 = aWorld.getChunkFromBlockCoords(xPos-32, zPos-32); + Chunk a2 = aWorld.getChunkFromBlockCoords(xPos-32, zPos); + Chunk a3 = aWorld.getChunkFromBlockCoords(xPos-32, zPos+32); + Chunk b1 = aWorld.getChunkFromBlockCoords(xPos, zPos-32); + Chunk b2 = aWorld.getChunkFromBlockCoords(xPos, zPos); + Chunk b3 = aWorld.getChunkFromBlockCoords(xPos, zPos+32); + Chunk c1 = aWorld.getChunkFromBlockCoords(xPos+32, zPos-32); + Chunk c2 = aWorld.getChunkFromBlockCoords(xPos+32, zPos); + Chunk c3 = aWorld.getChunkFromBlockCoords(xPos+32, zPos+32); + aSurrounding.put(a1); + aSurrounding.put(a2); + aSurrounding.put(a3); + aSurrounding.put(b1); + aSurrounding.put(b2); + aSurrounding.put(b3); + aSurrounding.put(c1); + aSurrounding.put(c2); + aSurrounding.put(c3); + for (Chunk r : aSurrounding) { + mCurrentChunkPollution += getPollutionInChunk(r); + } + } + if (mCurrentChunkPollution > 0){ + mHasPollution = true; + } + else { + mHasPollution = false; + } + return mCurrentChunkPollution; } - public int getCurrentChunkPollution(IGregTechTileEntity aBaseMetaTileEntity){ - int mCurrentChunkPollution = PollutionUtils.getPollution(aBaseMetaTileEntity); + public int getPollutionInChunk(Chunk aChunk){ + int mCurrentChunkPollution = PollutionUtils.getPollution(aChunk); if (mCurrentChunkPollution > 0){ mHasPollution = true; } @@ -260,7 +345,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi } return mCurrentChunkPollution; } - + public boolean hasRotor(ItemStack rotorStack){ if(rotorStack != null){ if (rotorStack.getItem() instanceof GT_MetaGenerated_Tool && rotorStack.getItemDamage() >= 170 && rotorStack.getItemDamage() <= 179){ @@ -272,6 +357,22 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi public boolean damageTurbineRotor(){ try{ + + boolean creativeRotor = false; + ItemStack rotorStack = this.mInventory[SLOT_ROTOR]; + if (rotorStack == null) { + return false; + } + else { + if(rotorStack.getItem() instanceof GT_MetaGenerated_Tool_01) { + Materials t1 = GT_MetaGenerated_Tool.getPrimaryMaterial(rotorStack); + Materials t2 = GT_MetaGenerated_Tool.getSecondaryMaterial(rotorStack); + if (t1 == Materials._NULL && t2 == Materials._NULL){ + creativeRotor = true; + } + } + } + if(mInventory[SLOT_ROTOR].getItem() instanceof GT_MetaGenerated_Tool_01 && ((GT_MetaGenerated_Tool) mInventory[SLOT_ROTOR].getItem()).getToolStats(mInventory[SLOT_ROTOR]).getSpeedMultiplier()>0 && GT_MetaGenerated_Tool.getPrimaryMaterial(mInventory[SLOT_ROTOR]).mToolSpeed>0 ) { @@ -280,16 +381,16 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi double fDam = Math.floor(Math.abs(MathUtils.randFloat(1f, 2f) - MathUtils.randFloat(1f, 2f)) * (1f + 2f - 1f) + 1f); damageValue -= fDam; - //Logger.INFO("Trying to do "+damageValue+" damage to the rotor. ["+fDam+"]"); + //Logger.WARNING("Trying to do "+damageValue+" damage to the rotor. ["+fDam+"]"); /*Materials M1 = GT_MetaGenerated_Tool.getPrimaryMaterial(this.mInventory[this.SLOT_ROTOR]); Materials M2 = GT_MetaGenerated_Tool.getSecondaryMaterial(this.mInventory[this.SLOT_ROTOR]); - Logger.INFO("Trying to do "+damageValue+" damage to the rotor. [2]");*/ + Logger.WARNING("Trying to do "+damageValue+" damage to the rotor. [2]");*/ //Damage Rotor //int rotorDurability = this.mInventory[this.SLOT_ROTOR].getItemDamage(); - long rotorDamage = GT_MetaGenerated_Tool.getToolDamage(this.mInventory[this.SLOT_ROTOR]); - long rotorDurabilityMax = GT_MetaGenerated_Tool.getToolMaxDamage(this.mInventory[this.SLOT_ROTOR]); + long rotorDamage = creativeRotor ? 0 : GT_MetaGenerated_Tool.getToolDamage(this.mInventory[this.SLOT_ROTOR]); + long rotorDurabilityMax = creativeRotor ? Integer.MAX_VALUE : GT_MetaGenerated_Tool.getToolMaxDamage(this.mInventory[this.SLOT_ROTOR]); long rotorDurability = (rotorDurabilityMax - rotorDamage); Logger.WARNING("Rotor Damage: "+rotorDamage + " | Max Durability: "+rotorDurabilityMax+" | "+" Remaining Durability: "+rotorDurability); if (rotorDurability >= damageValue){ @@ -297,6 +398,8 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi if (!mSaveRotor){ Logger.WARNING("Damaging Rotor."); + + if (!creativeRotor) GT_ModHandler.damageOrDechargeItem(this.mInventory[this.SLOT_ROTOR], (int) damageValue, 0, null); long tempDur = GT_MetaGenerated_Tool.getToolDamage(this.mInventory[this.SLOT_ROTOR]); @@ -310,6 +413,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi else { Logger.WARNING("Damaging Rotor."); if (rotorDurability > 1000){ + if (!creativeRotor) GT_ModHandler.damageOrDechargeItem(this.mInventory[this.SLOT_ROTOR], (int) damageValue/2, 0, null); long tempDur = GT_MetaGenerated_Tool.getToolDamage(this.mInventory[this.SLOT_ROTOR]); if (tempDur < rotorDurabilityMax){ @@ -324,7 +428,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi } - if (rotorDurability <= 0 && !mSaveRotor) { + if (rotorDurability <= 0 && !mSaveRotor && !creativeRotor) { Logger.WARNING("Destroying Rotor."); this.mInventory[this.SLOT_ROTOR] = null; return false; @@ -372,14 +476,92 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi } public boolean removePollution(int toRemove){ + + if (this == null || this.getBaseMetaTileEntity() == null || this.getBaseMetaTileEntity().getWorld() == null) { + return false; + } + + if (this.mTier < 7) { + int startPollution = getCurrentChunkPollution(); + PollutionUtils.removePollution(this.getBaseMetaTileEntity(), toRemove); + int after = getCurrentChunkPollution(); + return (after<startPollution); + } + else { + int chunksWithRemoval = 0; + int totalRemoved = 0; + AutoMap<Chunk> aSurrounding = new AutoMap<Chunk>(); + Chunk aThisChunk = this.getBaseMetaTileEntity().getWorld().getChunkFromBlockCoords(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getZCoord()); + int mainChunkX = aThisChunk.xPosition; + int mainChunkZ = aThisChunk.zPosition; + + World aWorld = this.getBaseMetaTileEntity().getWorld(); + int xPos = this.getBaseMetaTileEntity().getXCoord(); + int zPos = this.getBaseMetaTileEntity().getZCoord(); + + Chunk a1 = aWorld.getChunkFromBlockCoords(xPos-32, zPos-32); + Chunk a2 = aWorld.getChunkFromBlockCoords(xPos-32, zPos); + Chunk a3 = aWorld.getChunkFromBlockCoords(xPos-32, zPos+32); + Chunk b1 = aWorld.getChunkFromBlockCoords(xPos, zPos-32); + Chunk b2 = aWorld.getChunkFromBlockCoords(xPos, zPos); + Chunk b3 = aWorld.getChunkFromBlockCoords(xPos, zPos+32); + Chunk c1 = aWorld.getChunkFromBlockCoords(xPos+32, zPos-32); + Chunk c2 = aWorld.getChunkFromBlockCoords(xPos+32, zPos); + Chunk c3 = aWorld.getChunkFromBlockCoords(xPos+32, zPos+32); + + aSurrounding.put(a1); + aSurrounding.put(a2); + aSurrounding.put(a3); + aSurrounding.put(b1); + aSurrounding.put(b2); + aSurrounding.put(b3); + aSurrounding.put(c1); + aSurrounding.put(c2); + aSurrounding.put(c3); + + for (Chunk r : aSurrounding) { + if (!r.isChunkLoaded) { + continue; + } + + int startPollution = getPollutionInChunk(r); + if (startPollution == 0) { + continue; + } + + Logger.WARNING("Trying to remove pollution from chunk "+r.xPosition+", "+r.zPosition+" | "+startPollution); + int after = 0; + boolean isMainChunk = r.isAtLocation(mainChunkX, mainChunkZ); + + int removal = Math.max(0, !isMainChunk ? (toRemove/4) : toRemove); + if (removePollution(r, removal)) { + chunksWithRemoval++; + after = getPollutionInChunk(r); + } + else { + after = 0; + } + if (startPollution - after > 0) { + totalRemoved += (startPollution - after); + } + Logger.WARNING("Removed "+(startPollution - after)+" pollution from chunk "+r.xPosition+", "+r.zPosition+" | "+after); + } + return totalRemoved > 0 && chunksWithRemoval > 0; + } + } + + public boolean removePollution(Chunk aChunk, int toRemove){ int before = getCurrentChunkPollution(); - PollutionUtils.addPollution(this.getBaseMetaTileEntity(), -toRemove); + PollutionUtils.removePollution(aChunk, toRemove); int after = getCurrentChunkPollution(); return (after<before); } public boolean hasAirFilter(ItemStack filter){ + if (filter == null) { + return false; + } if (filter.getItem() instanceof ItemAirFilter){ return true; } @@ -388,6 +570,26 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi public boolean damageAirFilter(){ ItemStack filter = this.mInventory[this.SLOT_FILTER]; + if (filter == null) { + return false; + } + + boolean creativeRotor = false; + ItemStack rotorStack = this.mInventory[SLOT_ROTOR]; + if (rotorStack != null) { + if(rotorStack.getItem() instanceof GT_MetaGenerated_Tool_01) { + Materials t1 = GT_MetaGenerated_Tool.getPrimaryMaterial(rotorStack); + Materials t2 = GT_MetaGenerated_Tool.getSecondaryMaterial(rotorStack); + if (t1 == Materials._NULL && t2 == Materials._NULL){ + creativeRotor = true; + } + } + } + + if (creativeRotor) { + return true; + } + if (filter.getItem() instanceof ItemAirFilter){ @@ -398,7 +600,7 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi this.mInventory[this.SLOT_FILTER] = null; return false; } - else if (filter.getItemDamage() == 1 && currentUse >= 150-1){ + else if (filter.getItemDamage() == 1 && currentUse >= 2500-1){ this.mInventory[this.SLOT_FILTER] = null; return false; } @@ -432,7 +634,13 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi } @Override - public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ); + } + + @Override + public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, + float aZ) { this.mSaveRotor = Utils.invertBoolean(mSaveRotor); if (mSaveRotor){ PlayerUtils.messagePlayer(aPlayer, "Running in low efficiency mode, rotors will not break."); @@ -440,8 +648,76 @@ public class GregtechMetaAtmosphericReconditioner extends GT_MetaTileEntity_Basi else { PlayerUtils.messagePlayer(aPlayer, "Running in high efficiency mode, rotors will break."); } + return true; + } + + @Override + public void doSound(byte aIndex, double aX, double aY, double aZ) { + if (aIndex == -120) { + GT_Utility.doSoundAtClient((String) GregTech_API.sSoundList.get(Integer.valueOf(103)), MathUtils.randInt(5, 50), 0.05F, aX, aY, aZ); + } else if (aIndex == -121 || aIndex == -122) { + //GT_Utility.doSoundAtClient((String) GregTech_API.sSoundList.get(Integer.valueOf(108)), 0, 0.5F, aX, aY, aZ); + } /*else if (aIndex == -122) { + GT_Utility.doSoundAtClient((String) GregTech_API.sSoundList.get(Integer.valueOf(6)), 100, 1.0F, aX, aY, aZ); + }*/ else { + super.doSound((byte) 0, aX, aY, aZ); + } + } + + @Override + public boolean canHaveInsufficientEnergy() { + // TODO Auto-generated method stub + return super.canHaveInsufficientEnergy(); + } + + @Override + public String[] getInfoData() { + AutoMap<String> aTooltipSuper = new AutoMap<String>(); + for (String s : super.getInfoData()) { + aTooltipSuper.put(s); + } + int mAirSides = getFreeSpaces(); + int reduction = 0; - super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ); + try { + long tVoltage = maxEUInput(); + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + reduction += (((Math.max((tTier-2), 1)*2)*50)*mAirSides); + reduction = (MathUtils.safeInt((long)reduction*this.mBaseEff)/100000)*mAirSides*Math.max((tTier-2), 1); + reduction = GT_Utility.safeInt(((long)reduction/100)*this.mOptimalAirFlow); + + aTooltipSuper.put("Maximum pollution removed per second: "+reduction); + } + catch (Throwable t) { + aTooltipSuper.put("Maximum pollution removed per second: "+mPollutionReduction); + } + aTooltipSuper.put("Air Sides: "+mAirSides); + return aTooltipSuper.toArray(); + } + + @Override + public boolean isGivingInformation() { + return true; + } + + @Override + public boolean allowCoverOnSide(byte aSide, GT_ItemStack aCoverID) { + if (aSide <= 1) { + return false; + } + return super.allowCoverOnSide(aSide, aCoverID); + } + + @Override + public ITexture[] getTopFacingInactive(byte aColor) { + return super.getTopFacingInactive(aColor); + } + + @Override + public void setItemNBT(NBTTagCompound aNBT) { + aNBT.setInteger("mOptimalAirFlow", this.mOptimalAirFlow); + aNBT.setBoolean("mSaveRotor", mSaveRotor); + super.setItemNBT(aNBT); } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java index 3e94cef7bb..9c246ba913 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaCondensor.java @@ -34,7 +34,7 @@ public class GregtechMetaCondensor extends GregtechMetaBoilerBase{ @Override public String[] getDescription() { - return new String[]{this.mDescription, "IC2 Steam + Water = Normal Steam.", "Requires no power to run, although it's not very fast.", CORE.GT_Tooltip}; + return new String[]{this.mDescription, "IC2 Steam + Water = Normal Steam.", "Requires no power to run, although it's not very fast.", }; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java index 82565bb1d9..c7f63e3bc2 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionCreator.java @@ -39,7 +39,7 @@ public class GregtechMetaPollutionCreator extends GregtechMetaTileEntity { @Override public String[] getDescription() { - return new String[] {this.mDescription, "A useful debug machine to create pollution.", CORE.GT_Tooltip}; + return new String[] {this.mDescription, "A useful debug machine to create pollution."}; } @Override @@ -117,7 +117,7 @@ public class GregtechMetaPollutionCreator extends GregtechMetaTileEntity { @Override public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { - if (pollutionMultiplier >= 9){ + if (pollutionMultiplier > 99){ pollutionMultiplier = 1; } else { @@ -354,27 +354,9 @@ public class GregtechMetaPollutionCreator extends GregtechMetaTileEntity { super.onPostTick(aBaseMetaTileEntity, aTick); if (this.getBaseMetaTileEntity().isServerSide()) { //TickTimer - 20 times a second - if (this.mTickTimer >= 0 || this.mTickTimer <= 19){ - this.mTickTimer++; - } - else { - this.mTickTimer = 0; - //Perform pollution update once a second + this.mTickTimer++; + if (mTickTimer % 20 == 0){ this.mCurrentPollution = getCurrentChunkPollution(); - this.mSecondTimer++; - } - //Update Pollution array once a minute - if (this.mSecondTimer >= 60){ - Utils.sendServerMessage("Udating Average of pollution array. Using Array slot"+this.mArrayPos); - this.mSecondTimer = 0; - if (this.mArrayPos<this.mAveragePollutionArray.length){ - this.mAveragePollutionArray[this.mArrayPos] = this.mCurrentPollution; - this.mArrayPos++; - } - else if (this.mArrayPos==this.mAveragePollutionArray.length){ - this.mAveragePollutionArray[this.mArrayPos] = this.mCurrentPollution; - this.mArrayPos = 0; - } } } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java index ee2ea1da55..2f9bbcc9fb 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaPollutionDetector.java @@ -43,7 +43,7 @@ public class GregtechMetaPollutionDetector extends GregtechMetaTileEntity { public String[] getDescription() { return new String[] {this.mDescription, "Right click to check pollution levels.", "Configure with screwdriver to set redstone output amount.", - "Does not use power.", CORE.GT_Tooltip}; + "Does not use power."}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityThaumcraftResearcher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityThaumcraftResearcher.java index b7c31e8514..8456f40797 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityThaumcraftResearcher.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityThaumcraftResearcher.java @@ -25,7 +25,7 @@ public class GregtechMetaTileEntityThaumcraftResearcher extends GregtechMetaTile @Override public String[] getDescription() { - return new String[] {this.mDescription, "Generates Thaumcraft research notes, because it's magic.", CORE.GT_Tooltip}; + return new String[] {this.mDescription, "Generates Thaumcraft research notes, because it's magic."}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java index 0786d46fc4..81f594bc7e 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_BasicWasher.java @@ -42,7 +42,7 @@ public class GregtechMetaTileEntity_BasicWasher extends GT_MetaTileEntity_BasicM @Override public String[] getDescription() { - return new String[]{this.mDescription, "Grants no byproducts, but it is fast.", CORE.GT_Tooltip}; + return new String[]{this.mDescription, "Grants no byproducts, but it is fast.", }; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java index faeaf1d605..b4e819a459 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_CompactFusionReactor.java @@ -55,7 +55,7 @@ public class GregtechMetaTileEntity_CompactFusionReactor extends GT_MetaTileEnti public String[] getDescription() { return new String[] { this.mDescription, "Not Very Fast, but not very big either.", "Each side pair in/out puts to different slots.", "Top & Bottom Sides are Outputs.", - "Front & Back are Input Plasma 1.", "Sides are Input Plasma 2.", CORE.GT_Tooltip }; + "Front & Back are Input Plasma 1.", "Sides are Input Plasma 2." }; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java index 7ccee3f4b4..5a0f888ddb 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_PocketFusion.java @@ -55,7 +55,7 @@ public class GregtechMetaTileEntity_PocketFusion extends GT_MetaTileEntity_Delux public String[] getDescription() { return new String[] { this.mDescription, "Not Very Fast, but not very big either.", "Each side pair in/out puts to different slots.", "Top & Bottom Sides are Outputs.", - "Front & Back are Input Plasma 1.", "Sides are Input Plasma 2.", CORE.GT_Tooltip }; + "Front & Back are Input Plasma 1.", "Sides are Input Plasma 2." }; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java index 96192c5128..25c14a68e7 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java @@ -49,7 +49,7 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity { "Mixed: Provides both 2A of long range and 1A per player locally.", "Mixed mode is more conservative of power and as a result only", "Gets half the distances each singular mode gets.", - CORE.GT_Tooltip}; + }; } public int getTier(){ diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IronBlastFurnace.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IronBlastFurnace.java index 98057836ec..5d6904bd46 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IronBlastFurnace.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IronBlastFurnace.java @@ -54,7 +54,7 @@ extends MetaTileEntity { "Multiblock: 3x3x5 hollow with opening on top", "Same shape as Bronze/Bricked blast furnace, except one ring of 8 taller.", "40 Iron Plated Bricks required", - CORE.GT_Tooltip}; + }; } else { return new String[]{"Sloooowly, Skip the Bronze age, Get some Steel!", @@ -67,7 +67,7 @@ extends MetaTileEntity { "as Iron is. This machine takes 5x longer than the bronze", "blast furnace as a result.", "----", - CORE.GT_Tooltip}; + }; } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java index 3bfac81837..7fdabceebb 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java @@ -174,10 +174,10 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase if (!aBaseMetaTileEntity.getAirOffset(xDir, 2, zDir)) { return false; } - if (!addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 3, zDir), + /*if (!addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 3, zDir), CASING_TEXTURE_ID)) { return false; - } + }*/ byte tUsedMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + 1, 2, zDir); if (!CORE.GTNH) { @@ -203,7 +203,7 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase case 6: this.mHeatingCapacity = 9001; break; - default: + default:Logger.INFO("Heating Coils are bad."); return false; } } else { @@ -236,31 +236,33 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase this.mHeatingCapacity = 15001; break; default: + Logger.INFO("Heating Coils are bad."); return false; } } for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { - if ((i != 0) || (j != 0)) { - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != StaticFields59 - .getBlockCasings5()) { + if ((i != 0) || (j != 0)) { + //Coils 1 + if (!isValidBlockForStructure(null, CASING_TEXTURE_ID, false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j), StaticFields59.getBlockCasings5(), tUsedMeta)) { + Logger.INFO("Heating Coils missing."); return false; } - if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != tUsedMeta) { + + //Coils 2 + if (!isValidBlockForStructure(null, CASING_TEXTURE_ID, false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j), StaticFields59.getBlockCasings5(), tUsedMeta)) { + Logger.INFO("Heating Coils missing."); return false; - } - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != StaticFields59 - .getBlockCasings5()) { + } + + //Top Layer + final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j); + if (!isValidBlockForStructure(tTileEntity2, CASING_TEXTURE_ID, true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j), ModBlocks.blockCasings3Misc, 11)) { + Logger.INFO("Top Layer missing."); return false; } - if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) { - return false; - } - if (!isValidBlockForStructure(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j), CASING_TEXTURE_ID, true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasings3Misc, 11)) { - Logger.INFO("Matter Fabricator Casings Missing from one of the top layers inner 3x3."); - return false; - } + } } } @@ -269,9 +271,9 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase if ((xDir + i != 0) || (zDir + j != 0)) { IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0,zDir + j); if (!isValidBlockForStructure(tTileEntity, CASING_TEXTURE_ID, true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasings3Misc, 11)) { - Logger.INFO("Matter Fabricator Casings Missing from one of the top layers inner 3x3."); + Logger.INFO("Bottom Layer missing."); return false; - } + } } } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java index c7b4f166b4..aad16d3a56 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java @@ -86,7 +86,7 @@ public class GregtechMetaTileEntity_Adv_Fusion_MK4 extends GT_MetaTileEntity_Fus "1-16 Output Hatches", "1-16 Energy Hatches", "All Hatches must be "+aTierName+" or better", - CORE.GT_Tooltip}; + }; //"32768 EU/t and 80mio EU Cap per Energy Hatch" } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java index e351d6e988..c424172241 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java @@ -248,9 +248,9 @@ extends GregtechMeta_MultiBlockBase { } //Top Layer - final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 2, zDir + j); - if (!isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(15), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j), ModBlocks.blockCasingsMisc, 15)) { - Logger.INFO("Heating Coils missing."); + final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j); + if (!isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(15), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j), ModBlocks.blockCasingsMisc, 15)) { + Logger.INFO("Top Layer missing."); return false; } } @@ -260,9 +260,9 @@ extends GregtechMeta_MultiBlockBase { for (int j = -1; j < 2; j++) { if (((xDir + i) != 0) || ((zDir + j) != 0)) { //Bottom Layer - final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 2, zDir + j); - if (!isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(15), false, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasingsMisc, 15)) { - Logger.INFO("Heating Coils missing."); + final IGregTechTileEntity tTileEntity2 = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0, zDir + j); + if (!isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(15), true, aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j), (int) aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j), ModBlocks.blockCasingsMisc, 15)) { + Logger.INFO("Bottom Layer missing."); return false; } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java index 25e838e57a..1623e7cb54 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java @@ -16,6 +16,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; import gregtech.api.objects.GT_ItemStack; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Recipe; @@ -24,6 +25,10 @@ import gregtech.api.util.Recipe_GT; import gregtech.common.gui.GT_GUIContainer_FusionReactor; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; +import gtPlusPlus.core.item.chemistry.IonParticles; +import gtPlusPlus.core.util.math.MathUtils; +import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; +import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_Cyclotron; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import net.minecraft.block.Block; @@ -35,7 +40,7 @@ import net.minecraftforge.fluids.FluidStack; public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBase { - public int mEUStore; + public long mEUStore; public GregtechMetaTileEntity_Cyclotron(int aID, String aName, String aNameRegional, int tier) { super(aID, aName, aNameRegional); @@ -71,7 +76,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachine(aPlayerInventory, aBaseMetaTileEntity); + return new CONTAINER_Cyclotron(aPlayerInventory, aBaseMetaTileEntity); } @Override @@ -92,17 +97,19 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas @Override public void saveNBTData(NBTTagCompound aNBT) { + aNBT.setLong("mEUStore", mEUStore); super.saveNBTData(aNBT); } @Override public void loadNBTData(NBTTagCompound aNBT) { + mEUStore = aNBT.getLong("mEUStore"); super.loadNBTData(aNBT); } @Override public boolean checkMultiblock(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - Logger.INFO("Checking form of Cyclotron."); + log("Checking form of Cyclotron."); int xCenter = getBaseMetaTileEntity().getXCoord() + ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetX * 5; int yCenter = getBaseMetaTileEntity().getYCoord(); int zCenter = getBaseMetaTileEntity().getZCoord() + ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetZ * 5; @@ -111,56 +118,56 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas && ((isAdvancedMachineCasing(xCenter, yCenter, zCenter + 5)) || (zCenter + 5 == getBaseMetaTileEntity().getZCoord())) && ((isAdvancedMachineCasing(xCenter, yCenter, zCenter - 5)) || (zCenter - 5 == getBaseMetaTileEntity().getZCoord())) && (checkCoils(xCenter, yCenter, zCenter)) && (checkHulls(xCenter, yCenter, zCenter)) && (checkUpperOrLowerHulls(xCenter, yCenter + 1, zCenter)) && (checkUpperOrLowerHulls(xCenter, yCenter - 1, zCenter)) - && (addIfEnergyInjector(xCenter + 4, yCenter, zCenter + 3, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter + 4, yCenter, zCenter - 3, aBaseMetaTileEntity)) - && (addIfEnergyInjector(xCenter + 4, yCenter, zCenter + 5, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter + 4, yCenter, zCenter - 5, aBaseMetaTileEntity)) - && (addIfEnergyInjector(xCenter - 4, yCenter, zCenter + 3, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter - 4, yCenter, zCenter - 3, aBaseMetaTileEntity)) - && (addIfEnergyInjector(xCenter - 4, yCenter, zCenter + 5, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter - 4, yCenter, zCenter - 5, aBaseMetaTileEntity)) - && (addIfEnergyInjector(xCenter + 3, yCenter, zCenter + 4, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter - 3, yCenter, zCenter + 4, aBaseMetaTileEntity)) - && (addIfEnergyInjector(xCenter + 5, yCenter, zCenter + 4, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter - 5, yCenter, zCenter + 4, aBaseMetaTileEntity)) - && (addIfEnergyInjector(xCenter + 3, yCenter, zCenter - 4, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter - 3, yCenter, zCenter - 4, aBaseMetaTileEntity)) - && (addIfEnergyInjector(xCenter + 5, yCenter, zCenter - 4, aBaseMetaTileEntity)) && (addIfEnergyInjector(xCenter - 5, yCenter, zCenter - 4, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter + 1, yCenter, zCenter - 5, aBaseMetaTileEntity)) && (addIfExtractor(xCenter + 1, yCenter, zCenter + 5, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter - 1, yCenter, zCenter - 5, aBaseMetaTileEntity)) && (addIfExtractor(xCenter - 1, yCenter, zCenter + 5, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter + 1, yCenter, zCenter - 7, aBaseMetaTileEntity)) && (addIfExtractor(xCenter + 1, yCenter, zCenter + 7, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter - 1, yCenter, zCenter - 7, aBaseMetaTileEntity)) && (addIfExtractor(xCenter - 1, yCenter, zCenter + 7, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter + 5, yCenter, zCenter - 1, aBaseMetaTileEntity)) && (addIfExtractor(xCenter + 5, yCenter, zCenter + 1, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter - 5, yCenter, zCenter - 1, aBaseMetaTileEntity)) && (addIfExtractor(xCenter - 5, yCenter, zCenter + 1, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter + 7, yCenter, zCenter - 1, aBaseMetaTileEntity)) && (addIfExtractor(xCenter + 7, yCenter, zCenter + 1, aBaseMetaTileEntity)) - && (addIfExtractor(xCenter - 7, yCenter, zCenter - 1, aBaseMetaTileEntity)) && (addIfExtractor(xCenter - 7, yCenter, zCenter + 1, aBaseMetaTileEntity)) - && (addIfInjector(xCenter + 1, yCenter + 1, zCenter - 6, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 1, yCenter + 1, zCenter + 6, aBaseMetaTileEntity)) - && (addIfInjector(xCenter - 1, yCenter + 1, zCenter - 6, aBaseMetaTileEntity)) && (addIfInjector(xCenter - 1, yCenter + 1, zCenter + 6, aBaseMetaTileEntity)) - && (addIfInjector(xCenter - 6, yCenter + 1, zCenter + 1, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 6, yCenter + 1, zCenter + 1, aBaseMetaTileEntity)) - && (addIfInjector(xCenter - 6, yCenter + 1, zCenter - 1, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 6, yCenter + 1, zCenter - 1, aBaseMetaTileEntity)) - && (addIfInjector(xCenter + 1, yCenter - 1, zCenter - 6, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 1, yCenter - 1, zCenter + 6, aBaseMetaTileEntity)) - && (addIfInjector(xCenter - 1, yCenter - 1, zCenter - 6, aBaseMetaTileEntity)) && (addIfInjector(xCenter - 1, yCenter - 1, zCenter + 6, aBaseMetaTileEntity)) - && (addIfInjector(xCenter - 6, yCenter - 1, zCenter + 1, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 6, yCenter - 1, zCenter + 1, aBaseMetaTileEntity)) - && (addIfInjector(xCenter - 6, yCenter - 1, zCenter - 1, aBaseMetaTileEntity)) && (addIfInjector(xCenter + 6, yCenter - 1, zCenter - 1, aBaseMetaTileEntity)) + && (isAdvancedMachineCasing(xCenter + 4, yCenter, zCenter + 3)) && (isAdvancedMachineCasing(xCenter + 4, yCenter, zCenter - 3)) + && (isAdvancedMachineCasing(xCenter + 4, yCenter, zCenter + 5)) && (isAdvancedMachineCasing(xCenter + 4, yCenter, zCenter - 5)) + && (isAdvancedMachineCasing(xCenter - 4, yCenter, zCenter + 3)) && (isAdvancedMachineCasing(xCenter - 4, yCenter, zCenter - 3)) + && (isAdvancedMachineCasing(xCenter - 4, yCenter, zCenter + 5)) && (isAdvancedMachineCasing(xCenter - 4, yCenter, zCenter - 5)) + && (isAdvancedMachineCasing(xCenter + 3, yCenter, zCenter + 4)) && (isAdvancedMachineCasing(xCenter - 3, yCenter, zCenter + 4)) + && (isAdvancedMachineCasing(xCenter + 5, yCenter, zCenter + 4)) && (isAdvancedMachineCasing(xCenter - 5, yCenter, zCenter + 4)) + && (isAdvancedMachineCasing(xCenter + 3, yCenter, zCenter - 4)) && (isAdvancedMachineCasing(xCenter - 3, yCenter, zCenter - 4)) + && (isAdvancedMachineCasing(xCenter + 5, yCenter, zCenter - 4)) && (isAdvancedMachineCasing(xCenter - 5, yCenter, zCenter - 4)) + && (isAdvancedMachineCasing(xCenter + 1, yCenter, zCenter - 5)) && (isAdvancedMachineCasing(xCenter + 1, yCenter, zCenter + 5)) + && (isAdvancedMachineCasing(xCenter - 1, yCenter, zCenter - 5)) && (isAdvancedMachineCasing(xCenter - 1, yCenter, zCenter + 5)) + && (isAdvancedMachineCasing(xCenter + 1, yCenter, zCenter - 7)) && (isAdvancedMachineCasing(xCenter + 1, yCenter, zCenter + 7)) + && (isAdvancedMachineCasing(xCenter - 1, yCenter, zCenter - 7)) && (isAdvancedMachineCasing(xCenter - 1, yCenter, zCenter + 7)) + && (isAdvancedMachineCasing(xCenter + 5, yCenter, zCenter - 1)) && (isAdvancedMachineCasing(xCenter + 5, yCenter, zCenter + 1)) + && (isAdvancedMachineCasing(xCenter - 5, yCenter, zCenter - 1)) && (isAdvancedMachineCasing(xCenter - 5, yCenter, zCenter + 1)) + && (isAdvancedMachineCasing(xCenter + 7, yCenter, zCenter - 1)) && (isAdvancedMachineCasing(xCenter + 7, yCenter, zCenter + 1)) + && (isAdvancedMachineCasing(xCenter - 7, yCenter, zCenter - 1)) && (isAdvancedMachineCasing(xCenter - 7, yCenter, zCenter + 1)) + && (isAdvancedMachineCasing(xCenter + 1, yCenter + 1, zCenter - 6)) && (isAdvancedMachineCasing(xCenter + 1, yCenter + 1, zCenter + 6)) + && (isAdvancedMachineCasing(xCenter - 1, yCenter + 1, zCenter - 6)) && (isAdvancedMachineCasing(xCenter - 1, yCenter + 1, zCenter + 6)) + && (isAdvancedMachineCasing(xCenter - 6, yCenter + 1, zCenter + 1)) && (isAdvancedMachineCasing(xCenter + 6, yCenter + 1, zCenter + 1)) + && (isAdvancedMachineCasing(xCenter - 6, yCenter + 1, zCenter - 1)) && (isAdvancedMachineCasing(xCenter + 6, yCenter + 1, zCenter - 1)) + && (isAdvancedMachineCasing(xCenter + 1, yCenter - 1, zCenter - 6)) && (isAdvancedMachineCasing(xCenter + 1, yCenter - 1, zCenter + 6)) + && (isAdvancedMachineCasing(xCenter - 1, yCenter - 1, zCenter - 6)) && (isAdvancedMachineCasing(xCenter - 1, yCenter - 1, zCenter + 6)) + && (isAdvancedMachineCasing(xCenter - 6, yCenter - 1, zCenter + 1)) && (isAdvancedMachineCasing(xCenter + 6, yCenter - 1, zCenter + 1)) + && (isAdvancedMachineCasing(xCenter - 6, yCenter - 1, zCenter - 1)) && (isAdvancedMachineCasing(xCenter + 6, yCenter - 1, zCenter - 1)) && (this.mEnergyHatches.size() >= 1) && (this.mOutputBusses.size() >= 1) && (this.mInputHatches.size() >= 1) && (this.mInputBusses.size() >= 1)) { int mEnergyHatches_sS = this.mEnergyHatches.size(); for (int i = 0; i < mEnergyHatches_sS; i++) { if (this.mEnergyHatches.get(i).mTier < tier()){ - Logger.INFO("bad energy hatch"); + log("bad energy hatch"); return false; } } int mOutputHatches_sS = this.mOutputBusses.size(); for (int i = 0; i < mOutputHatches_sS; i++) { if (this.mOutputBusses.get(i).mTier < tier()){ - Logger.INFO("bad output hatch"); + log("bad output hatch"); return false; } } int mInputHatches_sS = this.mInputHatches.size(); for (int i = 0; i < mInputHatches_sS; i++) { if (this.mInputHatches.get(i).mTier < tier()){ - Logger.INFO("bad input hatch"); + log("bad input hatch"); return false; } } int mInputBusses_sS = this.mInputBusses.size(); for (int i = 0; i < mInputBusses_sS; i++) { if (this.mInputBusses.get(i).mTier < tier()){ - Logger.INFO("bad input hatch"); + log("bad input hatch"); return false; } } @@ -170,11 +177,11 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas mHardHammer = true; mSolderingTool = true; mCrowbar = true; - Logger.INFO("Built Cyclotron."); + log("Built Cyclotron."); turnCasingActive(true); return true; } - Logger.INFO("Failed building Cyclotron."); + log("Failed building Cyclotron."); return false; } @@ -212,36 +219,34 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas && (isAdvancedMachineCasing(aX - 2, aY, aZ + 4)) && (isAdvancedMachineCasing(aX + 2, aY, aZ - 4)) && (isAdvancedMachineCasing(aX + 2, aY, aZ + 4)); } - private boolean addIfEnergyInjector(int aX, int aY, int aZ, IGregTechTileEntity aBaseMetaTileEntity) { - if (addEnergyInputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntity(aX, aY, aZ), TAE.GTPP_INDEX(26))) { - return true; - } - return isAdvancedMachineCasing(aX, aY, aZ); - } - - private boolean addIfInjector(int aX, int aY, int aZ, IGregTechTileEntity aTileEntity) { - if (addInputToMachineList(aTileEntity.getIGregTechTileEntity(aX, aY, aZ), TAE.GTPP_INDEX(26))) { - return true; - } - return isAdvancedMachineCasing(aX, aY, aZ); - } - - private boolean addIfExtractor(int aX, int aY, int aZ, IGregTechTileEntity aTileEntity) { - if (addOutputToMachineList(aTileEntity.getIGregTechTileEntity(aX, aY, aZ), TAE.GTPP_INDEX(26))) { - return true; - } - return isAdvancedMachineCasing(aX, aY, aZ); - } - private boolean isAdvancedMachineCasing(int aX, int aY, int aZ) { final Block aBlock = getBaseMetaTileEntity().getBlock(aX, aY, aZ); final int aMeta = getBaseMetaTileEntity().getMetaID(aX, aY, aZ); - final IGregTechTileEntity tTileEntity2 = getBaseMetaTileEntity().getIGregTechTileEntity(aX, aY, aZ); - return isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(26), true, aBlock, aMeta, getCasing(), getCasingMeta()); + final IGregTechTileEntity tTileEntity2 = getBaseMetaTileEntity().getIGregTechTileEntity(aX, aY, aZ); + + boolean debug = isValidBlockForStructure(tTileEntity2, TAE.GTPP_INDEX(26), true, aBlock, aMeta, getCasing(), getCasingMeta()); + + /*if (!debug) { + this.getBaseMetaTileEntity().getWorld().setBlock(aX, aY, aZ, ModBlocks.blockCompressedObsidian); + log(""+aX+"/"+aY+"/"+aZ); + }*/ + + return debug; } private boolean isCyclotronCoil(int aX, int aY, int aZ) { - return (getBaseMetaTileEntity().getBlock(aX, aY, aZ) == getCyclotronCoil() && (getBaseMetaTileEntity().getMetaID(aX, aY, aZ) == getCyclotronCoilMeta())); + + final Block aBlock = getBaseMetaTileEntity().getBlock(aX, aY, aZ); + final int aMeta = getBaseMetaTileEntity().getMetaID(aX, aY, aZ); + + boolean debug = isValidBlockForStructure(null, 0, false, aBlock, aMeta, getCyclotronCoil(), getCyclotronCoilMeta()); + + /*if (!debug) { + this.getBaseMetaTileEntity().getWorld().setBlock(aX, aY, aZ, ModBlocks.blockCompressedObsidian); + log(""+aX+"/"+aY+"/"+aZ); + }*/ + + return debug; } public Block getCasing() { @@ -270,6 +275,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas "Which will be extracted from the Isochronous Cyclotron", "------------------------------------------------------------", "Consists of the same layout as a Fusion Reactor", + "Any external casing can be a hatch/bus, unlike Fusion", "Cyclotron Machine Casings around Cyclotron Coil Blocks", "All Hatches must be IV or better", "1-16 Input Hatches", @@ -296,12 +302,9 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas public IIconContainer getIconOverlay() { if (this.getBaseMetaTileEntity().isActive()){ - return TexturesGtBlock.Overlay_Machine_Dimensional_Orange; + return TexturesGtBlock.Overlay_MatterFab_Active_Animated; } - return TexturesGtBlock.Overlay_Machine_Dimensional_Blue; - //mobessence - - + return TexturesGtBlock.Overlay_MatterFab_Animated; } @Override @@ -311,7 +314,13 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas @Override public boolean checkRecipe(ItemStack aStack) { - //Logger.INFO("Recipe Check."); + + /*if (CORE.DEVENV) { + return this.checkRecipeGeneric(); + }*/ + + + //log("Recipe Check."); ArrayList<ItemStack> tItemList = getStoredInputs(); ItemStack[] tItemInputs = tItemList.toArray(new ItemStack[tItemList.size()]); ArrayList<FluidStack> tInputList = getStoredFluids(); @@ -352,6 +361,28 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas } } + for (ItemStack s : outputs) { + if (s != null) { + if (s.getItem() instanceof IonParticles) { + long aCharge = IonParticles.getChargeState(s); + if (aCharge == 0) { + IonParticles.setChargeState(s, MathUtils.getRandomFromArray(new int[] { + -5, -5, + -4, -4, -4, + -3, -3, -3, -3, -3, + -2, -2, -2, -2, -2, -2, -2, + -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, + 6, 6})); + } + } + } + } + this.mOutputItems = outputs; this.mOutputFluids = new FluidStack[] {tRecipe.getFluidOutput(0)}; return true; @@ -374,7 +405,13 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if (mEfficiency < 0) - mEfficiency = 0; + mEfficiency = 0; + + //Time Counter + this.mTotalRunTime++; + + onRunningTick(null); + if (mRunningOnLoad && checkMultiblock(aBaseMetaTileEntity, mInventory[1])) { this.mEUStore = (int) aBaseMetaTileEntity.getStoredEU(); checkRecipe(mInventory[1]); @@ -388,6 +425,10 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas mEnergyHatches.clear(); mMufflerHatches.clear(); mMaintenanceHatches.clear(); + mChargeHatches.clear(); + mDischargeHatches.clear(); + mControlCoreBus.clear(); + mMultiDynamoHatches.clear(); mMachine = checkMultiblock(aBaseMetaTileEntity, mInventory[1]); } if (mStartUpCheck < 0) { @@ -395,9 +436,9 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas if (this.mEnergyHatches != null) { for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) if (isValidMetaTileEntity(tHatch)) { - if (aBaseMetaTileEntity.getStoredEU() + (2048) < maxEUStore() - && tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(2048, false)) { - aBaseMetaTileEntity.increaseStoredEnergyUnits(2048, true); + if (aBaseMetaTileEntity.getStoredEU() + (2048*4) < maxEUStore() + && tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits((2048*4), false)) { + aBaseMetaTileEntity.increaseStoredEnergyUnits((2048*4), true); } } } @@ -405,7 +446,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas stopMachine(); } if (getRepairStatus() > 0) { - if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) { + if (mMaxProgresstime > 0) { this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(mEUt, true); if (mMaxProgresstime > 0 && ++mProgresstime >= mMaxProgresstime) { if (mOutputItems != null) @@ -454,6 +495,7 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas stopMachine(); } } + doRandomMaintenanceDamage(); aBaseMetaTileEntity.setErrorDisplayID((aBaseMetaTileEntity.getErrorDisplayID() & ~127) | (mWrench ? 0 : 1) | (mScrewdriver ? 0 : 2) | (mSoftHammer ? 0 : 4) | (mHardHammer ? 0 : 8) | (mSolderingTool ? 0 : 16) | (mCrowbar ? 0 : 32) | (mMachine ? 0 : 64)); aBaseMetaTileEntity.setActive(mMaxProgresstime > 0); @@ -461,7 +503,36 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas } @Override - public boolean onRunningTick(ItemStack aStack) { + public boolean onRunningTick(ItemStack aStack) { + if (this.mOutputBusses.size() > 0) { + for (GT_MetaTileEntity_Hatch_OutputBus g : this.mOutputBusses) { + if (g != null) { + for (ItemStack s : g.mInventory) { + if (s != null) { + if (s.getItem() instanceof IonParticles) { + long aCharge = IonParticles.getChargeState(s); + if (aCharge == 0) { + IonParticles.setChargeState(s, MathUtils.getRandomFromArray(new int[] { + -5, -5, + -4, -4, -4, + -3, -3, -3, -3, -3, + -2, -2, -2, -2, -2, -2, -2, + -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, + 6, 6})); + } + } + } + } + } + } + } + PollutionUtils.addPollution(getBaseMetaTileEntity(), this.getPollutionPerTick(aStack)); + return true; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java index ec28967bb7..9ac67cf874 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java @@ -582,7 +582,7 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G "Radius is " + (this.getRadiusInChunks() << 4) + " blocks", "Every tick, this machine altenates betweem consumption of Pyrotheum & Cryotheum", "Pyrotheum is used to bore through the Mantle of the world", - "Cryotheum is used to keep the internal components cool", CORE.GT_Tooltip }; + "Cryotheum is used to keep the internal components cool",}; } static { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java index 81559db1a5..8294773be3 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java @@ -32,10 +32,10 @@ public class GT_MetaTileEntity_TieredTank extends GT_MetaTileEntity_BasicTank { String aTankPortableness = CORE.GTNH ? "non-portable" : "portable"; if (this.mFluid == null) { - aTip = new String[] {this.mDescription, "A "+aTankPortableness+" tank.", CORE.GT_Tooltip}; + aTip = new String[] {this.mDescription, "A "+aTankPortableness+" tank."}; } else { - aTip = new String[] {this.mDescription, "A "+aTankPortableness+" tank.", "Fluid: "+mFluid.getLocalizedName()+" "+mFluid.amount+"L", CORE.GT_Tooltip}; + aTip = new String[] {this.mDescription, "A "+aTankPortableness+" tank.", "Fluid: "+mFluid.getLocalizedName()+" "+mFluid.amount+"L"}; } return aTip; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java index 52c1c8818a..1d2fad941b 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaEnergyBuffer.java @@ -41,7 +41,7 @@ public class GregtechMetaEnergyBuffer extends GregtechMetaTileEntity { @Override public String[] getDescription() { - return new String[] {this.mDescription, "Accepts/Outputs 4Amp", CORE.GT_Tooltip}; + return new String[] {this.mDescription, "Accepts/Outputs 4Amp",}; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java index 80448727cc..b52ed040f4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java @@ -18,7 +18,7 @@ extends GregtechMetaSafeBlockBase { @Override public String[] getDescription() { - return new String[] {this.mDescription, CORE.GT_Tooltip}; + return new String[] {this.mDescription}; } public GregtechMetaSafeBlock(final int aID, final String aName, final String aNameRegional, final int aTier) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java index 2c24809f9a..43d5cffe82 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java @@ -207,7 +207,7 @@ public class GT4Entity_Shelf extends GT_MetaTileEntity_BasicHull_NonElectric { "Right click to store/remove something", "Ctrl + Rmb to check contents", "Ctrl + Rmb with a screwdriver to lock", - CORE.GT_Tooltip }; + }; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java index d6be5def19..9e00ada163 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java @@ -4,22 +4,22 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.Set; -import net.minecraft.item.ItemStack; - import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; - import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.*; +import gtPlusPlus.core.material.ALLOY; +import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.material.MaterialGenerator; +import gtPlusPlus.core.material.MaterialStack; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.MaterialUtils; +import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; public class RecipeGen_BlastSmelter extends RecipeGen_Base { @@ -208,7 +208,7 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base { if (M.getComposites().get(irc) != null){ final int r = (int) M.vSmallestRatio[irc]; inputStackCount = inputStackCount+r; - if ((M.getComposites().get(irc).getStackMaterial().getState() != MaterialState.SOLID) || ((M.getComposites().get(irc).getDustStack(r) == null) || (M.getComposites().get(irc).getDustStack(r) == ItemUtils.getSimpleStack(ModItems.AAA_Broken)))){ + if ((M.getComposites().get(irc).getStackMaterial().getState() != MaterialState.SOLID) || !ItemUtils.checkForInvalidItems(M.getComposites().get(irc).getDustStack(r))){ final int xr = r; if ((xr > 0) && (xr <= 100)){ final int mathmatics = (r*1000); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index ebf5aecd99..1932f30969 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -394,7 +394,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { else { aOutput = aMatInfo.getIngot(1); if (ItemUtils.checkForInvalidItems(aOutput)) { - if (CORE.GT_Recipe.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput)){ + if (CORE.RA.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput)){ Logger.MATERIALS("Successfully added a furnace recipe for "+aMatInfo.getLocalizedName()); } else { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index 1d99b1c2d7..50e9f8c3d6 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -6,8 +6,6 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; -import net.minecraft.item.ItemStack; - import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; @@ -16,7 +14,6 @@ import gregtech.api.util.CustomRecipeMap; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.api.util.Recipe_GT; - import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; @@ -25,7 +22,9 @@ import gtPlusPlus.core.util.data.ArrayUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; +import gtPlusPlus.xmod.gregtech.common.StaticFields59; import gtPlusPlus.xmod.gregtech.recipes.machines.RECIPEHANDLER_MatterFabricator; +import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; @@ -442,19 +441,16 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { @Override public boolean addCyclotronRecipe(ItemStack aInputs, FluidStack aFluidInput, ItemStack[] aOutputs, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - return addCyclotronRecipe(new ItemStack[] {aInputs}, aFluidInput, aOutputs[0], aFluidOutput, aChances, aDuration, aEUt, aSpecialValue); + return addCyclotronRecipe(new ItemStack[] {aInputs}, aFluidInput, aOutputs, aFluidOutput, aChances, aDuration, aEUt, aSpecialValue); } @Override - public boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, + public boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack[] aOutput, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - if (aOutput == null) { - return false; - } - if ((aDuration = GregTech_API.sRecipeFile.get("cyclotron", aOutput, aDuration)) <= 0) { + if (aOutput == null || aOutput.length < 1 || !ItemUtils.checkForInvalidItems(aOutput)) { return false; } - if (Recipe_GT.Gregtech_Recipe_Map.sCyclotronRecipes.addRecipe(true, aInputs, new ItemStack[] { aOutput }, + if (Recipe_GT.Gregtech_Recipe_Map.sCyclotronRecipes.addRecipe(true, aInputs, aOutput, null, aChances, new FluidStack[] { aFluidInput }, new FluidStack[] { aFluidOutput }, Math.max(1, aDuration), Math.max(1, aEUt), aSpecialValue) != null) { return true; @@ -913,6 +909,29 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { } + /** + * Lets me add recipes for GT 5.08 & 5.09, since someone broke the method headers. + */ + @Override + public boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput) { + Method m = StaticFields59.mAddFurnaceRecipe; + if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + try { + return (boolean) m.invoke(null, aDust, aOutput); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + return false; + } + } + else { + try { + return (boolean) m.invoke(null, aDust, aOutput, true); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + return false; + } + } + } + + diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java index d0b9d9287f..9a12acaaf1 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import gregtech.api.enums.ItemList; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -7,6 +10,8 @@ import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ControlCore; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler_Adv; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Naquadah; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_SuperBus_Input; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_SuperBus_Output; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase; public class GregtechCustomHatches { @@ -15,79 +20,158 @@ public class GregtechCustomHatches { if (gtPlusPlus.core.lib.LoadedMods.Gregtech) { Logger.INFO("Gregtech5u Content | Registering Custom Fluid Hatches."); run1(); - + //No pollution in 5.08 - if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) - run2(); + if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + run2(); + } + + run3(); } } private static void run1() { GregtechItemList.Hatch_Input_Cryotheum - .set(new GT_MetaTileEntity_Hatch_CustomFluidBase(FluidUtils.getFluidStack("cryotheum", 1).getFluid(), // Fluid - // to - // resitrct - // hatch - // to - 128000, // Capacity - 967, // ID - "hatch.cryotheum.input.tier.00", // unlocal name - "Cryotheum Cooling Hatch" // Local name - ).getStackForm(1L)); + .set(new GT_MetaTileEntity_Hatch_CustomFluidBase(FluidUtils.getFluidStack("cryotheum", 1).getFluid(), // Fluid + // to + // resitrct + // hatch + // to + 128000, // Capacity + 967, // ID + "hatch.cryotheum.input.tier.00", // unlocal name + "Cryotheum Cooling Hatch" // Local name + ).getStackForm(1L)); GregtechItemList.Hatch_Input_Pyrotheum - .set(new GT_MetaTileEntity_Hatch_CustomFluidBase(FluidUtils.getFluidStack("pyrotheum", 1).getFluid(), // Fluid - // to - // resitrct - // hatch - // to - 128000, // Capacity - 968, // ID - "hatch.pyrotheum.input.tier.00", // unlocal name - "Pyrotheum Heating Vent" // Local name - ).getStackForm(1L)); + .set(new GT_MetaTileEntity_Hatch_CustomFluidBase(FluidUtils.getFluidStack("pyrotheum", 1).getFluid(), // Fluid + // to + // resitrct + // hatch + // to + 128000, // Capacity + 968, // ID + "hatch.pyrotheum.input.tier.00", // unlocal name + "Pyrotheum Heating Vent" // Local name + ).getStackForm(1L)); GregtechItemList.Hatch_Input_Naquadah.set(new GT_MetaTileEntity_Hatch_Naquadah(969, // ID "hatch.naquadah.input.tier.00", // unlocal name "Naquadah Reactor Input hatch" // Local name - ).getStackForm(1L)); + ).getStackForm(1L)); } private static void run2() { GregtechItemList.Hatch_Muffler_Adv_LV - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30001, "hatch.muffler.adv.tier.01", "Advanced Muffler Hatch (LV)", 1)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30001, "hatch.muffler.adv.tier.01", "Advanced Muffler Hatch (LV)", 1)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_MV - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30002, "hatch.muffler.adv.tier.02", "Advanced Muffler Hatch (MV)", 2)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30002, "hatch.muffler.adv.tier.02", "Advanced Muffler Hatch (MV)", 2)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_HV - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30003, "hatch.muffler.adv.tier.03", "Advanced Muffler Hatch (HV)", 3)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30003, "hatch.muffler.adv.tier.03", "Advanced Muffler Hatch (HV)", 3)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_EV - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30004, "hatch.muffler.adv.tier.04", "Advanced Muffler Hatch (EV)", 4)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30004, "hatch.muffler.adv.tier.04", "Advanced Muffler Hatch (EV)", 4)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_IV - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30005, "hatch.muffler.adv.tier.05", "Advanced Muffler Hatch (IV)", 5)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30005, "hatch.muffler.adv.tier.05", "Advanced Muffler Hatch (IV)", 5)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_LuV - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30006, "hatch.muffler.adv.tier.06", "Advanced Muffler Hatch (LuV)", 6)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30006, "hatch.muffler.adv.tier.06", "Advanced Muffler Hatch (LuV)", 6)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_ZPM - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30007, "hatch.muffler.adv.tier.07", "Advanced Muffler Hatch (ZPM)", 7)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30007, "hatch.muffler.adv.tier.07", "Advanced Muffler Hatch (ZPM)", 7)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_UV - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30008, "hatch.muffler.adv.tier.08", "Advanced Muffler Hatch (UV)", 8)) - .getStackForm(1L)); + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30008, "hatch.muffler.adv.tier.08", "Advanced Muffler Hatch (UV)", 8)) + .getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_MAX - .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30009, "hatch.muffler.adv.tier.09", "Advanced Muffler Hatch (MAX)", 9)) - .getStackForm(1L)); - + .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30009, "hatch.muffler.adv.tier.09", "Advanced Muffler Hatch (MAX)", 9)) + .getStackForm(1L)); + //GT++ multiblock Control Core Bus GregtechItemList.Hatch_Control_Core .set((new GT_MetaTileEntity_Hatch_ControlCore(30020, "hatch.control.adv", "Control Core Module", 1)) .getStackForm(1L)); } + private static void run3() { + + /* + * Super Input Busses + */ + + int aStartID = 30021; + + GregtechItemList.Hatch_SuperBus_Input_ULV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.00", "Super Bus (I) (ULV)", 0)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_LV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.01", "Super Bus (I) (LV)", 1)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_MV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.02", "Super Bus (I) (MV)", 2)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_HV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.03", "Super Bus (I) (HV)", 3)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_EV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.04", "Super Bus (I) (EV)", 4)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_IV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.05", "Super Bus (I) (IV)", 5)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_LuV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.06", "Super Bus (I) (LuV)", 6)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_ZPM + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.07", "Super Bus (I) (ZPM)", 7)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_UV + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.08", "Super Bus (I) (UV)", 8)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Input_MAX + .set((new GT_MetaTileEntity_SuperBus_Input(aStartID++, "hatch.superbus.input.tier.09", "Super Bus (I) (MAX)", 9)) + .getStackForm(1L)); + + /* + * Super Output Busses + */ + + GregtechItemList.Hatch_SuperBus_Output_ULV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.00", "Super Bus (O) (ULV)", 0)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_LV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.01", "Super Bus (O) (LV)", 1)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_MV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.02", "Super Bus (O) (MV)", 2)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_HV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.03", "Super Bus (O) (HV)", 3)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_EV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.04", "Super Bus (O) (EV)", 4)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_IV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.05", "Super Bus (O) (IV)", 5)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_LuV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.06", "Super Bus (O) (LuV)", 6)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_ZPM + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.07", "Super Bus (O) (ZPM)", 7)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_UV + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.08", "Super Bus (O) (UV)", 8)) + .getStackForm(1L)); + GregtechItemList.Hatch_SuperBus_Output_MAX + .set((new GT_MetaTileEntity_SuperBus_Output(aStartID++, "hatch.superbus.output.tier.09", "Super Bus (O) (MAX)", 9)) + .getStackForm(1L)); + + } + } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java index 2c8a63312f..a3a04a44da 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java @@ -43,34 +43,34 @@ public class GregtechDehydrator { //Basic GregtechItemList.GT_Dehydrator_MV .set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(911, "machine.dehydrator.tier.00", - "Basic Dehydrator I", 2, "This dehydrates your Grapes into Raisins. " + CORE.GT_Tooltip, + "Basic Dehydrator I", 2, "This dehydrates your Grapes into Raisins. ", Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes, 2, 9, 10000, 2, 5, "Dehydrator.png", "", false, false, 0, "UNBOXINATOR", null).getStackForm(1L)); GregtechItemList.GT_Dehydrator_HV .set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(912, "machine.dehydrator.tier.01", - "Basic Dehydrator II", 3, "This dehydrates your Grapes into Raisins. " + CORE.GT_Tooltip, + "Basic Dehydrator II", 3, "This dehydrates your Grapes into Raisins. ", Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes, 2, 9, 10000, 2, 5, "Dehydrator.png", "", false, false, 0, "UNBOXINATOR", null).getStackForm(1L)); //Chemical GregtechItemList.GT_Dehydrator_EV .set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(813, "advancedmachine.dehydrator.tier.01", - "Chemical Dehydrator I", 4, "This dehydrates your Grapes into Raisins. " + CORE.GT_Tooltip, + "Chemical Dehydrator I", 4, "This dehydrates your Grapes into Raisins. ", Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes, 2, 9, 10000, 2, 5, "Dehydrator.png", "", false, false, 0, "UNBOXINATOR", null).getStackForm(1L)); GregtechItemList.GT_Dehydrator_IV.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(814, "advancedmachine.dehydrator.tier.02", "Chemical Dehydrator II", 5, - "A hangover is the way your body reacts to dehydration. " + CORE.GT_Tooltip, + "A hangover is the way your body reacts to dehydration. ", Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes, 2, 9, 10000, 2, 5, "Dehydrator.png", "", false, false, 0, "UNBOXINATOR", null).getStackForm(1L)); GregtechItemList.GT_Dehydrator_LuV.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(815, "advancedmachine.dehydrator.tier.03", "Chemical Dehydrator III", 6, - "You could probably make space icecream with this.. " + CORE.GT_Tooltip, + "You could probably make space icecream with this.. ", Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes, 2, 9, 10000, 2, 5, "Dehydrator.png", "", false, false, 0, "UNBOXINATOR", null).getStackForm(1L)); GregtechItemList.GT_Dehydrator_ZPM.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(816, "advancedmachine.dehydrator.tier.04", "Chemical Dehydrator IV", 7, - "You can definitely make space icecream with this.. " + CORE.GT_Tooltip, + "You can definitely make space icecream with this.. ", Recipe_GT.Gregtech_Recipe_Map.sChemicalDehydratorRecipes, 2, 9, 10000, 2, 5, "Dehydrator.png", "", false, false, 0, "UNBOXINATOR", null).getStackForm(1L)); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java new file mode 100644 index 0000000000..3e9582b80a --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java @@ -0,0 +1,42 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicBreaker; + +public class GregtechPowerBreakers { + + public static void run() { + if (gtPlusPlus.core.lib.LoadedMods.Gregtech) { + Logger.INFO("Gregtech5u Content | Registering Power Breakers."); + run1(); + } + + } + + private static void run1() { + //30200 + int aStartID = 30400; + GregtechItemList.BreakerBox_ULV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.00", + "Ultra Low Voltage Breaker Box", 0, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_LV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.01", + "Low Voltage Breaker Box", 1, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_MV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.02", + "Medium Voltage Breaker Box", 2, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_HV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.03", + "High Voltage Breaker Box", 3, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_EV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.04", + "Extreme Voltage Breaker Box", 16, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_IV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.05", + "Insane Voltage Breaker Box", 5, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_LuV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.06", + "Ludicrous Voltage Breaker Box", 6, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_ZPM.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.07", + "ZPM Voltage Breaker Box", 7, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_UV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.08", + "Ultimate Voltage Breaker Box", 8, "", 16)).getStackForm(1L)); + GregtechItemList.BreakerBox_MAX.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.09", + "MAX Voltage Breaker Box", 9, "", 16)).getStackForm(1L)); + + } +}
\ No newline at end of file diff --git a/src/resources/assets/forestry/AlvearyFrame.png b/src/resources/assets/forestry/AlvearyFrame.png Binary files differindex 366c049728..c69ead8dd0 100644 --- a/src/resources/assets/forestry/AlvearyFrame.png +++ b/src/resources/assets/forestry/AlvearyFrame.png diff --git a/src/resources/assets/forestry/AlvearyMutator.png b/src/resources/assets/forestry/AlvearyMutator.png Binary files differindex b670d9d238..2225f2748f 100644 --- a/src/resources/assets/forestry/AlvearyMutator.png +++ b/src/resources/assets/forestry/AlvearyMutator.png diff --git a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png Binary files differindex 1feed9a89a..f21e59ec96 100644 --- a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png +++ b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.off.png diff --git a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png Binary files differindex 1feed9a89a..f21e59ec96 100644 --- a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png +++ b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.framehousing.on.png diff --git a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png Binary files differindex 5c8f3ab457..51336c00b9 100644 --- a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png +++ b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.off.png diff --git a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png Binary files differindex 5c8f3ab457..51336c00b9 100644 --- a/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png +++ b/src/resources/assets/forestry/textures/blocks/apiculture/alveary.mutator.on.png diff --git a/src/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png b/src/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png Binary files differindex c563ca0021..4569cb8af3 100644 --- a/src/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png +++ b/src/resources/assets/gregtech/textures/blocks/fluids/fluid.nitrofuel_old.png diff --git a/src/resources/assets/gregtech/textures/blocks/iconsets/GAS_TURBINE_SIDE_ACTIVE.png b/src/resources/assets/gregtech/textures/blocks/iconsets/GAS_TURBINE_SIDE_ACTIVE.png Binary files differindex 79d89094a5..e1d4a0f009 100644 --- a/src/resources/assets/gregtech/textures/blocks/iconsets/GAS_TURBINE_SIDE_ACTIVE.png +++ b/src/resources/assets/gregtech/textures/blocks/iconsets/GAS_TURBINE_SIDE_ACTIVE.png diff --git a/src/resources/assets/gregtech/textures/blocks/iconsets/STEAM_TURBINE_SIDE_ACTIVE.png b/src/resources/assets/gregtech/textures/blocks/iconsets/STEAM_TURBINE_SIDE_ACTIVE.png Binary files differindex 79d89094a5..e1d4a0f009 100644 --- a/src/resources/assets/gregtech/textures/blocks/iconsets/STEAM_TURBINE_SIDE_ACTIVE.png +++ b/src/resources/assets/gregtech/textures/blocks/iconsets/STEAM_TURBINE_SIDE_ACTIVE.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png Binary files differindex b58ded215f..ad51b6f35f 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block1.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png Binary files differindex a56a62ad1b..9544681ea6 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block2.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png Binary files differindex 6de77b309b..161d37faf8 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block3.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png Binary files differindex e5f7b5e76f..7d3a6d1e29 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block4.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png Binary files differindex 4bb49067ed..a8a4b0e1f2 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block5.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png Binary files differindex b58ded215f..ad51b6f35f 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/block6.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png Binary files differindex d93c52c24c..2041e4d562 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/frameGt.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png Binary files differindex 41cc316f7b..0032fdd6e5 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/ore_animated.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png Binary files differindex 65529e2772..f1daedc2c9 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeLarge.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png Binary files differindex 06b3e0d189..9927fa293e 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeMedium.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png Binary files differindex b5e620f045..6c29b067f3 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/ENRICHED/pipeSmall.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png Binary files differindex 6de77b309b..161d37faf8 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block1.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png Binary files differindex a56a62ad1b..9544681ea6 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block2.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png Binary files differindex 6de77b309b..161d37faf8 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block3.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png Binary files differindex e5f7b5e76f..7d3a6d1e29 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block4.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png Binary files differindex 4bb49067ed..a8a4b0e1f2 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block5.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png Binary files differindex b58ded215f..ad51b6f35f 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/block6.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png Binary files differindex d93c52c24c..2041e4d562 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/frameGt.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png Binary files differindex 65529e2772..f1daedc2c9 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeLarge.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png Binary files differindex 06b3e0d189..9927fa293e 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeMedium.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png Binary files differindex b5e620f045..6c29b067f3 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/GEM_A/pipeSmall.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png Binary files differindex b58ded215f..ad51b6f35f 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block1.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png Binary files differindex a56a62ad1b..9544681ea6 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block2.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png Binary files differindex 6de77b309b..161d37faf8 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block3.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png Binary files differindex e5f7b5e76f..7d3a6d1e29 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block4.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png Binary files differindex 4bb49067ed..a8a4b0e1f2 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block5.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png Binary files differindex b58ded215f..ad51b6f35f 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/block6.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png Binary files differindex d93c52c24c..2041e4d562 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/frameGt.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png Binary files differindex 92a1c3be3a..919d9bb70a 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/ore.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png Binary files differindex 65529e2772..f1daedc2c9 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeLarge.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png Binary files differindex 06b3e0d189..9927fa293e 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeMedium.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png Binary files differindex b5e620f045..6c29b067f3 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/NUCLEAR/pipeSmall.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png Binary files differindex 78695fb493..3e33d0feec 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block1.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png Binary files differindex a56a62ad1b..9544681ea6 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block2.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png Binary files differindex 6de77b309b..161d37faf8 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block3.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png Binary files differindex e5f7b5e76f..7d3a6d1e29 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block4.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png Binary files differindex 4bb49067ed..a8a4b0e1f2 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block5.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png Binary files differindex b58ded215f..ad51b6f35f 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/block6.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png Binary files differindex d93c52c24c..2041e4d562 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/frameGt.png diff --git a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png Binary files differindex e6374cbec2..9cb38f3f8e 100644 --- a/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png +++ b/src/resources/assets/gregtech/textures/blocks/materialicons/REFINED/ore.png diff --git a/src/resources/assets/gregtech/textures/gui/PowerSubStation.png b/src/resources/assets/gregtech/textures/gui/PowerSubStation.png Binary files differindex ba8479807d..0463dbedca 100644 --- a/src/resources/assets/gregtech/textures/gui/PowerSubStation.png +++ b/src/resources/assets/gregtech/textures/gui/PowerSubStation.png diff --git a/src/resources/assets/gregtech/textures/gui/basicmachines/BlastSmelter.png b/src/resources/assets/gregtech/textures/gui/basicmachines/BlastSmelter.png Binary files differindex e55c4f2b10..f21ebc1026 100644 --- a/src/resources/assets/gregtech/textures/gui/basicmachines/BlastSmelter.png +++ b/src/resources/assets/gregtech/textures/gui/basicmachines/BlastSmelter.png diff --git a/src/resources/assets/gregtech/textures/gui/basicmachines/Dehydrator.png b/src/resources/assets/gregtech/textures/gui/basicmachines/Dehydrator.png Binary files differindex 6ff738e8da..6b086039ba 100644 --- a/src/resources/assets/gregtech/textures/gui/basicmachines/Dehydrator.png +++ b/src/resources/assets/gregtech/textures/gui/basicmachines/Dehydrator.png diff --git a/src/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png b/src/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png Binary files differindex cb0a502f35..163dd0d4a0 100644 --- a/src/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png +++ b/src/resources/assets/gregtech/textures/gui/basicmachines/FissionFuel.png diff --git a/src/resources/assets/gregtech/textures/gui/basicmachines/LFTR.png b/src/resources/assets/gregtech/textures/gui/basicmachines/LFTR.png Binary files differindex 625b8c891b..fd3f751671 100644 --- a/src/resources/assets/gregtech/textures/gui/basicmachines/LFTR.png +++ b/src/resources/assets/gregtech/textures/gui/basicmachines/LFTR.png diff --git a/src/resources/assets/gregtech/textures/gui/basicmachines/MixerAdvanced.png b/src/resources/assets/gregtech/textures/gui/basicmachines/MixerAdvanced.png Binary files differindex a6a3c4a31a..21eedab2f5 100644 --- a/src/resources/assets/gregtech/textures/gui/basicmachines/MixerAdvanced.png +++ b/src/resources/assets/gregtech/textures/gui/basicmachines/MixerAdvanced.png diff --git a/src/resources/assets/gregtech/textures/gui/multimachines/LFTR.png b/src/resources/assets/gregtech/textures/gui/multimachines/LFTR.png Binary files differindex 625b8c891b..fd3f751671 100644 --- a/src/resources/assets/gregtech/textures/gui/multimachines/LFTR.png +++ b/src/resources/assets/gregtech/textures/gui/multimachines/LFTR.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png Binary files differindex a4a6bd742d..59611725f8 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/TURBINE_BLADE.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png Binary files differindex a763f6b0df..8a240a574d 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushed.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png Binary files differindex b2d4e2a476..17859801da 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/crushedPurified.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png Binary files differindex dd20d74f2c..b63f9c3b35 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/gem.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png Binary files differindex c7bb0e6631..85f543676f 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/handleMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png Binary files differindex 6c6a16bfe5..4eefbcd6e3 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/rotor.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png Binary files differindex 58a7522b4b..28d51f02af 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png Binary files differindex 41545c8b38..5665e03aee 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/toolHeadSoldering.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png Binary files differindex a4a6bd742d..59611725f8 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/ENRICHED/turbineBlade.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png Binary files differindex a4a6bd742d..c78a1d5570 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/TURBINE_BLADE.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png Binary files differindex a763f6b0df..8a240a574d 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png Binary files differindex b2d4e2a476..17859801da 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushedPurified.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png Binary files differindex a1600cad7c..b546c4eeec 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/crushed_OVERLAY.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png Binary files differindex c7bb0e6631..9021949091 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/handleMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png Binary files differindex 51cb4b73a0..20436f976e 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/lens_OVERLAY.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png Binary files differindex 6c6a16bfe5..14b62252ae 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/rotor.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png Binary files differindex 58a7522b4b..5ca5a9b6ed 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png Binary files differindex 41545c8b38..fa9e379c16 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/toolHeadSoldering.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png Binary files differindex a4a6bd742d..c78a1d5570 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/GEM_A/turbineBlade.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png Binary files differindex a4a6bd742d..4523be43b9 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/TURBINE_BLADE.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png Binary files differindex b2d4e2a476..e2edcad772 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/crushedPurified.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png Binary files differindex dd20d74f2c..13a798cdc3 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/gem.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png Binary files differindex c7bb0e6631..9021949091 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/handleMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png Binary files differindex 51cb4b73a0..20436f976e 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/lens_OVERLAY.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png Binary files differindex 6c6a16bfe5..14b62252ae 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/rotor.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png Binary files differindex 58a7522b4b..5ca5a9b6ed 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png Binary files differindex 41545c8b38..fa9e379c16 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/toolHeadSoldering.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png Binary files differindex a4a6bd742d..4523be43b9 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/turbineBlade.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png Binary files differindex a4a6bd742d..4523be43b9 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/TURBINE_BLADE.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png Binary files differindex a763f6b0df..6f893e05b7 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png Binary files differindex b2d4e2a476..12a99bfde1 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushedPurified.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png Binary files differindex a1600cad7c..2a7b9e6d6c 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/crushed_OVERLAY.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png Binary files differindex dd20d74f2c..721d19529e 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/gem.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png Binary files differindex c7bb0e6631..38a7fc65c9 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/handleMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png Binary files differindex 51cb4b73a0..23b3ac8f76 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/lens_OVERLAY.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png Binary files differindex 6c6a16bfe5..751111417a 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/rotor.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png Binary files differindex 58a7522b4b..29bd613285 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadMallet.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png Binary files differindex 41545c8b38..242dbd14fc 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/toolHeadSoldering.png diff --git a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png Binary files differindex a4a6bd742d..4523be43b9 100644 --- a/src/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png +++ b/src/resources/assets/gregtech/textures/items/materialicons/REFINED/turbineBlade.png diff --git a/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png b/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png Binary files differindex 96d6d35052..ed907728d4 100644 --- a/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png +++ b/src/resources/assets/ic2/textures/items/cell/HydrofluoricAcid.png diff --git a/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png b/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png Binary files differindex e626196e68..135d293637 100644 --- a/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png +++ b/src/resources/assets/ic2/textures/items/cell/HydrogenChloride.png diff --git a/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png b/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png Binary files differindex 1cec5369b9..f8bf8329b5 100644 --- a/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png +++ b/src/resources/assets/ic2/textures/items/cell/SulfurDioxide.png diff --git a/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png b/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png Binary files differindex 54d54ebe95..5c62c379ab 100644 --- a/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png +++ b/src/resources/assets/ic2/textures/items/cell/SulfuricApatite.png diff --git a/src/resources/assets/ic2/textures/items/cell/SulfuricLithium.png b/src/resources/assets/ic2/textures/items/cell/SulfuricLithium.png Binary files differindex 49b5236a14..b8d02729ba 100644 --- a/src/resources/assets/ic2/textures/items/cell/SulfuricLithium.png +++ b/src/resources/assets/ic2/textures/items/cell/SulfuricLithium.png diff --git a/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png b/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png Binary files differindex 476b20f301..53f8604e13 100644 --- a/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png +++ b/src/resources/assets/ic2/textures/items/cell/SulfurousAcid.png diff --git a/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png b/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png Binary files differindex b1d4685246..413179e396 100644 --- a/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png +++ b/src/resources/assets/ic2/textures/items/cell/ThoriumTetraFluoride.png diff --git a/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png b/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png Binary files differindex 084a54ce64..2fe0c893fe 100644 --- a/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png +++ b/src/resources/assets/ic2/textures/items/cell/UraniumHexaFluoride.png diff --git a/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png b/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png Binary files differindex 123783fc37..ba2d239308 100644 --- a/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png +++ b/src/resources/assets/ic2/textures/items/cell/UraniumTetraFluoride.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png Binary files differindex fb5f3783ee..045470a2b1 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png Binary files differindex c0c4c83baa..b967b4f1dd 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png Binary files differindex 93d7585647..a638c0389f 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png Binary files differindex 829dd0575b..7dd2e69f7e 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png Binary files differindex 82f0b29a98..b6c3f36716 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png Binary files differindex 67797b1f79..321de66ff9 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png diff --git a/src/resources/assets/miscutils/lang/en_US.lang b/src/resources/assets/miscutils/lang/en_US.lang index 2dc5fd574e..3276185a7b 100644 --- a/src/resources/assets/miscutils/lang/en_US.lang +++ b/src/resources/assets/miscutils/lang/en_US.lang @@ -40,7 +40,7 @@ entity.sickBlaze.name=Infected Zealot tile.blockToolBuilder.name=GregTech Tool Constructor //Tools -item.itemBufferCore.name=Buffer Core +item.itemBufferCore.name=Energy Core item.itemStaballoyPickaxe.name=Tunnel Digger item.itemStaballoyAxe.name=Tree Feller item.itemSandstoneHammer.name=Cobblestone Breaker @@ -1732,16 +1732,16 @@ item.SlowBuildingRing.name=§eSlow Building Ring§7 item.itemStaballoyPickaxe.name=Tunnel Digger item.itemStaballoyAxe.name=Tree Feller item.itemSandstoneHammer.name=Cobblestone Breaker -item.itemBufferCore1.name=Buffer Core [ULV]. -item.itemBufferCore2.name=Buffer Core [LV]. -item.itemBufferCore3.name=Buffer Core [MV]. -item.itemBufferCore4.name=Buffer Core [HV]. -item.itemBufferCore5.name=Buffer Core [EV]. -item.itemBufferCore6.name=Buffer Core [IV]. -item.itemBufferCore7.name=Buffer Core [LuV]. -item.itemBufferCore8.name=Buffer Core [ZPM]. -item.itemBufferCore9.name=Buffer Core [UV]. -item.itemBufferCore10.name=Buffer Core [MAX]. +item.itemBufferCore1.name=Energy Core [ULV]. +item.itemBufferCore2.name=Energy Core [LV]. +item.itemBufferCore3.name=Energy Core [MV]. +item.itemBufferCore4.name=Energy Core [HV]. +item.itemBufferCore5.name=Energy Core [EV]. +item.itemBufferCore6.name=Energy Core [IV]. +item.itemBufferCore7.name=Energy Core [LuV]. +item.itemBufferCore8.name=Energy Core [ZPM]. +item.itemBufferCore9.name=Energy Core [UV]. +item.itemBufferCore10.name=Energy Core [MAX]. item.itemPLACEHOLDER_Circuit.name=Quark Manipulator (UV) item.itembookgt.name=§oThermal Boiler Manual @@ -2699,6 +2699,7 @@ item.particle.base.Lambda.name=Lambda item.particle.base.Omega.name=Omega item.particle.base.Pion.name=Pion item.particle.base.ETA Meson.name=ETA Meson +item.particle.base.Unknown.name=Unknown Particle //Added 12/1/19 diff --git a/src/resources/assets/miscutils/textures/DevCapeHD.png b/src/resources/assets/miscutils/textures/DevCapeHD.png Binary files differindex d2cee71581..f74bd8c9e3 100644 --- a/src/resources/assets/miscutils/textures/DevCapeHD.png +++ b/src/resources/assets/miscutils/textures/DevCapeHD.png diff --git a/src/resources/assets/miscutils/textures/Orange.png b/src/resources/assets/miscutils/textures/Orange.png Binary files differindex 21fc187dd3..9de164d437 100644 --- a/src/resources/assets/miscutils/textures/Orange.png +++ b/src/resources/assets/miscutils/textures/Orange.png diff --git a/src/resources/assets/miscutils/textures/OrangeHD.png b/src/resources/assets/miscutils/textures/OrangeHD.png Binary files differindex b7dfa6d79a..ea5e8af8cf 100644 --- a/src/resources/assets/miscutils/textures/OrangeHD.png +++ b/src/resources/assets/miscutils/textures/OrangeHD.png diff --git a/src/resources/assets/miscutils/textures/PatreonCapeHD.png b/src/resources/assets/miscutils/textures/PatreonCapeHD.png Binary files differindex 537b672d70..c4ebef82b2 100644 --- a/src/resources/assets/miscutils/textures/PatreonCapeHD.png +++ b/src/resources/assets/miscutils/textures/PatreonCapeHD.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png Binary files differindex 8fa5ca3ca0..b0c62a7b3d 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/DecayablesChest_full.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png Binary files differindex c4ea9ed594..22c7cd7978 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FIREBOX_STABALLOY.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png Binary files differindex 1e9a4514b0..eb8020f1c9 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png Binary files differindex 7724e07436..4a8cbd634c 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_GRISIUM.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png Binary files differindex ddb2ea638b..fc2b8c5c89 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png Binary files differindex a45e084e54..7753c1920a 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_020.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_020.png Binary files differindex 337c1337b0..373cccb65d 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_020.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_020.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_DS.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_DS.png Binary files differindex 5c633c843a..52e1a73063 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_DS.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_DS.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_MA956.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_MA956.png Binary files differindex 9ff63c86b9..ab3a76d006 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_MA956.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_INCOLOY_MA956.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png Binary files differindex d642f0401f..75f21218d9 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png Binary files differindex 3402226b64..05f1cc1d42 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_POTIN.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png Binary files differindex 615fa9885e..9ba5c0e255 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_STELLITE.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png Binary files differindex dbd0d6242e..4b707d2ca2 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TALONITE.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png Binary files differindex 04e8ad5898..64b28d0233 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TANTALLOY61.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png Binary files differindex f2f82b6838..1d71c95ea4 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_TUMBAGA.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png Binary files differindex 87226e7554..d6cb89d67d 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZERON100.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png Binary files differindex f091397be6..6c45ff313f 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png Binary files differindex 79d89094a5..8ae37e61d4 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/STEAM_TURBINE_SIDE_ACTIVE.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png Binary files differindex 5af4f99923..9dc63e146e 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/_PlaceHolder.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png Binary files differindex 6582a6306a..ce051d468c 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_blue.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png Binary files differindex 6609ca0044..9d454b17d4 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_dimensional_cover_orange.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png Binary files differindex 801481e0be..69330145ba 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_active_animated.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png Binary files differindex 96716ec7e9..2af5057b3d 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/adv_machine_matterfab_animated.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png Binary files differindex 4f5708d368..600def1e1b 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/audio_out_active.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png Binary files differindex 3d44878087..68b4e3e9c2 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/log_acacia_top.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png Binary files differindex e3b47e5ca7..bf1cb0e6a5 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_dieselmotor_active.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png Binary files differindex 469dff5aa0..3256b41734 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating.png diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png Binary files differindex 469dff5aa0..3256b41734 100644 --- a/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png +++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/machine_top_vent_rotating_fast.png diff --git a/src/resources/assets/miscutils/textures/blocks/blockAntiGrief.png b/src/resources/assets/miscutils/textures/blocks/blockAntiGrief.png Binary files differindex f54b073116..4168d9d934 100644 --- a/src/resources/assets/miscutils/textures/blocks/blockAntiGrief.png +++ b/src/resources/assets/miscutils/textures/blocks/blockAntiGrief.png diff --git a/src/resources/assets/miscutils/textures/blocks/blockBlock.png b/src/resources/assets/miscutils/textures/blocks/blockBlock.png Binary files differindex 03ebe05688..1276f5fa24 100644 --- a/src/resources/assets/miscutils/textures/blocks/blockBlock.png +++ b/src/resources/assets/miscutils/textures/blocks/blockBlock.png diff --git a/src/resources/assets/miscutils/textures/blocks/blockBloodSteel.png b/src/resources/assets/miscutils/textures/blocks/blockBloodSteel.png Binary files differindex 6ce0c8615f..d23f8721e4 100644 --- a/src/resources/assets/miscutils/textures/blocks/blockBloodSteel.png +++ b/src/resources/assets/miscutils/textures/blocks/blockBloodSteel.png diff --git a/src/resources/assets/miscutils/textures/blocks/blockDefault.png b/src/resources/assets/miscutils/textures/blocks/blockDefault.png Binary files differindex f90f75723e..84a6b68e0e 100644 --- a/src/resources/assets/miscutils/textures/blocks/blockDefault.png +++ b/src/resources/assets/miscutils/textures/blocks/blockDefault.png diff --git a/src/resources/assets/miscutils/textures/blocks/blockFrameGt.png b/src/resources/assets/miscutils/textures/blocks/blockFrameGt.png Binary files differindex d93c52c24c..56a56cf752 100644 --- a/src/resources/assets/miscutils/textures/blocks/blockFrameGt.png +++ b/src/resources/assets/miscutils/textures/blocks/blockFrameGt.png diff --git a/src/resources/assets/miscutils/textures/blocks/blockNuclearFueledHeliumGenerator.png b/src/resources/assets/miscutils/textures/blocks/blockNuclearFueledHeliumGenerator.png Binary files differindex 8ec28aeb6c..f5f51c7175 100644 --- a/src/resources/assets/miscutils/textures/blocks/blockNuclearFueledHeliumGenerator.png +++ b/src/resources/assets/miscutils/textures/blocks/blockNuclearFueledHeliumGenerator.png diff --git a/src/resources/assets/miscutils/textures/blocks/blockStaballoy.png b/src/resources/assets/miscutils/textures/blocks/blockStaballoy.png Binary files differindex f90f75723e..84a6b68e0e 100644 --- a/src/resources/assets/miscutils/textures/blocks/blockStaballoy.png +++ b/src/resources/assets/miscutils/textures/blocks/blockStaballoy.png diff --git a/src/resources/assets/miscutils/textures/blocks/clear_flow.png b/src/resources/assets/miscutils/textures/blocks/clear_flow.png Binary files differindex f90f75723e..84a6b68e0e 100644 --- a/src/resources/assets/miscutils/textures/blocks/clear_flow.png +++ b/src/resources/assets/miscutils/textures/blocks/clear_flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/clear_still.png b/src/resources/assets/miscutils/textures/blocks/clear_still.png Binary files differindex f90f75723e..84a6b68e0e 100644 --- a/src/resources/assets/miscutils/textures/blocks/clear_still.png +++ b/src/resources/assets/miscutils/textures/blocks/clear_still.png diff --git a/src/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png b/src/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png Binary files differindex 1241b24fad..0cf85541e4 100644 --- a/src/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png +++ b/src/resources/assets/miscutils/textures/blocks/compressed/obsidian3.png diff --git a/src/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png b/src/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png Binary files differindex 3d07d55d0c..4d9c3d2f67 100644 --- a/src/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png +++ b/src/resources/assets/miscutils/textures/blocks/compressed/obsidian4.png diff --git a/src/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png b/src/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png Binary files differindex 5f83804605..149ae598d0 100644 --- a/src/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png +++ b/src/resources/assets/miscutils/textures/blocks/compressed/obsidian5.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png Binary files differindex 75fdf154e6..6ea5b4c515 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png Binary files differindex 113b14ba51..7f1f2aa712 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Cryotheum_Still.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png Binary files differindex 620646075d..b24939367a 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png Binary files differindex b0c6449d4e..3fb18d9c00 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Ender_Still.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png Binary files differindex 4ec6c5636c..fa4fa813bf 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png Binary files differindex c72b26c547..00355135df 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Pyrotheum_Still.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png Binary files differindex 51f03723c6..50414d57db 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png Binary files differindex 9ab2323515..edf0166265 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png +++ b/src/resources/assets/miscutils/textures/blocks/fluid/Fluid_Sludge_Still.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png Binary files differindex 113b14ba51..b51346219b 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.cryotheum.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png Binary files differindex b0c6449d4e..3fb18d9c00 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.ender.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png Binary files differindex 9a4148f6b6..512df7ce04 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.fluid.autogenerated.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png Binary files differindex c2907e3c36..61d77a51d3 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrofluoricacid.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png Binary files differindex 3ce72d3242..f79564ea36 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.hydrogenchloride.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png Binary files differindex ef8b07e15a..a752755254 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.jackdaniels.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png Binary files differindex 7e3566d122..251206d195 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.lithiumhydroxide.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.new.1.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.new.1.png Binary files differindex 96f8dff23e..6e44e97212 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.new.1.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.new.1.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.old.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.old.png Binary files differindex 9a4148f6b6..512df7ce04 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.old.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.old.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png Binary files differindex 30d83831ec..7c5ffd0c77 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.molten.autogenerated.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png Binary files differindex 4acabc510c..f0265d8ad2 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.plasma.autogenerated.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png Binary files differindex c72b26c547..00355135df 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.pyrotheum.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png Binary files differindex 8f7e2fa494..2ff3fb6e7b 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurdioxide.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png Binary files differindex d562db4aa4..902015b8e1 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuricapatite.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png Binary files differindex 56de01ef97..fee5f03cd5 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfuriclithium.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png Binary files differindex c8bdbc3f1e..73fa814eb5 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.sulfurousacid.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumhexafluoride.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumhexafluoride.png Binary files differindex 415c751386..63e9189c45 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumhexafluoride.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumhexafluoride.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png Binary files differindex b12175a93f..05d4c69e1a 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.thoriumtetrafluoride.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png Binary files differindex 02befdf375..90cbef3417 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumhexafluoride.png diff --git a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png Binary files differindex 02befdf375..90cbef3417 100644 --- a/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png +++ b/src/resources/assets/miscutils/textures/blocks/fluids/fluid.uraniumtetrafluoride.png diff --git a/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png b/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png Binary files differindex 8b3bb44ce0..d4e45d6adf 100644 --- a/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png +++ b/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_0.png diff --git a/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png b/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png Binary files differindex 6377ff8eb4..739abd1090 100644 --- a/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png +++ b/src/resources/assets/miscutils/textures/blocks/hellfire/blockHellFire_layer_1.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.png Binary files differindex 0f2f90201b..d8880393ce 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_2.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.png Binary files differindex 5690b9b72a..b79fa87cf6 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_4.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.png Binary files differindex 403bd112c7..150c1312c9 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_6.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.png Binary files differindex d45103eade..c62b04a499 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_HP_ACTIVE_8.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.png Binary files differindex 1554102eda..b0f38da9c9 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_1.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.png Binary files differindex b47579c346..f614e41d52 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_2.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.png Binary files differindex 2d703ee0dd..c011a999de 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_3.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.png Binary files differindex c4911816f8..21a2847a7c 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_4.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.png Binary files differindex 8f5aeb87c0..98bf3224ce 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_6.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.png Binary files differindex 3feeb71c81..cad7674ce5 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_7.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.png Binary files differindex fef556c0ff..a5501d12d2 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_8.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.png b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.png Binary files differindex b413175061..b294af5b63 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/BigTurbine/LARGE_TURBINE_LP_ACTIVE_9.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png Binary files differindex 946f4152db..1fd61ede58 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png Binary files differindex 7d480dc151..5433ee1ff2 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png Binary files differindex c3ae39d737..b7b2bed6de 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png Binary files differindex ed4adf5e6c..8c93e83d2d 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png Binary files differindex 0f829aa8d9..edd4efbba9 100644 --- a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_OVERFLOW_VALVE.png diff --git a/src/resources/assets/miscutils/textures/blocks/mash_flow.png b/src/resources/assets/miscutils/textures/blocks/mash_flow.png Binary files differindex f90f75723e..f155520eae 100644 --- a/src/resources/assets/miscutils/textures/blocks/mash_flow.png +++ b/src/resources/assets/miscutils/textures/blocks/mash_flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/mash_still.png b/src/resources/assets/miscutils/textures/blocks/mash_still.png Binary files differindex f90f75723e..f155520eae 100644 --- a/src/resources/assets/miscutils/textures/blocks/mash_still.png +++ b/src/resources/assets/miscutils/textures/blocks/mash_still.png diff --git a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png Binary files differindex 7bd5602292..1f53895490 100644 --- a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png +++ b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_MAGIC_A.png diff --git a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png Binary files differindex f7c77011cc..548c0ec283 100644 --- a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png +++ b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_METAL_PANEL_F.png diff --git a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A.png b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A.png Binary files differindex c3de578f6f..44bc5362ac 100644 --- a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A.png +++ b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A.png diff --git a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png Binary files differindex f74f752743..ed8ad55ba2 100644 --- a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png +++ b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_ORGANIC_PANEL_A_GLOWING.png diff --git a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_LEFT.png b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_LEFT.png Binary files differindex f060f2ebd1..e3a652f3f9 100644 --- a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_LEFT.png +++ b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_LEFT.png diff --git a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_RIGHT.png b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_RIGHT.png Binary files differindex dca52865e6..d759a163a4 100644 --- a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_RIGHT.png +++ b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_BIRD_A_RIGHT.png diff --git a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_TABLET_A.png b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_TABLET_A.png Binary files differindex 80436ba52e..a5d73f716d 100644 --- a/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_TABLET_A.png +++ b/src/resources/assets/miscutils/textures/blocks/metro/TEXTURE_STONE_TABLET_A.png diff --git a/src/resources/assets/miscutils/textures/blocks/rum_mature_flow.png b/src/resources/assets/miscutils/textures/blocks/rum_mature_flow.png Binary files differindex f90f75723e..f155520eae 100644 --- a/src/resources/assets/miscutils/textures/blocks/rum_mature_flow.png +++ b/src/resources/assets/miscutils/textures/blocks/rum_mature_flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/rum_mature_still.png b/src/resources/assets/miscutils/textures/blocks/rum_mature_still.png Binary files differindex f90f75723e..f155520eae 100644 --- a/src/resources/assets/miscutils/textures/blocks/rum_mature_still.png +++ b/src/resources/assets/miscutils/textures/blocks/rum_mature_still.png diff --git a/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_flow.png b/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_flow.png Binary files differindex f90f75723e..f155520eae 100644 --- a/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_flow.png +++ b/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_flow.png diff --git a/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_still.png b/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_still.png Binary files differindex f90f75723e..f155520eae 100644 --- a/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_still.png +++ b/src/resources/assets/miscutils/textures/blocks/rum_semi_mature_still.png diff --git a/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png b/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png Binary files differindex a6773aff74..ddccb0e4fa 100644 --- a/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png +++ b/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest.png diff --git a/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png b/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png Binary files differindex e91ed32a45..96e756c22c 100644 --- a/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png +++ b/src/resources/assets/miscutils/textures/blocks/trees/leaves/leaves_rainforest_opaque.png diff --git a/src/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png b/src/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png Binary files differindex d4da03e602..3ff2ee2021 100644 --- a/src/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png +++ b/src/resources/assets/miscutils/textures/blocks/trees/logs/log_rainforest.png diff --git a/src/resources/assets/miscutils/textures/entity/australia/boar.png b/src/resources/assets/miscutils/textures/entity/australia/boar.png Binary files differindex d231498857..147fc906fc 100644 --- a/src/resources/assets/miscutils/textures/entity/australia/boar.png +++ b/src/resources/assets/miscutils/textures/entity/australia/boar.png diff --git a/src/resources/assets/miscutils/textures/entity/australia/bush_spider.png b/src/resources/assets/miscutils/textures/entity/australia/bush_spider.png Binary files differindex 097c9b068a..5e05105be5 100644 --- a/src/resources/assets/miscutils/textures/entity/australia/bush_spider.png +++ b/src/resources/assets/miscutils/textures/entity/australia/bush_spider.png diff --git a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo.png b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo.png Binary files differindex f37ef81613..3fa3b44ea7 100644 --- a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo.png +++ b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo.png diff --git a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_angry.png b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_angry.png Binary files differindex 7891ce91f4..9b2912aba5 100644 --- a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_angry.png +++ b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_angry.png diff --git a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_collar.png b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_collar.png Binary files differindex ae1c920419..6e37c611cb 100644 --- a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_collar.png +++ b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_collar.png diff --git a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_tame.png b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_tame.png Binary files differindex f1236d2cd0..cd539c5773 100644 --- a/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_tame.png +++ b/src/resources/assets/miscutils/textures/entity/australia/dingo/dingo_tame.png diff --git a/src/resources/assets/miscutils/textures/entity/australia/octopus.png b/src/resources/assets/miscutils/textures/entity/australia/octopus.png Binary files differindex 765835a6fe..8ce98b003c 100644 --- a/src/resources/assets/miscutils/textures/entity/australia/octopus.png +++ b/src/resources/assets/miscutils/textures/entity/australia/octopus.png diff --git a/src/resources/assets/miscutils/textures/entity/sickBlaze.png b/src/resources/assets/miscutils/textures/entity/sickBlaze.png Binary files differindex f5981a42d9..d2b36d633d 100644 --- a/src/resources/assets/miscutils/textures/entity/sickBlaze.png +++ b/src/resources/assets/miscutils/textures/entity/sickBlaze.png diff --git a/src/resources/assets/miscutils/textures/entity/villager/aboriginal.png b/src/resources/assets/miscutils/textures/entity/villager/aboriginal.png Binary files differindex b348e781ed..cd0474869f 100644 --- a/src/resources/assets/miscutils/textures/entity/villager/aboriginal.png +++ b/src/resources/assets/miscutils/textures/entity/villager/aboriginal.png diff --git a/src/resources/assets/miscutils/textures/entity/villager/banker.png b/src/resources/assets/miscutils/textures/entity/villager/banker.png Binary files differindex 22c8bd7dac..afe65842cb 100644 --- a/src/resources/assets/miscutils/textures/entity/villager/banker.png +++ b/src/resources/assets/miscutils/textures/entity/villager/banker.png diff --git a/src/resources/assets/miscutils/textures/entity/villager/technician.png b/src/resources/assets/miscutils/textures/entity/villager/technician.png Binary files differindex a5668f719a..3df6503f9e 100644 --- a/src/resources/assets/miscutils/textures/entity/villager/technician.png +++ b/src/resources/assets/miscutils/textures/entity/villager/technician.png diff --git a/src/resources/assets/miscutils/textures/entity/villager/trader.png b/src/resources/assets/miscutils/textures/entity/villager/trader.png Binary files differindex 0a2f362429..f21c4eea6c 100644 --- a/src/resources/assets/miscutils/textures/entity/villager/trader.png +++ b/src/resources/assets/miscutils/textures/entity/villager/trader.png diff --git a/src/resources/assets/miscutils/textures/enviroment/moon_phases.png b/src/resources/assets/miscutils/textures/enviroment/moon_phases.png Binary files differindex 67cd1962a0..9131d0f58c 100644 --- a/src/resources/assets/miscutils/textures/enviroment/moon_phases.png +++ b/src/resources/assets/miscutils/textures/enviroment/moon_phases.png diff --git a/src/resources/assets/miscutils/textures/enviroment/snow.png b/src/resources/assets/miscutils/textures/enviroment/snow.png Binary files differindex b233e1c0fa..a91935ee0e 100644 --- a/src/resources/assets/miscutils/textures/enviroment/snow.png +++ b/src/resources/assets/miscutils/textures/enviroment/snow.png diff --git a/src/resources/assets/miscutils/textures/enviroment/sun.png b/src/resources/assets/miscutils/textures/enviroment/sun.png Binary files differindex 61bc432f19..6c25e9c637 100644 --- a/src/resources/assets/miscutils/textures/enviroment/sun.png +++ b/src/resources/assets/miscutils/textures/enviroment/sun.png diff --git a/src/resources/assets/miscutils/textures/gui/AdvancedBoiler.png b/src/resources/assets/miscutils/textures/gui/AdvancedBoiler.png Binary files differindex 9b673f8a33..e678d0fdb2 100644 --- a/src/resources/assets/miscutils/textures/gui/AdvancedBoiler.png +++ b/src/resources/assets/miscutils/textures/gui/AdvancedBoiler.png diff --git a/src/resources/assets/miscutils/textures/gui/AdvancedCraftingTable.png b/src/resources/assets/miscutils/textures/gui/AdvancedCraftingTable.png Binary files differindex 3d5cc1591e..1b2314c488 100644 --- a/src/resources/assets/miscutils/textures/gui/AdvancedCraftingTable.png +++ b/src/resources/assets/miscutils/textures/gui/AdvancedCraftingTable.png diff --git a/src/resources/assets/miscutils/textures/gui/BronzeCraftingTable.png b/src/resources/assets/miscutils/textures/gui/BronzeCraftingTable.png Binary files differindex fa432b2805..ea9319a50e 100644 --- a/src/resources/assets/miscutils/textures/gui/BronzeCraftingTable.png +++ b/src/resources/assets/miscutils/textures/gui/BronzeCraftingTable.png diff --git a/src/resources/assets/miscutils/textures/gui/CircuitProgrammer.png b/src/resources/assets/miscutils/textures/gui/CircuitProgrammer.png Binary files differindex d9f9c8b95a..8f77124bbb 100644 --- a/src/resources/assets/miscutils/textures/gui/CircuitProgrammer.png +++ b/src/resources/assets/miscutils/textures/gui/CircuitProgrammer.png diff --git a/src/resources/assets/miscutils/textures/gui/CokeOven.png b/src/resources/assets/miscutils/textures/gui/CokeOven.png Binary files differindex 1ba910c262..c094d9c319 100644 --- a/src/resources/assets/miscutils/textures/gui/CokeOven.png +++ b/src/resources/assets/miscutils/textures/gui/CokeOven.png diff --git a/src/resources/assets/miscutils/textures/gui/FishTrap.png b/src/resources/assets/miscutils/textures/gui/FishTrap.png Binary files differindex 0c8318cd01..35423fffb9 100644 --- a/src/resources/assets/miscutils/textures/gui/FishTrap.png +++ b/src/resources/assets/miscutils/textures/gui/FishTrap.png diff --git a/src/resources/assets/miscutils/textures/gui/Generic3By3.png b/src/resources/assets/miscutils/textures/gui/Generic3By3.png Binary files differindex 3998db0137..1d8c806693 100644 --- a/src/resources/assets/miscutils/textures/gui/Generic3By3.png +++ b/src/resources/assets/miscutils/textures/gui/Generic3By3.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialCentrifuge.png b/src/resources/assets/miscutils/textures/gui/IndustrialCentrifuge.png Binary files differindex 8fc8e8b319..95ec56941d 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialCentrifuge.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialCentrifuge.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialCuttingMachine.png b/src/resources/assets/miscutils/textures/gui/IndustrialCuttingMachine.png Binary files differindex 941e2e89de..a555f14f11 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialCuttingMachine.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialCuttingMachine.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialElectrolyzer.png b/src/resources/assets/miscutils/textures/gui/IndustrialElectrolyzer.png Binary files differindex acc8ba88fa..ec8d7eb118 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialElectrolyzer.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialElectrolyzer.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialExtruder.png b/src/resources/assets/miscutils/textures/gui/IndustrialExtruder.png Binary files differindex 941e2e89de..a555f14f11 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialExtruder.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialExtruder.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialMixer.png b/src/resources/assets/miscutils/textures/gui/IndustrialMixer.png Binary files differindex eabc89c7a0..1c24391f02 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialMixer.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialMixer.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialSifter.png b/src/resources/assets/miscutils/textures/gui/IndustrialSifter.png Binary files differindex 2463fc650c..34641e3a09 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialSifter.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialSifter.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialThermalCentrifuge.png b/src/resources/assets/miscutils/textures/gui/IndustrialThermalCentrifuge.png Binary files differindex b866a70c3a..d75e2b6ae6 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialThermalCentrifuge.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialThermalCentrifuge.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialWashPlant.png b/src/resources/assets/miscutils/textures/gui/IndustrialWashPlant.png Binary files differindex 73469d9511..4475138f7b 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialWashPlant.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialWashPlant.png diff --git a/src/resources/assets/miscutils/textures/gui/IndustrialWireFactory.png b/src/resources/assets/miscutils/textures/gui/IndustrialWireFactory.png Binary files differindex c64d6b1de2..dd0c5ce5e7 100644 --- a/src/resources/assets/miscutils/textures/gui/IndustrialWireFactory.png +++ b/src/resources/assets/miscutils/textures/gui/IndustrialWireFactory.png diff --git a/src/resources/assets/miscutils/textures/gui/IronBlastFurnace.png b/src/resources/assets/miscutils/textures/gui/IronBlastFurnace.png Binary files differindex 3eca66e9f8..c2ccbba96b 100644 --- a/src/resources/assets/miscutils/textures/gui/IronBlastFurnace.png +++ b/src/resources/assets/miscutils/textures/gui/IronBlastFurnace.png diff --git a/src/resources/assets/miscutils/textures/gui/MacerationStack.png b/src/resources/assets/miscutils/textures/gui/MacerationStack.png Binary files differindex 270178c4a0..7fb4099566 100644 --- a/src/resources/assets/miscutils/textures/gui/MacerationStack.png +++ b/src/resources/assets/miscutils/textures/gui/MacerationStack.png diff --git a/src/resources/assets/miscutils/textures/gui/MaterialPress.png b/src/resources/assets/miscutils/textures/gui/MaterialPress.png Binary files differindex b1f1118eeb..70befc17f0 100644 --- a/src/resources/assets/miscutils/textures/gui/MaterialPress.png +++ b/src/resources/assets/miscutils/textures/gui/MaterialPress.png diff --git a/src/resources/assets/miscutils/textures/gui/MatterFabricator.png b/src/resources/assets/miscutils/textures/gui/MatterFabricator.png Binary files differindex 80c994d8b0..1d5e9d27b8 100644 --- a/src/resources/assets/miscutils/textures/gui/MatterFabricator.png +++ b/src/resources/assets/miscutils/textures/gui/MatterFabricator.png diff --git a/src/resources/assets/miscutils/textures/gui/ModularityTable.png b/src/resources/assets/miscutils/textures/gui/ModularityTable.png Binary files differindex 7b151b392e..1a455d4f95 100644 --- a/src/resources/assets/miscutils/textures/gui/ModularityTable.png +++ b/src/resources/assets/miscutils/textures/gui/ModularityTable.png diff --git a/src/resources/assets/miscutils/textures/gui/MultiblockDisplay.png b/src/resources/assets/miscutils/textures/gui/MultiblockDisplay.png Binary files differindex f2def4b3f0..bec61bce18 100644 --- a/src/resources/assets/miscutils/textures/gui/MultiblockDisplay.png +++ b/src/resources/assets/miscutils/textures/gui/MultiblockDisplay.png diff --git a/src/resources/assets/miscutils/textures/gui/PollutionCleaner.png b/src/resources/assets/miscutils/textures/gui/PollutionCleaner.png Binary files differindex fee895ea68..6162c2fdc3 100644 --- a/src/resources/assets/miscutils/textures/gui/PollutionCleaner.png +++ b/src/resources/assets/miscutils/textures/gui/PollutionCleaner.png diff --git a/src/resources/assets/miscutils/textures/gui/PowerSubStation.png b/src/resources/assets/miscutils/textures/gui/PowerSubStation.png Binary files differindex a8f9a0db86..a764dc719a 100644 --- a/src/resources/assets/miscutils/textures/gui/PowerSubStation.png +++ b/src/resources/assets/miscutils/textures/gui/PowerSubStation.png diff --git a/src/resources/assets/miscutils/textures/gui/ProjectTable.png b/src/resources/assets/miscutils/textures/gui/ProjectTable.png Binary files differindex 475f9dd3fe..e8f65a6752 100644 --- a/src/resources/assets/miscutils/textures/gui/ProjectTable.png +++ b/src/resources/assets/miscutils/textures/gui/ProjectTable.png diff --git a/src/resources/assets/miscutils/textures/gui/SafeBlock.png b/src/resources/assets/miscutils/textures/gui/SafeBlock.png Binary files differindex 10eddcb040..fe60913941 100644 --- a/src/resources/assets/miscutils/textures/gui/SafeBlock.png +++ b/src/resources/assets/miscutils/textures/gui/SafeBlock.png diff --git a/src/resources/assets/miscutils/textures/gui/SteelBoiler.png b/src/resources/assets/miscutils/textures/gui/SteelBoiler.png Binary files differindex 215f72c88a..e4f2869e8f 100644 --- a/src/resources/assets/miscutils/textures/gui/SteelBoiler.png +++ b/src/resources/assets/miscutils/textures/gui/SteelBoiler.png diff --git a/src/resources/assets/miscutils/textures/gui/TreeFarmer.png b/src/resources/assets/miscutils/textures/gui/TreeFarmer.png Binary files differindex df42131b5b..cd2e86dcb4 100644 --- a/src/resources/assets/miscutils/textures/gui/TreeFarmer.png +++ b/src/resources/assets/miscutils/textures/gui/TreeFarmer.png diff --git a/src/resources/assets/miscutils/textures/gui/Workbench.png b/src/resources/assets/miscutils/textures/gui/Workbench.png Binary files differindex ff5ed715fa..95d93d3c4c 100644 --- a/src/resources/assets/miscutils/textures/gui/Workbench.png +++ b/src/resources/assets/miscutils/textures/gui/Workbench.png diff --git a/src/resources/assets/miscutils/textures/gui/helium_collector_gui.png b/src/resources/assets/miscutils/textures/gui/helium_collector_gui.png Binary files differindex 114891e80a..b22d0ed947 100644 --- a/src/resources/assets/miscutils/textures/gui/helium_collector_gui.png +++ b/src/resources/assets/miscutils/textures/gui/helium_collector_gui.png diff --git a/src/resources/assets/miscutils/textures/gui/itemBackpack.png b/src/resources/assets/miscutils/textures/gui/itemBackpack.png Binary files differindex d392830883..08ac08a2db 100644 --- a/src/resources/assets/miscutils/textures/gui/itemBackpack.png +++ b/src/resources/assets/miscutils/textures/gui/itemBackpack.png diff --git a/src/resources/assets/miscutils/textures/gui/itemGrindle.png b/src/resources/assets/miscutils/textures/gui/itemGrindle.png Binary files differindex 32b7bec438..98ccb311d0 100644 --- a/src/resources/assets/miscutils/textures/gui/itemGrindle.png +++ b/src/resources/assets/miscutils/textures/gui/itemGrindle.png diff --git a/src/resources/assets/miscutils/textures/gui/machine_Charger.png b/src/resources/assets/miscutils/textures/gui/machine_Charger.png Binary files differindex ec4b790ff6..dcad2b2983 100644 --- a/src/resources/assets/miscutils/textures/gui/machine_Charger.png +++ b/src/resources/assets/miscutils/textures/gui/machine_Charger.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png Binary files differindex d74a810fbd..cedee004e4 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/100.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/101.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/101.png Binary files differnew file mode 100644 index 0000000000..1ebe9648e6 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/101.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/102.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/102.png Binary files differindex e721d63382..c73159e9da 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/102.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/102.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/103.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/103.png Binary files differindex 0d66b3d141..5e2e56f927 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/103.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/103.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/104.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/104.png Binary files differindex 6ec4da704e..8ad5f2ee31 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/104.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/104.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png Binary files differnew file mode 100644 index 0000000000..f9ebf8c4a5 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/105.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png Binary files differindex 6f8d8bdde5..5d6a74cd72 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/218.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png Binary files differindex 18ee704cde..a1b063620a 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/40.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png Binary files differindex 2599391de5..23cc1deb66 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/44.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png Binary files differindex 422b0fd5df..52d46cb62c 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png Binary files differindex 1ced435a76..6660384d76 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/1.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png Binary files differindex 492db7d4ba..0b4e7d6583 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/2.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png Binary files differindex 404730cc20..554a7d8e52 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/3.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png Binary files differindex bdac346dda..b567a0cd15 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/4.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png Binary files differindex 90e304bad3..891608d308 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/5.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png Binary files differindex 1294d07d71..246319069a 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/6.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png Binary files differindex 145918212f..296c9b6c97 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/7.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png Binary files differindex 6e2900017e..fe22c02056 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/50/8.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png Binary files differindex 422b0fd5df..52d46cb62c 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png Binary files differindex 1ced435a76..6660384d76 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/1.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png Binary files differindex 492db7d4ba..0b4e7d6583 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/2.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png Binary files differindex 404730cc20..554a7d8e52 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/3.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png Binary files differindex bdac346dda..b567a0cd15 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/4.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png Binary files differindex 90e304bad3..891608d308 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/5.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png Binary files differindex 1294d07d71..246319069a 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/6.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png Binary files differindex 145918212f..296c9b6c97 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/7.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png Binary files differindex 6e2900017e..fe22c02056 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/52/8.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png Binary files differindex 422b0fd5df..52d46cb62c 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png Binary files differindex 1ced435a76..6660384d76 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/1.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png Binary files differindex 492db7d4ba..0b4e7d6583 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/2.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png Binary files differindex 404730cc20..554a7d8e52 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/3.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png Binary files differindex bdac346dda..b567a0cd15 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/4.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png Binary files differindex 90e304bad3..891608d308 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/5.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png Binary files differindex 1294d07d71..246319069a 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/6.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png Binary files differindex 145918212f..296c9b6c97 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/7.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png Binary files differindex 6e2900017e..fe22c02056 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/54/8.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png Binary files differindex 749eec3a57..23e0a10e06 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/55.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/60.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/60.png Binary files differindex e2b05916a5..08122e5042 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/60.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/60.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png Binary files differindex 21f5e3948f..f1756e78ba 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/61.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png Binary files differindex 59212293d7..9190330469 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/62.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png Binary files differindex 21f5e3948f..f1756e78ba 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/63.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png Binary files differindex 1e3fa413ee..032a256989 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/64.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png Binary files differindex a5630cf75d..28005f9c52 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/66.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png Binary files differindex 85512eb0f1..4fa1301387 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/68.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png Binary files differindex 1f3dbfa367..322292e225 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/70.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png Binary files differindex 67cbee5e71..af05b249b2 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/700.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/701.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/701.png Binary files differindex 02c424ce60..87d68083fa 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/701.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/701.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/702.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/702.png Binary files differindex 9537aa2d1b..197729ce5c 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/702.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/702.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/703.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/703.png Binary files differindex b7a993787b..9f75ddb6f2 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/703.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/703.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/704.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/704.png Binary files differindex ef671f83ce..011f12583d 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/704.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/704.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/705.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/705.png Binary files differindex 92deda49ab..2968f9e0f9 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/705.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/705.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/706.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/706.png Binary files differindex cc2f6733a6..ab26c57778 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/706.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/706.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/707.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/707.png Binary files differindex 238b760f21..84cb315d59 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/707.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/707.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/708.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/708.png Binary files differindex 8d0f69f425..ac695c9089 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/708.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/708.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/710.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/710.png Binary files differindex de71ed7356..9555795cbe 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/710.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/710.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/711.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/711.png Binary files differindex 019858428a..b8294d66d5 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/711.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/711.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/712.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/712.png Binary files differindex 8765d5dcb2..d1ddb92013 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/712.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/712.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/713.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/713.png Binary files differindex 62b75f5fe6..db0d4d4dde 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/713.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/713.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/714.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/714.png Binary files differindex 64b483e2cf..dd3de3ecff 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/714.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/714.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/715.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/715.png Binary files differindex 64b483e2cf..dd3de3ecff 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/715.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/715.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/716.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/716.png Binary files differindex dac7c33510..506ab6621b 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/716.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/716.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/717.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/717.png Binary files differindex dac7c33510..506ab6621b 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/717.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/717.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/718.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/718.png Binary files differindex dac7c33510..506ab6621b 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/718.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/718.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/719.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/719.png Binary files differindex 0d7bb39054..05c3440206 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/719.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/719.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png Binary files differindex ce9a27bf9e..6b6d885084 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/720.png diff --git a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/721.png b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/721.png Binary files differindex 23972faf59..23b7878fdd 100644 --- a/src/resources/assets/miscutils/textures/items/MU-metaitem.01/721.png +++ b/src/resources/assets/miscutils/textures/items/MU-metaitem.01/721.png diff --git a/src/resources/assets/miscutils/textures/items/StoneStatue.png b/src/resources/assets/miscutils/textures/items/StoneStatue.png Binary files differindex e92f69fce4..36ab6ccd56 100644 --- a/src/resources/assets/miscutils/textures/items/StoneStatue.png +++ b/src/resources/assets/miscutils/textures/items/StoneStatue.png diff --git a/src/resources/assets/miscutils/textures/items/bucket/BucketEnder.png b/src/resources/assets/miscutils/textures/items/bucket/BucketEnder.png Binary files differindex be510770c6..6a00cf1509 100644 --- a/src/resources/assets/miscutils/textures/items/bucket/BucketEnder.png +++ b/src/resources/assets/miscutils/textures/items/bucket/BucketEnder.png diff --git a/src/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png b/src/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png Binary files differindex 0480d68077..82f1bb4b84 100644 --- a/src/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png +++ b/src/resources/assets/miscutils/textures/items/bucket/BucketPyrotheum.png diff --git a/src/resources/assets/miscutils/textures/items/frameAccelerated.png b/src/resources/assets/miscutils/textures/items/frameAccelerated.png Binary files differindex 99f6ba89f8..e02bd78586 100644 --- a/src/resources/assets/miscutils/textures/items/frameAccelerated.png +++ b/src/resources/assets/miscutils/textures/items/frameAccelerated.png diff --git a/src/resources/assets/miscutils/textures/items/frameBusy.png b/src/resources/assets/miscutils/textures/items/frameBusy.png Binary files differindex 370b29e8c2..ea20d3d046 100644 --- a/src/resources/assets/miscutils/textures/items/frameBusy.png +++ b/src/resources/assets/miscutils/textures/items/frameBusy.png diff --git a/src/resources/assets/miscutils/textures/items/frameDecaying.png b/src/resources/assets/miscutils/textures/items/frameDecaying.png Binary files differindex 2d3ca5a029..3e6feb1a3c 100644 --- a/src/resources/assets/miscutils/textures/items/frameDecaying.png +++ b/src/resources/assets/miscutils/textures/items/frameDecaying.png diff --git a/src/resources/assets/miscutils/textures/items/frameMutagenic.png b/src/resources/assets/miscutils/textures/items/frameMutagenic.png Binary files differindex 0440c70db0..0a24289776 100644 --- a/src/resources/assets/miscutils/textures/items/frameMutagenic.png +++ b/src/resources/assets/miscutils/textures/items/frameMutagenic.png diff --git a/src/resources/assets/miscutils/textures/items/frameStabilizing.png b/src/resources/assets/miscutils/textures/items/frameStabilizing.png Binary files differindex bb6abf9ba5..1fed360bf7 100644 --- a/src/resources/assets/miscutils/textures/items/frameStabilizing.png +++ b/src/resources/assets/miscutils/textures/items/frameStabilizing.png diff --git a/src/resources/assets/miscutils/textures/items/frameUseless.png b/src/resources/assets/miscutils/textures/items/frameUseless.png Binary files differindex 6308d4c44d..e316e0a5d6 100644 --- a/src/resources/assets/miscutils/textures/items/frameUseless.png +++ b/src/resources/assets/miscutils/textures/items/frameUseless.png diff --git a/src/resources/assets/miscutils/textures/items/frameVoid.png b/src/resources/assets/miscutils/textures/items/frameVoid.png Binary files differindex 685c5e876f..45fc307328 100644 --- a/src/resources/assets/miscutils/textures/items/frameVoid.png +++ b/src/resources/assets/miscutils/textures/items/frameVoid.png diff --git a/src/resources/assets/miscutils/textures/items/iconsets/SKOOKUMCHOOCHER.png b/src/resources/assets/miscutils/textures/items/iconsets/SKOOKUMCHOOCHER.png Binary files differindex d23748f845..d6ba7ec2ca 100644 --- a/src/resources/assets/miscutils/textures/items/iconsets/SKOOKUMCHOOCHER.png +++ b/src/resources/assets/miscutils/textures/items/iconsets/SKOOKUMCHOOCHER.png diff --git a/src/resources/assets/miscutils/textures/items/iconsets/VOID.png b/src/resources/assets/miscutils/textures/items/iconsets/VOID.png Binary files differindex b3422f24e2..db16e741fe 100644 --- a/src/resources/assets/miscutils/textures/items/iconsets/VOID.png +++ b/src/resources/assets/miscutils/textures/items/iconsets/VOID.png diff --git a/src/resources/assets/miscutils/textures/items/ion/0.png b/src/resources/assets/miscutils/textures/items/ion/0.png Binary files differnew file mode 100644 index 0000000000..c56a04238f --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/0.png diff --git a/src/resources/assets/miscutils/textures/items/ion/1.png b/src/resources/assets/miscutils/textures/items/ion/1.png Binary files differnew file mode 100644 index 0000000000..174d2ad950 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/1.png diff --git a/src/resources/assets/miscutils/textures/items/ion/10.png b/src/resources/assets/miscutils/textures/items/ion/10.png Binary files differnew file mode 100644 index 0000000000..8e3348f582 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/10.png diff --git a/src/resources/assets/miscutils/textures/items/ion/100.png b/src/resources/assets/miscutils/textures/items/ion/100.png Binary files differnew file mode 100644 index 0000000000..3d92a39004 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/100.png diff --git a/src/resources/assets/miscutils/textures/items/ion/101.png b/src/resources/assets/miscutils/textures/items/ion/101.png Binary files differnew file mode 100644 index 0000000000..85b8f58ad9 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/101.png diff --git a/src/resources/assets/miscutils/textures/items/ion/102.png b/src/resources/assets/miscutils/textures/items/ion/102.png Binary files differnew file mode 100644 index 0000000000..6993d5e4cf --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/102.png diff --git a/src/resources/assets/miscutils/textures/items/ion/103.png b/src/resources/assets/miscutils/textures/items/ion/103.png Binary files differnew file mode 100644 index 0000000000..a3faa8a260 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/103.png diff --git a/src/resources/assets/miscutils/textures/items/ion/104.png b/src/resources/assets/miscutils/textures/items/ion/104.png Binary files differnew file mode 100644 index 0000000000..9c80b9d1f0 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/104.png diff --git a/src/resources/assets/miscutils/textures/items/ion/105.png b/src/resources/assets/miscutils/textures/items/ion/105.png Binary files differnew file mode 100644 index 0000000000..2633689df4 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/105.png diff --git a/src/resources/assets/miscutils/textures/items/ion/106.png b/src/resources/assets/miscutils/textures/items/ion/106.png Binary files differnew file mode 100644 index 0000000000..c368411d12 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/106.png diff --git a/src/resources/assets/miscutils/textures/items/ion/107.png b/src/resources/assets/miscutils/textures/items/ion/107.png Binary files differnew file mode 100644 index 0000000000..fc8e4c2844 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/107.png diff --git a/src/resources/assets/miscutils/textures/items/ion/108.png b/src/resources/assets/miscutils/textures/items/ion/108.png Binary files differnew file mode 100644 index 0000000000..d2b271526a --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/108.png diff --git a/src/resources/assets/miscutils/textures/items/ion/109.png b/src/resources/assets/miscutils/textures/items/ion/109.png Binary files differnew file mode 100644 index 0000000000..585321db38 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/109.png diff --git a/src/resources/assets/miscutils/textures/items/ion/11.png b/src/resources/assets/miscutils/textures/items/ion/11.png Binary files differnew file mode 100644 index 0000000000..72baf3d9e9 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/11.png diff --git a/src/resources/assets/miscutils/textures/items/ion/110.png b/src/resources/assets/miscutils/textures/items/ion/110.png Binary files differnew file mode 100644 index 0000000000..82d73b7aca --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/110.png diff --git a/src/resources/assets/miscutils/textures/items/ion/111.png b/src/resources/assets/miscutils/textures/items/ion/111.png Binary files differnew file mode 100644 index 0000000000..869435fd75 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/111.png diff --git a/src/resources/assets/miscutils/textures/items/ion/112.png b/src/resources/assets/miscutils/textures/items/ion/112.png Binary files differnew file mode 100644 index 0000000000..bb14befcfe --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/112.png diff --git a/src/resources/assets/miscutils/textures/items/ion/113.png b/src/resources/assets/miscutils/textures/items/ion/113.png Binary files differnew file mode 100644 index 0000000000..5aae8d7814 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/113.png diff --git a/src/resources/assets/miscutils/textures/items/ion/114.png b/src/resources/assets/miscutils/textures/items/ion/114.png Binary files differnew file mode 100644 index 0000000000..ea4897286d --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/114.png diff --git a/src/resources/assets/miscutils/textures/items/ion/115.png b/src/resources/assets/miscutils/textures/items/ion/115.png Binary files differnew file mode 100644 index 0000000000..815acfb339 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/115.png diff --git a/src/resources/assets/miscutils/textures/items/ion/116.png b/src/resources/assets/miscutils/textures/items/ion/116.png Binary files differnew file mode 100644 index 0000000000..a335c2bb70 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/116.png diff --git a/src/resources/assets/miscutils/textures/items/ion/117.png b/src/resources/assets/miscutils/textures/items/ion/117.png Binary files differnew file mode 100644 index 0000000000..f3d46e4bb6 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/117.png diff --git a/src/resources/assets/miscutils/textures/items/ion/12.png b/src/resources/assets/miscutils/textures/items/ion/12.png Binary files differnew file mode 100644 index 0000000000..c2698ef286 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/12.png diff --git a/src/resources/assets/miscutils/textures/items/ion/13.png b/src/resources/assets/miscutils/textures/items/ion/13.png Binary files differnew file mode 100644 index 0000000000..d9f17334f7 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/13.png diff --git a/src/resources/assets/miscutils/textures/items/ion/14.png b/src/resources/assets/miscutils/textures/items/ion/14.png Binary files differnew file mode 100644 index 0000000000..0640a05827 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/14.png diff --git a/src/resources/assets/miscutils/textures/items/ion/15.png b/src/resources/assets/miscutils/textures/items/ion/15.png Binary files differnew file mode 100644 index 0000000000..8b9a6c872e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/15.png diff --git a/src/resources/assets/miscutils/textures/items/ion/16.png b/src/resources/assets/miscutils/textures/items/ion/16.png Binary files differnew file mode 100644 index 0000000000..3e0dbe1143 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/16.png diff --git a/src/resources/assets/miscutils/textures/items/ion/17.png b/src/resources/assets/miscutils/textures/items/ion/17.png Binary files differnew file mode 100644 index 0000000000..dfcb224a3e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/17.png diff --git a/src/resources/assets/miscutils/textures/items/ion/18.png b/src/resources/assets/miscutils/textures/items/ion/18.png Binary files differnew file mode 100644 index 0000000000..910712afc5 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/18.png diff --git a/src/resources/assets/miscutils/textures/items/ion/19.png b/src/resources/assets/miscutils/textures/items/ion/19.png Binary files differnew file mode 100644 index 0000000000..63627d13a3 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/19.png diff --git a/src/resources/assets/miscutils/textures/items/ion/2.png b/src/resources/assets/miscutils/textures/items/ion/2.png Binary files differnew file mode 100644 index 0000000000..ab4474425e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/2.png diff --git a/src/resources/assets/miscutils/textures/items/ion/20.png b/src/resources/assets/miscutils/textures/items/ion/20.png Binary files differnew file mode 100644 index 0000000000..c4c2b0da40 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/20.png diff --git a/src/resources/assets/miscutils/textures/items/ion/21.png b/src/resources/assets/miscutils/textures/items/ion/21.png Binary files differnew file mode 100644 index 0000000000..ad8c2b6dbf --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/21.png diff --git a/src/resources/assets/miscutils/textures/items/ion/22.png b/src/resources/assets/miscutils/textures/items/ion/22.png Binary files differnew file mode 100644 index 0000000000..ce4fcd3ff2 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/22.png diff --git a/src/resources/assets/miscutils/textures/items/ion/23.png b/src/resources/assets/miscutils/textures/items/ion/23.png Binary files differnew file mode 100644 index 0000000000..fe75b049ce --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/23.png diff --git a/src/resources/assets/miscutils/textures/items/ion/24.png b/src/resources/assets/miscutils/textures/items/ion/24.png Binary files differnew file mode 100644 index 0000000000..bb256ca2bb --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/24.png diff --git a/src/resources/assets/miscutils/textures/items/ion/25.png b/src/resources/assets/miscutils/textures/items/ion/25.png Binary files differnew file mode 100644 index 0000000000..6d413674c2 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/25.png diff --git a/src/resources/assets/miscutils/textures/items/ion/26.png b/src/resources/assets/miscutils/textures/items/ion/26.png Binary files differnew file mode 100644 index 0000000000..c93c306f5a --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/26.png diff --git a/src/resources/assets/miscutils/textures/items/ion/27.png b/src/resources/assets/miscutils/textures/items/ion/27.png Binary files differnew file mode 100644 index 0000000000..f822d7a4bb --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/27.png diff --git a/src/resources/assets/miscutils/textures/items/ion/28.png b/src/resources/assets/miscutils/textures/items/ion/28.png Binary files differnew file mode 100644 index 0000000000..1b65383965 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/28.png diff --git a/src/resources/assets/miscutils/textures/items/ion/29.png b/src/resources/assets/miscutils/textures/items/ion/29.png Binary files differnew file mode 100644 index 0000000000..a3c412094e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/29.png diff --git a/src/resources/assets/miscutils/textures/items/ion/3.png b/src/resources/assets/miscutils/textures/items/ion/3.png Binary files differnew file mode 100644 index 0000000000..59ad76340c --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/3.png diff --git a/src/resources/assets/miscutils/textures/items/ion/30.png b/src/resources/assets/miscutils/textures/items/ion/30.png Binary files differnew file mode 100644 index 0000000000..3ae749cc91 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/30.png diff --git a/src/resources/assets/miscutils/textures/items/ion/31.png b/src/resources/assets/miscutils/textures/items/ion/31.png Binary files differnew file mode 100644 index 0000000000..6bb1f6c61f --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/31.png diff --git a/src/resources/assets/miscutils/textures/items/ion/32.png b/src/resources/assets/miscutils/textures/items/ion/32.png Binary files differnew file mode 100644 index 0000000000..c8bc92a688 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/32.png diff --git a/src/resources/assets/miscutils/textures/items/ion/33.png b/src/resources/assets/miscutils/textures/items/ion/33.png Binary files differnew file mode 100644 index 0000000000..5062c0c109 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/33.png diff --git a/src/resources/assets/miscutils/textures/items/ion/34.png b/src/resources/assets/miscutils/textures/items/ion/34.png Binary files differnew file mode 100644 index 0000000000..bd1e33c191 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/34.png diff --git a/src/resources/assets/miscutils/textures/items/ion/35.png b/src/resources/assets/miscutils/textures/items/ion/35.png Binary files differnew file mode 100644 index 0000000000..c2a42ac980 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/35.png diff --git a/src/resources/assets/miscutils/textures/items/ion/36.png b/src/resources/assets/miscutils/textures/items/ion/36.png Binary files differnew file mode 100644 index 0000000000..403d45a66c --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/36.png diff --git a/src/resources/assets/miscutils/textures/items/ion/37.png b/src/resources/assets/miscutils/textures/items/ion/37.png Binary files differnew file mode 100644 index 0000000000..89f011e548 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/37.png diff --git a/src/resources/assets/miscutils/textures/items/ion/38.png b/src/resources/assets/miscutils/textures/items/ion/38.png Binary files differnew file mode 100644 index 0000000000..b00ab7f5fc --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/38.png diff --git a/src/resources/assets/miscutils/textures/items/ion/39.png b/src/resources/assets/miscutils/textures/items/ion/39.png Binary files differnew file mode 100644 index 0000000000..9fc883c731 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/39.png diff --git a/src/resources/assets/miscutils/textures/items/ion/4.png b/src/resources/assets/miscutils/textures/items/ion/4.png Binary files differnew file mode 100644 index 0000000000..122cd9e837 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/4.png diff --git a/src/resources/assets/miscutils/textures/items/ion/40.png b/src/resources/assets/miscutils/textures/items/ion/40.png Binary files differnew file mode 100644 index 0000000000..371171fe61 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/40.png diff --git a/src/resources/assets/miscutils/textures/items/ion/41.png b/src/resources/assets/miscutils/textures/items/ion/41.png Binary files differnew file mode 100644 index 0000000000..acc8d4df0b --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/41.png diff --git a/src/resources/assets/miscutils/textures/items/ion/42.png b/src/resources/assets/miscutils/textures/items/ion/42.png Binary files differnew file mode 100644 index 0000000000..0f8432ea59 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/42.png diff --git a/src/resources/assets/miscutils/textures/items/ion/43.png b/src/resources/assets/miscutils/textures/items/ion/43.png Binary files differnew file mode 100644 index 0000000000..1f62a1a4f9 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/43.png diff --git a/src/resources/assets/miscutils/textures/items/ion/44.png b/src/resources/assets/miscutils/textures/items/ion/44.png Binary files differnew file mode 100644 index 0000000000..f26b23050a --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/44.png diff --git a/src/resources/assets/miscutils/textures/items/ion/45.png b/src/resources/assets/miscutils/textures/items/ion/45.png Binary files differnew file mode 100644 index 0000000000..e2d6413dee --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/45.png diff --git a/src/resources/assets/miscutils/textures/items/ion/46.png b/src/resources/assets/miscutils/textures/items/ion/46.png Binary files differnew file mode 100644 index 0000000000..50920e75b5 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/46.png diff --git a/src/resources/assets/miscutils/textures/items/ion/47.png b/src/resources/assets/miscutils/textures/items/ion/47.png Binary files differnew file mode 100644 index 0000000000..c31a2ad43d --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/47.png diff --git a/src/resources/assets/miscutils/textures/items/ion/48.png b/src/resources/assets/miscutils/textures/items/ion/48.png Binary files differnew file mode 100644 index 0000000000..90b6ab544e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/48.png diff --git a/src/resources/assets/miscutils/textures/items/ion/49.png b/src/resources/assets/miscutils/textures/items/ion/49.png Binary files differnew file mode 100644 index 0000000000..1c1ed02d40 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/49.png diff --git a/src/resources/assets/miscutils/textures/items/ion/5.png b/src/resources/assets/miscutils/textures/items/ion/5.png Binary files differnew file mode 100644 index 0000000000..0f33a3363c --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/5.png diff --git a/src/resources/assets/miscutils/textures/items/ion/50.png b/src/resources/assets/miscutils/textures/items/ion/50.png Binary files differnew file mode 100644 index 0000000000..c47f4a297e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/50.png diff --git a/src/resources/assets/miscutils/textures/items/ion/51.png b/src/resources/assets/miscutils/textures/items/ion/51.png Binary files differnew file mode 100644 index 0000000000..606a1e8ef4 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/51.png diff --git a/src/resources/assets/miscutils/textures/items/ion/52.png b/src/resources/assets/miscutils/textures/items/ion/52.png Binary files differnew file mode 100644 index 0000000000..0a535c6158 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/52.png diff --git a/src/resources/assets/miscutils/textures/items/ion/53.png b/src/resources/assets/miscutils/textures/items/ion/53.png Binary files differnew file mode 100644 index 0000000000..1fef4e5f2f --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/53.png diff --git a/src/resources/assets/miscutils/textures/items/ion/54.png b/src/resources/assets/miscutils/textures/items/ion/54.png Binary files differnew file mode 100644 index 0000000000..663170c84d --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/54.png diff --git a/src/resources/assets/miscutils/textures/items/ion/55.png b/src/resources/assets/miscutils/textures/items/ion/55.png Binary files differnew file mode 100644 index 0000000000..4519b12d97 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/55.png diff --git a/src/resources/assets/miscutils/textures/items/ion/56.png b/src/resources/assets/miscutils/textures/items/ion/56.png Binary files differnew file mode 100644 index 0000000000..926b37bc80 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/56.png diff --git a/src/resources/assets/miscutils/textures/items/ion/57.png b/src/resources/assets/miscutils/textures/items/ion/57.png Binary files differnew file mode 100644 index 0000000000..c80a29d94e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/57.png diff --git a/src/resources/assets/miscutils/textures/items/ion/58.png b/src/resources/assets/miscutils/textures/items/ion/58.png Binary files differnew file mode 100644 index 0000000000..e33f90d6bc --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/58.png diff --git a/src/resources/assets/miscutils/textures/items/ion/59.png b/src/resources/assets/miscutils/textures/items/ion/59.png Binary files differnew file mode 100644 index 0000000000..14b48b0c39 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/59.png diff --git a/src/resources/assets/miscutils/textures/items/ion/6.png b/src/resources/assets/miscutils/textures/items/ion/6.png Binary files differnew file mode 100644 index 0000000000..a8a9b906d2 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/6.png diff --git a/src/resources/assets/miscutils/textures/items/ion/60.png b/src/resources/assets/miscutils/textures/items/ion/60.png Binary files differnew file mode 100644 index 0000000000..4d77e6d779 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/60.png diff --git a/src/resources/assets/miscutils/textures/items/ion/61.png b/src/resources/assets/miscutils/textures/items/ion/61.png Binary files differnew file mode 100644 index 0000000000..42e2669011 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/61.png diff --git a/src/resources/assets/miscutils/textures/items/ion/62.png b/src/resources/assets/miscutils/textures/items/ion/62.png Binary files differnew file mode 100644 index 0000000000..5b0ce84ee4 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/62.png diff --git a/src/resources/assets/miscutils/textures/items/ion/63.png b/src/resources/assets/miscutils/textures/items/ion/63.png Binary files differnew file mode 100644 index 0000000000..372d256a0e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/63.png diff --git a/src/resources/assets/miscutils/textures/items/ion/64.png b/src/resources/assets/miscutils/textures/items/ion/64.png Binary files differnew file mode 100644 index 0000000000..61b6521d64 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/64.png diff --git a/src/resources/assets/miscutils/textures/items/ion/65.png b/src/resources/assets/miscutils/textures/items/ion/65.png Binary files differnew file mode 100644 index 0000000000..66129d8bab --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/65.png diff --git a/src/resources/assets/miscutils/textures/items/ion/66.png b/src/resources/assets/miscutils/textures/items/ion/66.png Binary files differnew file mode 100644 index 0000000000..5ec0a6c747 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/66.png diff --git a/src/resources/assets/miscutils/textures/items/ion/67.png b/src/resources/assets/miscutils/textures/items/ion/67.png Binary files differnew file mode 100644 index 0000000000..09c9dd8b12 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/67.png diff --git a/src/resources/assets/miscutils/textures/items/ion/68.png b/src/resources/assets/miscutils/textures/items/ion/68.png Binary files differnew file mode 100644 index 0000000000..d809bd3646 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/68.png diff --git a/src/resources/assets/miscutils/textures/items/ion/69.png b/src/resources/assets/miscutils/textures/items/ion/69.png Binary files differnew file mode 100644 index 0000000000..9e0d0b0d75 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/69.png diff --git a/src/resources/assets/miscutils/textures/items/ion/7.png b/src/resources/assets/miscutils/textures/items/ion/7.png Binary files differnew file mode 100644 index 0000000000..6d1f5c229c --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/7.png diff --git a/src/resources/assets/miscutils/textures/items/ion/70.png b/src/resources/assets/miscutils/textures/items/ion/70.png Binary files differnew file mode 100644 index 0000000000..5bf9df2778 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/70.png diff --git a/src/resources/assets/miscutils/textures/items/ion/71.png b/src/resources/assets/miscutils/textures/items/ion/71.png Binary files differnew file mode 100644 index 0000000000..f052e1c772 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/71.png diff --git a/src/resources/assets/miscutils/textures/items/ion/72.png b/src/resources/assets/miscutils/textures/items/ion/72.png Binary files differnew file mode 100644 index 0000000000..044e445356 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/72.png diff --git a/src/resources/assets/miscutils/textures/items/ion/73.png b/src/resources/assets/miscutils/textures/items/ion/73.png Binary files differnew file mode 100644 index 0000000000..24bf977862 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/73.png diff --git a/src/resources/assets/miscutils/textures/items/ion/74.png b/src/resources/assets/miscutils/textures/items/ion/74.png Binary files differnew file mode 100644 index 0000000000..7768bd6f4e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/74.png diff --git a/src/resources/assets/miscutils/textures/items/ion/75.png b/src/resources/assets/miscutils/textures/items/ion/75.png Binary files differnew file mode 100644 index 0000000000..ed9961e54f --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/75.png diff --git a/src/resources/assets/miscutils/textures/items/ion/76.png b/src/resources/assets/miscutils/textures/items/ion/76.png Binary files differnew file mode 100644 index 0000000000..9010680490 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/76.png diff --git a/src/resources/assets/miscutils/textures/items/ion/77.png b/src/resources/assets/miscutils/textures/items/ion/77.png Binary files differnew file mode 100644 index 0000000000..007497b931 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/77.png diff --git a/src/resources/assets/miscutils/textures/items/ion/78.png b/src/resources/assets/miscutils/textures/items/ion/78.png Binary files differnew file mode 100644 index 0000000000..36c2031937 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/78.png diff --git a/src/resources/assets/miscutils/textures/items/ion/79.png b/src/resources/assets/miscutils/textures/items/ion/79.png Binary files differnew file mode 100644 index 0000000000..144e55beae --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/79.png diff --git a/src/resources/assets/miscutils/textures/items/ion/8.png b/src/resources/assets/miscutils/textures/items/ion/8.png Binary files differnew file mode 100644 index 0000000000..0249fbcf3b --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/8.png diff --git a/src/resources/assets/miscutils/textures/items/ion/80.png b/src/resources/assets/miscutils/textures/items/ion/80.png Binary files differnew file mode 100644 index 0000000000..ec7de9fda2 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/80.png diff --git a/src/resources/assets/miscutils/textures/items/ion/81.png b/src/resources/assets/miscutils/textures/items/ion/81.png Binary files differnew file mode 100644 index 0000000000..9e19f0dbde --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/81.png diff --git a/src/resources/assets/miscutils/textures/items/ion/82.png b/src/resources/assets/miscutils/textures/items/ion/82.png Binary files differnew file mode 100644 index 0000000000..f321ff1073 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/82.png diff --git a/src/resources/assets/miscutils/textures/items/ion/83.png b/src/resources/assets/miscutils/textures/items/ion/83.png Binary files differnew file mode 100644 index 0000000000..c219309000 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/83.png diff --git a/src/resources/assets/miscutils/textures/items/ion/84.png b/src/resources/assets/miscutils/textures/items/ion/84.png Binary files differnew file mode 100644 index 0000000000..c7be4342ad --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/84.png diff --git a/src/resources/assets/miscutils/textures/items/ion/85.png b/src/resources/assets/miscutils/textures/items/ion/85.png Binary files differnew file mode 100644 index 0000000000..f0d9995742 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/85.png diff --git a/src/resources/assets/miscutils/textures/items/ion/86.png b/src/resources/assets/miscutils/textures/items/ion/86.png Binary files differnew file mode 100644 index 0000000000..df5da1cc2e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/86.png diff --git a/src/resources/assets/miscutils/textures/items/ion/87.png b/src/resources/assets/miscutils/textures/items/ion/87.png Binary files differnew file mode 100644 index 0000000000..ec37e331ff --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/87.png diff --git a/src/resources/assets/miscutils/textures/items/ion/88.png b/src/resources/assets/miscutils/textures/items/ion/88.png Binary files differnew file mode 100644 index 0000000000..9c53cfa885 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/88.png diff --git a/src/resources/assets/miscutils/textures/items/ion/89.png b/src/resources/assets/miscutils/textures/items/ion/89.png Binary files differnew file mode 100644 index 0000000000..1e7f46a245 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/89.png diff --git a/src/resources/assets/miscutils/textures/items/ion/9.png b/src/resources/assets/miscutils/textures/items/ion/9.png Binary files differnew file mode 100644 index 0000000000..946246b360 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/9.png diff --git a/src/resources/assets/miscutils/textures/items/ion/90.png b/src/resources/assets/miscutils/textures/items/ion/90.png Binary files differnew file mode 100644 index 0000000000..023364b0fb --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/90.png diff --git a/src/resources/assets/miscutils/textures/items/ion/91.png b/src/resources/assets/miscutils/textures/items/ion/91.png Binary files differnew file mode 100644 index 0000000000..44f463ff62 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/91.png diff --git a/src/resources/assets/miscutils/textures/items/ion/92.png b/src/resources/assets/miscutils/textures/items/ion/92.png Binary files differnew file mode 100644 index 0000000000..ef1d21c530 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/92.png diff --git a/src/resources/assets/miscutils/textures/items/ion/93.png b/src/resources/assets/miscutils/textures/items/ion/93.png Binary files differnew file mode 100644 index 0000000000..175f6bf84e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/93.png diff --git a/src/resources/assets/miscutils/textures/items/ion/94.png b/src/resources/assets/miscutils/textures/items/ion/94.png Binary files differnew file mode 100644 index 0000000000..544749b556 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/94.png diff --git a/src/resources/assets/miscutils/textures/items/ion/95.png b/src/resources/assets/miscutils/textures/items/ion/95.png Binary files differnew file mode 100644 index 0000000000..a2d38fa96e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/95.png diff --git a/src/resources/assets/miscutils/textures/items/ion/96.png b/src/resources/assets/miscutils/textures/items/ion/96.png Binary files differnew file mode 100644 index 0000000000..12e545a65f --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/96.png diff --git a/src/resources/assets/miscutils/textures/items/ion/97.png b/src/resources/assets/miscutils/textures/items/ion/97.png Binary files differnew file mode 100644 index 0000000000..ee9ed016dc --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/97.png diff --git a/src/resources/assets/miscutils/textures/items/ion/98.png b/src/resources/assets/miscutils/textures/items/ion/98.png Binary files differnew file mode 100644 index 0000000000..aa8a1bf7ce --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/98.png diff --git a/src/resources/assets/miscutils/textures/items/ion/99.png b/src/resources/assets/miscutils/textures/items/ion/99.png Binary files differnew file mode 100644 index 0000000000..b5ba289886 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/99.png diff --git a/src/resources/assets/miscutils/textures/items/ion/IonBase.png b/src/resources/assets/miscutils/textures/items/ion/IonBase.png Binary files differnew file mode 100644 index 0000000000..fd342f7db2 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/ion/IonBase.png diff --git a/src/resources/assets/miscutils/textures/items/itemAirFilter.png b/src/resources/assets/miscutils/textures/items/itemAirFilter.png Binary files differindex 5dfa00636d..da4b975517 100644 --- a/src/resources/assets/miscutils/textures/items/itemAirFilter.png +++ b/src/resources/assets/miscutils/textures/items/itemAirFilter.png diff --git a/src/resources/assets/miscutils/textures/items/itemAlkalusDisk.png b/src/resources/assets/miscutils/textures/items/itemAlkalusDisk.png Binary files differindex 27aa983cea..8553a13cfb 100644 --- a/src/resources/assets/miscutils/textures/items/itemAlkalusDisk.png +++ b/src/resources/assets/miscutils/textures/items/itemAlkalusDisk.png diff --git a/src/resources/assets/miscutils/textures/items/itemBackpack.png b/src/resources/assets/miscutils/textures/items/itemBackpack.png Binary files differindex 00be30bea1..99add96c2b 100644 --- a/src/resources/assets/miscutils/textures/items/itemBackpack.png +++ b/src/resources/assets/miscutils/textures/items/itemBackpack.png diff --git a/src/resources/assets/miscutils/textures/items/itemBlueprint.png b/src/resources/assets/miscutils/textures/items/itemBlueprint.png Binary files differindex 7d60e0871b..593ba0ac17 100644 --- a/src/resources/assets/miscutils/textures/items/itemBlueprint.png +++ b/src/resources/assets/miscutils/textures/items/itemBlueprint.png diff --git a/src/resources/assets/miscutils/textures/items/itemBoilerChassis.png b/src/resources/assets/miscutils/textures/items/itemBoilerChassis.png Binary files differindex ae6b89766c..1ac3bff818 100644 --- a/src/resources/assets/miscutils/textures/items/itemBoilerChassis.png +++ b/src/resources/assets/miscutils/textures/items/itemBoilerChassis.png diff --git a/src/resources/assets/miscutils/textures/items/itemBoots.png b/src/resources/assets/miscutils/textures/items/itemBoots.png Binary files differindex c63e56deae..9cd07048cd 100644 --- a/src/resources/assets/miscutils/textures/items/itemBoots.png +++ b/src/resources/assets/miscutils/textures/items/itemBoots.png diff --git a/src/resources/assets/miscutils/textures/items/itemBread.png b/src/resources/assets/miscutils/textures/items/itemBread.png Binary files differindex e2b05916a5..332b994342 100644 --- a/src/resources/assets/miscutils/textures/items/itemBread.png +++ b/src/resources/assets/miscutils/textures/items/itemBread.png diff --git a/src/resources/assets/miscutils/textures/items/itemBufferCore.png b/src/resources/assets/miscutils/textures/items/itemBufferCore.png Binary files differindex 6dd01c09d9..3e41cfaa1c 100644 --- a/src/resources/assets/miscutils/textures/items/itemBufferCore.png +++ b/src/resources/assets/miscutils/textures/items/itemBufferCore.png diff --git a/src/resources/assets/miscutils/textures/items/itemCell.png b/src/resources/assets/miscutils/textures/items/itemCell.png Binary files differindex e932f27eef..023291b957 100644 --- a/src/resources/assets/miscutils/textures/items/itemCell.png +++ b/src/resources/assets/miscutils/textures/items/itemCell.png diff --git a/src/resources/assets/miscutils/textures/items/itemCell_Overlay.png b/src/resources/assets/miscutils/textures/items/itemCell_Overlay.png Binary files differindex 40dd2573a0..35c124ab0c 100644 --- a/src/resources/assets/miscutils/textures/items/itemCell_Overlay.png +++ b/src/resources/assets/miscutils/textures/items/itemCell_Overlay.png diff --git a/src/resources/assets/miscutils/textures/items/itemCentidust.png b/src/resources/assets/miscutils/textures/items/itemCentidust.png Binary files differindex c2e90c0074..13658b477f 100644 --- a/src/resources/assets/miscutils/textures/items/itemCentidust.png +++ b/src/resources/assets/miscutils/textures/items/itemCentidust.png diff --git a/src/resources/assets/miscutils/textures/items/itemDebugShapeSpawner.png b/src/resources/assets/miscutils/textures/items/itemDebugShapeSpawner.png Binary files differindex 908d3121e9..3fa59812e9 100644 --- a/src/resources/assets/miscutils/textures/items/itemDebugShapeSpawner.png +++ b/src/resources/assets/miscutils/textures/items/itemDebugShapeSpawner.png diff --git a/src/resources/assets/miscutils/textures/items/itemDecidust.png b/src/resources/assets/miscutils/textures/items/itemDecidust.png Binary files differindex 5fa27aebcb..1d7766cca5 100644 --- a/src/resources/assets/miscutils/textures/items/itemDecidust.png +++ b/src/resources/assets/miscutils/textures/items/itemDecidust.png diff --git a/src/resources/assets/miscutils/textures/items/itemDefault.png b/src/resources/assets/miscutils/textures/items/itemDefault.png Binary files differindex fbf4503b26..9ed71de6dd 100644 --- a/src/resources/assets/miscutils/textures/items/itemDefault.png +++ b/src/resources/assets/miscutils/textures/items/itemDefault.png diff --git a/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png Binary files differindex ffa38f29e2..7c03ca0ada 100644 --- a/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png b/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png Binary files differindex 533568b8be..bf9ab22ce2 100644 --- a/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemFoodCurriedSausages.png b/src/resources/assets/miscutils/textures/items/itemFoodCurriedSausages.png Binary files differindex edb649ce9f..55a9e7c912 100644 --- a/src/resources/assets/miscutils/textures/items/itemFoodCurriedSausages.png +++ b/src/resources/assets/miscutils/textures/items/itemFoodCurriedSausages.png diff --git a/src/resources/assets/miscutils/textures/items/itemFoodRaisinToast.png b/src/resources/assets/miscutils/textures/items/itemFoodRaisinToast.png Binary files differindex be14940e7f..12a1962cd3 100644 --- a/src/resources/assets/miscutils/textures/items/itemFoodRaisinToast.png +++ b/src/resources/assets/miscutils/textures/items/itemFoodRaisinToast.png diff --git a/src/resources/assets/miscutils/textures/items/itemGem.png b/src/resources/assets/miscutils/textures/items/itemGem.png Binary files differindex e52bdaffa2..ad5126851a 100644 --- a/src/resources/assets/miscutils/textures/items/itemGem.png +++ b/src/resources/assets/miscutils/textures/items/itemGem.png diff --git a/src/resources/assets/miscutils/textures/items/itemHeavyPlate.png b/src/resources/assets/miscutils/textures/items/itemHeavyPlate.png Binary files differindex 718fab4f76..1f005e0156 100644 --- a/src/resources/assets/miscutils/textures/items/itemHeavyPlate.png +++ b/src/resources/assets/miscutils/textures/items/itemHeavyPlate.png diff --git a/src/resources/assets/miscutils/textures/items/itemHeliumBlob.png b/src/resources/assets/miscutils/textures/items/itemHeliumBlob.png Binary files differindex 3d3804e2a3..f86ce276cc 100644 --- a/src/resources/assets/miscutils/textures/items/itemHeliumBlob.png +++ b/src/resources/assets/miscutils/textures/items/itemHeliumBlob.png diff --git a/src/resources/assets/miscutils/textures/items/itemHelmet.png b/src/resources/assets/miscutils/textures/items/itemHelmet.png Binary files differindex 517312045a..d7c34334b2 100644 --- a/src/resources/assets/miscutils/textures/items/itemHelmet.png +++ b/src/resources/assets/miscutils/textures/items/itemHelmet.png diff --git a/src/resources/assets/miscutils/textures/items/itemHotIngotRaisinBread.png b/src/resources/assets/miscutils/textures/items/itemHotIngotRaisinBread.png Binary files differindex e2b05916a5..332b994342 100644 --- a/src/resources/assets/miscutils/textures/items/itemHotIngotRaisinBread.png +++ b/src/resources/assets/miscutils/textures/items/itemHotIngotRaisinBread.png diff --git a/src/resources/assets/miscutils/textures/items/itemIngot.png b/src/resources/assets/miscutils/textures/items/itemIngot.png Binary files differindex 685dbcbfd8..a904365fba 100644 --- a/src/resources/assets/miscutils/textures/items/itemIngot.png +++ b/src/resources/assets/miscutils/textures/items/itemIngot.png diff --git a/src/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png b/src/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png Binary files differindex ab91ac2c85..edaac2807f 100644 --- a/src/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png +++ b/src/resources/assets/miscutils/textures/items/itemIngotBatteryAlloy.png diff --git a/src/resources/assets/miscutils/textures/items/itemIngotHot.png b/src/resources/assets/miscutils/textures/items/itemIngotHot.png Binary files differindex a0d2e6162a..d0f73e2868 100644 --- a/src/resources/assets/miscutils/textures/items/itemIngotHot.png +++ b/src/resources/assets/miscutils/textures/items/itemIngotHot.png diff --git a/src/resources/assets/miscutils/textures/items/itemIngotRaisinBread.png b/src/resources/assets/miscutils/textures/items/itemIngotRaisinBread.png Binary files differindex e2b05916a5..332b994342 100644 --- a/src/resources/assets/miscutils/textures/items/itemIngotRaisinBread.png +++ b/src/resources/assets/miscutils/textures/items/itemIngotRaisinBread.png diff --git a/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png Binary files differindex 31e5c0563a..73c2cbe026 100644 --- a/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png b/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png Binary files differindex 168ef8e907..585b862d12 100644 --- a/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png Binary files differindex a100a2ab32..d10128babd 100644 --- a/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png b/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png Binary files differindex d909ff9a98..b93430f732 100644 --- a/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemNugget.png b/src/resources/assets/miscutils/textures/items/itemNugget.png Binary files differindex 15d2a25795..e4d3e0c89c 100644 --- a/src/resources/assets/miscutils/textures/items/itemNugget.png +++ b/src/resources/assets/miscutils/textures/items/itemNugget.png diff --git a/src/resources/assets/miscutils/textures/items/itemPLACEHOLDER_Circuit.png b/src/resources/assets/miscutils/textures/items/itemPLACEHOLDER_Circuit.png Binary files differindex 27fbb8036a..aba5bf6850 100644 --- a/src/resources/assets/miscutils/textures/items/itemPLACEHOLDER_Circuit.png +++ b/src/resources/assets/miscutils/textures/items/itemPLACEHOLDER_Circuit.png diff --git a/src/resources/assets/miscutils/textures/items/itemPlateBatteryAlloy.png b/src/resources/assets/miscutils/textures/items/itemPlateBatteryAlloy.png Binary files differindex c41f17392c..fb293722f6 100644 --- a/src/resources/assets/miscutils/textures/items/itemPlateBatteryAlloy.png +++ b/src/resources/assets/miscutils/textures/items/itemPlateBatteryAlloy.png diff --git a/src/resources/assets/miscutils/textures/items/itemPlatebody.png b/src/resources/assets/miscutils/textures/items/itemPlatebody.png Binary files differindex 20722c8607..ec472a86a0 100644 --- a/src/resources/assets/miscutils/textures/items/itemPlatebody.png +++ b/src/resources/assets/miscutils/textures/items/itemPlatebody.png diff --git a/src/resources/assets/miscutils/textures/items/itemPlatelegs.png b/src/resources/assets/miscutils/textures/items/itemPlatelegs.png Binary files differindex 382a871aae..bcaa1338e6 100644 --- a/src/resources/assets/miscutils/textures/items/itemPlatelegs.png +++ b/src/resources/assets/miscutils/textures/items/itemPlatelegs.png diff --git a/src/resources/assets/miscutils/textures/items/itemRotor.png b/src/resources/assets/miscutils/textures/items/itemRotor.png Binary files differindex 6c6a16bfe5..c593cee35b 100644 --- a/src/resources/assets/miscutils/textures/items/itemRotor.png +++ b/src/resources/assets/miscutils/textures/items/itemRotor.png diff --git a/src/resources/assets/miscutils/textures/items/itemSandstoneHammer.png b/src/resources/assets/miscutils/textures/items/itemSandstoneHammer.png Binary files differindex 77c67f0814..ae8fc32267 100644 --- a/src/resources/assets/miscutils/textures/items/itemSandstoneHammer.png +++ b/src/resources/assets/miscutils/textures/items/itemSandstoneHammer.png diff --git a/src/resources/assets/miscutils/textures/items/itemShard.png b/src/resources/assets/miscutils/textures/items/itemShard.png Binary files differindex ee88e8eca9..104a59d2b3 100644 --- a/src/resources/assets/miscutils/textures/items/itemShard.png +++ b/src/resources/assets/miscutils/textures/items/itemShard.png diff --git a/src/resources/assets/miscutils/textures/items/itemSlowBuildersRing.png b/src/resources/assets/miscutils/textures/items/itemSlowBuildersRing.png Binary files differindex 93b78dd141..f711563765 100644 --- a/src/resources/assets/miscutils/textures/items/itemSlowBuildersRing.png +++ b/src/resources/assets/miscutils/textures/items/itemSlowBuildersRing.png diff --git a/src/resources/assets/miscutils/textures/items/itemStaballoyAxe.png b/src/resources/assets/miscutils/textures/items/itemStaballoyAxe.png Binary files differindex 0fe6015831..d7f8ed262f 100644 --- a/src/resources/assets/miscutils/textures/items/itemStaballoyAxe.png +++ b/src/resources/assets/miscutils/textures/items/itemStaballoyAxe.png diff --git a/src/resources/assets/miscutils/textures/items/itemStaballoyPickaxe.png b/src/resources/assets/miscutils/textures/items/itemStaballoyPickaxe.png Binary files differindex d1d6a487df..024f4f384c 100644 --- a/src/resources/assets/miscutils/textures/items/itemStaballoyPickaxe.png +++ b/src/resources/assets/miscutils/textures/items/itemStaballoyPickaxe.png diff --git a/src/resources/assets/miscutils/textures/items/itemStickyRubber.png b/src/resources/assets/miscutils/textures/items/itemStickyRubber.png Binary files differindex d020c1b2b2..c95353c892 100644 --- a/src/resources/assets/miscutils/textures/items/itemStickyRubber.png +++ b/src/resources/assets/miscutils/textures/items/itemStickyRubber.png diff --git a/src/resources/assets/miscutils/textures/items/itemSword.png b/src/resources/assets/miscutils/textures/items/itemSword.png Binary files differindex 2278866502..56ac390aa8 100644 --- a/src/resources/assets/miscutils/textures/items/itemSword.png +++ b/src/resources/assets/miscutils/textures/items/itemSword.png diff --git a/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png Binary files differindex 1708c9f934..cd376cb5cb 100644 --- a/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png Binary files differindex 83c40e49db..89f7b9474a 100644 --- a/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png b/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png Binary files differindex 49b449f94f..df6c9b9c49 100644 --- a/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png Binary files differindex 0842ccda42..5dea2ec1e5 100644 --- a/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png b/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png Binary files differindex 877e47766a..3a1fe64176 100644 --- a/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png diff --git a/src/resources/assets/miscutils/textures/items/material/DustBlizz.png b/src/resources/assets/miscutils/textures/items/material/DustBlizz.png Binary files differindex 6a88347a39..e253eea6de 100644 --- a/src/resources/assets/miscutils/textures/items/material/DustBlizz.png +++ b/src/resources/assets/miscutils/textures/items/material/DustBlizz.png diff --git a/src/resources/assets/miscutils/textures/items/material/DustCryotheum.png b/src/resources/assets/miscutils/textures/items/material/DustCryotheum.png Binary files differindex b8fb006c46..960b304439 100644 --- a/src/resources/assets/miscutils/textures/items/material/DustCryotheum.png +++ b/src/resources/assets/miscutils/textures/items/material/DustCryotheum.png diff --git a/src/resources/assets/miscutils/textures/items/material/DustPyrotheum.png b/src/resources/assets/miscutils/textures/items/material/DustPyrotheum.png Binary files differindex 370ecee9a3..eaf605e762 100644 --- a/src/resources/assets/miscutils/textures/items/material/DustPyrotheum.png +++ b/src/resources/assets/miscutils/textures/items/material/DustPyrotheum.png diff --git a/src/resources/assets/miscutils/textures/items/material/RodBlizz.png b/src/resources/assets/miscutils/textures/items/material/RodBlizz.png Binary files differindex a8274f74b7..d813e6b746 100644 --- a/src/resources/assets/miscutils/textures/items/material/RodBlizz.png +++ b/src/resources/assets/miscutils/textures/items/material/RodBlizz.png diff --git a/src/resources/assets/miscutils/textures/items/particle/0.PNG b/src/resources/assets/miscutils/textures/items/particle/0.PNG Binary files differnew file mode 100644 index 0000000000..a0a32d4508 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/0.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/1.png b/src/resources/assets/miscutils/textures/items/particle/1.png Binary files differnew file mode 100644 index 0000000000..4eddfa1727 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/1.png diff --git a/src/resources/assets/miscutils/textures/items/particle/10.PNG b/src/resources/assets/miscutils/textures/items/particle/10.PNG Binary files differnew file mode 100644 index 0000000000..09eee049a9 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/10.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/11.PNG b/src/resources/assets/miscutils/textures/items/particle/11.PNG Binary files differnew file mode 100644 index 0000000000..7f636919b6 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/11.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/12.PNG b/src/resources/assets/miscutils/textures/items/particle/12.PNG Binary files differnew file mode 100644 index 0000000000..4e9504b03f --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/12.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/13.PNG b/src/resources/assets/miscutils/textures/items/particle/13.PNG Binary files differnew file mode 100644 index 0000000000..d929480c16 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/13.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/14.PNG b/src/resources/assets/miscutils/textures/items/particle/14.PNG Binary files differnew file mode 100644 index 0000000000..7338066c1a --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/14.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/15.PNG b/src/resources/assets/miscutils/textures/items/particle/15.PNG Binary files differnew file mode 100644 index 0000000000..189a3127d9 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/15.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/16.PNG b/src/resources/assets/miscutils/textures/items/particle/16.PNG Binary files differnew file mode 100644 index 0000000000..8824201ff3 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/16.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/17.PNG b/src/resources/assets/miscutils/textures/items/particle/17.PNG Binary files differnew file mode 100644 index 0000000000..edea5115c0 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/17.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/18.PNG b/src/resources/assets/miscutils/textures/items/particle/18.PNG Binary files differnew file mode 100644 index 0000000000..d3e63562d7 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/18.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/19.PNG b/src/resources/assets/miscutils/textures/items/particle/19.PNG Binary files differnew file mode 100644 index 0000000000..43f9278b2c --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/19.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/2.png b/src/resources/assets/miscutils/textures/items/particle/2.png Binary files differnew file mode 100644 index 0000000000..292207ae7e --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/2.png diff --git a/src/resources/assets/miscutils/textures/items/particle/20.PNG b/src/resources/assets/miscutils/textures/items/particle/20.PNG Binary files differnew file mode 100644 index 0000000000..0e2ce23565 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/20.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/21.PNG b/src/resources/assets/miscutils/textures/items/particle/21.PNG Binary files differnew file mode 100644 index 0000000000..758fa46941 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/21.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/22.PNG b/src/resources/assets/miscutils/textures/items/particle/22.PNG Binary files differnew file mode 100644 index 0000000000..08bda97b66 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/22.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/23.PNG b/src/resources/assets/miscutils/textures/items/particle/23.PNG Binary files differnew file mode 100644 index 0000000000..9ba21b22eb --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/23.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/24.PNG b/src/resources/assets/miscutils/textures/items/particle/24.PNG Binary files differnew file mode 100644 index 0000000000..bc6aec8854 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/24.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/3.png b/src/resources/assets/miscutils/textures/items/particle/3.png Binary files differnew file mode 100644 index 0000000000..d085b86507 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/3.png diff --git a/src/resources/assets/miscutils/textures/items/particle/4.png b/src/resources/assets/miscutils/textures/items/particle/4.png Binary files differnew file mode 100644 index 0000000000..faf8db0576 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/4.png diff --git a/src/resources/assets/miscutils/textures/items/particle/5.png b/src/resources/assets/miscutils/textures/items/particle/5.png Binary files differnew file mode 100644 index 0000000000..3a30274238 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/5.png diff --git a/src/resources/assets/miscutils/textures/items/particle/6.png b/src/resources/assets/miscutils/textures/items/particle/6.png Binary files differnew file mode 100644 index 0000000000..8930ce52ef --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/6.png diff --git a/src/resources/assets/miscutils/textures/items/particle/7.PNG b/src/resources/assets/miscutils/textures/items/particle/7.PNG Binary files differnew file mode 100644 index 0000000000..0581d47446 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/7.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/8.PNG b/src/resources/assets/miscutils/textures/items/particle/8.PNG Binary files differnew file mode 100644 index 0000000000..6bd3c2c682 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/8.PNG diff --git a/src/resources/assets/miscutils/textures/items/particle/9.PNG b/src/resources/assets/miscutils/textures/items/particle/9.PNG Binary files differnew file mode 100644 index 0000000000..430f1aed3d --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/particle/9.PNG diff --git a/src/resources/assets/miscutils/textures/items/science/Atom.png b/src/resources/assets/miscutils/textures/items/science/Atom.png Binary files differindex b97ad8c669..eec0344eda 100644 --- a/src/resources/assets/miscutils/textures/items/science/Atom.png +++ b/src/resources/assets/miscutils/textures/items/science/Atom.png diff --git a/src/resources/assets/miscutils/textures/items/token/0.png b/src/resources/assets/miscutils/textures/items/token/0.png Binary files differindex 925fe2f778..7947f30bb6 100644 --- a/src/resources/assets/miscutils/textures/items/token/0.png +++ b/src/resources/assets/miscutils/textures/items/token/0.png diff --git a/src/resources/assets/miscutils/textures/models/TinFoil.png b/src/resources/assets/miscutils/textures/models/TinFoil.png Binary files differindex 4f4f29bb32..6c8e967db5 100644 --- a/src/resources/assets/miscutils/textures/models/TinFoil.png +++ b/src/resources/assets/miscutils/textures/models/TinFoil.png diff --git a/src/resources/assets/miscutils/textures/space/RocketGui.png b/src/resources/assets/miscutils/textures/space/RocketGui.png Binary files differindex 615b894962..2aa4a893ed 100644 --- a/src/resources/assets/miscutils/textures/space/RocketGui.png +++ b/src/resources/assets/miscutils/textures/space/RocketGui.png |