package joshie.progression; import joshie.progression.ItemProgressionRenderer.ProgressionOverride; import joshie.progression.handlers.RemappingHandler; import joshie.progression.handlers.TemplateHandler; import joshie.progression.helpers.ChatHelper; import joshie.progression.helpers.RenderItemHelper; import joshie.progression.json.Options; import joshie.progression.lib.GuiIDs; import joshie.progression.lib.PInfo; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import static joshie.progression.Progression.translate; import static joshie.progression.gui.core.GuiList.CORE; import static joshie.progression.gui.core.GuiList.GROUP_EDITOR; import static net.minecraft.util.text.TextFormatting.GOLD; public class PClientProxy extends PCommonProxy { public static final ModelResourceLocation criteria = new ModelResourceLocation(new ResourceLocation(PInfo.MODPATH, "item"), "inventory"); public static boolean bookLocked = true; //You can't edit me public static boolean isSaver = false; @Override public void initClient() { MinecraftForge.EVENT_BUS.register(new ItemProgressionRenderer()); RemappingHandler.resetRegistries(true); //Create the registries on the client // } private ModelResourceLocation getLocation(String name) { return new ModelResourceLocation(new ResourceLocation(PInfo.MODPATH, name), "inventory"); } @Override public void registerRendering() { RenderItemHelper.register(Progression.item, 0, criteria); Minecraft.getMinecraft().getItemColors().registerItemColorHandler(ProgressionOverride.INSTANCE, Progression.item); for (ItemProgression.ItemMeta meta: ItemProgression.ItemMeta.values()) { if (meta == ItemProgression.ItemMeta.criteria) continue; RenderItemHelper.register(Progression.item, meta.ordinal(), getLocation(meta.name())); } //Load Templates TemplateHandler.init(); } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if (ID == GuiIDs.EDITOR) { if (bookLocked) { if (Options.editor) ChatHelper.displayChat(GOLD + translate("message.data")); else ChatHelper.displayChat(GOLD + translate("message.disabled")); } else return CORE.setEditor(CORE.lastGui); } else if (ID == GuiIDs.GROUP) return CORE.setEditor(GROUP_EDITOR); return null; } }