FixedIssuesWithRegistry

This commit is contained in:
DarkGuardsman 2013-09-20 12:01:52 -04:00
parent 5fe80517a7
commit 07eb79cdd0
7 changed files with 48 additions and 68 deletions

View file

@ -33,6 +33,7 @@ import cpw.mods.fml.common.event.FMLServerStoppingEvent;
import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.NetworkRegistry;
import dark.api.ProcessorRecipes; import dark.api.ProcessorRecipes;
import dark.core.common.blocks.BlockBasalt;
import dark.core.common.blocks.BlockColorGlass; import dark.core.common.blocks.BlockColorGlass;
import dark.core.common.blocks.BlockColorGlowGlass; import dark.core.common.blocks.BlockColorGlowGlass;
import dark.core.common.blocks.BlockColorSand; import dark.core.common.blocks.BlockColorSand;
@ -184,15 +185,19 @@ public class DarkMain extends ModPrefab
/* CONFIGS */ /* CONFIGS */
CONFIGURATION.load(); CONFIGURATION.load();
/* BLOCKS */ /* BLOCKS */
blockMulti = (BlockMulti) ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockMulti.class, false); Block m = ModObjectRegistry.createNewBlock("DMBlockMulti", DarkMain.MOD_ID, BlockMulti.class, false);
basicMachine = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockBasicMachine.class, ItemBlockHolder.class); if (m instanceof BlockMulti)
CoreRecipeLoader.blockOre = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockOre.class, ItemBlockOre.class); {
CoreRecipeLoader.blockWire = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockWire.class, ItemBlockHolder.class); blockMulti = (BlockMulti) m;
CoreRecipeLoader.blockDebug = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockDebug.class, ItemBlockHolder.class); }
CoreRecipeLoader.blockStainGlass = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockColorGlass.class, ItemBlockColored.class); basicMachine = ModObjectRegistry.createNewBlock("DMBlockBasicMachine", DarkMain.MOD_ID, BlockBasicMachine.class, ItemBlockHolder.class);
CoreRecipeLoader.blockColorSand = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockColorSand.class, ItemBlockColored.class); CoreRecipeLoader.blockOre = ModObjectRegistry.createNewBlock("DMBlockOre", DarkMain.MOD_ID, BlockOre.class, ItemBlockOre.class);
CoreRecipeLoader.blockBasalt = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockColorSand.class, ItemBlockColored.class); CoreRecipeLoader.blockWire = ModObjectRegistry.createNewBlock("DMBlockWire", DarkMain.MOD_ID, BlockWire.class, ItemBlockHolder.class);
CoreRecipeLoader.blockGlowGlass = ModObjectRegistry.createNewBlock(DarkMain.MOD_ID, BlockColorGlowGlass.class, ItemBlockColored.class); CoreRecipeLoader.blockDebug = ModObjectRegistry.createNewBlock("DMBlockDebug", DarkMain.MOD_ID, BlockDebug.class, ItemBlockHolder.class);
CoreRecipeLoader.blockStainGlass = ModObjectRegistry.createNewBlock("DMBlockStainedGlass", DarkMain.MOD_ID, BlockColorGlass.class, ItemBlockColored.class);
CoreRecipeLoader.blockColorSand = ModObjectRegistry.createNewBlock("DMBlockColorSand", DarkMain.MOD_ID, BlockColorSand.class, ItemBlockColored.class);
CoreRecipeLoader.blockBasalt = ModObjectRegistry.createNewBlock("DMBlockBasalt", DarkMain.MOD_ID, BlockBasalt.class, ItemBlockColored.class);
CoreRecipeLoader.blockGlowGlass = ModObjectRegistry.createNewBlock("DMBlockGlowGlass", DarkMain.MOD_ID, BlockColorGlowGlass.class, ItemBlockColored.class);
/* ITEMS */ /* ITEMS */
CoreRecipeLoader.itemTool = new ItemTools(ITEM_ID_PREFIX++, DarkMain.CONFIGURATION); CoreRecipeLoader.itemTool = new ItemTools(ITEM_ID_PREFIX++, DarkMain.CONFIGURATION);
@ -253,41 +258,6 @@ public class DarkMain extends ModPrefab
return "dark"; return "dark";
} }
/** Creative tab for generic items and block that don't belong in any other tab */
public static CreativeTabs tabGSMGeneral = new CreativeTabs("AutomationMachines")
{
@Override
public ItemStack getIconItemStack()
{
return new ItemStack(Item.ingotIron, 1, 0);
}
};
/** Creative tab for High tech and industrial based items and blocks that don't belong in any
* other tab */
public static CreativeTabs tabIndustrial = new CreativeTabs("IndustrialMachines")
{
ItemStack tabItemStack = new ItemStack(Item.ingotIron, 1, 0);
@Override
public ItemStack getIconItemStack()
{
if (DarkMain.basicMachine != null)
{
new ItemStack(DarkMain.basicMachine.blockID, 1, 0);
}
return tabItemStack;
}
};
/** Creative tab for general castle and fortress related items and blocks that don't belong in
* any other tab */
public static CreativeTabs tabHydrualic = new CreativeTabs("HydraulicMachines")
{
@Override
public ItemStack getIconItemStack()
{
return new ItemStack(Item.ingotIron, 1, 0);
}
};
} }

