aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2017-08-12 19:45:05 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2017-08-12 19:45:05 +1000
commitf31a88106ed54dc271f8eec50e3fe996e01bbcb3 (patch)
treebf0bba82f1a2b4ee46fe951772ae7c305253a978 /src/Java/gtPlusPlus/core
parentc4a21ba699d52d2dc13f01ccc5dde22120f619c6 (diff)
downloadGT5-Unofficial-f31a88106ed54dc271f8eec50e3fe996e01bbcb3.tar.gz
GT5-Unofficial-f31a88106ed54dc271f8eec50e3fe996e01bbcb3.tar.bz2
GT5-Unofficial-f31a88106ed54dc271f8eec50e3fe996e01bbcb3.zip
+ Added a config option for the Thermal Boiler.
+ Added the Lava Filter. + Added Thermal Boiler Casing. + Added Recipes for the Thermal Boiler controller and casing block.
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java122
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java1
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java30
4 files changed, 155 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 32ca2ec023..3a242ea10b 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -212,6 +212,7 @@ public final class ModItems {
public static itemDehydratorCoilWire itemDehydratorCoilWire;
public static itemDehydratorCoil itemDehydratorCoil;
+ public static Item itemLavaFilter;
public static Item itemAirFilter;
public static Item itemCoalCoke;
@@ -219,6 +220,7 @@ public final class ModItems {
+
public static final void init(){
//Default item used when recipes fail, handy for debugging.
@@ -569,6 +571,7 @@ public final class ModItems {
itemDehydratorCoil = new itemDehydratorCoil();
itemAirFilter = new ItemAirFilter();
+ itemLavaFilter = new ItemLavaFilter();
//Chemistry
CoalTar.run();
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java b/src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java
new file mode 100644
index 0000000000..07fe4748b0
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/general/ItemLavaFilter.java
@@ -0,0 +1,122 @@
+package gtPlusPlus.core.item.general;
+
+import java.util.List;
+
+import gregtech.api.enums.ItemList;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.CoreItem;
+import gtPlusPlus.core.lib.CORE;
+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 ItemLavaFilter extends CoreItem {
+
+ public IIcon[] mIcon = new IIcon[1];
+
+ public ItemLavaFilter() {
+ super("itemLavaFilter", AddToCreativeTab.tabMachines, 1, 100, "Lava Filter", EnumRarity.common,
+ EnumChatFormatting.BLACK, false, null);
+ setGregtechItemList();
+ }
+
+ private final boolean setGregtechItemList() {
+ ItemList.Component_LavaFilter.set(this);
+ return ItemList.Component_LavaFilter.get(1) != null ? true : false;
+ }
+
+ @Override
+ public void registerIcons(IIconRegister reg) {
+ this.mIcon[0] = reg.registerIcon(CORE.MODID + ":" + "itemLavaFilter");
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int meta) {
+ return this.mIcon[0];
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack tItem) {
+ return "Lava Filter";
+ }
+
+ private static boolean createNBT(ItemStack rStack){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+ tagNBT.setLong("Damage", 0);
+ tagMain.setTag("LavaFilter", tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
+ public static final long getFilterDamage(final ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("LavaFilter");
+ if (aNBT != null) {
+ return aNBT.getLong("Damage");
+ }
+ }
+ else {
+ createNBT(aStack);
+ }
+ return 0L;
+ }
+
+ public static final boolean setFilterDamage(final ItemStack aStack, final long aDamage) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("LavaFilter");
+ if (aNBT != null) {
+ aNBT.setLong("Damage", aDamage);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public double getDurabilityForDisplay(ItemStack stack) {
+ if (stack.getTagCompound() == null){
+ createNBT(stack);
+ }
+ double currentDamage = getFilterDamage(stack);
+ double durabilitypercent = currentDamage / 100;
+ return durabilitypercent;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
+ list.add(EnumChatFormatting.GRAY+"Filters Lava within a Thermal Boiler.");
+ EnumChatFormatting durability = EnumChatFormatting.GRAY;
+ if (100-getFilterDamage(stack) > 80){
+ durability = EnumChatFormatting.GRAY;
+ }
+ else if (100-getFilterDamage(stack) > 60){
+ durability = EnumChatFormatting.GREEN;
+ }
+ else if (100-getFilterDamage(stack) > 40){
+ durability = EnumChatFormatting.YELLOW;
+ }
+ else if (100-getFilterDamage(stack) > 20){
+ durability = EnumChatFormatting.GOLD;
+ }
+ else if (100-getFilterDamage(stack) > 0){
+ durability = EnumChatFormatting.RED;
+ }
+ list.add(durability+""+(100-getFilterDamage(stack))+EnumChatFormatting.GRAY+" / "+100);
+ super.addInformation(stack, player, list, bool);
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return true;
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index ffe8ef6a43..6e4ee627a1 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -146,6 +146,7 @@ public class CORE {
public static boolean enableMultiblock_NuclearFuelRefinery = true;
public static boolean enableMultiblock_TreeFarmer = true;
public static boolean enableMultiblock_IndustrialSifter = true;
+ public static boolean enableMachine_ThermalBoiler = true;
//Visuals
public static boolean enableTreeFarmerParticles = true;
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index de6feb8950..e3604e2f7d 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -71,7 +71,11 @@ public class RECIPES_Machines {
//Tesseracts
public static ItemStack RECIPE_TesseractGenerator;
public static ItemStack RECIPE_TesseractTerminal;
-
+ //Thermal Boiler
+ public static ItemStack RECIPE_ThermalBoilerController;
+ public static ItemStack RECIPE_ThermalBoilerCasing;
+
+
//Buffer Cores
public static ItemStack RECIPE_BufferCore_ULV = ItemUtils.getItemStack("miscutils:item.itemBufferCore1", 1);
public static ItemStack RECIPE_BufferCore_LV = ItemUtils.getItemStack("miscutils:item.itemBufferCore2", 1);
@@ -777,6 +781,30 @@ public class RECIPES_Machines {
"plateCarbon", "plateCarbon", "plateCarbon",
ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1));
}
+
+ if (CORE.configSwitches.enableMachine_ThermalBoiler){
+ RECIPE_ThermalBoilerController = GregtechItemList.GT4_Thermal_Boiler.get(1);
+ RECIPE_ThermalBoilerCasing = GregtechItemList.Casing_ThermalContainment.get(4);
+ ItemStack centrifugeHV = ItemList.Machine_HV_Centrifuge.get(1);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "craftingGeothermalGenerator", centrifugeHV, "craftingGeothermalGenerator",
+ "gearTitanium", "circuitElite", "gearTitanium",
+ "craftingGeothermalGenerator", centrifugeHV, "craftingGeothermalGenerator",
+ RECIPE_ThermalBoilerController);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "craftingGeothermalGenerator", centrifugeHV, "craftingGeothermalGenerator",
+ "gearTungstenSteel", "circuitElite", "gearTungstenSteel",
+ "craftingGeothermalGenerator", centrifugeHV, "craftingGeothermalGenerator",
+ RECIPE_ThermalBoilerController);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateStainlessSteel", "plateStainlessSteel", "plateStainlessSteel",
+ "circuitAdvanced", CI.machineHull_HV, "circuitAdvanced",
+ "plateStainlessSteel", "plateStainlessSteel", "plateStainlessSteel",
+ RECIPE_ThermalBoilerCasing);
+ }