Toyed with rendering options

This commit is contained in:
DarkGuardsman 2013-09-25 16:37:06 -04:00
parent 11a2ac41b1
commit 759e227e40
24 changed files with 200 additions and 131 deletions

View file

@ -5,11 +5,12 @@ import java.util.HashMap;
import java.util.List;
import java.util.Random;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import com.builtbroken.common.Pair;
import dark.core.prefab.helpers.AutoCraftingManager;
/** Recipes for ore processor machines

View file

@ -1,8 +1,8 @@
package dark.core;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Dialog.ModalityType;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.beans.PropertyChangeEvent;
@ -40,14 +40,12 @@ import javax.swing.WindowConstants;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import net.minecraft.launchwrapper.LaunchClassLoader;
import argo.jdom.JdomParser;
import argo.jdom.JsonNode;
import argo.jdom.JsonRootNode;
import argo.jdom.JsonStringNode;
import argo.saj.InvalidSyntaxException;
import net.minecraft.launchwrapper.LaunchClassLoader;
import cpw.mods.fml.common.versioning.ComparableVersion;
import cpw.mods.fml.relauncher.FMLInjectionData;
import cpw.mods.fml.relauncher.FMLLaunchHandler;

View file

@ -51,19 +51,6 @@ public class ClientProxy extends CommonProxy
//MinecraftForge.EVENT_BUS.register(SoundHandler.INSTANCE);
}
@Override
public void init()
{
if (CoreRecipeLoader.blockWire != null)
{
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWire.class, new RenderBlockWire());
}
if (CoreRecipeLoader.blockSolar != null)
{
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySolarPanel.class, new RenderBlockSolarPanel());
}
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{

View file

@ -18,10 +18,10 @@ public class RenderBlockSolarPanel extends RenderTileMachine
public static final ModelSolarPanel model = new ModelSolarPanel();
@Override
public void renderTileEntityAt(TileEntity tileEntity, double d, double d1, double d2, float f)
public void renderModel(TileEntity tileEntity, double d, double d1, double d2, float f)
{
// Texture file
this.bindTextureByName(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata()));
this.bindTexture(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata()));
GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F);

View file

@ -26,10 +26,10 @@ public class RenderBlockWire extends RenderTileMachine
public static final ModelCopperWire model = new ModelCopperWire();
@Override
public void renderTileEntityAt(TileEntity tileEntity, double d, double d1, double d2, float f)
public void renderModel(TileEntity tileEntity, double d, double d1, double d2, float f)
{
// Texture file
this.bindTextureByName(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata()));
this.bindTexture(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata()));
GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F);

View file

@ -1,9 +1,11 @@
package dark.core.client.renders;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.prefab.machine.BlockMachine;
@SideOnly(Side.CLIENT)
public abstract class RenderTileMachine extends TileEntitySpecialRenderer
@ -14,6 +16,14 @@ public abstract class RenderTileMachine extends TileEntitySpecialRenderer
}
@Override
public void renderTileEntityAt(TileEntity tileEntity, double d, double d1, double d2, float f)
{
this.renderModel(tileEntity, d, d1, d2, f);
}
public abstract void renderModel(TileEntity tileEntity, double x, double y, double z, float size);
/** Sudo method for setting the texture for current render
*
* @param name */
@ -22,11 +32,6 @@ public abstract class RenderTileMachine extends TileEntitySpecialRenderer
this.bindTexture(new ResourceLocation(domain, name));
}
public void bindTextureByName(ResourceLocation name)
{
this.bindTexture(name);
}
/** Gets the texture based on block and metadata mainly used by item/block inv render */
public abstract ResourceLocation getTexture(int block, int meta);

View file

