diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-13 05:54:50 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-13 05:54:50 +1000 |
commit | ed4981a9de40674ef26e9f82099a1844938f90c8 (patch) | |
tree | 60222f1c9f604bb989447fccbabc11a85d2317ba /src/Java/gtPlusPlus/xmod/gregtech/common | |
parent | 24f4f3411c5b0823c37a71b376a6531c62384e59 (diff) | |
download | GT5-Unofficial-ed4981a9de40674ef26e9f82099a1844938f90c8.tar.gz GT5-Unofficial-ed4981a9de40674ef26e9f82099a1844938f90c8.tar.bz2 GT5-Unofficial-ed4981a9de40674ef26e9f82099a1844938f90c8.zip |
+ Made GT5 HF usable in some GT++ recipes.
+ Added a recipe to convert GT HF -> GT++ HF.
% Doubled output of Sulfuric Apatite Recipe.
% Cape list change.
% Made ABS recipe generation logging MACHINE_INFO type.
$ Improved cape handler to cache resource & not check client side at all.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java | 120 |
1 files changed, 78 insertions, 42 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java index ff7cf6c76f..8ffa260261 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java @@ -22,6 +22,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.lib.CORE; import net.minecraftforge.client.event.RenderPlayerEvent; @@ -37,54 +38,75 @@ extends RenderPlayer { BuildCapeList(); } - public void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) { - AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer; - if (mDevCapes.size() <= 1) { - BuildCapeList(); - } - if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible() || GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) { - aEvent.setCanceled(true); - return; + private static volatile ResourceLocation cachedResource = null; + private static boolean hasResourceChecked = false; + + public synchronized void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) { + AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer; + ResourceLocation tResource = null; + if (cachedResource != null) { + tResource = cachedResource; } - float aPartialTicks = aEvent.partialRenderTick; - try { - ResourceLocation tResource = null; + else { String mTemp = ""; - - for (Pair<String, String> mName : mOrangeCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[0]; + //Make sure we don't keep checking on clients who dont have capes. + if (!hasResourceChecked) { + //Only run once. + hasResourceChecked = true; + //If list's have not been built yet for some reason, we best do it now. + if (mDevCapes.size() <= 1) { + BuildCapeList(); } - } - for (Pair<String, String> mName : mMiscCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[1]; + + //Iterates all players in all lists, caches result. + for (Pair<String, String> mName : mOrangeCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[0]; + } } - } - for (Pair<String, String> mName : mBetaTestCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[2]; + for (Pair<String, String> mName : mMiscCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[1]; + } } - } - for (Pair<String, String> mName : mDevCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[3]; + for (Pair<String, String> mName : mBetaTestCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[2]; + } } - } - for (Pair<String, String> mName : mPatreonCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[4]; + for (Pair<String, String> mName : mDevCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[3]; + } + } + for (Pair<String, String> mName : mPatreonCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[4]; + } + } + if (tResource != null) { + cachedResource = tResource; } } - - if (CORE.DEVENV) { + } + + + if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible() || GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) { + aEvent.setCanceled(true); + return; + } + float aPartialTicks = aEvent.partialRenderTick; + try { + + + /*if (CORE.DEVENV) { tResource = this.mCapes[3]; - } + }*/ /*if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase())) { tResource = this.mCapes[0]; @@ -97,8 +119,8 @@ extends RenderPlayer { 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); + double d3 = MathHelper.sin(f6 * CORE.PI / 180.0F); + double d4 = -MathHelper.cos(f6 * CORE.PI / 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; @@ -131,17 +153,31 @@ extends RenderPlayer { } private String getPlayerName(String name, String uuid) { + Logger.WORLD("[Capes++] Trying to UUID check "+name+"."); if (uuid != null) { if (uuid.length() > 0) { UUID g = UUID.fromString(uuid); if (g != null) { + Logger.WORLD("[Capes++] Mojang/Cache checking for "+name+"."); GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152652_a(g); if (profile != null) { + Logger.INFO("[Capes++] Found for UUID check: "+profile.getName()+"."); return profile.getName(); } } } - } + } + if (name != null) { + if (name.length() > 0) { + Logger.WORLD("[Capes++] Mojang/Cache checking for "+name+"."); + GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152655_a(name); + if (profile != null) { + Logger.INFO("[Capes++] Found for name check: "+profile.getName()+"."); + return profile.getName(); + } + } + } + Logger.WORLD("[Capes++] Failed UUID check for "+name+"."); return name; } |