mirror of
https://github.com/GTNewHorizons/waila.git
synced 2026-11-14 17:14:51 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1071a6e611 | ||
|
|
acf75bf118 | ||
|
|
8594e628f4 |
No files matched your search
+1
-1
@@ -1,7 +1,7 @@
|
||||
// Add your dependencies here
|
||||
|
||||
dependencies {
|
||||
implementation('com.github.GTNewHorizons:NotEnoughItems:2.7.87-GTNH:dev')
|
||||
implementation('com.github.GTNewHorizons:NotEnoughItems:2.7.91-GTNH:dev')
|
||||
|
||||
shadowImplementation('au.com.bytecode:opencsv:2.4')
|
||||
}
|
||||
+1
-1
@@ -17,7 +17,7 @@ pluginManagement {
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.43'
|
||||
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.44'
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import net.minecraft.world.World;
|
||||
import mcp.mobius.waila.api.IWailaConfigHandler;
|
||||
import mcp.mobius.waila.api.IWailaDataAccessor;
|
||||
import mcp.mobius.waila.api.IWailaDataProvider;
|
||||
import mcp.mobius.waila.api.SpecialChars;
|
||||
import mcp.mobius.waila.cbcore.LangUtil;
|
||||
|
||||
public class HUDHandlerIAspectContainer implements IWailaDataProvider {
|
||||
@@ -57,9 +58,10 @@ public class HUDHandlerIAspectContainer implements IWailaDataProvider {
|
||||
total += value;
|
||||
String amount = String.valueOf(value);
|
||||
|
||||
if (!aspect.equals("???"))
|
||||
currenttip.add(String.format("%s" + TAB + ALIGNRIGHT + WHITE + "%s", aspect, amount));
|
||||
else unknownAspects.add(String.format("%s" + TAB + ALIGNRIGHT + WHITE + "%s", aspect, amount));
|
||||
if (!aspect.equals("???")) currenttip.add(
|
||||
SpecialChars.getRenderString("waila.tcaspect", aspect) + TAB + ALIGNRIGHT + WHITE + amount);
|
||||
else unknownAspects.add(
|
||||
SpecialChars.getRenderString("waila.tcaspect", aspect) + TAB + ALIGNRIGHT + WHITE + amount);
|
||||
}
|
||||
|
||||
String id = tag.getString("WailaID");
|
||||
@@ -97,7 +99,7 @@ public class HUDHandlerIAspectContainer implements IWailaDataProvider {
|
||||
|
||||
ItemStack headSlot = player.inventory.armorInventory[3];
|
||||
if (headSlot == null) return tag;
|
||||
boolean hasReveal = ThaumcraftModule.IGoggles.isInstance(headSlot.getItem());
|
||||
boolean hasReveal = ThaumcraftModule.isGoggles.apply(headSlot);
|
||||
if (!hasReveal) return tag;
|
||||
|
||||
Map<String, ?> knownAspects = (Map<String, ?>) ThaumcraftModule.CommonProxy_getKnownAspects
|
||||
@@ -118,7 +120,7 @@ public class HUDHandlerIAspectContainer implements IWailaDataProvider {
|
||||
if (tileAspects.get(o) > 0) {
|
||||
if (playerAspects.containsKey(o)) {
|
||||
NBTTagCompound cmptag = new NBTTagCompound();
|
||||
cmptag.setString("key", (String) ThaumcraftModule.Aspect_getName.invoke(o));
|
||||
cmptag.setString("key", (String) ThaumcraftModule.Aspect_tag.get(o));
|
||||
cmptag.setInteger("value", tileAspects.get(o));
|
||||
aspects.appendTag(cmptag);
|
||||
} else {
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package mcp.mobius.waila.addons.thaumcraft;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Function;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.apache.logging.log4j.Level;
|
||||
|
||||
@@ -28,12 +32,19 @@ public class ThaumcraftModule {
|
||||
public static Class<?> Aspect = null;
|
||||
public static Field Aspect_tag = null;
|
||||
public static Method Aspect_getName = null;
|
||||
public static Method Aspect_getAspect = null;
|
||||
public static Method Aspect_getImage = null;
|
||||
public static Method Aspect_getColor = null;
|
||||
|
||||
public static Class<?> CommonProxy = null;
|
||||
public static Method CommonProxy_getKnownAspects = null;
|
||||
|
||||
public static Class<?> IGoggles = null;
|
||||
|
||||
public static ResourceLocation unknownAspectTexture = null;
|
||||
public static Color unknownAspectColor = null;
|
||||
public static Function<ItemStack, Boolean> isGoggles = stack -> IGoggles.isInstance(stack.getItem());
|
||||
|
||||
public static void register() {
|
||||
try {
|
||||
Thaumcraft = Class.forName("thaumcraft.common.Thaumcraft");
|
||||
@@ -53,12 +64,18 @@ public class ThaumcraftModule {
|
||||
Aspect_tag = Aspect.getDeclaredField("tag");
|
||||
Aspect_tag.setAccessible(true);
|
||||
Aspect_getName = Aspect.getDeclaredMethod("getName");
|
||||
Aspect_getAspect = Aspect.getMethod("getAspect", java.lang.String.class);
|
||||
Aspect_getImage = Aspect.getDeclaredMethod("getImage");
|
||||
Aspect_getColor = Aspect.getDeclaredMethod("getColor");
|
||||
|
||||
CommonProxy = Class.forName("thaumcraft.common.CommonProxy");
|
||||
CommonProxy_getKnownAspects = CommonProxy.getDeclaredMethod("getKnownAspects");
|
||||
|
||||
IGoggles = Class.forName("thaumcraft.api.IGoggles");
|
||||
|
||||
unknownAspectTexture = new ResourceLocation("thaumcraft", "textures/aspects/_unknown.png");
|
||||
unknownAspectColor = new Color(0x654242);
|
||||
|
||||
ModuleRegistrar.instance().addConfigRemote("Thaumcraft", "thaumcraft.aspects");
|
||||
ModuleRegistrar.instance().registerBodyProvider(new HUDHandlerIAspectContainer(), IAspectContainer);
|
||||
ModuleRegistrar.instance().registerBodyProvider(new HUDHandlerIAspectContainer(), TileAlchemyFurnace);
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package mcp.mobius.waila.addons.thaumcraftGadomancy;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
|
||||
import org.apache.logging.log4j.Level;
|
||||
|
||||
import mcp.mobius.waila.Waila;
|
||||
import mcp.mobius.waila.addons.thaumcraft.ThaumcraftModule;
|
||||
|
||||
public class GadomancyModule {
|
||||
|
||||
public static Class<?> RegisteredEnchantments = null;
|
||||
public static Field RegisteredEnchantments_revealer = null;
|
||||
|
||||
public static int revealerEffectId;
|
||||
|
||||
public static void register() {
|
||||
try {
|
||||
RegisteredEnchantments = Class.forName("makeo.gadomancy.common.registration.RegisteredEnchantments");
|
||||
RegisteredEnchantments_revealer = RegisteredEnchantments.getDeclaredField("revealer");
|
||||
Object revealer = RegisteredEnchantments_revealer.get(null);
|
||||
|
||||
revealerEffectId = ((Enchantment) revealer).effectId;
|
||||
|
||||
ThaumcraftModule.isGoggles = stack -> ThaumcraftModule.IGoggles.isInstance(stack.getItem())
|
||||
|| EnchantmentHelper.getEnchantmentLevel(revealerEffectId, stack) > 0;
|
||||
} catch (ClassNotFoundException e) {
|
||||
Waila.log.log(Level.INFO, "[Thaumcraft Gadomancy] Gadomancy mod not found.");
|
||||
return;
|
||||
} catch (Exception e) {
|
||||
Waila.log.log(Level.WARN, "[Thaumcraft Gadomancy] Unhandled exception. {}", e);
|
||||
return;
|
||||
}
|
||||
Waila.log.log(Level.INFO, "Gadomancy mod found.");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -17,6 +17,7 @@ import mcp.mobius.waila.handlers.HUDHandlerBlocks;
|
||||
import mcp.mobius.waila.handlers.HUDHandlerEntities;
|
||||
import mcp.mobius.waila.handlers.VanillaTooltipHandler;
|
||||
import mcp.mobius.waila.handlers.nei.NEIHandler;
|
||||
import mcp.mobius.waila.overlay.tooltiprenderers.TTRenderAspectString;
|
||||
import mcp.mobius.waila.overlay.tooltiprenderers.TTRenderHealth;
|
||||
import mcp.mobius.waila.overlay.tooltiprenderers.TTRenderProgressBar;
|
||||
import mcp.mobius.waila.overlay.tooltiprenderers.TTRenderStack;
|
||||
@@ -54,6 +55,8 @@ public class ProxyClient extends ProxyServer {
|
||||
ModuleRegistrar.instance().registerTooltipRenderer("waila.stack", new TTRenderStack());
|
||||
ModuleRegistrar.instance().registerTooltipRenderer("waila.progress", new TTRenderProgressBar());
|
||||
|
||||
ModuleRegistrar.instance().registerTooltipRenderer("waila.tcaspect", new TTRenderAspectString());
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(new WorldUnloadEventHandler());
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
package mcp.mobius.waila.overlay.tooltiprenderers;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import mcp.mobius.waila.addons.thaumcraft.ThaumcraftModule;
|
||||
import mcp.mobius.waila.api.IWailaCommonAccessor;
|
||||
import mcp.mobius.waila.api.IWailaTooltipRenderer;
|
||||
import mcp.mobius.waila.overlay.DisplayUtil;
|
||||
import mcp.mobius.waila.overlay.OverlayConfig;
|
||||
|
||||
public class TTRenderAspectString implements IWailaTooltipRenderer {
|
||||
|
||||
@Override
|
||||
public Dimension getSize(String[] params, IWailaCommonAccessor accessor) {
|
||||
int width;
|
||||
if (params[0].equals("???")) {
|
||||
width = DisplayUtil.getDisplayWidth(params[0]);
|
||||
} else {
|
||||
try {
|
||||
Object aspect = ThaumcraftModule.Aspect_getAspect.invoke(null, params[0]);
|
||||
if (aspect == null) {
|
||||
width = DisplayUtil.getDisplayWidth(params[0]);
|
||||
} else width = DisplayUtil.getDisplayWidth((String) ThaumcraftModule.Aspect_getName.invoke(aspect));
|
||||
} catch (ReflectiveOperationException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
return new Dimension(width + 10, params[0].isEmpty() ? 0 : 8);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(String[] params, IWailaCommonAccessor accessor) {
|
||||
try {
|
||||
if (params[0].equals("???")) {
|
||||
drawTag(0, 0, ThaumcraftModule.unknownAspectTexture, ThaumcraftModule.unknownAspectColor, 200);
|
||||
DisplayUtil.drawString(params[0], 10, 0, OverlayConfig.fontcolor, true);
|
||||
return;
|
||||
}
|
||||
Object aspect = ThaumcraftModule.Aspect_getAspect.invoke(null, params[0]);
|
||||
if (aspect == null) return;
|
||||
drawTag(
|
||||
0,
|
||||
0,
|
||||
(ResourceLocation) ThaumcraftModule.Aspect_getImage.invoke(aspect),
|
||||
new Color((int) ThaumcraftModule.Aspect_getColor.invoke(aspect)),
|
||||
200);
|
||||
DisplayUtil.drawString(
|
||||
(String) ThaumcraftModule.Aspect_getName.invoke(aspect),
|
||||
10,
|
||||
0,
|
||||
OverlayConfig.fontcolor,
|
||||
true);
|
||||
} catch (ReflectiveOperationException e) {
|
||||
DisplayUtil.drawString(params[0], 10, 0, OverlayConfig.fontcolor, true);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void drawTag(double x, double y, ResourceLocation image, Color color, double z) {
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
mc.renderEngine.bindTexture(image);
|
||||
GL11.glColor4f(
|
||||
(float) color.getRed() / 255.0F,
|
||||
(float) color.getGreen() / 255.0F,
|
||||
(float) color.getBlue() / 255.0F,
|
||||
1);
|
||||
|
||||
Tessellator var9 = Tessellator.instance;
|
||||
var9.startDrawingQuads();
|
||||
var9.setColorRGBA_F(
|
||||
(float) color.getRed() / 255.0F,
|
||||
(float) color.getGreen() / 255.0F,
|
||||
(float) color.getBlue() / 255.0F,
|
||||
1);
|
||||
|
||||
var9.addVertexWithUV(x + 0.0D, y + 8.0D, z, 0.0D, 1.0D);
|
||||
var9.addVertexWithUV(x + 8.0D, y + 8.0D, z, 1.0D, 1.0D);
|
||||
var9.addVertexWithUV(x + 8.0D, y + 0.0D, z, 1.0D, 0.0D);
|
||||
var9.addVertexWithUV(x + 0.0D, y + 0.0D, z, 0.0D, 0.0D);
|
||||
var9.draw();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,6 +20,7 @@ import mcp.mobius.waila.addons.railcraft.RailcraftModule;
|
||||
import mcp.mobius.waila.addons.statues.StatuesModule;
|
||||
import mcp.mobius.waila.addons.stevescarts.StevesCartsModule;
|
||||
import mcp.mobius.waila.addons.thaumcraft.ThaumcraftModule;
|
||||
import mcp.mobius.waila.addons.thaumcraftGadomancy.GadomancyModule;
|
||||
import mcp.mobius.waila.addons.thermaldynamics.ThermalDynamicsModule;
|
||||
import mcp.mobius.waila.addons.thermalexpansion.ThermalExpansionModule;
|
||||
import mcp.mobius.waila.addons.twilightforest.TwilightForestModule;
|
||||
@@ -50,6 +51,9 @@ public class ProxyServer {
|
||||
/* Thaumcraft */
|
||||
ThaumcraftModule.register();
|
||||
|
||||
/* Gadomancy */
|
||||
GadomancyModule.register();
|
||||
|
||||
/* EnderStorage */
|
||||
EnderStorageModule.register();
|
||||
|
||||
|
||||
Reference in new issue
Block a user