aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-12-24 17:39:23 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-12-24 17:39:23 +1000
commit530d84ed415e3cc35715e697635e9f8fb06bbd5d (patch)
treef872cbcc0c5b4a712ffcc03df8708accb50463df
parent0cfe59a8a48fa4c8dfa12043489825ffa9fadd8c (diff)
downloadGT5-Unofficial-530d84ed415e3cc35715e697635e9f8fb06bbd5d.tar.gz
GT5-Unofficial-530d84ed415e3cc35715e697635e9f8fb06bbd5d.tar.bz2
GT5-Unofficial-530d84ed415e3cc35715e697635e9f8fb06bbd5d.zip
+ Added a cape handler.
+ Gave the Helium Blob a name. + Gave core items the ability to have a name on yet another constructor. - Disabled the cape handler. % Minor improvements to the portable tanks.
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java3
-rw-r--r--src/Java/gtPlusPlus/core/handler/render/CapeHandler.java120
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/base/CoreItem.java12
-rw-r--r--src/Java/gtPlusPlus/core/proxy/ClientProxy.java13
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java28
-rw-r--r--src/resources/assets/miscutils/textures/Draknyte1.pngbin0 -> 496 bytes
-rw-r--r--src/resources/assets/miscutils/textures/TesterCape.pngbin0 -> 4208 bytes
8 files changed, 167 insertions, 11 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index 3ea03cefc0..5f7e8a8f62 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -14,7 +14,6 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.gregtech.HANDLER_GT;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
@@ -191,7 +190,7 @@ implements ActionListener
}
//~
- ReflectionUtils.becauseIWorkHard();
+ //ReflectionUtils.becauseIWorkHard();
//Utils.LOG_INFO("Activating GT OreDictionary Handler, this can take some time.");
Utils.LOG_INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
diff --git a/src/Java/gtPlusPlus/core/handler/render/CapeHandler.java b/src/Java/gtPlusPlus/core/handler/render/CapeHandler.java
new file mode 100644
index 0000000000..9f449e3044
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/handler/render/CapeHandler.java
@@ -0,0 +1,120 @@
+package gtPlusPlus.core.handler.render;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.core.lib.CORE;
+
+import java.util.Collection;
+
+import net.minecraft.client.entity.AbstractClientPlayer;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.client.renderer.entity.RenderPlayer;
+import net.minecraft.potion.Potion;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+
+import org.lwjgl.opengl.GL11;
+
+public class CapeHandler extends RenderPlayer {
+ private final ResourceLocation[] mCapes = {
+ new ResourceLocation(CORE.MODID+":textures/TesterCape.png"),
+ new ResourceLocation(CORE.MODID+":textures/Draknyte1.png"),
+ new ResourceLocation("gregtech:textures/GregoriusCape.png") };
+ private final Collection<String> mCapeList;
+
+ public CapeHandler(Collection<String> aCapeList) {
+ this.mCapeList = aCapeList;
+ setRenderManager(RenderManager.instance);
+ }
+
+ public void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) {
+ AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer;
+ if (GT_Utility.getFullInvisibility(aPlayer)) {
+ aEvent.setCanceled(true);
+ return;
+ }
+ float aPartialTicks = aEvent.partialRenderTick;
+ if (aPlayer.isInvisible()) {
+ return;
+ }
+ if (GT_Utility.getPotion(aPlayer,
+ Integer.valueOf(Potion.invisibility.id).intValue())) {
+ return;
+ }
+ try {
+ ResourceLocation tResource = null;
+ if (aPlayer.getDisplayName().equalsIgnoreCase("XW3B")) {
+ tResource = this.mCapes[0];
+ }
+ if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase())) {
+ tResource = this.mCapes[0];
+ }
+ if (aPlayer.getDisplayName().equalsIgnoreCase("Draknyte1")) {
+ tResource = this.mCapes[1];
+ }
+ if (aPlayer.getDisplayName().equalsIgnoreCase("GregoriusT")) {
+ tResource = this.mCapes[2];
+ }
+ 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 d3 = MathHelper.sin(f6 * 3.141593F / 180.0F);
+ double d4 = -MathHelper.cos(f6 * 3.141593F / 180.0F);
+ float f7 = (float) d1 * 10.0F;
+ float f8 = (float) (d0 * d3 + d2 * d4) * 100.0F;
+ float f9 = (float) (d0 * d4 - (d2 * d3)) * 100.0F;
+ if (f7 < -6.0F) {
+ f7 = -6.0F;
+ }
+ if (f7 > 32.0F) {
+ f7 = 32.0F;
+ }
+ if (f8 < 0.0F) {
+ 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;
+ if (aPlayer.isSneaking()) {
+ f7 += 25.0F;
+ }
+ GL11.glRotatef(6.0F + f8 / 2.0F + f7, 1.0F, 0.0F, 0.0F);
+ GL11.glRotatef(f9 / 2.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(-f9 / 2.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
+ ((ModelBiped) this.mainModel).renderCloak(0.0625F);
+ GL11.glPopMatrix();
+ }
+ } catch (Throwable e) {
+ if (GT_Values.D1)
+ e.printStackTrace(GT_Log.err);
+ }
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 0060841291..a344b11ecc 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -198,7 +198,7 @@ public final class ModItems {
//Register Hydrogen Blobs first, so we can replace old helium blobs.
- itemHydrogenBlob = new CoreItem("itemHydrogenBlob", tabMisc).setTextureName(CORE.MODID + ":itemHydrogenBlob");
+ itemHydrogenBlob = new CoreItem("itemHydrogenBlob", "Blob of Helium", tabMisc).setTextureName(CORE.MODID + ":itemHydrogenBlob");
//GT_OreDictUnificator.registerOre("dustHydrogen", new ItemStack(ModItems.itemHydrogenBlob));
//Register Old Helium Blob, this will be replaced when held by a player.
itemHeliumBlob = new CoreItem("itemHeliumBlob", tabMisc, ItemUtils.getSimpleStack(itemHydrogenBlob)).setTextureName(CORE.MODID + ":itemHeliumBlob");
diff --git a/src/Java/gtPlusPlus/core/item/base/CoreItem.java b/src/Java/gtPlusPlus/core/item/base/CoreItem.java
index 5638dac475..6c3fb531dd 100644
--- a/src/Java/gtPlusPlus/core/item/base/CoreItem.java
+++ b/src/Java/gtPlusPlus/core/item/base/CoreItem.java
@@ -47,13 +47,21 @@ public class CoreItem extends Item
}
//0.1
+ /*
+ * Name, Tab - 64 Stack, 0 Dmg
+ */
+ public CoreItem(String unlocalizedName, CreativeTabs creativeTab, ItemStack OverrideItem)
+ {
+ this(unlocalizedName, creativeTab, 64, 0, "This item will be replaced by another when helf by a player, it is old and should not be used in recipes.", EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
+ }
+ //0.1
/*
* Name, Tab - 64 Stack, 0 Dmg
*/
- public CoreItem(String unlocalizedName, CreativeTabs creativeTab, ItemStack OverrideItem)
+ public CoreItem(String unlocalizedName, String displayName, CreativeTabs creativeTab, ItemStack OverrideItem)
{
this(unlocalizedName, creativeTab, 64, 0, "This item will be replaced by another when helf by a player, it is old and should not be used in recipes.", EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5
-
+ itemName = displayName;
}
//1
diff --git a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
index 26a2aa500a..276af700f0 100644
--- a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
+++ b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
@@ -14,6 +14,14 @@ import cpw.mods.fml.common.event.*;
public class ClientProxy extends CommonProxy{
+ /*private final HashSet<String> mCapeList = new HashSet<String>();
+ private final CapeHandler mCapeRenderer;
+
+ ClientProxy(){
+ mCapeRenderer = new CapeHandler(mCapeList);
+ }
+ */
+
@Override
public void preInit(FMLPreInitializationEvent e) {
// TODO Auto-generated method stub
@@ -86,6 +94,11 @@ public class ClientProxy extends CommonProxy{
{
}
+
+ /*@SubscribeEvent
+ public void receiveRenderSpecialsEvent(net.minecraftforge.client.event.RenderPlayerEvent.Specials.Pre aEvent) {
+ mCapeRenderer.receiveRenderSpecialsEvent(aEvent);
+ }*/
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java
index 7508391f93..5c0c2f86f3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java
@@ -8,16 +8,19 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.objects.GT_RenderedTexture;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.fluid.FluidUtils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.fluids.FluidStack;
public class GT_MetaTileEntity_TieredTank
extends GT_MetaTileEntity_BasicTank {
- private NBTTagCompound mRecipeStuff = new NBTTagCompound();
+ private NBTTagCompound mRecipeStuff;
private String mFluidName;
private int mFluidAmount;
+ private FluidStack mInternalTank;
public GT_MetaTileEntity_TieredTank(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, 3, "Stores " + ((int) (Math.pow(2, aTier) * 32000)) + "L of fluid");
@@ -39,12 +42,16 @@ extends GT_MetaTileEntity_BasicTank {
private boolean setVars(){
- //Utils.LOG_INFO("setting Vars.");
+ if (mRecipeStuff == null){
+ mRecipeStuff = new NBTTagCompound();
+ }
+ Utils.LOG_INFO("setting Vars.");
if (mFluidName.equals("") || !mFluidName.equals(null)){
if (mFluid != null) mFluidName = mFluid.getFluid().getName();
}
else{
if (mFluid != null){
+ mInternalTank = mFluid;
if (!mFluidName.equalsIgnoreCase(mFluid.getFluid().getName())){
mFluidName = mFluid.getFluid().getName();
}
@@ -75,10 +82,7 @@ extends GT_MetaTileEntity_BasicTank {
@Override
public String[] getDescription() {
-
- setVars();
-
-
+ //setVars();
if ((mFluidName.equals("Empty")||mFluidName.equals("")) || mFluidAmount <= 0){
return new String[] {mDescription, CORE.GT_Tooltip};
}
@@ -98,18 +102,28 @@ extends GT_MetaTileEntity_BasicTank {
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
+ if (mRecipeStuff == null){
+ mRecipeStuff = new NBTTagCompound();
+ }
+ else {
mRecipeStuff = aNBT.getCompoundTag("GT.CraftingComponents");
mFluidName = mRecipeStuff.getString("mFluidName");
mFluidAmount = mRecipeStuff.getInteger("mFluidAmount");
mFluid = FluidUtils.getFluidStack(mFluidName, mFluidAmount);
+ }
setItemNBT(aNBT);
}
@Override
public void setItemNBT(NBTTagCompound aNBT) {
super.setItemNBT(aNBT);
+ if (mRecipeStuff == null){
+ mRecipeStuff = new NBTTagCompound();
+ }
+ else {
mRecipeStuff.setString("mFluidName", mFluidName);
mRecipeStuff.setInteger("mFluidAmount", mFluidAmount);
+ }
aNBT.setTag("GT.CraftingComponents", mRecipeStuff);
}
@@ -117,9 +131,11 @@ extends GT_MetaTileEntity_BasicTank {
@Override
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()){
+ //setVars();
return true;
}
aBaseMetaTileEntity.openGUI(aPlayer);
+ setVars();
return true;
}
diff --git a/src/resources/assets/miscutils/textures/Draknyte1.png b/src/resources/assets/miscutils/textures/Draknyte1.png
new file mode 100644
index 0000000000..21fc187dd3
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/Draknyte1.png
Binary files differ
diff --git a/src/resources/assets/miscutils/textures/TesterCape.png b/src/resources/assets/miscutils/textures/TesterCape.png
new file mode 100644
index 0000000000..687d90fac0
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/TesterCape.png
Binary files differ