aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/tinkers/material
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-02-28 23:49:40 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-02-28 23:49:40 +0000
commit5ffa0957e9d936ec999ee5157be771ff4b315aac (patch)
tree2ec784e5da7c45edc48b18e42f3b98e0cbcf0466 /src/Java/gtPlusPlus/xmod/tinkers/material
parent5b5e135356516e684a8e5baad0299554a3f63ebc (diff)
downloadGT5-Unofficial-5ffa0957e9d936ec999ee5157be771ff4b315aac.tar.gz
GT5-Unofficial-5ffa0957e9d936ec999ee5157be771ff4b315aac.tar.bz2
GT5-Unofficial-5ffa0957e9d936ec999ee5157be771ff4b315aac.zip
+ Enabled Tinkers compat for GT++ Materials.
$ Migrated lots of TiCon code to be reflective. $ Upload missing class ItemDummyResearch.java.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/tinkers/material')
-rw-r--r--src/Java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java185
1 files changed, 98 insertions, 87 deletions
diff --git a/src/Java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java b/src/Java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java
index a2ab894f53..0730f5baba 100644
--- a/src/Java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java
+++ b/src/Java/gtPlusPlus/xmod/tinkers/material/BaseTinkersMaterial.java
@@ -5,98 +5,38 @@ import static gtPlusPlus.core.util.math.MathUtils.safeCast_LongToInt;
import java.util.HashMap;
import cpw.mods.fml.common.event.FMLInterModComms;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.xmod.tinkers.HANDLER_Tinkers;
+import gtPlusPlus.xmod.tinkers.util.TinkersUtils;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.crafting.FluidType;
-import tconstruct.library.crafting.Smeltery;
-import tconstruct.library.tools.ToolMaterial;
-import tconstruct.smeltery.TinkerSmeltery;
public class BaseTinkersMaterial {
private static HashMap<String, Integer> aInternalMaterialIdMap = new HashMap<String, Integer>();
private static int aNextFreeID = 440;
- private final String mUnlocalName;
+
public final String mLocalName;
- private final int aID;
+
+ private final String mUnlocalName;
+ private final int mID;
+ private final Material mMaterial;
public BaseTinkersMaterial(Material aMaterial) {
mLocalName = Utils.sanitizeString(aMaterial.getLocalizedName());
mUnlocalName = "material.gtpp."+Utils.sanitizeString(mLocalName);
- aID = aNextFreeID++;
- aInternalMaterialIdMap.put(mUnlocalName, aID);
-
-
- int id = aID;
- if (id > 0) {
-
- ToolMaterial mat = new ToolMaterial(mLocalName, mUnlocalName, 4, 100, 700, 2,
- 0.6F, 4, 0.0F, EnumChatFormatting.WHITE.toString(), 16777215);
-
- TConstructRegistry.addtoolMaterial(id, mat);
- TConstructRegistry.addDefaultToolPartMaterial(id);
- TConstructRegistry.addBowMaterial(id, calcBowDrawSpeed(aMaterial), 1.0F);
- TConstructRegistry.addArrowMaterial(id, calcProjectileMass(aMaterial), calcProjectileFragility(aMaterial));
-
- NBTTagCompound tag = new NBTTagCompound();
- tag.setInteger("Id", id);
- tag.setString("Name", mLocalName);
- tag.setString("localizationString", mUnlocalName);
- tag.setInteger("Durability", calcDurability(aMaterial)); // 97
- tag.setInteger("MiningSpeed", calcMiningSpeed(aMaterial)); // 150
- tag.setInteger("HarvestLevel", calcHarvestLevel(aMaterial)); // 1
- tag.setInteger("Attack", calcAttack(aMaterial)); // 0
- tag.setFloat("HandleModifier", calcHandleModifier(aMaterial)); // 1.0f
- tag.setInteger("Reinforced", calcReinforced(aMaterial)); // 0
- tag.setFloat("Bow_ProjectileSpeed", calcBowProjectileSpeed(aMaterial)); // 3.0f
- tag.setInteger("Bow_DrawSpeed", calcBowDrawSpeed(aMaterial)); // 18
- tag.setFloat("Projectile_Mass", calcProjectileMass(aMaterial)); // 0.69f
- tag.setFloat("Projectile_Fragility", calcProjectileFragility(aMaterial)); // 0.2f
- tag.setString("Style", calcStyle(aMaterial));
- tag.setInteger("Color", calcColour(aMaterial));
- FMLInterModComms.sendMessage("TConstruct", "addMaterial", tag);
-
-
- generateRecipes(aMaterial);
-
-
- ItemStack itemstack = aMaterial.getIngot(1);
- tag = new NBTTagCompound();
- tag.setInteger("MaterialId", id);
- NBTTagCompound item = new NBTTagCompound();
- itemstack.writeToNBT(item);
- tag.setTag("Item", item);
- tag.setInteger("Value", 2); // What is value for?
- FMLInterModComms.sendMessage("TConstruct", "addPartBuilderMaterial", tag);
-
- tag = new NBTTagCompound();
- tag.setInteger("MaterialId", id);
- tag.setInteger("Value", 2); // What is value for?
- item = new NBTTagCompound();
- itemstack.writeToNBT(item);
- tag.setTag("Item", item);
-
- FMLInterModComms.sendMessage("TConstruct", "addMaterialItem", tag);
-
-
- }
-
-
-
-
-
-
-
+ mMaterial = aMaterial;
+ mID = aNextFreeID++;
+ aInternalMaterialIdMap.put(mUnlocalName, mID);
+ HANDLER_Tinkers.mTinkerMaterials.put(this);
}
public String getUnlocalName() {
return mUnlocalName;
- }
-
+ }
private static int calcDurability(Material aMaterial) {
return safeCast_LongToInt(aMaterial.vDurability);
@@ -166,22 +106,95 @@ public class BaseTinkersMaterial {
return aMaterial.getRgbAsHex();
}
- private boolean generateRecipes(Material aMaterial) {
-
- //Smeltery.addMelting(new ItemStack(ExtraUtils.unstableIngot, 1, 0), ExtraUtils.decorative1, 5, 850, aMaterial.getFluid(72));
+ public Object generateToolMaterial(Material aMaterial) {
+ int level, dura, speed, dmg, reinf, primColour;
+ float handle, stonebound;
+ level = calcHarvestLevel(aMaterial);
+ dura = calcDurability(aMaterial);
+ speed = calcMiningSpeed(aMaterial);
+ dmg = calcAttack(aMaterial);
+ reinf = calcReinforced(aMaterial);
+ primColour = calcColour(aMaterial);
+ handle = calcHandleModifier(aMaterial);
+ //stonebound = calcHarvestLevel(aMaterial);
+ stonebound = 0;
+ return TinkersUtils.generateToolMaterial(aMaterial.getLocalizedName(), aMaterial.getUnlocalizedName(), level, dura, speed, dmg, handle, reinf, stonebound, calcStyle(aMaterial), primColour);
+ }
+ public void generate() {
+
+ Logger.INFO("Trying to generate TiCon Material: "+mLocalName);
+ int id = mID;
+ if (id > 0) {
+
+ Object aTinkersCustomMaterial = generateToolMaterial(mMaterial);
+ Logger.INFO("Created TiCon Material: "+mLocalName);
+
+ TinkersUtils.addToolMaterial(id, aTinkersCustomMaterial);
+ TinkersUtils.addDefaultToolPartMaterial(id);
+ TinkersUtils.addBowMaterial(id, calcBowDrawSpeed(mMaterial), 1.0F);
+ TinkersUtils.addArrowMaterial(id, calcProjectileMass(mMaterial), calcProjectileFragility(mMaterial));
+
+ NBTTagCompound tag = new NBTTagCompound();
+ tag.setInteger("Id", id);
+ tag.setString("Name", mLocalName);
+ tag.setString("localizationString", mUnlocalName);
+ tag.setInteger("Durability", calcDurability(mMaterial)); // 97
+ tag.setInteger("MiningSpeed", calcMiningSpeed(mMaterial)); // 150
+ tag.setInteger("HarvestLevel", calcHarvestLevel(mMaterial)); // 1
+ tag.setInteger("Attack", calcAttack(mMaterial)); // 0
+ tag.setFloat("HandleModifier", calcHandleModifier(mMaterial)); // 1.0f
+ tag.setInteger("Reinforced", calcReinforced(mMaterial)); // 0
+ tag.setFloat("Bow_ProjectileSpeed", calcBowProjectileSpeed(mMaterial)); // 3.0f
+ tag.setInteger("Bow_DrawSpeed", calcBowDrawSpeed(mMaterial)); // 18
+ tag.setFloat("Projectile_Mass", calcProjectileMass(mMaterial)); // 0.69f
+ tag.setFloat("Projectile_Fragility", calcProjectileFragility(mMaterial)); // 0.2f
+ tag.setString("Style", calcStyle(mMaterial));
+ tag.setInteger("Color", calcColour(mMaterial));
+
+ Logger.INFO("Sending IMC to TConstruct: addMaterial - "+mLocalName+".");
+ FMLInterModComms.sendMessage("TConstruct", "addMaterial", tag);
+
+
+ generateRecipes(mMaterial);
+
+
+ ItemStack itemstack = mMaterial.getIngot(1);
+ tag = new NBTTagCompound();
+ tag.setInteger("MaterialId", id);
+ NBTTagCompound item = new NBTTagCompound();
+ itemstack.writeToNBT(item);
+ tag.setTag("Item", item);
+ tag.setInteger("Value", 2); // What is value for?
+
+ Logger.INFO("Sending IMC to TConstruct: addPartBuilderMaterial - "+mLocalName+".");
+ FMLInterModComms.sendMessage("TConstruct", "addPartBuilderMaterial", tag);
+
+ tag = new NBTTagCompound();
+ tag.setInteger("MaterialId", id);
+ tag.setInteger("Value", 2); // What is value for?
+ item = new NBTTagCompound();
+ itemstack.writeToNBT(item);
+ tag.setTag("Item", item);
+
+ Logger.INFO("Sending IMC to TConstruct: addMaterialItem - "+mLocalName+".");
+ FMLInterModComms.sendMessage("TConstruct", "addMaterialItem", tag);
+
+
+ }
-
- FluidType.registerFluidType(mLocalName, aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(0).getFluid(), true);
-
- Smeltery.addMelting(aMaterial.getBlock(1), aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(144*9));
- Smeltery.addMelting(aMaterial.getIngot(1), aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(144));
-
+ }
+
+ private boolean generateRecipes(Material aMaterial) {
+ //Smeltery.addMelting(new ItemStack(ExtraUtils.unstableIngot, 1, 0), ExtraUtils.decorative1, 5, 850, aMaterial.getFluid(72));
+ TinkersUtils.registerFluidType(mLocalName, aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(0).getFluid(), true);
+ TinkersUtils.addMelting(aMaterial.getBlock(1), aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(144*9));
+ TinkersUtils.addMelting(aMaterial.getIngot(1), aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(144));
if (aMaterial.getMeltingPointC() <= 3600) {
- ItemStack ingotcast = new ItemStack(TinkerSmeltery.metalPattern, 1, 0);
- TConstructRegistry.getBasinCasting().addCastingRecipe(aMaterial.getBlock(1),
+ ItemStack ingotcast = TinkersUtils.getPattern(1);
+ TinkersUtils.addBasinRecipe(aMaterial.getBlock(1),
aMaterial.getFluid(144*9), (ItemStack) null, true, 100);
- TConstructRegistry.getTableCasting().addCastingRecipe(aMaterial.getIngot(1),
+ TinkersUtils.addCastingTableRecipe(aMaterial.getIngot(1),
aMaterial.getFluid(144), ingotcast, false, 50);
}
@@ -195,6 +208,4 @@ public class BaseTinkersMaterial {
-
-
}