aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Java/gtPlusPlus/core/handler/render/FirepitModel.java199
-rw-r--r--src/Java/gtPlusPlus/core/handler/render/FirepitRender.java1
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java34
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java13
-rw-r--r--src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java25
-rw-r--r--src/Java/gtPlusPlus/core/util/math/MathUtils.java9
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java23
9 files changed, 210 insertions, 104 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
index fbc0b22690..d07f7338df 100644
--- a/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
+++ b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java
@@ -12,101 +12,108 @@ import net.minecraft.entity.Entity;
public class FirepitModel extends ModelBase
{
- //fields
- ModelRenderer Side_A;
- ModelRenderer Side_B;
- ModelRenderer Side_C;
- ModelRenderer Side_D;
- ModelRenderer Log1;
- ModelRenderer Log2;
- ModelRenderer Log3;
- ModelRenderer Log4;
-
- public FirepitModel()
- {
- textureWidth = 16;
- textureHeight = 16;
-
- Side_A = new ModelRenderer(this, 0, 0);
- Side_A.addBox(0F, 0F, 0F, 12, 6, 1);
- Side_A.setRotationPoint(-6F, 18F, -6F);
- Side_A.setTextureSize(16, 16);
- Side_A.mirror = true;
- setRotation(Side_A, -0.3148822F, 0F, 0F);
- Side_A.mirror = false;
- Side_B = new ModelRenderer(this, 0, 0);
- Side_B.addBox(0F, 0F, 0F, 12, 6, 1);
- Side_B.setRotationPoint(-6F, 18F, 6F);
- Side_B.setTextureSize(16, 16);
- Side_B.mirror = true;
- setRotation(Side_B, -0.3148822F, 1.570796F, 0F);
- Side_C = new ModelRenderer(this, 0, 0);
- Side_C.addBox(0F, 0F, 0F, 12, 6, 1);
- Side_C.setRotationPoint(6F, 18F, 6F);
- Side_C.setTextureSize(16, 16);
- Side_C.mirror = true;
- setRotation(Side_C, -0.3148822F, 3.141593F, 0F);
- Side_C.mirror = false;
- Side_D = new ModelRenderer(this, 0, 0);
- Side_D.addBox(0F, 0F, 0F, 12, 6, 1);
- Side_D.setRotationPoint(6F, 18F, -6F);
- Side_D.setTextureSize(16, 16);
- Side_D.mirror = true;
- setRotation(Side_D, -0.3148822F, 4.712389F, 0F);
- Log1 = new ModelRenderer(this, 0, 10);
- Log1.addBox(0F, 0F, 0F, 14, 2, 2);
- Log1.setRotationPoint(4F, 10F, -4F);
- Log1.setTextureSize(16, 16);
- Log1.mirror = true;
- setRotation(Log1, 0F, 0F, 1.570796F);
- Log2 = new ModelRenderer(this, -2, 10);
- Log2.addBox(0F, 0F, 0F, 14, 2, 2);
- Log2.setRotationPoint(-4F, 10F, -4F);
- Log2.setTextureSize(16, 16);
- Log2.mirror = true;
- setRotation(Log2, 1.570796F, 0F, 1.570796F);
- Log2.mirror = false;
- Log3 = new ModelRenderer(this, 0, 10);
- Log3.addBox(0F, 0F, 0F, 14, 2, 2);
- Log3.setRotationPoint(-4F, 10F, 4F);
- Log3.setTextureSize(16, 16);
- Log3.mirror = true;
- setRotation(Log3, 3.141593F, 0F, 1.570796F);
- Log4 = new ModelRenderer(this, -2, 10);
- Log4.addBox(0F, 0F, 0F, 14, 2, 2);
- Log4.setRotationPoint(4F, 10F, 4F);
- Log4.setTextureSize(16, 16);
- Log4.mirror = true;
- setRotation(Log4, 4.712389F, 0F, 1.570796F);
- Log4.mirror = false;
- }
-
- @Override
-public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
- {
- super.render(entity, f, f1, f2, f3, f4, f5);
- setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- Side_A.render(f5);
- Side_B.render(f5);
- Side_C.render(f5);
- Side_D.render(f5);
- Log1.render(f5);
- Log2.render(f5);
- Log3.render(f5);
- Log4.render(f5);
- }
-
- private void setRotation(ModelRenderer model, float x, float y, float z)
- {
- model.rotateAngleX = x;
- model.rotateAngleY = y;
- model.rotateAngleZ = z;
- }
-
- @Override
-public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- }
+ //fields
+ ModelRenderer Side_A;
+ ModelRenderer Side_B;
+ ModelRenderer Side_C;
+ ModelRenderer Side_D;
+ ModelRenderer Log1;
+ ModelRenderer Log2;
+ ModelRenderer Log3;
+ ModelRenderer Log4;
+
+ public FirepitModel()
+ {
+ textureWidth = 16;
+ textureHeight = 16;
+
+ Side_A = new ModelRenderer(this, 0, 0);
+ Side_A.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_A.setRotationPoint(-6F, 18F, -6F);
+ Side_A.setTextureSize(16, 16);
+ Side_A.mirror = true;
+ setRotation(Side_A, -0.3148822F, 0F, 0F);
+ //Side_A.mirror = false;
+
+ Side_B = new ModelRenderer(this, 0, 0);
+ Side_B.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_B.setRotationPoint(-6F, 18F, 6F);
+ Side_B.setTextureSize(16, 16);
+ Side_B.mirror = true;
+ setRotation(Side_B, -0.3148822F, 1.570796F, 0F);
+
+ Side_C = new ModelRenderer(this, 0, 0);
+ Side_C.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_C.setRotationPoint(6F, 18F, 6F);
+ Side_C.setTextureSize(16, 16);
+ Side_C.mirror = true;
+ setRotation(Side_C, -0.3148822F, 3.141593F, 0F);
+ //Side_C.mirror = false;
+
+ Side_D = new ModelRenderer(this, 0, 0);
+ Side_D.addBox(0F, 0F, 0F, 12, 6, 1);
+ Side_D.setRotationPoint(6F, 18F, -6F);
+ Side_D.setTextureSize(16, 16);
+ Side_D.mirror = true;
+ setRotation(Side_D, -0.3148822F, 4.712389F, 0F);
+
+ Log1 = new ModelRenderer(this, 0, 10);
+ Log1.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log1.setRotationPoint(4F, 10F, -4F);
+ Log1.setTextureSize(16, 16);
+ Log1.mirror = true;
+ setRotation(Log1, 0F, 0F, 1.570796F);
+
+ Log2 = new ModelRenderer(this, -2, 10);
+ Log2.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log2.setRotationPoint(-4F, 10F, -4F);
+ Log2.setTextureSize(16, 16);
+ Log2.mirror = true;
+ setRotation(Log2, 1.570796F, 0F, 1.570796F);
+ //Log2.mirror = false;
+
+ Log3 = new ModelRenderer(this, 0, 10);
+ Log3.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log3.setRotationPoint(-4F, 10F, 4F);
+ Log3.setTextureSize(16, 16);
+ Log3.mirror = true;
+ setRotation(Log3, 3.141593F, 0F, 1.570796F);
+
+ Log4 = new ModelRenderer(this, -2, 10);
+ Log4.addBox(0F, 0F, 0F, 14, 2, 2);
+ Log4.setRotationPoint(4F, 10F, 4F);
+ Log4.setTextureSize(16, 16);
+ Log4.mirror = true;
+ setRotation(Log4, 4.712389F, 0F, 1.570796F);
+ //Log4.mirror = false;
+ }
+
+ @Override
+ public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
+ {
+ super.render(entity, f, f1, f2, f3, f4, f5);
+ setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ Side_A.render(f5);
+ Side_B.render(f5);
+ Side_C.render(f5);
+ Side_D.render(f5);
+ Log1.render(f5);
+ Log2.render(f5);
+ Log3.render(f5);
+ Log4.render(f5);
+ }
+
+ private void setRotation(ModelRenderer model, float x, float y, float z)
+ {
+ model.rotateAngleX = x;
+ model.rotateAngleY = y;
+ model.rotateAngleZ = z;
+ }
+
+ @Override
+ public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
+ {
+ super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ }
}
diff --git a/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java b/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java
index 16ad016b97..5a02de77b5 100644
--- a/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java
+++ b/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java
@@ -35,6 +35,7 @@ public class FirepitRender extends TileEntitySpecialRenderer{
this.bindTexture(texture);
GL11.glPushMatrix();
this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
+ GL11.glTranslatef(1.0f, 1.0f, 1.0f);
GL11.glPopMatrix();
GL11.glPopMatrix();
}
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index cc9ca0e9e6..f84ebaff05 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -23,6 +23,7 @@ import gtPlusPlus.core.lib.CORE.configSwitches;
import gtPlusPlus.core.material.*;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.debug.DEBUG_INIT;
+import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.item.ItemUtils;
import net.minecraft.item.*;
import net.minecraft.item.Item.ToolMaterial;
@@ -348,7 +349,9 @@ public final class ModItems {
//FLiBe Fuel Compounds
dustLi2BeF4 = ItemUtils.generateSpecialUseDusts("Li2BeF4", "Li2BeF4 Fuel Compound", Utils.rgbtoHexValue(255, 255, 255))[0]; //https://en.wikipedia.org/wiki/FLiBe
-
+ FluidUtils.generateFluid("Li2BeF4", "Li2BeF4", 7430, new short[]{255, 255, 255, 100});
+
+
metaItem2 = new BaseEuItem();
metaItem2.registerItem(0, EnumChatFormatting.BLACK+"Test Item 0", 0, 0, "I am 0.");
metaItem2.registerItem(1, EnumChatFormatting.GREEN+"Test Item 1", 1006346000, 1, "I Hold EU 1.", 500);
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
index ee9d451948..a0216771b9 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
@@ -6,6 +6,7 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.entity.EntityUtils;
import gtPlusPlus.core.util.item.ItemUtils;
+import gtPlusPlus.core.util.math.MathUtils;
import java.util.List;
@@ -23,6 +24,7 @@ public class BaseItemComponent extends Item{
public final String materialName;
public final String unlocalName;
public final ComponentTypes componentType;
+ public final int componentColour;
public BaseItemComponent(Material material, ComponentTypes componentType) {
this.componentMaterial = material;
@@ -33,14 +35,32 @@ public class BaseItemComponent extends Item{
this.setUnlocalizedName(unlocalName);
this.setMaxStackSize(64);
this.setTextureName(CORE.MODID + ":" + "item"+componentType.COMPONENT_NAME);
+ this.componentColour = material.getRgbAsHex();
GameRegistry.registerItem(this, unlocalName);
GT_OreDictUnificator.registerOre(componentType.getOreDictName()+material.getUnlocalizedName(), ItemUtils.getSimpleStack(this));
}
+ //For Cell Generation
+ public BaseItemComponent(String unlocalName, String localName, short[] RGBA) {
+ this.componentMaterial = null;
+ this.unlocalName = "itemCell"+unlocalName;
+ this.materialName = localName;
+ this.componentType = ComponentTypes.CELL;
+ this.setCreativeTab(AddToCreativeTab.tabMisc);
+ this.setUnlocalizedName(unlocalName);
+ this.setMaxStackSize(64);
+ this.componentColour = MathUtils.getRgbAsHex(RGBA);
+ this.setTextureName(CORE.MODID + ":" + "item"+ComponentTypes.CELL.COMPONENT_NAME);
+ GameRegistry.registerItem(this, unlocalName);
+ GT_OreDictUnificator.registerOre(ComponentTypes.CELL.getOreDictName()+unlocalName, ItemUtils.getSimpleStack(this));
+ }
+
@Override
public String getItemStackDisplayName(ItemStack p_77653_1_) {
+ if (componentMaterial != null)
return (componentMaterial.getLocalizedName()+componentType.DISPLAY_NAME);
+ return materialName+" Cell";
}
public final String getMaterialName() {
@@ -51,7 +71,7 @@ public class BaseItemComponent extends Item{
@Override
public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) {
- if (materialName != null && materialName != "" && !materialName.equals("")){
+ if (materialName != null && materialName != "" && !materialName.equals("") && componentMaterial != null){
if (componentType == ComponentTypes.DUST){
@@ -102,12 +122,14 @@ public class BaseItemComponent extends Item{
@Override
public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) {
- return componentMaterial.getRgbAsHex();
+ return componentColour;
}
@Override
public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) {
- EntityUtils.applyRadiationDamageToEntity(componentMaterial.vRadioationLevel, world, entityHolding);
+ if (componentMaterial != null){
+ EntityUtils.applyRadiationDamageToEntity(componentMaterial.vRadioationLevel, world, entityHolding);
+ }
}
@@ -148,11 +170,11 @@ public class BaseItemComponent extends Item{
public String getName(){
return DISPLAY_NAME;
}
-
+
public String getOreDictName(){
- return OREDICT_NAME;
+ return OREDICT_NAME;
}
-
+
}
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index 1687064083..91d60fd184 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -30,6 +30,7 @@ public class RECIPES_GREGTECH {
chemicalReactorRecipes();
dehydratorRecipes();
blastFurnaceRecipes();
+ lftrRecipes();
addFuels();
}
@@ -248,6 +249,18 @@ public class RECIPES_GREGTECH {
}
}
+
+ private static void lftrRecipes(){
+ try {
+ CORE.RA.addLFTRRecipe(
+ FluidUtils.getFluidStack("moltenUranium233", 200), //Fluid input (slot 1)
+ FluidUtils.getFluidStack("moltenLi2BeF4", 1000), //Fluid output (slot 2)
+ FluidUtils.getFluidStack("moltenUranium233", 500), //Output Array of Items - Upto 9,
+ 16000*20, //Time in ticks
+ 8000); //EU
+
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
private static void assemblerRecipes(){
//GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6L), ItemList.Casing_Turbine.get(1L, new Object[0]), ItemList.Casing_Turbine2.get(1L, new Object[0]), 50, 16);
diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
index 26a8770d44..65c0e87fd9 100644
--- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
+++ b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
@@ -3,10 +3,13 @@ package gtPlusPlus.core.util.fluid;
import gregtech.api.enums.*;
import gregtech.api.util.GT_LanguageManager;
import gtPlusPlus.core.fluids.GenericFluid;
+import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import net.minecraft.init.Items;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.*;
@@ -335,5 +338,27 @@ public class FluidUtils {
public static ItemStack container(final ItemStack aStack, final boolean aCheckIFluidContainerItems, final int aStacksize) {
return amount(aStacksize, container(aStack, aCheckIFluidContainerItems));
}
+
+ public final static Fluid generateFluid(String unlocalizedName, String localizedName, int MeltingPoint, short[] RGBA){
+ if (FluidUtils.getFluidStack("molten"+localizedName, 1) == null){
+ Utils.LOG_WARNING("Generating our own fluid.");
+
+ //Generate a Cell if we need to
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1) == null){
+ @SuppressWarnings("unused")
+ Item temp = new BaseItemComponent(unlocalizedName, localizedName, RGBA);
+ }
+ return FluidUtils.addGTFluid(
+ unlocalizedName,
+ "Molten "+localizedName,
+ RGBA,
+ 4,
+ MeltingPoint,
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1),
+ ItemList.Cell_Empty.get(1L, new Object[0]),
+ 1000);
+ }
+ return null;
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/math/MathUtils.java b/src/Java/gtPlusPlus/core/util/math/MathUtils.java
index 75d8452975..c864df491c 100644
--- a/src/Java/gtPlusPlus/core/util/math/MathUtils.java
+++ b/src/Java/gtPlusPlus/core/util/math/MathUtils.java
@@ -258,6 +258,13 @@ public class MathUtils {
return result;
}
-
+ final public static int getRgbAsHex(short[] RGBA){
+
+ int returnValue = Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]);
+ if (returnValue == 0){
+ return (int) 0;
+ }
+ return Utils.rgbtoHexValue(RGBA[0], RGBA[1], RGBA[2]);
+ }
}
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 62b3aa9bcc..9eaf13dca3 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
@@ -90,5 +90,10 @@ public interface IGregtech_RecipeAdder {
* @return true if the Recipe got added, otherwise false.
*/
public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aOutput, int aChance, int aDuration, int aEUt);
+
+
+ public boolean addLFTRRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt);
+ public boolean addLFTRRecipe(ItemStack aInput1, FluidStack aInput2, ItemStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt);
+ public boolean addLFTRRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
index cdec6d6c32..9fa070a4f8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java
@@ -280,4 +280,27 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder {
return true;
}
+
+
+ @Override
+ public boolean addLFTRRecipe(ItemStack aInput1, FluidStack aInput2,
+ ItemStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean addLFTRRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt) {
+ return false;
+ }
+
+ @Override
+ public boolean addLFTRRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt) {
+ if (aInput1 == null || aInput2 == null || aOutput1 == null || aDuration < 1 || aEUt < 1) {
+ return false;
+ }
+ Recipe_GT.Gregtech_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe(null, new FluidStack[]{aInput1, aInput2}, new FluidStack[]{aOutput1}, aDuration, aEUt, 16000);
+ return true;
+ }
+
}