aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/core/common/CommonProxy.java8
-rw-r--r--src/Java/gtPlusPlus/core/handler/BookHandler.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java4
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java2
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java1
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java40
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java11
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java22
8 files changed, 86 insertions, 4 deletions
diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java
index 301ca992a4..cacc471249 100644
--- a/src/Java/gtPlusPlus/core/common/CommonProxy.java
+++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java
@@ -9,6 +9,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.enums.ItemList;
+import gregtech.api.enums.OrePrefixes;
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.minecraft.ChunkManager;
@@ -30,6 +31,7 @@ import gtPlusPlus.core.handler.events.GeneralTooltipEventHandler;
import gtPlusPlus.core.handler.events.PickaxeBlockBreakEventHandler;
import gtPlusPlus.core.handler.events.ZombieBackupSpawnEventHandler;
import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.GenericChem;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.CORE.ConfigSwitches;
import gtPlusPlus.core.lib.LoadedMods;
@@ -42,6 +44,7 @@ import gtPlusPlus.core.util.player.PlayerCache;
import gtPlusPlus.plugin.villagers.block.BlockGenericSpawner;
import gtPlusPlus.xmod.eio.handler.HandlerTooltip_EIO;
import gtPlusPlus.xmod.galacticraft.handler.HandlerTooltip_GC;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraft.entity.Entity;
import net.minecraftforge.common.ForgeChunkManager;
@@ -107,6 +110,7 @@ public class CommonProxy {
DEBUG_INIT.registerHandlers();
}
+ registerCustomItemsForMaterials();
ModBlocks.blockCustomMobSpawner = new BlockGenericSpawner();
if (!mFluidsGenerated && ItemList.valueOf("Cell_Empty").hasBeenSet()) {
@@ -216,5 +220,9 @@ public class CommonProxy {
Utils.createNewMobSpawner(1, EntitySickBlaze.class);
Utils.createNewMobSpawner(2, EntityStaballoyConstruct.class);
}
+
+ public void registerCustomItemsForMaterials() {
+ Material.registerComponentForMaterial(GenericChem.CARBYNE, OrePrefixes.plate, GregtechItemList.Carbyne_Sheet_Finished.get(1));
+ }
}
diff --git a/src/Java/gtPlusPlus/core/handler/BookHandler.java b/src/Java/gtPlusPlus/core/handler/BookHandler.java
index 462cbd8cdb..860946f513 100644
--- a/src/Java/gtPlusPlus/core/handler/BookHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/BookHandler.java
@@ -118,7 +118,7 @@ public class BookHandler {
//Test Novel
//20/21/22
book_MultiMachineManual = writeBookTemplate(
- "Manual_Multi_Machine", "Multi Machine Manual", "Alkalus",
+ "Manual_Multi_Machine", "Multi-Machine Manual", "Alkalus",
new String[] {
"This Multiblock, depending upon the mode used, can function as a variety of different machines. The idea behind this, was that most of these machines are rather niche compared to any others, as such, not used often.",
"To build, you need to construct a hollow 3x3x3 structure made from Multi-Use casings, With a minimum of 6. Any Casing position can be substituted out with an Input Hatch/Bus, an Output Hatch/Bus, Muffler, Maint. Hatch or Energy Injector Hatch.",
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 9618f1ed86..51d41674d3 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -653,7 +653,9 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.BABBIT_ALLOY, false);
MaterialGenerator.generate(ALLOY.BLACK_TITANIUM, false);
-
+
+ // High Level Bioplastic
+ MaterialGenerator.generate(ELEMENT.STANDALONE.RHUGNOR, false, false);
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
index ec1d51b502..c64ad07d2a 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
@@ -23,6 +23,8 @@ public class GenericChem extends ItemPackage {
public static final Material BAKELITE = new Material("Bakelite", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{90, 140, 140}, 120, 240, 23, 24, true, null, 0);//Not a GT Inherited Material
public static final Material NYLON = new Material("Nylon", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{45, 45, 45}, 300, 600, 44, 48, true, null, 0);//Not a GT Inherited Material
+ public static final Material CARBYNE = new Material("Carbyne", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{25, 25, 25}, 2500, 5000, 63, 52, true, null, 0);//Not a GT Inherited Material
+
//Refined PTFE
public static final Material TEFLON = new Material(
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index e972992391..9ba6fe0f1d 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -213,6 +213,7 @@ public final class ELEMENT {
public static final Material CHRONOMATIC_GLASS = new Material("Chromatic Glass", MaterialState.SOLID, new short[]{255, 255, 255, 3}, 9200, 17550, 40, 51, false, "⌘☯𓍰 𓍱 𓍲 𓍳 𓍴 𓍵 𓍶 𓍷 𓍸 ☯⌘ ", 0);//Not a GT Inherited Material
public static final Material ADVANCED_NITINOL = new Material("Advanced Nitinol", MaterialState.SOLID, TextureSets.ENRICHED.get(), ALLOY.NITINOL_60.getRGB(), 8400, 14377, 40, 51, true, "⚷⚙⚷ Ni4Ti6", 0);//Not a GT Inherited Material
public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75, 2}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
+ public static final Material RHUGNOR = new Material("Rhugnor", MaterialState.SOLID, TextureSets.ENRICHED.get(), new short[]{190, 0, 255, 0}, 8750, 14757, 184, 142, true, "Fs⚶", 0);//Not a GT Inherited Material //funeris
//Runescape materials
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 8fb3c5fc3b..6b6be32107 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -14,6 +14,7 @@ import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TextureSet;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes;
import gtPlusPlus.core.item.base.cell.BaseItemCell;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.state.MaterialState;
@@ -1331,5 +1332,44 @@ public class Material {
return 75;
}
}
+
+
+
+
+ public boolean registerComponentForMaterial(ComponentTypes aPrefix, ItemStack aStack) {
+ return registerComponentForMaterial(this, aPrefix.getGtOrePrefix(), aStack);
+ }
+
+ public boolean registerComponentForMaterial(OrePrefixes aPrefix, ItemStack aStack) {
+ return registerComponentForMaterial(this, aPrefix, aStack);
+ }
+
+ public static boolean registerComponentForMaterial(Material componentMaterial, ComponentTypes aPrefix, ItemStack aStack) {
+ return registerComponentForMaterial(componentMaterial, aPrefix.getGtOrePrefix(), aStack);
+ }
+
+ public static boolean registerComponentForMaterial(Material componentMaterial, OrePrefixes aPrefix, ItemStack aStack) {
+ if (componentMaterial == null) {
+ return false;
+ }
+ //Register Component
+ Map<String, ItemStack> aMap = Material.mComponentMap.get(componentMaterial.getUnlocalizedName());
+ if (aMap == null) {
+ aMap = new HashMap<String, ItemStack>();
+ }
+ String aKey = aPrefix.name();
+ ItemStack x = aMap.get(aKey);
+ if (x == null) {
+ aMap.put(aKey, aStack);
+ Logger.MATERIALS("Registering a material component. Item: ["+componentMaterial.getUnlocalizedName()+"] Map: ["+aKey+"]");
+ Material.mComponentMap.put(componentMaterial.getUnlocalizedName(), aMap);
+ return true;
+ }
+ else {
+ //Bad
+ Logger.MATERIALS("Tried to double register a material component. ");
+ return false;
+ }
+ }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index 018ffb08e1..483fce8ce5 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -17,6 +17,7 @@ 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.GenericChem;
import gtPlusPlus.core.item.chemistry.IonParticles;
import gtPlusPlus.core.item.chemistry.RocketFuels;
import gtPlusPlus.core.item.crafting.ItemDummyResearch;
@@ -26,6 +27,7 @@ import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.MaterialStack;
+import gtPlusPlus.core.material.NONMATERIAL;
import gtPlusPlus.core.material.ORES;
import gtPlusPlus.core.material.Particle;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
@@ -146,6 +148,15 @@ public class RECIPES_GREGTECH {
2048 * 4,
(int) GT_Values.V[9],
600000000 * 2);
+
+ //Rhugnor
+ GT_Values.RA.addFusionReactorRecipe(
+ GenericChem.TEFLON.getFluid(64),
+ ALLOY.PIKYONIUM.getFluid(128),
+ ELEMENT.STANDALONE.RHUGNOR.getFluid(8),
+ 2048 * 4,
+ (int) GT_Values.V[7],
+ 150000000 * 2);
}
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java
index f7cab7d092..59edf8dec0 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_IC2_Hazmat.java
@@ -20,7 +20,7 @@ public class ClassTransformer_IC2_Hazmat {
private final ClassWriter writer;
private final String className;
- public boolean hasCompleteHazmat(EntityLivingBase living) {
+ public static boolean hasCompleteHazmat(EntityLivingBase living) {
return HazmatUtils.hasCompleteHazmat(living);
}
@@ -79,11 +79,14 @@ public class ClassTransformer_IC2_Hazmat {
if (isObf) {
aEntityLivingBase = "sv";
}
+ FMLRelaunchLog.log("[GT++ ASM] IC2 Hazmat Patch", Level.INFO, "Method Handler: "+aEntityLivingBase);
FMLRelaunchLog.log("[GT++ ASM] IC2 Hazmat Patch", Level.INFO, "Injecting " + aMethodName + ".");
if (aMethodName.equals("hasCompleteHazmat")) {
- mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", null, null);
+
+ //Bad Local Variable - https://pastebin.com/TUCfdHqS
+ /*mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", null, null);
mv.visitCode();
Label l0 = new Label();
mv.visitLabel(l0);
@@ -96,6 +99,21 @@ public class ClassTransformer_IC2_Hazmat {
mv.visitLocalVariable("this", "Lic2/core/item/armor/ItemArmorHazmat;", null, l0, l1, 0);
mv.visitLocalVariable("living", "L"+aEntityLivingBase+";", null, l0, l1, 1);
mv.visitMaxs(1, 2);
+ mv.visitEnd();*/
+
+
+ mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", null, null);
+ mv.visitCode();
+ Label l0 = new Label();
+ mv.visitLabel(l0);
+ mv.visitLineNumber(24, l0);
+ mv.visitVarInsn(ALOAD, 0);
+ mv.visitMethodInsn(INVOKESTATIC, "gtPlusPlus/core/util/minecraft/HazmatUtils", "hasCompleteHazmat", "(L"+aEntityLivingBase+";)Z", false);
+ mv.visitInsn(IRETURN);
+ Label l1 = new Label();
+ mv.visitLabel(l1);
+ mv.visitLocalVariable("living", "L"+aEntityLivingBase+";", null, l0, l1, 0);
+ mv.visitMaxs(1, 1);
mv.visitEnd();
}
FMLRelaunchLog.log("[GT++ ASM] IC2 Hazmat Patch", Level.INFO, "Method injection complete.");