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.List;
import java.util.Random; import java.util.Random;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import com.builtbroken.common.Pair;
import dark.core.prefab.helpers.AutoCraftingManager; import dark.core.prefab.helpers.AutoCraftingManager;
/** Recipes for ore processor machines /** Recipes for ore processor machines

View file

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

View file

@ -51,19 +51,6 @@ public class ClientProxy extends CommonProxy
//MinecraftForge.EVENT_BUS.register(SoundHandler.INSTANCE); //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 @Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) 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(); public static final ModelSolarPanel model = new ModelSolarPanel();
@Override @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 // Texture file
this.bindTextureByName(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata())); this.bindTexture(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata()));
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F); GL11.glScalef(1.0F, -1F, -1F);

View file

@ -26,10 +26,10 @@ public class RenderBlockWire extends RenderTileMachine
public static final ModelCopperWire model = new ModelCopperWire(); public static final ModelCopperWire model = new ModelCopperWire();
@Override @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 // Texture file
this.bindTextureByName(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata())); this.bindTexture(this.getTexture(tileEntity.getBlockType().blockID, tileEntity.getBlockMetadata()));
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F); GL11.glScalef(1.0F, -1F, -1F);

View file

@ -1,9 +1,11 @@
package dark.core.client.renders; package dark.core.client.renders;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
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.prefab.machine.BlockMachine;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public abstract class RenderTileMachine extends TileEntitySpecialRenderer 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 /** Sudo method for setting the texture for current render
* *
* @param name */ * @param name */
@ -22,11 +32,6 @@ public abstract class RenderTileMachine extends TileEntitySpecialRenderer
this.bindTexture(new ResourceLocation(domain, name)); 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 */ /** Gets the texture based on block and metadata mainly used by item/block inv render */
public abstract ResourceLocation getTexture(int block, int meta); 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.BlockBasicMachine;
import dark.core.common.machines.BlockSolarPanel; import dark.core.common.machines.BlockSolarPanel;
import dark.core.common.transmit.BlockWire; import dark.core.common.transmit.BlockWire;
import dark.core.common.transmit.ItemBlockWire;
import dark.core.network.PacketHandler; import dark.core.network.PacketHandler;
import dark.core.prefab.ModPrefab; import dark.core.prefab.ModPrefab;
import dark.core.prefab.helpers.FluidHelper; 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.basicMachine = ModObjectRegistry.createNewBlock("DMBlockBasicMachine", DarkMain.MOD_ID, BlockBasicMachine.class, ItemBlockHolder.class);
CoreRecipeLoader.blockOre = ModObjectRegistry.createNewBlock("DMBlockOre", DarkMain.MOD_ID, BlockOre.class, ItemBlockOre.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.blockDebug = ModObjectRegistry.createNewBlock("DMBlockDebug", DarkMain.MOD_ID, BlockDebug.class, ItemBlockHolder.class);
CoreRecipeLoader.blockStainGlass = ModObjectRegistry.createNewBlock("DMBlockStainedGlass", DarkMain.MOD_ID, BlockColorGlass.class, ItemBlockColored.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.blockColorSand = ModObjectRegistry.createNewBlock("DMBlockColorSand", DarkMain.MOD_ID, BlockColorSand.class, ItemBlockColored.class);

View file

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

View file

@ -3,11 +3,10 @@ package dark.core.common.blocks;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
@ -16,6 +15,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import universalelectricity.prefab.ore.OreGenReplaceStone; import universalelectricity.prefab.ore.OreGenReplaceStone;
import com.builtbroken.common.Pair;
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.CoreRecipeLoader; import dark.core.common.CoreRecipeLoader;
@ -147,4 +149,11 @@ public class BlockOre extends Block implements IExtraBlockInfo
// TODO Auto-generated method stub // 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.List;
import java.util.Set; import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -14,6 +12,9 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import com.builtbroken.common.Pair;
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.DMCreativeTab;

View file

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

View file

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

View file

@ -1,17 +1,28 @@
package dark.core.common.machines; package dark.core.common.machines;
import java.util.List;
import java.util.Set; import java.util.Set;
import com.builtbroken.common.Pair; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import universalelectricity.core.UniversalElectricity; 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.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.DMCreativeTab;
import dark.core.common.transmit.BlockWire;
import dark.core.common.transmit.TileEntityWire;
import dark.core.prefab.machine.BlockMachine; import dark.core.prefab.machine.BlockMachine;
import dark.core.registration.ModObjectRegistry.BlockBuildData; 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) public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list)
{ {
list.add(new Pair<String, Class<? extends TileEntity>>("DMSolarCell", TileEntitySolarPanel.class)); 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 @Override

View file

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

View file

@ -3,20 +3,28 @@ package dark.core.common.transmit;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Icon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; 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 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.DMCreativeTab;
import dark.core.common.DarkMain; import dark.core.common.DarkMain;
import dark.core.prefab.machine.BlockMachine; 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 minVector = new Vector3(0.3, 0.3, 0.3);
public Vector3 maxVector = new Vector3(0.7, 0.7, 0.7); public Vector3 maxVector = new Vector3(0.7, 0.7, 0.7);
@SideOnly(Side.CLIENT)
public Icon wireIcon;
public BlockWire() public BlockWire()
{ {
super(new BlockBuildData(BlockWire.class, "DMWire", Material.cloth).setCreativeTab(DMCreativeTab.tabIndustrial)); super(new BlockBuildData(BlockWire.class, "DMWire", Material.cloth).setCreativeTab(DMCreativeTab.tabIndustrial));
@ -43,7 +54,18 @@ public class BlockWire extends BlockMachine
@Override @Override
public void registerIcons(IconRegister par1IconRegister) 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 @Override
@ -52,16 +74,10 @@ public class BlockWire extends BlockMachine
return false; return false;
} }
@Override
public boolean renderAsNormalBlock()
{
return false;
}
@Override @Override
public int getRenderType() public int getRenderType()
{ {
return -1; return this.zeroRendering ? 0 : -1;
} }
@Override @Override
@ -76,7 +92,7 @@ public class BlockWire extends BlockMachine
super.onBlockAdded(world, x, y, z); super.onBlockAdded(world, x, y, z);
TileEntity tileEntity = world.getBlockTileEntity(x, y, z); TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
setBlockBoundsBasedOnState(world, x, y, z);
if (tileEntity instanceof IConductor) if (tileEntity instanceof IConductor)
{ {
((IConductor) tileEntity).refresh(); ((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) public void onNeighborBlockChange(World world, int x, int y, int z, int blockID)
{ {
TileEntity tileEntity = world.getBlockTileEntity(x, y, z); TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
setBlockBoundsBasedOnState(world, x, y, z);
if (tileEntity instanceof IConductor) if (tileEntity instanceof IConductor)
{ {
((IConductor) tileEntity).refresh(); ((IConductor) tileEntity).refresh();
@ -230,6 +246,16 @@ public class BlockWire extends BlockMachine
list.add(new Pair<String, Class<? extends TileEntity>>("DMWireTile", TileEntityWire.class)); 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 @Override
public boolean hasExtraConfigs() 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.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import universalelectricity.compatibility.TileEntityUniversalConductor;
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.client.renders.RenderBlockSolarPanel;
import dark.core.client.renders.RenderBlockWire; import dark.core.client.renders.RenderBlockWire;
import dark.core.common.CoreRecipeLoader;
import dark.core.prefab.IExtraInfo.IExtraTileEntityInfo; import dark.core.prefab.IExtraInfo.IExtraTileEntityInfo;
import universalelectricity.compatibility.TileEntityUniversalConductor;
public class TileEntityWire extends TileEntityUniversalConductor implements IExtraTileEntityInfo public class TileEntityWire extends TileEntityUniversalConductor implements IExtraTileEntityInfo
{ {
int updateTick = 0; 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 @Override
public float getResistance() public float getResistance()
{ {
@ -36,18 +25,7 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IExt
return BlockWire.ampMax; return BlockWire.ampMax;
} }
@Override
public boolean canUpdate()
{
return true;
}
@Override
@SideOnly(Side.CLIENT)
public TileEntitySpecialRenderer getClientTileEntityRenderer()
{
return new RenderBlockWire();
}
@Override @Override
public boolean hasExtraConfigs() public boolean hasExtraConfigs()
@ -59,7 +37,6 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IExt
public void loadExtraConfigs(Configuration config) public void loadExtraConfigs(Configuration config)
{ {
} }
} }

View file

@ -1,5 +1,6 @@
package dark.core.prefab; package dark.core.prefab;
import java.util.List;
import java.util.Set; import java.util.Set;
import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.ITileEntityProvider;
@ -36,12 +37,14 @@ public interface IExtraInfo
/** List of all tileEntities this block needs */ /** List of all tileEntities this block needs */
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list); 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 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.ArrayList;
import java.util.List; import java.util.List;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -19,6 +17,9 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent; import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe;
import com.builtbroken.common.Pair;
import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.ReflectionHelper;
/** Rewrite of the imprinter crafting system into its own manageable class /** Rewrite of the imprinter crafting system into its own manageable class

View file

@ -1,11 +1,10 @@
package dark.core.prefab.machine; package dark.core.prefab.machine;
import java.util.List;
import java.util.Set; 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.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
@ -13,6 +12,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import universalelectricity.prefab.block.BlockTile; import universalelectricity.prefab.block.BlockTile;
import com.builtbroken.common.Pair;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -56,11 +58,24 @@ public abstract class BlockMachine extends BlockTile implements IExtraBlockInfo
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public Icon getIcon(int par1, int par2) public Icon getIcon(int side, int meta)
{ {
return this.blockIcon; 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 */ /** Called whenever the block is added into the world. Args: world, x, y, z */
@Override @Override
public void onBlockAdded(World world, int x, int y, int z) public void onBlockAdded(World world, int x, int y, int z)
@ -94,7 +109,13 @@ public abstract class BlockMachine extends BlockTile implements IExtraBlockInfo
@Override @Override
public void getTileEntities(int blockID, Set<Pair<String, Class<? extends TileEntity>>> list) 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)
{
} }
@ -106,14 +127,11 @@ public abstract class BlockMachine extends BlockTile implements IExtraBlockInfo
@Override @Override
public void loadExtraConfigs(Configuration config) 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.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.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.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 @Override
public void loadOreNames() public void loadOreNames()

View file

@ -1,13 +1,13 @@
package dark.core.prefab.machine; package dark.core.prefab.machine;
import java.util.List;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import com.builtbroken.common.Pair;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockContainer;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
@ -16,6 +16,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import universalelectricity.core.UniversalElectricity; import universalelectricity.core.UniversalElectricity;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import com.builtbroken.common.Pair;
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.DarkMain; 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 @Override
public boolean hasExtraConfigs() public boolean hasExtraConfigs()
{ {

View file

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

View file

@ -1,45 +1,42 @@
package dark.core.registration; package dark.core.registration;
import cpw.mods.fml.client.registry.ClientRegistry; import java.util.ArrayList;
import cpw.mods.fml.relauncher.Side; import java.util.List;
import cpw.mods.fml.relauncher.SideOnly;
import dark.core.prefab.IExtraInfo.IExtraTileEntityInfo;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.tileentity.TileEntity; 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) @SideOnly(Side.CLIENT)
public class RegistryProxyClient extends RegistryProxy public class ClientRegistryProxy extends RegistryProxy
{ {
@Override @Override
public void registerBlock(Block block, Class<? extends ItemBlock> itemClass, String name, String modID) public void registerBlock(Block block, Class<? extends ItemBlock> itemClass, String name, String modID)
{ {
super.registerBlock(block, itemClass, name, 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 @Override
public void regiserTileEntity(String name, Class<? extends TileEntity> clazz) public void regiserTileEntity(String name, Class<? extends TileEntity> clazz)
{ {
super.regiserTileEntity(name, 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 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 RegistryProxy proxy;
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"));