From 9173bcd5a977ba69fa970b2890466d8d2da098f8 Mon Sep 17 00:00:00 2001 From: DarkGuardsman Date: Sun, 22 Sep 2013 00:09:55 -0400 Subject: [PATCH] Not sure why this didn't sync --- src/dark/core/prefab/IExtraInfo.java | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/dark/core/prefab/IExtraInfo.java diff --git a/src/dark/core/prefab/IExtraInfo.java b/src/dark/core/prefab/IExtraInfo.java new file mode 100644 index 00000000..8319e764 --- /dev/null +++ b/src/dark/core/prefab/IExtraInfo.java @@ -0,0 +1,40 @@ +package dark.core.prefab; + +import java.util.Set; + +import net.minecraft.block.ITileEntityProvider; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.Configuration; +import dark.core.prefab.helpers.Pair; + +/** Used to handle info about the block that would normally be handled by the mod main class. Use the + * BlockRegistry in order for these methods to be called on load of the mod. + * + * @author DarkGuardsman */ +public interface IExtraInfo +{ + + /** True will cause a config file to be generated for this block */ + public boolean hasExtraConfigs(); + + /** Loads the config file for this block. This is a single config file that is tied to just this + * block alone. Anything can be stored in the config file but its suggested to use it for + * advanced settings for the block/tile. Things like power, update rate, optional features, + * graphics, or crafting cost */ + public void loadExtraConfigs(Configuration config); + + public static interface IExtraBlockInfo extends IExtraInfo, ITileEntityProvider + { + + /** Loads the names used to reference this item in a recipe */ + public void loadOreNames(); + + /** List of all tileEntities this block needs */ + public void getTileEntities(int blockID, Set>> list); + } + + public static interface IExtraTileEntityInfo extends IExtraInfo + { + } + +}