diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-24 17:39:23 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-24 17:39:23 +1000 |
commit | 530d84ed415e3cc35715e697635e9f8fb06bbd5d (patch) | |
tree | f872cbcc0c5b4a712ffcc03df8708accb50463df | |
parent | 0cfe59a8a48fa4c8dfa12043489825ffa9fadd8c (diff) | |
download | GT5-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.java | 3 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/render/CapeHandler.java | 120 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/ModItems.java | 2 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/CoreItem.java | 12 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/proxy/ClientProxy.java | 13 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java | 28 | ||||
-rw-r--r-- | src/resources/assets/miscutils/textures/Draknyte1.png | bin | 0 -> 496 bytes | |||
-rw-r--r-- | src/resources/assets/miscutils/textures/TesterCape.png | bin | 0 -> 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 Binary files differnew file mode 100644 index 0000000000..21fc187dd3 --- /dev/null +++ b/src/resources/assets/miscutils/textures/Draknyte1.png diff --git a/src/resources/assets/miscutils/textures/TesterCape.png b/src/resources/assets/miscutils/textures/TesterCape.png Binary files differnew file mode 100644 index 0000000000..687d90fac0 --- /dev/null +++ b/src/resources/assets/miscutils/textures/TesterCape.png |