@ -52,6 +52,7 @@ import dark.core.common.items.ItemWrench;
import dark.core.common.machines.BlockBasicMachine;
import dark.core.common.machines.BlockSolarPanel;
import dark.core.common.transmit.BlockWire;
import dark.core.common.transmit.ItemBlockWire;
import dark.core.network.PacketHandler;
import dark.core.prefab.ModPrefab;
import dark.core.prefab.helpers.FluidHelper;
@ -199,7 +200,7 @@ public class DarkMain extends ModPrefab
}
CoreRecipeLoader.basicMachine = ModObjectRegistry.createNewBlock("DMBlockBasicMachine", DarkMain.MOD_ID, BlockBasicMachine.class, ItemBlockHolder.class);
CoreRecipeLoader.blockOre = ModObjectRegistry.createNewBlock("DMBlockOre", DarkMain.MOD_ID, BlockOre.class, ItemBlockOre.class);
CoreRecipeLoader.blockWire = ModObjectRegistry.createNewBlock("DMBlockWire", DarkMain.MOD_ID, BlockWire.class, ItemBlockHolder.class);
CoreRecipeLoader.blockWire = ModObjectRegistry.createNewBlock("DMBlockWire", DarkMain.MOD_ID, BlockWire.class, ItemBlockWire.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);

View file

@ -1,13 +1,14 @@
package dark.core.common;
import com.builtbroken.common.Pair;
import com.builtbroken.common.Triple;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import com.builtbroken.common.Pair;
import com.builtbroken.common.Triple;
import cpw.mods.fml.common.registry.GameRegistry;
public abstract class RecipeLoader

View file

@ -3,11 +3,10 @@ package dark.core.common.blocks;
import java.util.List;
import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
@ -16,6 +15,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.oredict.OreDictionary;
import universalelectricity.prefab.ore.OreGenReplaceStone;
import com.builtbroken.common.Pair;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.common.CoreRecipeLoader;
@ -147,4 +149,11 @@ public class BlockOre extends Block implements IExtraBlockInfo
// TODO Auto-generated method stub
}
@Override
public void getClientTileEntityRenderers(List<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>> list)
{
// TODO Auto-generated method stub
}
}

View file

@ -3,8 +3,6 @@ package dark.core.common.debug;
import java.util.List;
import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
@ -14,6 +12,9 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import com.builtbroken.common.Pair;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.common.DMCreativeTab;

View file

@ -1,6 +1,5 @@
package dark.core.common.debug;
import universalelectricity.core.vector.Vector3;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -14,6 +13,7 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import universalelectricity.core.vector.Vector3;
import com.builtbroken.common.TextHelper.TextColor;

View file

@ -4,8 +4,6 @@ import java.util.List;
import java.util.Random;
import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@ -15,6 +13,9 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import universalelectricity.core.UniversalElectricity;
import com.builtbroken.common.Pair;
import dark.core.common.CommonProxy;
import dark.core.common.DMCreativeTab;
import dark.core.common.DarkMain;

View file

@ -1,17 +1,28 @@
package dark.core.common.machines;
import java.util.List;
import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.oredict.OreDictionary;
import universalelectricity.core.UniversalElectricity;
import com.builtbroken.common.Pair;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.client.renders.BlockRenderingHandler;
import dark.core.client.renders.RenderBlockSolarPanel;
import dark.core.client.renders.RenderBlockWire;
import dark.core.common.CoreRecipeLoader;
import dark.core.common.DMCreativeTab;
import dark.core.common.transmit.BlockWire;
import dark.core.common.transmit.TileEntityWire;
import dark.core.prefab.machine.BlockMachine;
import dark.core.registration.ModObjectRegistry.BlockBuildData;
@ -57,7 +68,16 @@ public class BlockSolarPanel extends BlockMachine
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list)
{
list.add(new Pair<String, Class<? extends TileEntity>>("DMSolarCell", TileEntitySolarPanel.class));
}
@Override
@SideOnly(Side.CLIENT)
public void getClientTileEntityRenderers(List<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>> list)
{
if (!this.zeroRendering)
{
list.add(new Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>(TileEntitySolarPanel.class, new RenderBlockSolarPanel()));
}
}
@Override

View file

