diff --git a/src/main/java/ellpeck/actuallyadditions/config/values/ConfigBoolValues.java b/src/main/java/ellpeck/actuallyadditions/config/values/ConfigBoolValues.java index d9e9cc3ad..8ab5dcf06 100644 --- a/src/main/java/ellpeck/actuallyadditions/config/values/ConfigBoolValues.java +++ b/src/main/java/ellpeck/actuallyadditions/config/values/ConfigBoolValues.java @@ -41,7 +41,10 @@ public enum ConfigBoolValues{ PREVENT_OIL_OVERRIDE("Oil Fluid Override", ConfigCategories.FLUIDS, false, "If not registering Oil Fluids from Actually Additions if other Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING), PREVENT_CANOLA_OVERRIDE("Canola Oil Fluid Override", ConfigCategories.FLUIDS, false, "If not registering Canola Oil Fluids from Actually Additions if other Canola Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING), PREVENT_OIL_BLOCK_OVERRIDE("Oil Block Override", ConfigCategories.FLUIDS, false, "If not registering Oil Blocks from Actually Additions if other Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING), - PREVENT_CANOLA_BLOCK_OVERRIDE("Canola Oil Block Override", ConfigCategories.FLUIDS, false, "If not registering Canola Oil Blocks from Actually Additions if other Canola Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING); + PREVENT_CANOLA_BLOCK_OVERRIDE("Canola Oil Block Override", ConfigCategories.FLUIDS, false, "If not registering Canola Oil Blocks from Actually Additions if other Canola Oil is already registered should be prevented"+ConfigurationHandler.ISSUES_WARNING), + + CTRL_EXTRA_INFO("Advanced Info", ConfigCategories.OTHER, true, "Show Advanced Item Info when holding Control on every Item"), + CTRL_INFO_FOR_EXTRA_INFO("Advanced Info Tooltips", ConfigCategories.OTHER, true, "Show the 'Press Control for more Info'-Text on Item Tooltips"); public final String name; public final String category; diff --git a/src/main/java/ellpeck/actuallyadditions/event/TooltipEvent.java b/src/main/java/ellpeck/actuallyadditions/event/TooltipEvent.java index b4f7c3ec3..646e7f5da 100644 --- a/src/main/java/ellpeck/actuallyadditions/event/TooltipEvent.java +++ b/src/main/java/ellpeck/actuallyadditions/event/TooltipEvent.java @@ -1,26 +1,62 @@ package ellpeck.actuallyadditions.event; +import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import ellpeck.actuallyadditions.config.values.ConfigBoolValues; import ellpeck.actuallyadditions.util.KeyUtil; import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.StringUtil; +import net.minecraft.item.Item; import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.oredict.OreDictionary; public class TooltipEvent{ - @SubscribeEvent + private static final String TEXT_PRE = StringUtil.GRAY+" "; + private static final String HEADER_PRE = StringUtil.LIGHT_GRAY+" -"; + + @SubscribeEvent(priority = EventPriority.LOWEST) public void onTooltipEvent(ItemTooltipEvent event){ - if(KeyUtil.isControlPressed()){ - int[] oreIDs = OreDictionary.getOreIDs(event.itemStack); - if(oreIDs.length > 0){ - event.toolTip.add(StringUtil.GRAY + StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".oredictName.desc") + ":"); - for(int oreID : oreIDs){ - event.toolTip.add(StringUtil.GRAY + "-" + OreDictionary.getOreName(oreID)); + if(event.itemStack.getItem() != null){ + if(KeyUtil.isControlPressed()){ + if(ConfigBoolValues.CTRL_EXTRA_INFO.isEnabled()){ + event.toolTip.add(StringUtil.GRAY+StringUtil.ITALIC+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".extraInfo.desc")+":"); + + //OreDict Names + int[] oreIDs = OreDictionary.getOreIDs(event.itemStack); + event.toolTip.add(HEADER_PRE+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".oredictName.desc")+":"); + if(oreIDs.length > 0){ + for(int oreID : oreIDs){ + event.toolTip.add(TEXT_PRE+OreDictionary.getOreName(oreID)); + } + } + else{ + event.toolTip.add(TEXT_PRE+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".noOredictNameAvail.desc")); + } + + //Code Name + event.toolTip.add(HEADER_PRE+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".codeName.desc")+":"); + event.toolTip.add(TEXT_PRE+Item.itemRegistry.getNameForObject(event.itemStack.getItem())); + + //Base Item's Unlocalized Name + String baseName = event.itemStack.getItem().getUnlocalizedName(); + event.toolTip.add(HEADER_PRE+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".baseUnlocName.desc")+":"); + event.toolTip.add(TEXT_PRE+baseName); + + //Unlocalized Name + String metaName = event.itemStack.getItem().getUnlocalizedName(event.itemStack); + if(!metaName.equals(baseName)){ + event.toolTip.add(HEADER_PRE+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".unlocName.desc")+":"); + event.toolTip.add(TEXT_PRE+metaName); + } + } + } + else{ + if(ConfigBoolValues.CTRL_INFO_FOR_EXTRA_INFO.isEnabled()){ + event.toolTip.add(StringUtil.GRAY+StringUtil.ITALIC+StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".ctrlForMoreInfo.desc")); } } - else event.toolTip.add(StringUtil.GRAY + StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".noOredictNameAvail.desc")); } } } diff --git a/src/main/java/ellpeck/actuallyadditions/inventory/ContainerOreMagnet.java b/src/main/java/ellpeck/actuallyadditions/inventory/ContainerOreMagnet.java index 489d7247c..debfef4b4 100644 --- a/src/main/java/ellpeck/actuallyadditions/inventory/ContainerOreMagnet.java +++ b/src/main/java/ellpeck/actuallyadditions/inventory/ContainerOreMagnet.java @@ -24,7 +24,6 @@ public class ContainerOreMagnet extends Container{ this.addSlotToContainer(new Slot(this.magnet, TileEntityOreMagnet.SLOT_OIL_INPUT, 98, 74)); this.addSlotToContainer(new SlotOutput(this.magnet, TileEntityOreMagnet.SLOT_OIL_OUTPUT, 98, 43)); - //TODO Change away from SlotOutput when implementing upgrades this.addSlotToContainer(new SlotOutput(this.magnet, TileEntityOreMagnet.SLOT_UPGRADE, 71, 43)); for (int i = 0; i < 3; i++){ diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index 316844d7c..2dc6bdbb5 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -387,13 +387,18 @@ item.actuallyadditions.itemDustCoal.name=Crushed Coal item.actuallyadditions.itemDustQuartzBlack.name=Crushed Black Quartz tooltip.actuallyadditions.shiftForInfo.desc=Press Shift for Info +tooltip.actuallyadditions.ctrlForMoreInfo.desc= +tooltip.actuallyadditions.extraInfo.desc=Advanced Info tooltip.actuallyadditions.hunger.desc=Hunger Points tooltip.actuallyadditions.saturation.desc=Saturation tooltip.actuallyadditions.durability.desc=Durability tooltip.actuallyadditions.noEffects.desc=No Effects tooltip.actuallyadditions.oredictName.desc=OreDictionary Entries -tooltip.actuallyadditions.noOredictNameAvail.desc=Has No OreDictionary Entries +tooltip.actuallyadditions.noOredictNameAvail.desc=None +tooltip.actuallyadditions.codeName.desc=Code Name +tooltip.actuallyadditions.baseUnlocName.desc=Item's Unlocalized Name +tooltip.actuallyadditions.unlocName.desc=Meta's Unlocalized Name tile.actuallyadditions.blockXPSolidifier.name=Experience Solidifier tooltip.actuallyadditions.blockXPSolidifier.desc.1=Turns a Player's Experience into Solidified Experience!