Skip to content
This repository was archived by the owner on Aug 6, 2023. It is now read-only.

Commit 1662a93

Browse files
committed
tooltips implemented
1 parent 353faf8 commit 1662a93

2 files changed

Lines changed: 60 additions & 9 deletions

File tree

src/main/java/com/mcmoddev/mmdlogger/MMDLogger.java

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package com.mcmoddev.mmdlogger;
22

33
import net.minecraftforge.oredict.OreDictionary;
4-
4+
import java.util.HashMap;
55
import java.util.List;
6+
import java.util.Map;
67

78
import org.apache.logging.log4j.LogManager;
89
import org.apache.logging.log4j.Logger;
10+
911
import net.minecraft.item.Item;
1012
import net.minecraft.item.ItemStack;
13+
import net.minecraftforge.common.MinecraftForge;
1114
import net.minecraftforge.common.config.Configuration;
1215
import net.minecraftforge.fml.common.Mod;
1316
import net.minecraftforge.fml.common.Mod.EventHandler;
@@ -23,12 +26,17 @@ public class MMDLogger {
2326
public static final String MODID = "mmdlogger";
2427
public static final String VERSION = "1.0";
2528

29+
protected static final Map<String, String> ItemToOreDictMap = new HashMap<>();
30+
2631
private Logger logger;
2732
private boolean loggingOn = false;
33+
protected static boolean tooltipsOn = false;
2834

2935
@EventHandler
3036
public void preInit(FMLPreInitializationEvent event)
3137
{
38+
MinecraftForge.EVENT_BUS.register(new MMDLoggerEventBusSubscriber());
39+
3240
Configuration modConfig = new Configuration(event.getSuggestedConfigurationFile());
3341
modConfig.load();
3442

@@ -37,6 +45,9 @@ public void preInit(FMLPreInitializationEvent event)
3745
loggingOn = modConfig.getBoolean("OREDICT_LOGGING", OPTIONS, loggingOn,
3846
"If true, then ore dict names and corresponding id's are logged");
3947

48+
tooltipsOn = modConfig.getBoolean("OREDICT_TOOLTIPS", OPTIONS, tooltipsOn,
49+
"If true, then ore dict names are displayed in tooltips");
50+
4051
modConfig.save();
4152

4253
if (loggingOn) {
@@ -47,20 +58,21 @@ public void preInit(FMLPreInitializationEvent event)
4758
@EventHandler
4859
public void postInit(FMLPostInitializationEvent event)
4960
{
50-
if (loggingOn) {
51-
List<ItemStack> items;
52-
int oreID;
53-
61+
if (loggingOn) {
5462
for (String oreName : OreDictionary.getOreNames()) {
55-
oreID = OreDictionary.getOreID(oreName);
56-
items = OreDictionary.getOres(oreName);
63+
int oreID = OreDictionary.getOreID(oreName);
64+
List<ItemStack> items = OreDictionary.getOres(oreName);
5765

5866
for (ItemStack itemStack : items) {
5967
Item item = itemStack.getItem();
6068

61-
logger.info("Ore Dictionary Entry: Ore Name: %s, Ore ID: %s, Unlocalised Name: %s, Block ID: %s, Registry Name: %s", oreName, oreID, item.getUnlocalizedName(), Item.getIdFromItem(item), item.getRegistryName());
69+
int meta = item.getMetadata(itemStack);
70+
71+
ItemToOreDictMap.put(Item.getIdFromItem(item) + ":" + meta, oreName);
72+
73+
logger.info("Ore Dictionary Entry: Ore Name: %s, Ore ID: %s, Unlocalised Name: %s, Block ID: %s, Block Meta: %s, Registry Name: %s", oreName, oreID, item.getUnlocalizedName(), Item.getIdFromItem(item), meta, item.getRegistryName());
6274
}
6375
}
6476
}
65-
}
77+
}
6678
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.mcmoddev.mmdlogger;
2+
3+
import java.util.List;
4+
5+
import net.minecraft.item.Item;
6+
import net.minecraft.item.ItemStack;
7+
import net.minecraft.util.text.TextFormatting;
8+
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
9+
import net.minecraftforge.fml.common.Mod;
10+
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
11+
12+
@Mod.EventBusSubscriber(modid = MMDLogger.MODID)
13+
public class MMDLoggerEventBusSubscriber {
14+
15+
@SubscribeEvent
16+
public void onToolTip(ItemTooltipEvent event)
17+
{
18+
if (MMDLogger.tooltipsOn) {
19+
ItemStack stack = event.getItemStack();
20+
Item item = stack.getItem();
21+
22+
if (item == null)
23+
return;
24+
25+
int blockId = Item.getIdFromItem(item);
26+
int meta = item.getMetadata(stack);
27+
28+
29+
String oreName = MMDLogger.ItemToOreDictMap.get(blockId + ":" + meta);
30+
31+
List<String> tooltips = event.getToolTip();
32+
33+
if (oreName != null) {
34+
tooltips.add(TextFormatting.BLUE.toString() + TextFormatting.ITALIC.toString() + oreName);
35+
}
36+
37+
}
38+
}
39+
}

0 commit comments

Comments
 (0)