@ -10,6 +10,7 @@ import universalelectricity.core.electricity.ElectricityPack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.client.renders.RenderBlockSolarPanel;
import dark.core.common.CoreRecipeLoader;
import dark.core.prefab.machine.TileEntityEnergyMachine;
public class TileEntitySolarPanel extends TileEntityEnergyMachine
@ -53,7 +54,6 @@ public class TileEntitySolarPanel extends TileEntityEnergyMachine
{
wattOutput = 0;
}
System.out.println("Watts: " + this.wattOutput);
this.produceAllSides();
}
@ -90,9 +90,8 @@ public class TileEntitySolarPanel extends TileEntityEnergyMachine
}
@Override
@SideOnly(Side.CLIENT)
public TileEntitySpecialRenderer getClientTileEntityRenderer()
public float getVoltage()
{
return new RenderBlockSolarPanel();
return 0.060F;
}
}

View file

@ -3,20 +3,28 @@ package dark.core.common.transmit;
import java.util.List;
import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import universalelectricity.core.block.IConductor;
import universalelectricity.core.vector.Vector3;
import universalelectricity.prefab.tile.TileEntityConductor;
import com.builtbroken.common.Pair;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.api.ColorCode;
import dark.core.client.renders.RenderBlockWire;
import dark.core.common.CoreRecipeLoader;
import dark.core.common.DMCreativeTab;
import dark.core.common.DarkMain;
import dark.core.prefab.machine.BlockMachine;
@ -30,6 +38,9 @@ public class BlockWire extends BlockMachine
public Vector3 minVector = new Vector3(0.3, 0.3, 0.3);
public Vector3 maxVector = new Vector3(0.7, 0.7, 0.7);
@SideOnly(Side.CLIENT)
public Icon wireIcon;
public BlockWire()
{
super(new BlockBuildData(BlockWire.class, "DMWire", Material.cloth).setCreativeTab(DMCreativeTab.tabIndustrial));
@ -43,7 +54,18 @@ public class BlockWire extends BlockMachine
@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.blockIcon = par1IconRegister.registerIcon(DarkMain.getInstance().PREFIX + "CopperWire");
this.wireIcon = par1IconRegister.registerIcon(DarkMain.getInstance().PREFIX + "CopperWire");
}
@Override
@SideOnly(Side.CLIENT)
public Icon getIcon(int side, int meta)
{
if (meta == 17)
{
return this.blockIcon;
}
return Block.blockRedstone.getIcon(side, 0);
}
@Override
@ -52,16 +74,10 @@ public class BlockWire extends BlockMachine
return false;
}
@Override
public boolean renderAsNormalBlock()
{
return false;
}
@Override
public int getRenderType()
{
return -1;
return this.zeroRendering ? 0 : -1;
}
@Override
@ -76,7 +92,7 @@ public class BlockWire extends BlockMachine
super.onBlockAdded(world, x, y, z);
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
setBlockBoundsBasedOnState(world, x, y, z);
if (tileEntity instanceof IConductor)
{
((IConductor) tileEntity).refresh();
@ -87,7 +103,7 @@ public class BlockWire extends BlockMachine
public void onNeighborBlockChange(World world, int x, int y, int z, int blockID)
{
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
setBlockBoundsBasedOnState(world, x, y, z);
if (tileEntity instanceof IConductor)
{
((IConductor) tileEntity).refresh();
@ -230,6 +246,16 @@ public class BlockWire extends BlockMachine
list.add(new Pair<String, Class<? extends TileEntity>>("DMWireTile", TileEntityWire.class));
}
@Override
@SideOnly(Side.CLIENT)
public void getClientTileEntityRenderers(List<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>> list)
{
if (!this.zeroRendering)
{
list.add(new Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>(TileEntityWire.class, new RenderBlockWire()));
}
}
@Override
public boolean hasExtraConfigs()
{

View file

@ -0,0 +1,20 @@
package dark.core.common.transmit;
import net.minecraft.util.Icon;
import dark.core.common.CoreRecipeLoader;
import dark.core.prefab.items.ItemBlockHolder;
public class ItemBlockWire extends ItemBlockHolder
{
public ItemBlockWire(int id)
{
super(id);
}
public Icon getIconFromDamage(int par1)
{
return CoreRecipeLoader.blockWire instanceof BlockWire ? ((BlockWire) CoreRecipeLoader.blockWire).wireIcon : CoreRecipeLoader.blockWire.getIcon(0, par1);
}
}

View file

@ -2,28 +2,17 @@ package dark.core.common.transmit;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraftforge.common.Configuration;
import universalelectricity.compatibility.TileEntityUniversalConductor;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.client.renders.RenderBlockSolarPanel;
import dark.core.client.renders.RenderBlockWire;
import dark.core.common.CoreRecipeLoader;
import dark.core.prefab.IExtraInfo.IExtraTileEntityInfo;
import universalelectricity.compatibility.TileEntityUniversalConductor;
public class TileEntityWire extends TileEntityUniversalConductor implements IExtraTileEntityInfo
{
int updateTick = 0;
@Override
public void updateEntity()
{
super.updateEntity();
if (this.ticks % 1 + updateTick == 0)
{
this.updateTick = this.worldObj.rand.nextInt(200);
this.refresh();
}
}
@Override
public float getResistance()
{
@ -36,18 +25,7 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IExt
return BlockWire.ampMax;
}
@Override
public boolean canUpdate()
{
return true;
}
@Override
@SideOnly(Side.CLIENT)
public TileEntitySpecialRenderer getClientTileEntityRenderer()
{
return new RenderBlockWire();
}
@Override
public boolean hasExtraConfigs()
@ -59,7 +37,6 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IExt
public void loadExtraConfigs(Configuration config)
{
}
}

View file

@ -1,5 +1,6 @@
package dark.core.prefab;
import java.util.List;
import java.util.Set;
import net.minecraft.block.ITileEntityProvider;
@ -36,12 +37,14 @@ public interface IExtraInfo
/** List of all tileEntities this block needs */
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list);
@SideOnly(Side.CLIENT)
public void getClientTileEntityRenderers(List<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>> list);
}
public static interface IExtraTileEntityInfo extends IExtraInfo
{
@SideOnly(Side.CLIENT)
public TileEntitySpecialRenderer getClientTileEntityRenderer();
}
}

