/** * Copyright (c) Lambda Innovation, 2013-2016 * This file is part of the AcademyCraft mod. * https://github.com/LambdaInnovation/AcademyCraft * Licensed under GPLv3, see project root for more information. */ package cn.academy.terminal; import cn.academy.core.Resources; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; /** */ public abstract class App { int appid; private final String name; protected ResourceLocation icon; private boolean preInstalled = false; public App(String _name) { name = _name; icon = getTexture("icon"); } protected ResourceLocation getTexture(String texname) { return Resources.getTexture("guis/apps/" + name + "/" + texname); } protected String local(String key) { return StatCollector.translateToLocal("ac.app." + name + "." + key); } public ResourceLocation getIcon() { return icon; } public App setPreInstalled() { preInstalled = true; return this; } public int getID() { return appid; } public String getName() { return name; } public String getDisplayName() { return local("name"); } public final boolean isPreInstalled() { return preInstalled; } void getEnvironment() { AppEnvironment env = createEnvironment(); env.app = this; } public abstract AppEnvironment createEnvironment(); }