View file

@ -97,7 +97,7 @@ public class BlockOre extends Block implements IExtraObjectInfo
{ {
if (EnumMeterials.values()[i].doWorldGen) if (EnumMeterials.values()[i].doWorldGen)
{ {
OreDictionary.registerOre(EnumMeterials.values()[i].name + "Ore", new ItemStack(CoreRecipeLoader.blockOre.blockID, 1, i)); OreDictionary.registerOre(EnumMeterials.values()[i].name + "Ore", new ItemStack(this.blockID, 1, i));
} }
} }

View file

@ -13,6 +13,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import dark.core.common.DMCreativeTab;
import dark.core.common.DarkMain; import dark.core.common.DarkMain;
import dark.core.prefab.IExtraObjectInfo; import dark.core.prefab.IExtraObjectInfo;
import dark.core.prefab.helpers.Pair; import dark.core.prefab.helpers.Pair;
@ -23,9 +24,9 @@ public class BlockDebug extends BlockMachine implements IExtraObjectInfo
{ {
public static float DebugWattOut, DebugWattDemand; public static float DebugWattOut, DebugWattDemand;
public BlockDebug(int blockID) public BlockDebug()
{ {
super(new BlockBuildData(BlockDebug.class, "DebugBlock", Material.clay).setCreativeTab(DarkMain.tabIndustrial)); super(new BlockBuildData(BlockDebug.class, "DebugBlock", Material.clay).setCreativeTab(DMCreativeTab.tabIndustrial));
} }
@Override @Override

View file

@ -14,6 +14,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import universalelectricity.core.UniversalElectricity; import universalelectricity.core.UniversalElectricity;
import dark.core.common.CommonProxy; import dark.core.common.CommonProxy;
import dark.core.common.DMCreativeTab;
import dark.core.common.DarkMain; import dark.core.common.DarkMain;
import dark.core.prefab.IExtraObjectInfo; import dark.core.prefab.IExtraObjectInfo;
import dark.core.prefab.helpers.Pair; import dark.core.prefab.helpers.Pair;
@ -25,7 +26,7 @@ public class BlockBasicMachine extends BlockMachine implements IExtraObjectInfo
public BlockBasicMachine() public BlockBasicMachine()
{ {
super(new BlockBuildData(BlockBasicMachine.class, "BasicMachine", UniversalElectricity.machine).setCreativeTab(DarkMain.tabIndustrial)); super(new BlockBuildData(BlockBasicMachine.class, "BasicMachine", UniversalElectricity.machine).setCreativeTab(DMCreativeTab.tabIndustrial));
this.setStepSound(soundMetalFootstep); this.setStepSound(soundMetalFootstep);
} }

View file

@ -16,6 +16,7 @@ import net.minecraftforge.common.Configuration;
import universalelectricity.core.block.IConductor; import universalelectricity.core.block.IConductor;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import universalelectricity.prefab.tile.TileEntityConductor; import universalelectricity.prefab.tile.TileEntityConductor;
import dark.core.common.DMCreativeTab;
import dark.core.common.DarkMain; import dark.core.common.DarkMain;
import dark.core.prefab.IExtraObjectInfo; import dark.core.prefab.IExtraObjectInfo;
import dark.core.prefab.helpers.Pair; import dark.core.prefab.helpers.Pair;
@ -32,7 +33,7 @@ public class BlockWire extends BlockMachine implements IExtraObjectInfo
public BlockWire() public BlockWire()
{ {
super(new BlockBuildData(BlockWire.class, "DMWire", Material.cloth).setCreativeTab(DarkMain.tabIndustrial)); super(new BlockBuildData(BlockWire.class, "DMWire", Material.cloth).setCreativeTab(DMCreativeTab.tabIndustrial));
this.setStepSound(soundClothFootstep); this.setStepSound(soundClothFootstep);
this.setResistance(0.2F); this.setResistance(0.2F);
this.setHardness(0.1f); this.setHardness(0.1f);

View file

@ -19,7 +19,7 @@ public class BlockFluid extends BlockFluidFinite
public BlockFluid(String prefix, Fluid fluid, Configuration config) public BlockFluid(String prefix, Fluid fluid, Configuration config)
{ {
super(config.getBlock(fluid.getName(), DarkMain.getNextID()).getInt(), fluid, Material.water); super(config.getBlock("BlockFluid" + fluid.getName(), DarkMain.getNextID()).getInt(), fluid, Material.water);
this.fluid = fluid; this.fluid = fluid;
if (prefix != null && prefix.contains(":")) if (prefix != null && prefix.contains(":"))
{ {

View file

@ -31,25 +31,25 @@ public class ModObjectRegistry
{ {
public static Configuration masterBlockConfig = new Configuration(new File(Loader.instance().getConfigDir(), "Dark/EnabledBlocks.cfg")); public static Configuration masterBlockConfig = new Configuration(new File(Loader.instance().getConfigDir(), "Dark/EnabledBlocks.cfg"));
public static Block createNewBlock(String modID, Class<? extends Block> blockClass) public static Block createNewBlock(String name, String modID, Class<? extends Block> blockClass)
{ {
return ModObjectRegistry.createNewBlock(modID, blockClass, true); return ModObjectRegistry.createNewBlock(name, modID, blockClass, true);
} }
public static Block createNewBlock(String modID, Class<? extends Block> blockClass, boolean canDisable) public static Block createNewBlock(String name, String modID, Class<? extends Block> blockClass, boolean canDisable)
{ {
return ModObjectRegistry.createNewBlock(modID, blockClass, null, canDisable); return ModObjectRegistry.createNewBlock(name, modID, blockClass, null, canDisable);
} }
public static Block createNewBlock(String modID, Class<? extends Block> blockClass, Class<? extends ItemBlock> itemClass) public static Block createNewBlock(String name, String modID, Class<? extends Block> blockClass, Class<? extends ItemBlock> itemClass)
{ {
return createNewBlock(modID, blockClass, itemClass, true); return createNewBlock(name, modID, blockClass, itemClass, true);
} }
public static Block createNewBlock(String modID, Class<? extends Block> blockClass, Class<? extends ItemBlock> itemClass, boolean canDisable) public static Block createNewBlock(String name, String modID, Class<? extends Block> blockClass, Class<? extends ItemBlock> itemClass, boolean canDisable)
{ {
Block block = null; Block block = null;
if (blockClass != null && (!canDisable || canDisable && masterBlockConfig.get("Enabled_List", "Enabled_" + block.getUnlocalizedName().replace("tile.", ""), true).getBoolean(true))) if (blockClass != null && (!canDisable || canDisable && masterBlockConfig.get("Enabled_List", "Enabled_" + name, true).getBoolean(true)))
{ {
try try
{ {
@ -62,7 +62,7 @@ public class ModObjectRegistry
if (block != null) if (block != null)
{ {
ModObjectRegistry.finishCreation(block, null); ModObjectRegistry.finishCreation(block, null);
ModObjectRegistry.registerBlock(block, itemClass, block.getUnlocalizedName().replace("tile.", ""), modID); ModObjectRegistry.registerBlock(block, itemClass, name, modID);
} }
} }
return block; return block;
@ -91,14 +91,21 @@ public class ModObjectRegistry
{ {
constructor.setAccessible(true); constructor.setAccessible(true);
block = (Block) constructor.newInstance(buildData.config.getBlock(buildData.blockName, DarkMain.getNextID()), buildData.blockMaterial); Object obj = (Block) constructor.newInstance(buildData.config.getBlock(buildData.blockName, DarkMain.getNextID()), buildData.blockMaterial);
if (obj instanceof Block)
{
block = (Block) obj;
}
} }
} }
else else
{ {
constructor.setAccessible(true); constructor.setAccessible(true);
block = (Block) constructor.newInstance(buildData); Object obj = constructor.newInstance(buildData);
if (obj instanceof Block)
{
block = (Block) obj;
}
} }
ModObjectRegistry.finishCreation(block, buildData); ModObjectRegistry.finishCreation(block, buildData);
@ -235,13 +242,13 @@ public class ModObjectRegistry
public static void registerBlock(Block block, Class<? extends ItemBlock> itemClass, String name, String modID) public static void registerBlock(Block block, Class<? extends ItemBlock> itemClass, String name, String modID)
{ {
if (block != null && name != null && !name.isEmpty()) if (block != null && name != null)
{ {
if (itemClass == null)
{ System.out.println("Block: " + (block == null ? "null" : block.toString()));
itemClass = ItemBlock.class; System.out.println("Item: " + (itemClass == null ? "null" : itemClass.toString()));
} System.out.println("name: " + name.toString());
GameRegistry.registerBlock(block, itemClass, name, modID); GameRegistry.registerBlock(block, itemClass == null ? ItemBlock.class : itemClass, name, modID);
} }
} }