diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-29 06:15:30 +0000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-29 06:15:30 +0000 |
commit | 1b5aaa09e22baa1f09d0777d1465fd61c2a810b4 (patch) | |
tree | 695e3594c6dafb5d4a2d04e1b926cbcef876d282 /src/Java/gtPlusPlus/core/item | |
parent | 6205a2088bbbc31a09d0a2a3d460add1a7622801 (diff) | |
download | GT5-Unofficial-1b5aaa09e22baa1f09d0777d1465fd61c2a810b4.tar.gz GT5-Unofficial-1b5aaa09e22baa1f09d0777d1465fd61c2a810b4.tar.bz2 GT5-Unofficial-1b5aaa09e22baa1f09d0777d1465fd61c2a810b4.zip |
% Greatly improved Tooltip of GT++ Ore Blocks.
$ Forgot to actually update the .lang file in relation to Misspelt Throwable potion names.
Diffstat (limited to 'src/Java/gtPlusPlus/core/item')
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java | 98 |
1 files changed, 73 insertions, 25 deletions
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java index 03f3e50338..791d861414 100644 --- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java +++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java @@ -1,6 +1,8 @@ package gtPlusPlus.core.item.base.itemblock; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import net.minecraft.block.Block; import net.minecraft.entity.Entity; @@ -9,7 +11,7 @@ import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; - +import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.block.base.BlockBaseOre; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; @@ -18,6 +20,7 @@ import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.EntityUtils; import gtPlusPlus.core.util.sys.KeyboardUtils; +import gtPlusPlus.everglades.gen.gt.WorldGen_GT_Ore_Layer; public class ItemBlockOre extends ItemBlock{ @@ -46,8 +49,37 @@ public class ItemBlockOre extends ItemBlock{ return this.mThisColour; } + private static Map<String, AutoMap<String>> mMapOreBlockItemToDimName = new LinkedHashMap<String, AutoMap<String>>(); + private static boolean mInitOres_Everglades = false; + private AutoMap<String> mDimsForThisOre = new AutoMap<String>(); + + @Override public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { + + if (!mInitOres_Everglades || mMapOreBlockItemToDimName.size() == 0 || (aPlayer != null ? aPlayer.worldObj.getWorldTime() % 200 == 0 : false)) { + + //mMapOreBlockItemToDimName.clear(); + mDimsForThisOre.clear(); + + + for (WorldGen_GT_Ore_Layer f : gtPlusPlus.everglades.gen.gt.WorldGen_Ores.validOreveins.values()) { + Material[] m2 = new Material[] {f.mPrimary, f.mSecondary, f.mBetween, f.mSporadic}; + for (Material m1 : m2) { + AutoMap<String> aMap = mMapOreBlockItemToDimName.get(m1.getUnlocalizedName().toLowerCase()); + if (aMap == null) { + aMap = new AutoMap<String>(); + } + if (!aMap.containsValue("Everglades")) { + aMap.put("Everglades"); + } + mMapOreBlockItemToDimName.put(m1.getUnlocalizedName().toLowerCase(), aMap); + } + } + mInitOres_Everglades = true; + } + + if (this.mThisMaterial != null){ list.add(this.mThisMaterial.vChemicalFormula); } @@ -62,14 +94,22 @@ public class ItemBlockOre extends ItemBlock{ */ if (this.mThisMaterial == FLUORIDES.FLUORITE){ list.add("Mined from Sandstone with a 1/"+(CORE.ConfigSwitches.chanceToDropFluoriteOre*20)+" chance, or Limestone with a 1/"+(CORE.ConfigSwitches.chanceToDropFluoriteOre)+" chance."); - } -/* else if (this.mThisMaterial != FLUORIDES.FLUORITE){ - list.add("Mined from the Toxic Everglades."); - }*/ + } - if (KeyboardUtils.isCtrlKeyDown()) { + if (this.mThisMaterial != null) { + list.add("Ore contains: "); + if (mThisMaterial.getComposites().isEmpty()) { + list.add("- "+mThisMaterial.getLocalizedName()); + } + else { + for (MaterialStack m : mThisMaterial.getComposites()) { + list.add("- "+m.getStackMaterial().getLocalizedName()+" x"+m.getPartsPerOneHundred()); + } + } + } - if (this.mThisMaterial != null) { + if (KeyboardUtils.isCtrlKeyDown()) { + Block b = Block.getBlockFromItem(stack.getItem()); if (b != null) { String aTool = b.getHarvestTool(stack.getItemDamage()); @@ -77,41 +117,49 @@ public class ItemBlockOre extends ItemBlock{ if (aMiningLevel1 != 0) { list.add("Mining Level: "+Math.min(Math.max(aMiningLevel1, 0), 5)); } - list.add("Ore contains: "); - if (mThisMaterial.getComposites().isEmpty()) { - list.add("- "+mThisMaterial.getLocalizedName()); + } + + if (mDimsForThisOre.isEmpty()) { + AutoMap A = mMapOreBlockItemToDimName.get(this.mThisMaterial.getUnlocalizedName().toLowerCase()); + if (A != null) { + mDimsForThisOre = A; } else { - for (MaterialStack m : mThisMaterial.getComposites()) { - list.add("- "+m.getStackMaterial().getLocalizedName()+" x"+m.getPartsPerOneHundred()); - } - } + mDimsForThisOre.put("Unknown"); + } } + + if (!mDimsForThisOre.isEmpty()) { + list.add("Found: "); + for (String m : mDimsForThisOre) { + list.add("- "+m); + } } + } else { list.add(EnumChatFormatting.DARK_GRAY+"Hold Ctrl to show additional info."); } - - super.addInformation(stack, aPlayer, list, bool); -} -@Override -public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) { - if (this.mThisMaterial != null){ - if (this.mThisRadiation > 0){ - if (entityHolding instanceof EntityPlayer){ - if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode){ - EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.mThisMaterial.vRadiationLevel, world, entityHolding); + super.addInformation(stack, aPlayer, list, bool); + } + + @Override + public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) { + if (this.mThisMaterial != null){ + if (this.mThisRadiation > 0){ + if (entityHolding instanceof EntityPlayer){ + if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode){ + EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.mThisMaterial.vRadiationLevel, world, entityHolding); + } } } } } -} } |