diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-01-25 04:43:40 +0000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-01-25 04:43:40 +0000 |
commit | f25534d89a96449f6d7a1adda952c35d234672f5 (patch) | |
tree | ad0dff32f74ce7e0f54233291963abc6db8c68c3 | |
parent | b41d734f18e0ec5a6d38fda93be8143fdcaf4c24 (diff) | |
parent | c7c62d38eec9034c09a09dbdec02dcb492ec55e7 (diff) | |
download | GT5-Unofficial-f25534d89a96449f6d7a1adda952c35d234672f5.tar.gz GT5-Unofficial-f25534d89a96449f6d7a1adda952c35d234672f5.tar.bz2 GT5-Unofficial-f25534d89a96449f6d7a1adda952c35d234672f5.zip |
Merge branch 'master' into imgbot
# Conflicts:
# src/resources/assets/miscutils/textures/items/itemBufferCore.png
178 files changed, 2247 insertions, 623 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..7b340dc798 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; @@ -420,69 +433,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/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/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/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/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index e2c69277f6..627c171a00 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -1,22 +1,25 @@ 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 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 +28,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 +75,42 @@ public class RECIPES_GREGTECH { extruderRecipes(); cuttingSawRecipes(); breweryRecipes(); + laserEngraverRecipes(); addFuels(); } + 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); @@ -481,10 +519,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 @@ -1261,39 +1298,218 @@ 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), + 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.UP), + Particle.getBaseParticle(Particle.DOWN), + Particle.getBaseParticle(Particle.CHARM), + Particle.getBaseParticle(Particle.STRANGE), + Particle.getBaseParticle(Particle.TOP), + Particle.getBaseParticle(Particle.BOTTOM), + 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), + 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[] { 5, 20, 20, 20, 20, 20, 20, 15, 15, 15, 10, 10, 10, 40, 40, 40, 40, 1 }, + 20 * 300 * 134, + (int) GT_Values.V[8], + 750 * 20); + + //Graviton Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(15), + FluidUtils.getFluidStack("plasma.hydrogen", 10), + new ItemStack[] { + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.UNKNOWN) + }, + null, + new int[] {15, 1000}, + 20 * 30, + (int) GT_Values.V[6], + 1000 * 20); + + //Quantum Anomaly + CORE.RA.addCyclotronRecipe( + new ItemStack[] { + CI.getNumberedCircuit(24), + Particle.getBaseParticle(Particle.UNKNOWN), + }, + FluidUtils.getFluidStack("plasma.osmium", 3), + new ItemStack[] { + GregtechItemList.Laser_Lens_Special.get(1) + }, + null, + new int[] {100}, + 20 * 60, + (int) GT_Values.V[6], + 1000 * 20); + + /* + * Ions + */ + + String[] aElementsTest = new String[] { + "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminum", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon" + }; + + int IonCount = 2; + int tenCountA = 1; + int tenCountB = 0; + for (String y : IonParticles.MetaToNameMap.values()) { + + if (tenCountB == 12) { + tenCountB = 0; + tenCountA++; + } + else { + tenCountB++; + } + + FluidStack aPlasma = FluidUtils.getFluidStack("plasma."+y.toLowerCase(), 1); + + // Ionize Plasma + if (aPlasma != null) { + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(1+(tenCountA-1)), + aPlasma, + 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."); + } + } + + + + + + /*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, 500 * 20); //PO Special Value +*/ + } diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 0040edfa99..27116ba125 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -208,6 +208,7 @@ public class RECIPES_Machines { private static void run(){ initModItems(); controlCores(); + energyCores(); } private static void initModItems(){ @@ -338,109 +339,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 ){ @@ -1702,6 +1601,175 @@ 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(4) : aOutput[i-1]); + aPrevTier.stackSize = GTNH ? 4 : 2; + 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)); + } diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java index dc156c6f91..5f334cdc71 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,265 @@ 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) { + ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1); + FluidStack a = GT_Utility.getFluidForFilledItem(aCell, true); + if (a == null) { + a = aMaster[0][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; + + + } } 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..1cb2513e90 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -10,7 +10,9 @@ import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import gregtech.api.enums.ItemList; @@ -315,7 +317,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 +368,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(); } } @@ -762,23 +763,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/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/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index def213ec7c..41bb0b0c26 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, + //---------------------------------------------------------------------------- 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..df71432663 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, 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..3e5c783a5c 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 @@ -1508,28 +1508,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/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/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java index 25e838e57a..f2eca2a697 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,9 @@ 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.lib.CORE; +import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import net.minecraft.block.Block; @@ -111,30 +115,30 @@ 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++) { @@ -236,12 +240,35 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas 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); + Logger.INFO(""+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); + Logger.INFO(""+aX+"/"+aY+"/"+aZ); + }*/ + + return debug; + + + + } public Block getCasing() { @@ -270,6 +297,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 +324,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,6 +336,12 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas @Override public boolean checkRecipe(ItemStack aStack) { + + /*if (CORE.DEVENV) { + return this.checkRecipeGeneric(); + }*/ + + //Logger.INFO("Recipe Check."); ArrayList<ItemStack> tItemList = getStoredInputs(); ItemStack[] tItemInputs = tItemList.toArray(new ItemStack[tItemList.size()]); @@ -352,6 +383,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; @@ -375,6 +428,10 @@ public class GregtechMetaTileEntity_Cyclotron extends GregtechMeta_MultiBlockBas if (aBaseMetaTileEntity.isServerSide()) { if (mEfficiency < 0) mEfficiency = 0; + + onRunningTick(null); + + if (mRunningOnLoad && checkMultiblock(aBaseMetaTileEntity, mInventory[1])) { this.mEUStore = (int) aBaseMetaTileEntity.getStoredEU(); checkRecipe(mInventory[1]); @@ -461,7 +518,34 @@ 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})); + } + } + } + } + } + } + } return true; } 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/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index 1d99b1c2d7..05fb2a5471 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -442,19 +442,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) { + if (aOutput == null || aOutput.length < 1 || !ItemUtils.checkForInvalidItems(aOutput)) { return false; } - if ((aDuration = GregTech_API.sRecipeFile.get("cyclotron", aOutput, aDuration)) <= 0) { - 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; diff --git a/src/resources/assets/gregtech/lang/zh_CN.lang b/src/resources/assets/gregtech/lang/zh_CN.lang new file mode 100644 index 0000000000..5ea879e1f3 --- /dev/null +++ b/src/resources/assets/gregtech/lang/zh_CN.lang @@ -0,0 +1,21 @@ + +//Shit I stole from GTNH~ + +GTPP.EBF.heat=热容 + +GTPP.machines.tier=等级 + +GTPP.multiblock.pollutionreduced=减少污染至 +GTPP.multiblock.pollution=污染 +GTPP.multiblock.energy=能量存储 +GTPP.multiblock.Progress=进程 +GTPP.multiblock.efficiency=效率 +GTPP.multiblock.problems=为每桶 +GTPP.multiblock.mei=最大能量输入 +GTPP.multiblock.usage=大概能用来 + +GTPP.CC.machinetier=控制核心等级 +GTPP.CC.discount=EU损耗 +GTPP.CC.parallel=最大并行处理进程 + +//This zh_CN.lang is translation by huajijam for GregTech++ (18/1/19)
\ No newline at end of file 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/lang/zh_CN.lang b/src/resources/assets/miscutils/lang/zh_CN.lang index 99b19979d1..99ee5fca97 100644 --- a/src/resources/assets/miscutils/lang/zh_CN.lang +++ b/src/resources/assets/miscutils/lang/zh_CN.lang @@ -1,5 +1,3 @@ -//This zh_CN.lang is translation by huajijam for GregTech++ [2020 Lines] - //Creative Tabs itemGroup.MiscUtilBlockTab=[GT++] 方块 itemGroup.MiscUtilMiscTab=[GT++] 物品 @@ -35,7 +33,7 @@ item.itemFuelRod_Uranium.name=铀燃料棒 item.itemFuelRod_Plutonium.name=钚燃料棒 //Entities -entity.constructStaballoy.name=构建稳定合金 +entity.constructStaballoy.name=贫铀合金结构 entity.sickBlaze.name=被感染的狂热者 //Tile Entities @@ -158,7 +156,7 @@ item.backpackBlack.name=黑色背包 item.backpackWhite.name=白色背包 item.itemBlueprint.name=蓝图 [没什么用] item.itemGemShards.name=钻石碎片 -item.itemHalfCompleteCasings.name=半成品机械方块I +item.itemHalfCompleteCasings.name=半成品机械方块 item.itemSulfuricPotion.name=喷溅型 硫酸 item.itemHydrofluoricPotion.name=喷溅型 氢氟酸 item.itemIngotRaisinBread.name=一份葡萄干面包 @@ -1475,8 +1473,8 @@ item.itemDustZrCl4.name=氯化锆粉 item.itemDustSmallZrCl4.name=小堆氯化锆粉 item.itemDustTinyZrCl4.name=小撮氯化锆粉 item.itemDustCookedZrCl4.name=焙烧过的氯化锆粉 -item.itemDustSmallCookedZrCl4.name=小堆煮过的氯化锆粉 -item.itemDustTinyCookedZrCl4.name=小撮煮过的氯化锆粉 +item.itemDustSmallCookedZrCl4.name=小堆焙烧过的氯化锆粉 +item.itemDustTinyCookedZrCl4.name=小撮焙烧过的氯化锆粉 item.itemDustUN18Fertiliser.name=流体肥料UN-18粉 item.itemDustSmallUN18Fertiliser.name=小堆流体肥料UN-18粉 item.itemDustTinyUN18Fertiliser.name=小撮流体肥料UN-18粉 @@ -1492,164 +1490,165 @@ item.itemDustPlutonium239.name=钚-239粉 item.itemDustSmallPlutonium239.name=小堆钚-239粉 item.itemDustTinyPlutonium239.name=小撮钚-239粉 + //Multitools -item.AluminiumMultipick.name=铝 Multipick -item.AluminiumMultispade.name=铝 Multispade -item.BerylliumMultispade.name=铍 Multispade -item.BismuthMultispade.name=铋 Multispade -item.CarbonMultispade.name=碳 Multispade -item.ChromeMultipick.name=铬 Multipick -item.ChromeMultispade.name=铬 Multispade -item.CobaltMultipick.name=钴 Multipick -item.CobaltMultispade.name=钴 Multispade -item.GoldMultispade.name=金 Multispade -item.IridiumMultipick.name=铱 Multipick -item.IridiumMultispade.name=铱 Multispade -item.IronMultipick.name=铁 Multipick -item.IronMultispade.name=铁 Multispade -item.LeadMultispade.name=铅 Multispade -item.ManganeseMultipick.name=锰 Multipick -item.ManganeseMultispade.name=锰 Multispade -item.MolybdenumMultipick.name=钼 Multipick -item.MolybdenumMultispade.name=钼 Multispade -item.NeodymiumMultipick.name=钕 Multipick -item.NeodymiumMultispade.name=钕 Multispade -item.NeutroniumMultipick.name=中子素 Multipick -item.NeutroniumMultispade.name=中子素 Multispade -item.NickelMultispade.name=镍 Multispade -item.OsmiumMultipick.name=锇 Multipick -item.OsmiumMultispade.name=锇 Multispade -item.PalladiumMultipick.name=钯 Multipick -item.PalladiumMultispade.name=钯 Multispade -item.PlatinumMultispade.name=铂 Multispade -item.Plutonium241Multipick.name=钚-241 Multipick -item.Plutonium241Multispade.name=钚-241 Multispade -item.SilverMultispade.name=银 Multispade -item.ThoriumMultipick.name=钍 Multipick -item.ThoriumMultispade.name=钍 Multispade -item.TitaniumMultipick.name=钛 Multipick -item.TitaniumMultispade.name=钛 Multispade -item.TungstenMultipick.name=钨 Multipick -item.TungstenMultispade.name=钨 Multispade -item.Uranium235Multipick.name=铀-235 Multipick -item.Uranium235Multispade.name=铀-235 Multispade -item.DarkSteelMultipick.name=玄钢 Multipick -item.DarkSteelMultispade.name=玄钢 Multispade -item.DuraniumMultipick.name=铿铀 Multipick -item.DuraniumMultispade.name=铿铀 Multispade -item.InfusedGoldMultispade.name=注魔金 Multispade -item.NaquadahMultipick.name=硅岩 Multipick -item.NaquadahMultispade.name=硅岩 Multispade -item.NaquadahAlloyMultipick.name=硅岩合金 Multipick -item.NaquadahAlloyMultispade.name=硅岩合金 Multispade -item.NaquadriaMultipick.name=超能硅岩 Multipick -item.NaquadriaMultispade.name=超能硅岩 Multispade -item.TritaniumMultipick.name=三钛 Multipick -item.TritaniumMultispade.name=三钛 Multispade -item.OsmiridiumMultipick.name=铱锇合金 Multipick -item.OsmiridiumMultispade.name=铱锇合金 Multispade -item.BrassMultispade.name=黄铜 Multispade -item.BronzeMultipick.name=青铜 Multipick -item.BronzeMultispade.name=青铜 Multispade -item.CupronickelMultispade.name=白铜 Multispade -item.ElectrumMultispade.name=琥珀金 Multispade -item.InvarMultipick.name=殷钢 Multipick -item.InvarMultispade.name=殷钢 Multispade -item.KanthalMultispade.name=坝塔尔合金 Multispade -item.MagnaliumMultipick.name=镁铝合金 Multipick -item.MagnaliumMultispade.name=镁铝合金 Multispade -item.NichromeMultispade.name=镍铬合金 Multispade -item.PigIronMultipick.name=生铁 Multipick -item.PigIronMultispade.name=生铁 Multispade -item.PolycaprolactamMultispade.name=聚己内酰胺 Multispade -item.PolytetrafluoroethyleneMultispade.name=聚四氟乙烯 Multispade -item.NickelZincFerriteMultispade.name=镍锌铁氧体 Multispade -item.PolyphenyleneSulfideMultispade.name=聚苯硫醚 Multispade -item.StainlessSteelMultipick.name=不锈钢 Multipick -item.StainlessSteelMultispade.name=不锈钢 Multispade -item.SteelMultipick.name=钢 Multipick -item.SteelMultispade.name=钢 Multispade -item.TinAlloyMultispade.name=锡铁合金 Multispade -item.UltimetMultipick.name=哈氏合金 Multipick -item.UltimetMultispade.name=哈氏合金 Multispade -item.WroughtIronMultipick.name=锻铁 Multipick -item.WroughtIronMultispade.name=锻铁 Multispade -item.SterlingSilverMultipick.name=标准纯银 Multipick -item.SterlingSilverMultispade.name=标准纯银 Multispade -item.RoseGoldMultipick.name=玫瑰金 Multipick -item.RoseGoldMultispade.name=玫瑰金 Multispade -item.BlackBronzeMultipick.name=黑青铜 Multipick -item.BlackBronzeMultispade.name=黑青铜 Multispade -item.BismuthBronzeMultipick.name=铋青铜 Multipick -item.BismuthBronzeMultispade.name=铋青铜 Multispade -item.BlackSteelMultipick.name=黑钢 Multipick -item.BlackSteelMultispade.name=黑钢 Multispade -item.RedSteelMultipick.name=红钢 Multipick -item.RedSteelMultispade.name=红钢 Multispade -item.BlueSteelMultipick.name=蓝钢 Multipick -item.BlueSteelMultispade.name=蓝钢 Multispade -item.DamascusSteelMultipick.name=大马士革钢 Multipick -item.DamascusSteelMultispade.name=大马士革钢 Multispade -item.MithrilMultispade.name=秘银 Multispade -item.CobaltBrassMultipick.name=钴黄铜 Multipick -item.CobaltBrassMultispade.name=钴黄铜 Multispade -item.ThaumiumMultipick.name=神秘锭 Multipick -item.ThaumiumMultispade.name=神秘锭 Multispade -item.HSSGMultipick.name=高速钢-G Multipick -item.HSSGMultispade.name=高速钢-G Multispade -item.HSSEMultipick.name=高速钢-E Multipick -item.HSSEMultispade.name=高速钢-E Multispade -item.HSSSMultipick.name=高速钢-S Multipick -item.HSSSMultispade.name=高速钢-S Multispade -item.HastelloyC276Multipick.name=哈斯特洛依合金-C276 Multipick -item.HastelloyC276Multispade.name=哈斯特洛依合金-C276 Multispade -item.HastelloyNMultipick.name=哈斯特洛依合金-N Multipick -item.HastelloyNMultispade.name=哈斯特洛依合金-N Multispade -item.HastelloyWMultipick.name=哈斯特洛依合金-W Multipick -item.HastelloyWMultispade.name=哈斯特洛依合金-W Multispade -item.HastelloyXMultipick.name=哈斯特洛依合金-X Multipick -item.HastelloyXMultispade.name=哈斯特洛依合金-X Multispade -item.Incoloy020Multipick.name=耐热铬铁合金-020 Multipick -item.Incoloy020Multispade.name=耐热铬铁合金-020 Multispade -item.IncoloyDSMultipick.name=耐热铬铁合金-DS Multipick -item.IncoloyDSMultispade.name=耐热铬铁合金-DS Multispade -item.IncoloyMA956Multipick.name=耐热铬铁合金-MA956 Multipick -item.IncoloyMA956Multispade.name=耐热铬铁合金-MA956 Multispade -item.Inconel625Multipick.name=镍铬基合金-625 Multipick -item.Inconel625Multispade.name=镍铬基合金-625 Multispade -item.Inconel690Multipick.name=镍铬基合金-690 Multipick -item.Inconel690Multispade.name=镍铬基合金-690 Multispade -item.Inconel792Multipick.name=镍铬基合金-792 Multipick -item.Inconel792Multispade.name=镍铬基合金-792 Multispade -item.GrisiumMultipick.name=格里西姆合金 Multipick -item.GrisiumMultispade.name=格里西姆合金 Multispade -item.Tantalloy60Multipick.name=钽钨合金-60 Multipick -item.Tantalloy60Multispade.name=钽钨合金-60 Multispade -item.Tantalloy61Multipick.name=钽钨合金-61 Multipick -item.Tantalloy61Multispade.name=钽钨合金-61 Multispade -item.StaballoyMultipick.name=贫铀合金 Multipick -item.StaballoyMultispade.name=贫铀合金 Multispade -item.QuantumMultipick.name=量子合金 Multipick -item.QuantumMultispade.name=量子合金 Multispade -item.PotinMultipick.name=粗青铜合金 Multipick -item.PotinMultispade.name=粗青铜合金 Multispade -item.TumbagaMultipick.name=铜金合金 Multipick -item.TumbagaMultispade.name=铜金合金 Multispade -item.TaloniteMultipick.name=铬钴磷酸盐合金 Multipick -item.TaloniteMultispade.name=铬钴磷酸盐合金 Multispade -item.StelliteMultipick.name=铬钴锰钛合金 Multipick -item.StelliteMultispade.name=铬钴锰钛合金 Multispade -item.TungstenCarbideMultipick.name=碳化钨 Multipick -item.TungstenCarbideMultispade.name=碳化钨 Multispade -item.TantalumCarbideMultipick.name=碳化钽 Multipick -item.TantalumCarbideMultispade.name=碳化钽 Multispade +item.AluminiumMultipick.name=铝复合稿 +item.AluminiumMultispade.name=铝复合铲 +item.BerylliumMultispade.name=铍复合铲 +item.BismuthMultispade.name=铋复合铲 +item.CarbonMultispade.name=碳复合铲 +item.ChromeMultipick.name=铬复合稿 +item.ChromeMultispade.name=铬复合铲 +item.CobaltMultipick.name=钴复合稿 +item.CobaltMultispade.name=钴复合铲 +item.GoldMultispade.name=金复合铲 +item.IridiumMultipick.name=铱复合稿 +item.IridiumMultispade.name=铱复合铲 +item.IronMultipick.name=铁复合稿 +item.IronMultispade.name=铁复合铲 +item.LeadMultispade.name=铅复合铲 +item.ManganeseMultipick.name=锰复合稿 +item.ManganeseMultispade.name=锰复合铲 +item.MolybdenumMultipick.name=钼复合稿 +item.MolybdenumMultispade.name=钼复合铲 +item.NeodymiumMultipick.name=钕复合镐 +item.NeodymiumMultispade.name=钕复合铲 +item.NeutroniumMultipick.name=中子素复合镐 +item.NeutroniumMultispade.name=中子素复合铲 +item.NickelMultispade.name=镍复合铲 +item.OsmiumMultipick.name=锇复合镐 +item.OsmiumMultispade.name=锇复合铲 +item.PalladiumMultipick.name=钯复合镐 +item.PalladiumMultispade.name=钯复合铲 +item.PlatinumMultispade.name=铂复合铲 +item.Plutonium241Multipick.name=钚-241复合镐 +item.Plutonium241Multispade.name=钚-241复合铲 +item.SilverMultispade.name=银复合铲 +item.ThoriumMultipick.name=钍复合镐 +item.ThoriumMultispade.name=钍复合铲 +item.TitaniumMultipick.name=钛复合镐 +item.TitaniumMultispade.name=钛复合铲 +item.TungstenMultipick.name=钨复合镐 +item.TungstenMultispade.name=钨复合铲 +item.Uranium235Multipick.name=铀-235复合镐 +item.Uranium235Multispade.name=铀-235复合铲 +item.DarkSteelMultipick.name=玄钢复合镐 +item.DarkSteelMultispade.name=玄钢复合铲 +item.DuraniumMultipick.name=铿铀复合镐 +item.DuraniumMultispade.name=铿铀复合铲 +item.InfusedGoldMultispade.name=注魔金复合铲 +item.NaquadahMultipick.name=硅岩复合镐 +item.NaquadahMultispade.name=硅岩复合铲 +item.NaquadahAlloyMultipick.name=硅岩合金复合镐 +item.NaquadahAlloyMultispade.name=硅岩合金复合铲 +item.NaquadriaMultipick.name=超能硅岩复合镐 +item.NaquadriaMultispade.name=超能硅岩复合铲 +item.TritaniumMultipick.name=三钛复合镐 +item.TritaniumMultispade.name=三钛复合铲 +item.OsmiridiumMultipick.name=铱锇合金复合镐 +item.OsmiridiumMultispade.name=铱锇合金复合铲 +item.BrassMultispade.name=黄铜复合铲 +item.BronzeMultipick.name=青铜复合镐 +item.BronzeMultispade.name=青铜复合铲 +item.CupronickelMultispade.name=白铜复合铲 +item.ElectrumMultispade.name=琥珀金复合铲 +item.InvarMultipick.name=殷钢复合镐 +item.InvarMultispade.name=殷钢复合铲 +item.KanthalMultispade.name=坝塔尔合金复合铲 +item.MagnaliumMultipick.name=镁铝合金复合镐 +item.MagnaliumMultispade.name=镁铝合金复合铲 +item.NichromeMultispade.name=镍铬合金复合铲 +item.PigIronMultipick.name=生铁复合镐 +item.PigIronMultispade.name=生铁复合铲 +item.PolycaprolactamMultispade.name=聚己内酰胺复合铲 +item.PolytetrafluoroethyleneMultispade.name=聚四氟乙烯复合铲 +item.NickelZincFerriteMultispade.name=镍锌铁氧体复合铲 +item.PolyphenyleneSulfideMultispade.name=聚苯硫醚复合铲 +item.StainlessSteelMultipick.name=不锈钢复合镐 +item.StainlessSteelMultispade.name=不锈钢复合铲 +item.SteelMultipick.name=钢复合镐 +item.SteelMultispade.name=钢复合铲 +item.TinAlloyMultispade.name=锡铁合金复合铲 +item.UltimetMultipick.name=哈氏合金复合镐 +item.UltimetMultispade.name=哈氏合金复合铲 +item.WroughtIronMultipick.name=锻铁复合镐 +item.WroughtIronMultispade.name=锻铁复合铲 +item.SterlingSilverMultipick.name=标准纯银复合镐 +item.SterlingSilverMultispade.name=标准纯银复合铲 +item.RoseGoldMultipick.name=玫瑰金复合镐 +item.RoseGoldMultispade.name=玫瑰金复合铲 +item.BlackBronzeMultipick.name=黑青铜复合镐 +item.BlackBronzeMultispade.name=黑青铜复合铲 +item.BismuthBronzeMultipick.name=铋青铜复合镐 +item.BismuthBronzeMultispade.name=铋青铜复合铲 +item.BlackSteelMultipick.name=黑钢复合镐 +item.BlackSteelMultispade.name=黑钢复合铲 +item.RedSteelMultipick.name=红钢复合镐 +item.RedSteelMultispade.name=红钢复合铲 +item.BlueSteelMultipick.name=蓝钢复合镐 +item.BlueSteelMultispade.name=蓝钢复合铲 +item.DamascusSteelMultipick.name=大马士革钢复合镐 +item.DamascusSteelMultispade.name=大马士革钢复合铲 +item.MithrilMultispade.name=秘银复合铲 +item.CobaltBrassMultipick.name=钴黄铜复合镐 +item.CobaltBrassMultispade.name=钴黄铜复合铲 +item.ThaumiumMultipick.name=神秘锭复合镐 +item.ThaumiumMultispade.name=神秘锭复合铲 +item.HSSGMultipick.name=高速钢-G复合镐 +item.HSSGMultispade.name=高速钢-G复合铲 +item.HSSEMultipick.name=高速钢-E复合镐 +item.HSSEMultispade.name=高速钢-E复合铲 +item.HSSSMultipick.name=高速钢-S复合镐 +item.HSSSMultispade.name=高速钢-S复合铲 +item.HastelloyC276Multipick.name=哈斯特洛依合金-C276复合镐 +item.HastelloyC276Multispade.name=哈斯特洛依合金-C276复合铲 +item.HastelloyNMultipick.name=哈斯特洛依合金-N复合镐 +item.HastelloyNMultispade.name=哈斯特洛依合金-N复合铲 +item.HastelloyWMultipick.name=哈斯特洛依合金-W复合镐 +item.HastelloyWMultispade.name=哈斯特洛依合金-W复合铲 +item.HastelloyXMultipick.name=哈斯特洛依合金-X复合镐 +item.HastelloyXMultispade.name=哈斯特洛依合金-X复合铲 +item.Incoloy020Multipick.name=耐热铬铁合金-020复合镐 +item.Incoloy020Multispade.name=耐热铬铁合金-020复合铲 +item.IncoloyDSMultipick.name=耐热铬铁合金-DS复合镐 +item.IncoloyDSMultispade.name=耐热铬铁合金-DS复合铲 +item.IncoloyMA956Multipick.name=耐热铬铁合金-MA956复合镐 +item.IncoloyMA956Multispade.name=耐热铬铁合金-MA956复合铲 +item.Inconel625Multipick.name=镍铬基合金-625复合镐 +item.Inconel625Multispade.name=镍铬基合金-625复合铲 +item.Inconel690Multipick.name=镍铬基合金-690复合镐 +item.Inconel690Multispade.name=镍铬基合金-690复合铲 +item.Inconel792Multipick.name=镍铬基合金-792复合镐 +item.Inconel792Multispade.name=镍铬基合金-792复合铲 +item.GrisiumMultipick.name=格里西姆合金复合镐 +item.GrisiumMultispade.name=格里西姆合金复合铲 +item.Tantalloy60Multipick.name=钽钨合金-60复合镐 +item.Tantalloy60Multispade.name=钽钨合金-60复合铲 +item.Tantalloy61Multipick.name=钽钨合金-61复合镐 +item.Tantalloy61Multispade.name=钽钨合金-61复合铲 +item.StaballoyMultipick.name=贫铀合金复合镐 +item.StaballoyMultispade.name=贫铀合金复合铲 +item.QuantumMultipick.name=量子合金复合镐 +item.QuantumMultispade.name=量子合金复合铲 +item.PotinMultipick.name=粗青铜合金复合镐 +item.PotinMultispade.name=粗青铜合金复合铲 +item.TumbagaMultipick.name=铜金合金复合镐 +item.TumbagaMultispade.name=铜金合金复合铲 +item.TaloniteMultipick.name=铬钴磷酸盐合金复合镐 +item.TaloniteMultispade.name=铬钴磷酸盐合金复合铲 +item.StelliteMultipick.name=铬钴锰钛合金复合镐 +item.StelliteMultispade.name=铬钴锰钛合金复合铲 +item.TungstenCarbideMultipick.name=碳化钨复合镐 +item.TungstenCarbideMultispade.name=碳化钨复合铲 +item.TantalumCarbideMultipick.name=碳化钽复合镐 +item.TantalumCarbideMultispade.name=碳化钽复合铲 //Items that Don't fit into another category //Plates -item.itemPlateClay.name=黏土板 -item.itemPlateDoubleClay.name=双重黏土板 +item.itemPlateClay.name=粘土板 +item.itemPlateDoubleClay.name=双重粘土板 item.itemPlateLithium.name=锂板 item.itemPlateDoubleEuropium.name=双重铕板 @@ -1659,7 +1658,7 @@ item.itemSmallGearWroughtIron.name=小型锻铁齿轮 //Misc item.itemFoilUranium235.name=铀235箔 -item.itemBoilerChassis_0.name=高级锅炉底座 [Tier 1] +item.itemBoilerChassis_0.name=高级锅炉底座 [1级] item.itemDehydratorCoilWire_0.name=缠绕线圈 [EV] item.itemDehydratorCoil_0.name=缠绕脱水器 [EV] item.itemAirFilter_0.name=空气过滤器 @@ -1682,9 +1681,9 @@ item.itemDustTinyPhthalicAnhydride.name=小撮邻苯二甲酸酐粉 item.2Ethylanthraquinone.name=2-乙基蒽醌单元 item.2Ethylanthrahydroquinone.name=2-乙基氢蒽醌单元 item.HydrogenPeroxide.name=过氧化氢单元 -item.itemDustLithiumHydroperoxide.name=氢氧化锂粉 -item.itemDustSmallLithiumHydroperoxide.name=小堆氢氧化锂粉 -item.itemDustTinyLithiumHydroperoxide.name=小撮氢氧化锂粉 +item.itemDustLithiumHydroperoxide.name=过氧化氢锂粉 +item.itemDustSmallLithiumHydroperoxide.name=小堆过氧化氢锂粉 +item.itemDustTinyLithiumHydroperoxide.name=小撮过氧化氢锂粉 item.LithiumPeroxide.name=过氧化锂单元 item.itemPotionChilly.name=冰凉药水 item.itemKeyBig4000DC's.name=4000DC的大钥匙 @@ -1727,8 +1726,8 @@ item.itemPlateLudicrite.name=纯镥板 item.itemPlateVoid.name=虚空板 item.itemPlateDimensionShard.name=维度碎片板 item.rfEUBattery.name=通用充电电池 -item.personalCloakingDevice.name=§9个人隐形装置§7 -item.personalHealingDevice.name=§9个人治疗纳米加速器§r +item.personalCloakingDevice.name=§9私人伪装装置§7 +item.personalHealingDevice.name=§9私人治疗纳米加速器§r item.SlowBuildingRing.name=§e缓慢建筑指环§7 item.itemStaballoyPickaxe.name=隧道挖掘者 item.itemStaballoyAxe.name=树林砍伐者 @@ -1747,7 +1746,7 @@ item.itemPLACEHOLDER_Circuit.name=夸克操纵者 (UV) item.itembookgt.name=§o热力锅炉手册 // Everglade Items -item.everglades.trigger.name=§6Alkalus圆盘[§c已激活§6] +item.everglades.trigger.name=§6Alkalus圆盘[§c激活§6] @@ -1879,7 +1878,7 @@ tile.Block of Incoloy-MA956.name=耐热铬铁合金-MA956块 tile.Incoloy-MA956 Frame Box.name=耐热铬铁合金-MA956框架 tile.Block of Grisium.name=格里西姆合金块 tile.Grisium Frame Box.name=格里西姆合金框架 -tile.Block of Trinium.name=Trinium块 +tile.Block of Trinium.name=三元金属块 tile.Block of Refined Trinium.name=精制三元金属块 tile.Block of Trinium Titanium Alloy.name=三元钛合金块 tile.Trinium Titanium Alloy Frame Box.name=三元钛合金框架 @@ -1948,13 +1947,14 @@ tile.blockDarkWorldGround2.name=污染的土壤 tile.blockDarkWorldGround2.2.name=高度污染的土壤 tile.blockDarkWorldPortalFrame.name=遏制框架 + //Added 1/4/18 tile.Block of Plutonium-239.name=钚-239块 -tile.Fluorite Ore [Old].name=氟石矿 [不可用的] +tile.Fluorite Ore [Old].name=氟石矿[不可用的] tile.blockMiningPipeFake.name=强化钢筋挖掘管道 tile.blockMiningHeadFake.name=基岩钻头 -item.itemCellLiFBeF2ThF4UF4.name=熔盐单元 [铀钍综合氟化物] -item.itemCellLiFBeF2ZrF4UF4.name=熔盐单元 [铀综合氟化物] +item.itemCellLiFBeF2ThF4UF4.name=熔盐单元[铀钍综合氟化物] +item.itemCellLiFBeF2ZrF4UF4.name=熔盐单元[铀综合氟化物] item.itemCellLiFBeF2ZrF4U235.name=熔盐单元[铀235复合氟化物] item.itemPlateMeatRaw.name=生肉板 tile.Block of MeatRaw.name=生肉块 @@ -2014,9 +2014,699 @@ tile.blockMobSpawnerEx.15.name=刷怪笼 description.villager.profession.miscutils.banker=银行家 description.villager.profession.miscutils.technician=GT技术员 description.villager.profession.miscutils.trader=矿石交易员 -description.villager.profession.miscutils.aboriginal=澳大利亚原住民 +description.villager.profession.miscutils.aboriginal=澳大利亚土著 //Added 23/8/18 item.itemHatTinFoil.name=锡薄帽 -//This zh_CN.lang is translation by huajijam for GregTech++ [2020 Lines]
\ No newline at end of file +//Added 13/9/18 +entity.WiseVillager.name=聪明的村民 +entity.Aboriginal.name=澳大利亚土著 +entity.miscutils.constructStaballoy.name=贫铀合金结构 +entity.miscutils.sickBlaze.name=被感染的狂热者 + +//Added 15/9/8 +item.ZirconiumTetrafluoride.name=四氟化锆单元 +item.Formaldehyde.name=甲醛单元 +item.RocketFuelMixA.name=H8N4C2O4火箭燃料单元 +item.RocketFuelMixB.name=RP-1火箭燃料单元 +item.RocketFuelMixC.name=CN3H7O3火箭燃料单元 +item.RocketFuelMixD.name=密集肼火箭燃料单元 +item.RP1Fuel.name=RP-1燃料单元 +item.Monomethylhydrazine.name=甲基肼单元 +item.Hydrazine.name=肼单元 +item.NitrogenTetroxide.name=四氧化二氮单元 +item.NitrousOxide.name=一氧化二氮单元 +item.AmmoniumNitrateSlurry.name=硝酸铵浆液单元 +item.Kerosene.name=煤油单元 +item.LiquidOxygen.name=液化氧单元[LOX] + +//Added 8/1/19 + +//Ores + +tile.OreIrarsite.name=硫砷铱矿石 +item.crushedIrarsite.name=粉碎硫砷铱矿石 +item.crushedCentrifugedIrarsite.name=离心粉碎硫砷铱矿石 +item.crushedPurifiedIrarsite.name=纯净粉碎硫砷铱矿石 +item.dustImpureIrarsite.name=含杂硫砷铱粉 +item.dustPureIrarsite.name=纯净硫砷铱粉 +item.itemDustIrarsite.name=硫砷铱粉 +item.itemDustTinyIrarsite.name=小堆硫砷铱粉 +item.itemDustSmallIrarsite.name=小撮硫砷铱粉 + +tile.OreMiessiite.name=硅灰石矿石 +item.crushedMiessiite.name=粉碎硅灰石矿石 +item.crushedCentrifugedMiessiite.name=离心粉碎硅灰石矿石 +item.crushedPurifiedMiessiite.name=纯净硅灰石矿石 +item.dustImpureMiessiite.name=含杂硅灰石粉 +item.dustPureMiessiite.name=纯净硅灰石粉 +item.itemDustMiessiite.name=硅灰石粉 +item.itemDustTinyMiessiite.name=小堆硅灰石粉 +item.itemDustSmallMiessiite.name=小撮硅灰石粉 + +tile.OreComancheite.name=溴汞石矿石 +item.crushedComancheite.name=粉碎溴汞石矿石 +item.crushedCentrifugedComancheite.name=离心粉碎溴汞石矿石 +item.crushedPurifiedComancheite.name=纯净粉碎溴汞石矿石 +item.dustImpureComancheite.name=含杂溴汞石矿石 +item.dustPureComancheite.name=纯净溴汞石粉 +item.itemDustComancheite.name=溴汞石粉 +item.itemDustTinyComancheite.name=小堆溴汞石粉 +item.itemDustSmallComancheite.name=小撮溴汞石粉 + +tile.OreKoboldite.name=妖金矿石 +item.crushedKoboldite.name=粉碎妖金矿石 +item.crushedCentrifugedKoboldite.name=离心粉碎妖金矿石 +item.crushedPurifiedKoboldite.name=纯净粉碎妖金矿石 +item.dustImpureKoboldite.name=含杂妖金粉 +item.dustPureKoboldite.name=纯净妖金粉 +item.itemDustKoboldite.name=妖金粉 +item.itemDustTinyKoboldite.name=小堆妖金粉 +item.itemDustSmallKoboldite.name=小撮妖金粉 + +tile.OrePerroudite.name=溴硫银汞矿石 +item.crushedPerroudite.name=粉碎溴硫银汞矿石 +item.crushedCentrifugedPerroudite.name=离心溴硫银汞矿石 +item.crushedPurifiedPerroudite.name=纯净溴硫银汞矿石 +item.dustImpurePerroudite.name=含杂溴硫银汞粉 +item.dustPurePerroudite.name=纯净溴硫银汞粉 +item.itemDustPerroudite.name=溴硫银汞粉 +item.itemDustTinyPerroudite.name=小堆溴硫银汞粉 +item.itemDustSmallPerroudite.name=小撮溴硫银汞粉 + +tile.OreDemicheleite.name=重闪石矿石 +item.crushedDemicheleite.name=粉碎重闪石矿石 +item.crushedCentrifugedDemicheleite.name=离心粉碎重闪石矿石 +item.crushedPurifiedDemicheleite.name=纯净粉碎重闪石矿石 +item.dustImpureDemicheleite.name=含杂重闪石粉 +item.dustPureDemicheleite.name=纯净重闪石粉 +item.itemDustDemicheleite.name=重闪石粉 +item.itemDustTinyDemicheleite.name=小堆重闪石粉 +item.itemDustSmallDemicheleite.name=小撮重闪石粉 + +tile.OreAlburnite.name=铝尖晶石矿石 +item.crushedAlburnite.name=粉碎铝尖晶石矿石 +item.crushedCentrifugedAlburnite.name=离心粉碎铝尖晶石矿石 +item.crushedPurifiedAlburnite.name=纯净粉碎铝尖晶石矿石 +item.dustImpureAlburnite.name=含杂铝尖晶石粉 +item.dustPureAlburnite.name=纯净铝尖晶石粉 +item.itemDustAlburnite.name=铝尖晶石粉 +item.itemDustTinyAlburnite.name=小撮铝尖晶石粉 +item.itemDustSmallAlburnite.name=小堆铝尖晶石粉 + +tile.OreLautarite.name=碘钙石矿石 +item.crushedLautarite.name=粉碎碘钙石矿石 +item.crushedCentrifugedLautarite.name=离心粉碎碘钙石矿石 +item.crushedPurifiedLautarite.name=纯净粉碎碘钙石矿石 +item.dustImpureLautarite.name=含杂碘钙石粉 +item.dustPureLautarite.name=纯净碘钙石粉 +item.itemDustLautarite.name=碘钙石粉 +item.itemDustTinyLautarite.name=小堆碘钙石粉 +item.itemDustSmallLautarite.name=小撮碘钙石粉 + +tile.OreBariteRd.name=重晶石(Rd)矿石 +item.crushedBariteRd.name=粉碎重晶石(Rd)矿石 +item.crushedCentrifugedBariteRd.name=离心粉碎 重晶石(Rd)矿石 +item.crushedPurifiedBariteRd.name=纯净粉碎重晶石(Rd)矿石 +item.dustImpureBariteRd.name=含杂 重晶石(Rd)粉 +item.dustPureBariteRd.name=纯净 重晶石(Rd)粉 +item.itemDustBariteRd.name=重晶石(Rd)粉 +item.itemDustTinyBariteRd.name=小堆重晶石(Rd)粉 +item.itemDustSmallBariteRd.name=小撮重晶石(Rd)粉 + +tile.OreHoneaite.name=碲化金铊矿石 +item.crushedHoneaite.name=粉碎碲化金铊矿石 +item.crushedCentrifugedHoneaite.name=离心粉碎碲化金铊矿石 +item.crushedPurifiedHoneaite.name=纯净粉碎碲化金铊矿石 +item.dustImpureHoneaite.name=含杂碲化金铊粉 +item.dustPureHoneaite.name=纯净碲化金铊粉 +item.itemDustHoneaite.name=碲化金铊粉 +item.itemDustTinyHoneaite.name=小堆碲化金铊粉 +item.itemDustSmallHoneaite.name=小撮碲化金铊粉 + +tile.OreLafossaite.name=铊盐矿石 +item.crushedLafossaite.name=粉碎铊盐矿石 +item.crushedCentrifugedLafossaite.name=离心粉碎铊盐矿石 +item.crushedPurifiedLafossaite.name=纯净粉碎铊盐矿石 +item.dustImpureLafossaite.name=含杂铊盐粉 +item.dustPureLafossaite.name=纯净铊盐粉 +item.itemDustLafossaite.name=铊盐粉 +item.itemDustTinyLafossaite.name=小堆铊盐粉 +item.itemDustSmallLafossaite.name=小撮铊盐粉 + +tile.OreKashinite.name=硫铑钛铜矿石 +item.crushedKashinite.name=粉碎硫铑钛铜矿石 +item.crushedCentrifugedKashinite.name=离心粉碎硫铑钛铜矿石 +item.crushedPurifiedKashinite.name=纯净粉碎硫铑钛铜矿石 +item.dustImpureKashinite.name=含杂硫铑钛铜粉 +item.dustPureKashinite.name=纯净硫铑钛铜粉 +item.itemDustKashinite.name=硫铑钛铜粉 +item.itemDustTinyKashinite.name=小堆硫铑钛铜粉 +item.itemDustSmallKashinite.name=小撮硫铑钛铜粉 + +tile.OreRadioactiveMineralMix.name=奇异矿石 +item.crushedRadioactiveMineralMix.name=粉碎奇异矿石 +item.crushedCentrifugedRadioactiveMineralMix.name=离心粉碎奇异矿石 +item.crushedPurifiedRadioactiveMineralMix.name=纯净粉碎奇异矿石 +item.dustImpureRadioactiveMineralMix.name=含杂奇异粉 +item.dustPureRadioactiveMineralMix.name=纯净奇异粉 +item.itemDustRadioactiveMineralMix.name=奇异粉 +item.itemDustTinyRadioactiveMineralMix.name=小堆奇异粉 +item.itemDustSmallRadioactiveMineralMix.name=小撮奇异粉 + +tile.OreDemicheleiteBr.name=重闪石(Br)矿石 +item.crushedDemicheleiteBr.name=粉碎重闪石(Br)矿石 +item.crushedCentrifugedDemicheleiteBr.name=离心粉碎重闪石(Br)矿石 +item.crushedPurifiedDemicheleiteBr.name=纯净粉碎重闪石(Br)矿石 +item.dustImpureDemicheleiteBr.name=含杂重闪石(Br)粉 +item.dustPureDemicheleiteBr.name=纯净重闪石(Br)粉 +item.itemDustDemicheleiteBr.name=重闪石(Br)粉 + + +//Materials + +item.itemIngotTitansteel.name=泰坦锻钢 +item.itemHotIngotTitansteel.name=热泰坦锻钢 +item.itemDustTitansteel.name=泰坦锻钢粉 +item.itemDustTinyTitansteel.name=小堆泰坦锻钢粉 +item.itemDustSmallTitansteel.name=小撮泰坦锻钢粉 +item.itemNuggetTitansteel.name=泰坦锻钢粒 +item.itemPlateTitansteel.name=泰坦锻钢板 +item.itemPlateDoubleTitansteel.name=双重泰坦锻钢板 +item.itemBoltTitansteel.name=泰坦锻钢螺栓 +item.itemRodTitansteel.name=泰坦锻钢杆 +item.itemRodLongTitansteel.name=泰坦锻钢长杆 +item.itemRingTitansteel.name=泰坦锻钢环 +item.itemScrewTitansteel.name=泰坦锻钢螺丝 +item.itemRotorTitansteel.name=泰坦锻钢转子 +item.itemGearTitansteel.name=泰坦锻钢齿轮 +item.itemCellTitansteel.name=泰坦锻钢单元 +tile.Block of Titansteel.name=泰坦锻钢块 +tile.Titansteel Frame Box.name=泰坦锻钢框架 + +item.itemIngotOctiron.name=Octiron锭 +item.itemHotIngotOctiron.name=热Octiron锭 +item.itemDustOctiron.name=Octiron粉 +item.itemDustTinyOctiron.name=小堆Octiron粉 +item.itemDustSmallOctiron.name=小撮Octiron粉 +item.itemNuggetOctiron.name=Octiron粒 +item.itemPlateOctiron.name=Octiron板 +item.itemPlateDoubleOctiron.name=双重Octiron板 +item.itemBoltOctiron.name=Octiron螺栓 +item.itemRodOctiron.name=Octiron杆 +item.itemRodLongOctiron.name=Octiron长杆 +item.itemRingOctiron.name=Octiron环 +item.itemScrewOctiron.name=Octiron螺丝 +item.itemRotorOctiron.name=Octiron转子 +item.itemGearOctiron.name=Octiron齿轮 +item.itemCellOctiron.name=Octiron单元 +tile.Block of Octiron.name=Octiron块 +tile.Octiron Frame Box.name=Octiron框架 + +item.itemIngotWatertightSteel.name=防水钢锭 +item.itemHotIngotWatertightSteel.name=热防水钢锭 +item.itemDustWatertightSteel.name=防水钢粉 +item.itemDustTinyWatertightSteel.name=小堆防水钢粉 +item.itemDustSmallWatertightSteel.name=小撮防水钢粉 +item.itemNuggetWatertightSteel.name=防水钢粒 +item.itemPlateWatertightSteel.name=防水钢板 +item.itemPlateDoubleWatertightSteel.name=双重防水钢板 +item.itemBoltWatertightSteel.name=防水钢螺栓 +item.itemRodWatertightSteel.name=防水钢杆 +item.itemRodLongWatertightSteel.name=防水钢长杆 +item.itemRingWatertightSteel.name=防水钢环 +item.itemScrewWatertightSteel.name=防水钢螺丝 +item.itemRotorWatertightSteel.name=防水钢转子 +item.itemGearWatertightSteel.name=防水钢齿轮 +item.itemCellWatertightSteel.name=防水钢单元 +tile.Block of Watertight Steel.name=防水钢块 +tile.Watertight Steel Frame Box.name=防水钢框架 + +item.itemIngotCelestialTungsten.name=天体钨锭 +item.itemHotIngotCelestialTungsten.name=热天体钨锭 +item.itemDustCelestialTungsten.name=天体钨粉 +item.itemDustTinyCelestialTungsten.name=小堆天体钨粉 +item.itemDustSmallCelestialTungsten.name=小撮天体钨粉 +item.itemNuggetCelestialTungsten.name=天体钨粒 +item.itemPlateCelestialTungsten.name=天体钨板 +item.itemPlateDoubleCelestialTungsten.name=双重天体钨板 +item.itemBoltCelestialTungsten.name=天体钨螺栓 +item.itemRodCelestialTungsten.name=天体钨杆 +item.itemRodLongCelestialTungsten.name=天体钨长杆 +item.itemRingCelestialTungsten.name=天体钨环 +item.itemScrewCelestialTungsten.name=天体钨螺丝 +item.itemRotorCelestialTungsten.name=天体钨转子 +item.itemGearCelestialTungsten.name=天体钨齿轮 +item.itemCellCelestialTungsten.name=天体钨单元 +tile.Block of Celestial Tungsten.name=天体钨块 +tile.Celestial Tungsten Frame Box.name=天体钨框架 + +item.itemIngotHypogen.name=Hypogen锭 +item.itemHotIngotHypogen.name=热Hypogen锭 +item.itemDustHypogen.name=Hypogen粉 +item.itemDustTinyHypogen.name=小堆Hypogen粉 +item.itemDustSmallHypogen.name=小撮Hypogen粉 +item.itemNuggetHypogen.name=Hypogen粒 +item.itemPlateHypogen.name=Hypogen板 +item.itemPlateDoubleHypogen.name=双重Hypogen板 +item.itemBoltHypogen.name=Hypogen螺栓 +item.itemRodHypogen.name=Hypogen杆 +item.itemRodLongHypogen.name=Hypogen长杆 +item.itemRingHypogen.name=Hypogen环 +item.itemScrewHypogen.name=Hypogen螺丝 +item.itemRotorHypogen.name=Hypogen转子 +item.itemGearHypogen.name=Hypogen齿轮 +item.itemCellHypogen.name=Hypogen单元 +tile.Block of Hypogen.name=Hypogen块 +tile.Hypogen Frame Box.name=Hypogen框架 + +item.itemIngotArceusAlloy2B.name=阿塞俄斯合金2B锭 +item.itemHotIngotArceusAlloy2B.name=热阿塞俄斯合金2B锭 +item.itemDustArceusAlloy2B.name=阿塞俄斯合金2B粉 +item.itemDustTinyArceusAlloy2B.name=小堆阿塞俄斯合金2B粉 +item.itemDustSmallArceusAlloy2B.name=小撮阿塞俄斯合金2B粉 +item.itemNuggetArceusAlloy2B.name=阿塞俄斯合金2B粒 +item.itemPlateArceusAlloy2B.name=阿塞俄斯合金2B板 +item.itemPlateDoubleArceusAlloy2B.name=双重阿塞俄斯合金2B板 +item.itemBoltArceusAlloy2B.name=阿塞俄斯合金2B螺栓 +item.itemRodArceusAlloy2B.name=阿塞俄斯合金2B杆 +item.itemRodLongArceusAlloy2B.name=阿塞俄斯合金2B长杆 +item.itemRingArceusAlloy2B.name=阿塞俄斯合金2B环 +item.itemScrewArceusAlloy2B.name=阿塞俄斯合金2B螺丝 +item.itemRotorArceusAlloy2B.name=阿塞俄斯合金2B转子 +item.itemGearArceusAlloy2B.name=阿塞俄斯合金2B齿轮 +item.itemCellArceusAlloy2B.name=阿塞俄斯合金2B单元 +tile.Block of Arceus Alloy 2B.name=阿塞俄斯合金2B块 +tile.Arceus Alloy 2B Frame Box.name=阿塞俄斯合金2B框架 + +item.itemIngotChromaticGlass.name=彩色玻璃锭 +item.itemHotIngotChromaticGlass.name=热彩色玻璃锭 +item.itemDustChromaticGlass.name=彩色玻璃粉 +item.itemDustTinyChromaticGlass.name=小堆彩色玻璃粉 +item.itemDustSmallChromaticGlass.name=小撮彩色玻璃粉 +item.itemNuggetChromaticGlass.name=彩色玻璃粒 +item.itemPlateChromaticGlass.name=彩色玻璃板 +item.itemPlateDoubleChromaticGlass.name=双重彩色玻璃板 +item.itemBoltChromaticGlass.name=彩色玻璃螺栓 +item.itemRodChromaticGlass.name=彩色玻璃杆 +item.itemRodLongChromaticGlass.name=彩色玻璃长杆 +item.itemRingChromaticGlass.name=彩色玻璃环 +item.itemScrewChromaticGlass.name=彩色玻璃螺丝 +item.itemRotorChromaticGlass.name=彩色玻璃转子 +item.itemGearChromaticGlass.name=彩色玻璃齿轮 +item.itemCellChromaticGlass.name=彩色玻璃单元 +tile.Block of Chromatic Glass.name=彩色玻璃块 +tile.Chromatic Glass Frame Box.name=彩色玻璃框架 + +item.itemIngotAstralTitanium.name=星体钛锭 +item.itemHotIngotAstralTitanium.name=热星体钛锭 +item.itemDustAstralTitanium.name=星体钛粉 +item.itemDustTinyAstralTitanium.name=小堆星体钛粉 +item.itemDustSmallAstralTitanium.name=小撮星体钛粉 +item.itemNuggetAstralTitanium.name=星体钛粒 +item.itemPlateAstralTitanium.name=星体钛板 +item.itemPlateDoubleAstralTitanium.name=双重星体钛板 +item.itemBoltAstralTitanium.name=星体钛螺栓 +item.itemRodAstralTitanium.name=星体钛杆 +item.itemRodLongAstralTitanium.name=星体钛长杆 +item.itemRingAstralTitanium.name=星体钛环 +item.itemScrewAstralTitanium.name=星体钛螺丝 +item.itemRotorAstralTitanium.name=星体钛转子 +item.itemGearAstralTitanium.name=星体钛齿轮 +item.itemCellAstralTitanium.name=星体钛单元 +tile.Block of Astral Titanium.name=星体钛块 +tile.Astral Titanium Frame Box.name=星体钛框架 + +item.itemIngotTungstenTitaniumCarbide.name=碳化钨钛合金锭 +item.itemHotIngotTungstenTitaniumCarbide.name=热碳化钨钛合金锭 +item.itemDustTungstenTitaniumCarbide.name=碳化钨钛合金粉 +item.itemDustTinyTungstenTitaniumCarbide.name=小堆碳化钨钛合金粉 +item.itemDustSmallTungstenTitaniumCarbide.name=小撮碳化钨钛合金粉 +item.itemNuggetTungstenTitaniumCarbide.name=碳化钨钛合金粒 +item.itemPlateTungstenTitaniumCarbide.name=碳化钨钛合金板 +item.itemPlateDoubleTungstenTitaniumCarbide.name=双重碳化钨钛合金板 +item.itemBoltTungstenTitaniumCarbide.name=碳化钨钛合金螺栓 +item.itemRodTungstenTitaniumCarbide.name=碳化钨钛合金杆 +item.itemRodLongTungstenTitaniumCarbide.name=碳化钨钛合金长杆 +item.itemRingTungstenTitaniumCarbide.name=碳化钨钛合金环 +item.itemScrewTungstenTitaniumCarbide.name=碳化钨钛合金螺丝 +item.itemRotorTungstenTitaniumCarbide.name=碳化钨钛合金转子 +item.itemGearTungstenTitaniumCarbide.name=碳化钨钛合金齿轮 +item.itemCellTungstenTitaniumCarbide.name=碳化钨钛合金单元 +tile.Block of Tungsten Titanium Carbide.name=碳化钨钛合金块 +tile.Tungsten Titanium Carbide Frame Box.name=碳化钨钛合金框架 + +item.itemIngotNitinol60.name=镍钛诺60锭 +item.itemHotIngotNitinol60.name=热镍钛诺60锭 +item.itemDustNitinol60.name=镍钛诺60粉 +item.itemDustTinyNitinol60.name=小堆镍钛诺60粉 +item.itemDustSmallNitinol60.name=小撮镍钛诺60粉 +item.itemNuggetNitinol60.name=镍钛诺60粒 +item.itemPlateNitinol60.name=镍钛诺60板 +item.itemPlateDoubleNitinol60.name=双重镍钛诺60板 +item.itemBoltNitinol60.name=镍钛诺60螺栓 +item.itemRodNitinol60.name=镍钛诺60杆 +item.itemRodLongNitinol60.name=镍钛诺60长杆 +item.itemRingNitinol60.name=镍钛诺60环 +item.itemScrewNitinol60.name=镍钛诺60螺丝 +item.itemRotorNitinol60.name=镍钛诺60转子 +item.itemGearNitinol60.name=镍钛诺60齿轮 +item.itemCellNitinol60.name=镍钛诺60单元 +tile.Block of Nitinol 60.name=镍钛诺60块 +tile.Nitinol 60 Frame Box.name=镍钛诺60框架 + +item.itemIngotAdvancedNitinol.name=进阶镍钛诺锭 +item.itemHotIngotAdvancedNitinol.name=热进阶镍钛诺锭 +item.itemDustAdvancedNitinol.name=进阶镍钛诺粉 +item.itemDustTinyAdvancedNitinol.name=小堆进阶镍钛诺粉 +item.itemDustSmallAdvancedNitinol.name=小撮进阶镍钛诺粉 +item.itemNuggetAdvancedNitinol.name=进阶镍钛诺粒 +item.itemPlateAdvancedNitinol.name=进阶镍钛诺板 +item.itemPlateDoubleAdvancedNitinol.name=双重进阶镍钛诺板 +item.itemBoltAdvancedNitinol.name=进阶镍钛诺螺栓 +item.itemRodAdvancedNitinol.name=进阶镍钛诺杆 +item.itemRodLongAdvancedNitinol.name=进阶镍钛诺长杆 +item.itemRingAdvancedNitinol.name=进阶镍钛诺环 +item.itemScrewAdvancedNitinol.name=进阶镍钛诺螺丝 +item.itemRotorAdvancedNitinol.name=进阶镍钛诺转子 +item.itemGearAdvancedNitinol.name=进阶镍钛诺齿轮 +item.itemCellAdvancedNitinol.name=进阶镍钛诺单元 +tile.Block of Advanced Nitinol.name=进阶镍钛诺块 +tile.Advanced Nitinol Frame Box.name=进阶镍钛诺框架 + +item.itemIngotArcanite.name=单钾芒硝锭 +item.itemHotIngotArcanite.name=热单钾芒硝锭 +item.itemDustArcanite.name=单钾芒硝粉 +item.itemDustTinyArcanite.name=小堆单钾芒硝粉 +item.itemDustSmallArcanite.name=小撮单钾芒硝粉 +item.itemNuggetArcanite.name=单钾芒硝粒 +item.itemPlateArcanite.name=单钾芒硝板 +item.itemPlateDoubleArcanite.name=双重单钾芒硝板 +item.itemBoltArcanite.name=单钾芒硝螺栓 +item.itemRodArcanite.name=单钾芒硝杆 +item.itemRodLongArcanite.name=单钾芒硝长杆 +item.itemRingArcanite.name=单钾芒硝环 +item.itemScrewArcanite.name=单钾芒硝螺丝 +item.itemRotorArcanite.name=单钾芒硝转子 +item.itemGearArcanite.name=单钾芒硝齿轮 +item.itemCellArcanite.name=单钾芒硝单元 +tile.Block of Arcanite.name=单钾芒硝块 +tile.Arcanite Frame Box.name=单钾芒硝框架 + +item.itemIngotPikyonium64B.name=Pikyonium 64B锭 +item.itemHotIngotPikyonium64B.name=热Pikyonium 64B锭 +item.itemDustPikyonium64B.name=Pikyonium 64B粉 +item.itemDustTinyPikyonium64B.name=小堆Pikyonium 64B粉 +item.itemDustSmallPikyonium64B.name=小撮Pikyonium 64B粉 +item.itemNuggetPikyonium64B.name=Pikyonium 64B粒 +item.itemPlatePikyonium64B.name=Pikyonium 64B板 +item.itemPlateDoublePikyonium64B.name=双重Pikyonium 64B板 +item.itemBoltPikyonium64B.name=Pikyonium 64B螺栓 +item.itemRodPikyonium64B.name=Pikyonium 64B杆 +item.itemRodLongPikyonium64B.name=Pikyonium 64B长杆 +item.itemRingPikyonium64B.name=Pikyonium 64B环 +item.itemScrewPikyonium64B.name=Pikyonium 64B螺丝 +item.itemRotorPikyonium64B.name=Pikyonium 64B转子 +item.itemGearPikyonium64B.name=Pikyonium 64B齿轮 +item.itemCellPikyonium64B.name=Pikyonium 64B单元 +tile.Block of Pikyonium 64B.name=Pikyonium 64B块 +tile.Pikyonium 64B Frame Box.name=Pikyonium 64B框架 + +item.itemIngotCinobiteA243.name=Cinobite A243锭 +item.itemHotIngotCinobiteA243.name=热Cinobite A243锭 +item.itemDustCinobiteA243.name=Cinobite A243粉 +item.itemDustTinyCinobiteA243.name=小堆Cinobite A243粉 +item.itemDustSmallCinobiteA243.name=小撮Cinobite A243粉 +item.itemNuggetCinobiteA243.name=Cinobite A243粒 +item.itemPlateCinobiteA243.name=Cinobite A243板 +item.itemPlateDoubleCinobiteA243.name=双重Cinobite A243板 +item.itemBoltCinobiteA243.name=Cinobite A243螺栓 +item.itemRodCinobiteA243.name=Cinobite A243杆 +item.itemRodLongCinobiteA243.name=Cinobite A243长杆 +item.itemRingCinobiteA243.name=Cinobite A243环 +item.itemScrewCinobiteA243.name=Cinobite A243螺丝 +item.itemRotorCinobiteA243.name=Cinobite A243转子 +item.itemGearCinobiteA243.name=Cinobite A243齿轮 +item.itemCellCinobiteA243.name=Cinobite A243单元 +tile.Block of Cinobite A243.name=Cinobite A243块 +tile.Cinobite A243 Frame Box.name=Cinobite A243框架 + +item.itemIngotLafiumCompound.name=Lafium化合物锭 +item.itemHotIngotLafiumCompound.name=热Lafium化合物锭 +item.itemDustLafiumCompound.name=Lafium化合物粉 +item.itemDustTinyLafiumCompound.name=小堆Lafium化合物粉 +item.itemDustSmallLafiumCompound.name=小撮Lafium化合物粉 +item.itemNuggetLafiumCompound.name=Lafium化合物粒 +item.itemPlateLafiumCompound.name=Lafium化合物板 +item.itemPlateDoubleLafiumCompound.name=双重Lafium化合物板 +item.itemBoltLafiumCompound.name=Lafium化合物螺栓 +item.itemRodLafiumCompound.name=Lafium化合物杆 +item.itemRodLongLafiumCompound.name=Lafium化合物长杆 +item.itemRingLafiumCompound.name=Lafium化合物环 +item.itemScrewLafiumCompound.name=Lafium化合物螺丝 +item.itemRotorLafiumCompound.name=Lafium化合物转子 +item.itemGearLafiumCompound.name=Lafium化合物齿轮 +item.itemCellLafiumCompound.name=Lafium化合物单元 +tile.Block of Lafium Compound.name=Lafium化合物块 +tile.Lafium Compound Frame Box.name=Lafium化合物框架 + +item.itemIngotKoboldite.name=妖金锭 +item.itemHotIngotKoboldite.name=热妖金锭 +item.itemDustKoboldite.name=妖金粉 +item.itemDustTinyKoboldite.name=小堆妖金粉 +item.itemDustSmallKoboldite.name=小撮妖金粉 +item.itemNuggetKoboldite.name=妖金粒 +item.itemPlateKoboldite.name=妖金板 +item.itemPlateDoubleKoboldite.name=双重妖金板 +item.itemBoltKoboldite.name=妖金螺栓 +item.itemRodKoboldite.name=妖金杆 +item.itemRodLongKoboldite.name=妖金长杆 +item.itemRingKoboldite.name=妖金环 +item.itemScrewKoboldite.name=妖金螺丝 +item.itemRotorKoboldite.name=妖金转子 +item.itemGearKoboldite.name=妖金齿轮 +item.itemCellKoboldite.name=妖金单元 +tile.Block of Koboldite.name=妖金块 +tile.Koboldite Frame Box.name=妖金框架 + +item.itemIngotAbyssalAlloy.name=深渊合金锭 +item.itemHotIngotAbyssalAlloy.name=热深渊合金锭 +item.itemDustAbyssalAlloy.name=深渊合金粉 +item.itemDustTinyAbyssalAlloy.name=小堆深渊合金粉 +item.itemDustSmallAbyssalAlloy.name=小撮深渊合金粉 +item.itemNuggetAbyssalAlloy.name=深渊合金粒 +item.itemPlateAbyssalAlloy.name=深渊合金板 +item.itemPlateDoubleAbyssalAlloy.name=双重深渊合金板 +item.itemBoltAbyssalAlloy.name=深渊合金螺栓 +item.itemRodAbyssalAlloy.name=深渊合金杆 +item.itemRodLongAbyssalAlloy.name=深渊合金长杆 +item.itemRingAbyssalAlloy.name=深渊合金环 +item.itemScrewAbyssalAlloy.name=深渊合金螺丝 +item.itemRotorAbyssalAlloy.name=深渊合金转子 +item.itemGearAbyssalAlloy.name=深渊合金齿轮 +item.itemCellAbyssalAlloy.name=深渊合金单元 +tile.Block of Abyssal Alloy.name=深渊合金块 +tile.Abyssal Alloy Frame Box.name=深渊合金框架 + + + + + + + + + + + + + + + + + + + +//Radioactive +item.dustTechnetium99M.name=锝99M粉 +item.dustTechnetium99.name=锝99粉 +item.dustMolybdenum99.name=钼99粉 + +//Bags +item.item.MysticBag.name=神秘袋 +item.item.Eatotron9000.name=Eatotronic 9000 +item.item.ToolBox.name=工人的工具箱 + +//Cells +item.Bromine.name=溴单元 +item.Krypton.name=氪单元 +item.cryotheum.name=凛冰单元 +item.pyrotheum.name=烈焰之炽焱单元 +item.GeneticMutagen.name=诱变剂单元 + +//Ingots +item.itemHotIngotIncoloy020.name=热耐热铬铁合金-020锭 +item.itemHotIngotIncoloyDS.name=热耐热铬铁合金-DS锭 +item.itemHotIngotTalonite.name=热铬钴磷酸盐合金锭 +item.itemHotIngotHastelloyX.name=热哈斯特洛依合金-X锭 +item.itemHotIngotHastelloyW.name=热哈斯特洛依合金-W碳化物锭 + +//Railcraft Fix +item.railcraft.part.plate.lead.name=铅板 + +//Ions +item.particle.ion.Hydrogen.name=氢离子 +item.particle.ion.Helium.name=氦离子 +item.particle.ion.Lithium.name=锂离子 +item.particle.ion.Beryllium.name=铍离子 +item.particle.ion.Boron.name=硼离子 +item.particle.ion.Carbon.name=碳离子 +item.particle.ion.Nitrogen.name=氮离子 +item.particle.ion.Oxygen.name=氧离子 +item.particle.ion.Fluorine.name=氟离子 +item.particle.ion.Neon.name=氖离子 +item.particle.ion.Sodium.name=钠离子 +item.particle.ion.Magnesium.name=镁离子 +item.particle.ion.Aluminum.name=铝离子 +item.particle.ion.Silicon.name=硅离子 +item.particle.ion.Phosphorus.name=磷离子 +item.particle.ion.Sulfur.name=硫离子 +item.particle.ion.Chlorine.name=氯离子 +item.particle.ion.Argon.name=氩离子 +item.particle.ion.Potassium.name=钾离子 +item.particle.ion.Calcium.name=钙离子 +item.particle.ion.Scandium.name=钪离子 +item.particle.ion.Titanium.name=钛离子 +item.particle.ion.Vanadium.name=钒离子 +item.particle.ion.Chromium.name=铬离子 +item.particle.ion.Manganese.name=锰离子 +item.particle.ion.Iron.name=铁离子 +item.particle.ion.Cobalt.name=钴离子 +item.particle.ion.Nickel.name=镍离子 +item.particle.ion.Copper.name=铜离子 +item.particle.ion.Zinc.name=锌离子 +item.particle.ion.Gallium.name=镓离子 +item.particle.ion.Germanium.name=锗离子 +item.particle.ion.Arsenic.name=砷离子 +item.particle.ion.Selenium.name=硒离子 +item.particle.ion.Bromine.name=溴离子 +item.particle.ion.Krypton.name=氪离子 +item.particle.ion.Rubidium.name=铷离子 +item.particle.ion.Strontium.name=锶离子 +item.particle.ion.Yttrium.name=钇离子 +item.particle.ion.Zirconium.name=锆离子 +item.particle.ion.Niobium.name=铌离子 +item.particle.ion.Molybdenum.name=钼离子 +item.particle.ion.Technetium.name=锝离子 +item.particle.ion.Ruthenium.name=钌离子 +item.particle.ion.Rhodium.name=铑离子 +item.particle.ion.Palladium.name=钯离子 +item.particle.ion.Silver.name=银离子 +item.particle.ion.Cadmium.name=镉离子 +item.particle.ion.Indium.name=铟离子 +item.particle.ion.Tin.name=锡离子 +item.particle.ion.Antimony.name=锑离子 +item.particle.ion.Tellurium.name=碲离子 +item.particle.ion.Iodine.name=碘离子 +item.particle.ion.Xenon.name=氙离子 +item.particle.ion.Cesium.name=铯离子 +item.particle.ion.Barium.name=钡离子 +item.particle.ion.Lanthanum.name=镧离子 +item.particle.ion.Cerium.name=铈离子 +item.particle.ion.Praseodymium.name=镨离子 +item.particle.ion.Neodymium.name=钕离子 +item.particle.ion.Promethium.name=钷离子 +item.particle.ion.Samarium.name=钐离子 +item.particle.ion.Europium.name=铕离子 +item.particle.ion.Gadolinium.name=钆离子 +item.particle.ion.Terbium.name=铽离子 +item.particle.ion.Dysprosium.name=镝离子 +item.particle.ion.Holmium.name=钬离子 +item.particle.ion.Erbium.name=铒离子 +item.particle.ion.Thulium.name=铥离子 +item.particle.ion.Ytterbium.name=镱离子 +item.particle.ion.Lutetium.name=镏离子 +item.particle.ion.Hafnium.name=铪离子 +item.particle.ion.Tantalum.name=钽离子 +item.particle.ion.Tungsten.name=钨离子 +item.particle.ion.Rhenium.name=铼离子 +item.particle.ion.Osmium.name=锇离子 +item.particle.ion.Iridium.name=铱离子 +item.particle.ion.Platinum.name=铂离子 +item.particle.ion.Gold.name=金离子 +item.particle.ion.Mercury.name=汞离子 +item.particle.ion.Thallium.name=铊离子 +item.particle.ion.Lead.name=铅离子 +item.particle.ion.Bismuth.name=铋离子 +item.particle.ion.Polonium.name=钋离子 +item.particle.ion.Astatine.name=砹离子 +item.particle.ion.Radon.name=氡离子 +item.particle.ion.Francium.name=钫离子 +item.particle.ion.Radium.name=镭离子 +item.particle.ion.Actinium.name=锕离子 +item.particle.ion.Thorium.name=钍离子 +item.particle.ion.Protactinium.name=镤离子 +item.particle.ion.Uranium.name=铀离子 +item.particle.ion.Neptunium.name=镎离子 +item.particle.ion.Plutonium.name=钚离子 +item.particle.ion.Americium.name=銤离子 +item.particle.ion.Curium.name=锔离子 +item.particle.ion.Berkelium.name=锫离子 +item.particle.ion.Californium.name=锎离子 +item.particle.ion.Einsteinium.name=锿离子 +item.particle.ion.Fermium.name=镄离子 +item.particle.ion.Mendelevium.name=钔离子 +item.particle.ion.Nobelium.name=锘离子 +item.particle.ion.Lawrencium.name=铹离子 +item.particle.ion.Rutherfordium.name=鈩离子 +item.particle.ion.Dubnium.name=𬭊离子 +item.particle.ion.Seaborgium.name=𨭎离子 +item.particle.ion.Bohrium.name=𬭛离子 +item.particle.ion.Hassium.name=𬭶离子 +item.particle.ion.Meitnerium.name=鿏离子 +item.particle.ion.Darmstadtium.name=𫟼离子 +item.particle.ion.Roentgenium.name=錀离子 +item.particle.ion.Copernicium.name=鎶离子 +item.particle.ion.Nihonium.name=鉨离子 +item.particle.ion.Flerovium.name=鈇离子 +item.particle.ion.Moscovium.name=Mc离子 +item.particle.ion.Livermorium.name=鉝离子 +item.particle.ion.Tennessine.name=Ts离子 +item.particle.ion.Oganesson.name=Og离子 + + +item.particle.base.Graviton.name=引力 +item.particle.base.Up.name=上夸克 +item.particle.base.Down.name=下夸克 +item.particle.base.Charm.name=魅力夸克 +item.particle.base.Strange.name=奇异夸克 +item.particle.base.Top.name=顶端夸克 +item.particle.base.Bottom.name=底部夸克 +item.particle.base.Electron.name=电子 +item.particle.base.Electron Neutrino.name=电子中微子 +item.particle.base.Muon.name=μ介子 +item.particle.base.Muon Neutrino.name=μ中微子 +item.particle.base.Tau.name=τ +item.particle.base.Tau Neutrino.name=τ中微子 +item.particle.base.Gluon.name=胶子 +item.particle.base.Photon.name=光子 +item.particle.base.Z Boson.name=Z玻色子 +item.particle.base.W Boson.name=W玻色子 +item.particle.base.Higgs Boson.name=希格斯玻色子 +item.particle.base.Proton.name=质子 +item.particle.base.Neutron.name=中子 +item.particle.base.Lambda.name=λ +item.particle.base.Omega.name=Ω +item.particle.base.Pion.name=介子 +item.particle.base.ETA Meson.name=η介子 + +//Added 12/1/19 + +tile.playerDoorGlass.name=玻璃自动门 +tile.playerDoorCactus.name=仙人掌自动门 +tile.playerDoorIce.name=冰自动门 +tile.playerDoorIron.name=铁自动门 +tile.playerDoorWood.name=木自动门 + + +//This zh_CN.lang is translation by huajijam for GregTech++ (18/1/19)
\ No newline at end of file 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/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/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/itemBufferCore.png b/src/resources/assets/miscutils/textures/items/itemBufferCore.png Binary files differindex 668ad7d68e..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/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/stevescarts/lang/zh_CN.lang b/src/resources/assets/stevescarts/lang/zh_CN.lang new file mode 100644 index 0000000000..2c8f383f7b --- /dev/null +++ b/src/resources/assets/stevescarts/lang/zh_CN.lang @@ -0,0 +1,2 @@ +item.SC2:crop_exotic_seeds.name=异域种子模块[GT++] +//This zh_CN.lang is translation by huajijam for GregTech++ (18/1/19)
\ No newline at end of file |