// Path: src/main/java/com/github/lunatrius/ingameinfo/client/gui/overlay/Info.java
// public abstract class Info {
//     public final List<Info> children = new ArrayList<Info>();
//     public int x;
//     public int y;
//     public int offsetX;
//     public int offsetY;
// 
//     protected Info(final int x, final int y) {
//         this.x = x;
//         this.y = y;
//         this.offsetX = 0;
//         this.offsetY = 0;
//     }
// 
//     public void draw() {
//         drawInfo();
// 
//         for (final Info child : this.children) {
//             child.offsetX = this.x;
//             child.offsetY = this.y;
// 
//             child.draw();
//         }
//     }
// 
//     public abstract void drawInfo();
// 
//     public int getX() {
//         return this.x + this.offsetX;
//     }
// 
//     public int getY() {
//         return this.y + this.offsetY;
//     }
// 
//     public int getWidth() {
//         return 0;
//     }
// 
//     public int getHeight() {
//         return 0;
//     }
// 
//     @Override
//     public String toString() {
//         return "Info";
//     }
// }
// 
// Path: src/main/java/com/github/lunatrius/ingameinfo/reference/Reference.java
// public class Reference {
//     public static final String MODID = "ingameinfoxml";
//     public static final String NAME = "InGame Info XML";
//     public static final String VERSION = "${version}";
//     public static final String FORGE = "${forgeversion}";
//     public static final String MINECRAFT = "${mcversion}";
//     public static final String PROXY_SERVER = "com.github.lunatrius.ingameinfo.proxy.ServerProxy";
//     public static final String PROXY_CLIENT = "com.github.lunatrius.ingameinfo.proxy.ClientProxy";
//     public static final String GUI_FACTORY = "com.github.lunatrius.ingameinfo.client.gui.config.GuiFactory";
// 
//     public static Logger logger = LogManager.getLogger(Reference.MODID);
// }


import com.github.lunatrius.core.util.math.MBlockPos;
import com.github.lunatrius.core.util.vector.Vector3f;
import com.github.lunatrius.ingameinfo.client.gui.overlay.Info;
import com.github.lunatrius.ingameinfo.reference.Reference;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.resources.I18n;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.World;
import java.util.List;
    public String getName() {
        return this.name;
    }

    public Tag setAliases(final String... aliases) {
        this.aliases = aliases;
        return this;
    }

    public String[] getAliases() {
        return this.aliases;
    }

    public boolean isIndexed() {
        return false;
    }

    public int getMaximumIndex() {
        return -1;
    }

    public String getRawName() {
        return this.name;
    }

    public String getFormattedName() {
        return this.name + (isIndexed() ? String.format("[0..%d]", getMaximumIndex()) : "");
    }

    public String getLocalizedCategory() {
// Path: src/main/java/com/github/lunatrius/ingameinfo/client/gui/overlay/Info.java
// public abstract class Info {
//     public final List<Info> children = new ArrayList<Info>();
//     public int x;
//     public int y;
//     public int offsetX;
//     public int offsetY;
// 
//     protected Info(final int x, final int y) {
//         this.x = x;
//         this.y = y;
//         this.offsetX = 0;
//         this.offsetY = 0;
//     }
// 
//     public void draw() {
//         drawInfo();
// 
//         for (final Info child : this.children) {
//             child.offsetX = this.x;
//             child.offsetY = this.y;
// 
//             child.draw();
//         }
//     }
// 
//     public abstract void drawInfo();
// 
//     public int getX() {
//         return this.x + this.offsetX;
//     }
// 
//     public int getY() {
//         return this.y + this.offsetY;
//     }
// 
//     public int getWidth() {
//         return 0;
//     }
// 
//     public int getHeight() {
//         return 0;
//     }
// 
//     @Override
//     public String toString() {
//         return "Info";
//     }
// }
// 
// Path: src/main/java/com/github/lunatrius/ingameinfo/reference/Reference.java
// public class Reference {
//     public static final String MODID = "ingameinfoxml";
//     public static final String NAME = "InGame Info XML";
//     public static final String VERSION = "${version}";
//     public static final String FORGE = "${forgeversion}";
//     public static final String MINECRAFT = "${mcversion}";
//     public static final String PROXY_SERVER = "com.github.lunatrius.ingameinfo.proxy.ServerProxy";
//     public static final String PROXY_CLIENT = "com.github.lunatrius.ingameinfo.proxy.ClientProxy";
//     public static final String GUI_FACTORY = "com.github.lunatrius.ingameinfo.client.gui.config.GuiFactory";
// 
//     public static Logger logger = LogManager.getLogger(Reference.MODID);
// }


// Path: src/main/java/com/github/lunatrius/ingameinfo/tag/Tag.java
import com.github.lunatrius.core.util.math.MBlockPos;
import com.github.lunatrius.core.util.vector.Vector3f;
import com.github.lunatrius.ingameinfo.client.gui.overlay.Info;
import com.github.lunatrius.ingameinfo.reference.Reference;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.resources.I18n;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.World;
import java.util.List;

    public String getName() {
        return this.name;
    }

    public Tag setAliases(final String... aliases) {
        this.aliases = aliases;
        return this;
    }

    public String[] getAliases() {
        return this.aliases;
    }

    public boolean isIndexed() {
        return false;
    }

    public int getMaximumIndex() {
        return -1;
    }

    public String getRawName() {
        return this.name;
    }

    public String getFormattedName() {
        return this.name + (isIndexed() ? String.format("[0..%d]", getMaximumIndex()) : "");
    }

    public String getLocalizedCategory() {
        return I18n.format(Reference.MODID + ".tag.category." + getCategory() + ".name");