View file

@ -3,8 +3,6 @@ package dark.core.prefab.helpers;
import java.util.ArrayList;
import java.util.List;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
@ -19,6 +17,9 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import com.builtbroken.common.Pair;
import cpw.mods.fml.relauncher.ReflectionHelper;
/** Rewrite of the imprinter crafting system into its own manageable class

View file

@ -1,11 +1,10 @@
package dark.core.prefab.machine;
import java.util.List;
import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
@ -13,6 +12,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.oredict.OreDictionary;
import universalelectricity.prefab.block.BlockTile;
import com.builtbroken.common.Pair;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -56,11 +58,24 @@ public abstract class BlockMachine extends BlockTile implements IExtraBlockInfo
@Override
@SideOnly(Side.CLIENT)
public Icon getIcon(int par1, int par2)
public Icon getIcon(int side, int meta)
{
return this.blockIcon;
}
@Override
public boolean isOpaqueCube()
{
return this.zeroRendering;
}
@Override
@SideOnly(Side.CLIENT)
public boolean renderAsNormalBlock()
{
return this.zeroRendering;
}
/** Called whenever the block is added into the world. Args: world, x, y, z */
@Override
public void onBlockAdded(World world, int x, int y, int z)
@ -94,7 +109,13 @@ public abstract class BlockMachine extends BlockTile implements IExtraBlockInfo
@Override
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list)
{
// TODO Auto-generated method stub
}
@Override
@SideOnly(Side.CLIENT)
public void getClientTileEntityRenderers(List<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>> list)
{
}
@ -107,12 +128,9 @@ public abstract class BlockMachine extends BlockTile implements IExtraBlockInfo
@Override
public void loadExtraConfigs(Configuration config)
{
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT)
{
this.zeroAnimation = config.get("Effects--Not_Supported_By_All_Blocks", "disableAnimation", false, "Turns off animations of the block").getBoolean(false);
this.zeroRendering = config.get("Effects--Not_Supported_By_All_Blocks", "disableRender", false, "Turns off the block render replacing it with a normal block").getBoolean(false);
this.zeroSound = config.get("Effects--Not_Supported_By_All_Blocks", "disableSound", false, "Turns of sound of the block for any or its actions").getBoolean(false);
}
this.zeroAnimation = config.get("Effects--Not_Supported_By_All_Blocks", "disableAnimation", false, "Turns off animations of the block").getBoolean(false);
this.zeroRendering = config.get("Effects--Not_Supported_By_All_Blocks", "disableRender", false, "Turns off the block render replacing it with a normal block").getBoolean(false);
this.zeroSound = config.get("Effects--Not_Supported_By_All_Blocks", "disableSound", false, "Turns of sound of the block for any or its actions").getBoolean(false);
}
@Override

