@@ -0,0 +1,1285 @@
+package me.deftware.client.framework.Wrappers.Classes;%0A%0Aimport net.minecraft.client.Minecraft;%0Aimport net.minecraft.client.gui.GuiScreen;%0Aimport net.minecraft.client.gui.inventory.GuiEditSign;%0Aimport net.minecraft.util.text.TextComponentString;%0A%0A/**%0A * Allows direct access to modify data in classes%0A */%0Apublic class IClassHandler %7B%0A%0A%09/**%0A%09 * Returns a instance of a given IClass subclass%0A%09 * %0A%09 * @param clazz%0A%09 * @return%0A%09 * @throws Exception%0A%09 */%0A%09public static %3CT extends IClass%3E T getClass(Class%3CT%3E clazz) throws Exception %7B%0A%09%09return clazz.newInstance();%0A%09%7D%0A%0A%09/**%0A%09 * The superclass all subclasses must extend for the generic casting to work%0A%09 */%0A%09public static class IClass %7B%0A%0A%09%09protected GuiScreen screen = Minecraft.getMinecraft().currentScreen;%0A%09%09protected Class%3C?%3E clazz;%0A%0A%09%09public IClass(Class%3C?%3E clazz) %7B%0A%09%09%09this.clazz = clazz;%0A%09%09%7D%0A%0A%09%09public boolean isInstance() %7B%0A%09%09%09return screen.getClass() == clazz;%0A%09%09%7D%0A%0A%09%7D%0A%0A%09/*%0A%09 * Classes%0A%09 */%0A%0A%09public static class IGuiEditSign extends IClass %7B%0A%0A%09%09public IGuiEditSign() %7B%0A%09%09%09super(GuiEditSign.class);%0A%09%09%7D%0A%0A%09%09public void setText(String text, int line) %7B%0A%09%09%09((GuiEditSign) this.screen).tileSign.signText%5Bline%5D = new TextComponentString(text);%0A%09%09%7D%0A%0A%09%09public void save() %7B%0A%09%09%09((GuiEditSign) this.screen).tileSign.markDirty();%0A%09%09%7D%0A%0A%09%7D%0A%0A%7D%0A

Add IClassHandler