View file

@ -1,13 +1,13 @@
package dark.core.prefab.machine;
import java.util.List;
import java.util.Random;
import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
@ -16,6 +16,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import universalelectricity.core.UniversalElectricity;
import universalelectricity.core.vector.Vector3;
import com.builtbroken.common.Pair;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.common.DarkMain;
@ -147,6 +150,13 @@ public class BlockMulti extends BlockContainer implements IExtraBlockInfo
}
@Override
@SideOnly(Side.CLIENT)
public void getClientTileEntityRenderers(List<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>> list)
{
}
@Override
public boolean hasExtraConfigs()
{

View file

@ -306,10 +306,4 @@ public abstract class TileEntityMachine extends TileEntityInv implements ISidedI
// TODO Auto-generated method stub
}
@Override
public TileEntitySpecialRenderer getClientTileEntityRenderer()
{
return null;
}
}

View file

@ -1,45 +1,42 @@
package dark.core.registration;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.prefab.IExtraInfo.IExtraTileEntityInfo;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemBlock;
import net.minecraft.tileentity.TileEntity;
import com.builtbroken.common.Pair;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.prefab.IExtraInfo.IExtraBlockInfo;
@SideOnly(Side.CLIENT)
public class RegistryProxyClient extends RegistryProxy
public class ClientRegistryProxy extends RegistryProxy
{
@Override
public void registerBlock(Block block, Class<? extends ItemBlock> itemClass, String name, String modID)
{
super.registerBlock(block, itemClass, name, modID);
if (block instanceof IExtraBlockInfo)
{
List<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>> set = new ArrayList<Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer>>();
((IExtraBlockInfo) block).getClientTileEntityRenderers(set);
for (Pair<Class<? extends TileEntity>, TileEntitySpecialRenderer> par : set)
{
ClientRegistry.bindTileEntitySpecialRenderer(par.left(), par.right());
}
}
}
@Override
public void regiserTileEntity(String name, Class<? extends TileEntity> clazz)
{
super.regiserTileEntity(name, clazz);
try
{
TileEntity entity = clazz.newInstance();
if (entity instanceof IExtraTileEntityInfo)
{
TileEntitySpecialRenderer render = ((IExtraTileEntityInfo) entity).getClientTileEntityRenderer();
if (render != null)
{
ClientRegistry.bindTileEntitySpecialRenderer(clazz, render);
}
}
}
catch (InstantiationException e)
{
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
}
}

View file

@ -30,7 +30,7 @@ import dark.core.prefab.machine.BlockMachine;
public class ModObjectRegistry
{
@SidedProxy(clientSide = "dark.core.registration.RegistryProxyClient", serverSide = "dark.core.registration.RegistryProxy")
@SidedProxy(clientSide = "dark.core.registration.ClientRegistryProxy", serverSide = "dark.core.registration.RegistryProxy")
public static RegistryProxy proxy;
public static Configuration masterBlockConfig = new Configuration(new File(Loader.instance().getConfigDir(), "Dark/EnabledBlocks.cfg"));