Toyed with rendering options
This commit is contained in:
parent
11a2ac41b1
commit
759e227e40
24 changed files with 200 additions and 131 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -29,7 +29,7 @@ public class ClientProxy extends CommonProxy
|
|||
{
|
||||
|
||||
/** Renders a laser beam from one power to another by a set color for a set time
|
||||
*
|
||||
*
|
||||
* @param world - world this laser is to be rendered in
|
||||
* @param position - start vector3
|
||||
* @param target - end vector3
|
||||
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
{
|
||||
|
|
20
src/dark/core/common/transmit/ItemBlockWire.java
Normal file
20
src/dark/core/common/transmit/ItemBlockWire.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
{
|
||||
|
|
|
@ -306,10 +306,4 @@ public abstract class TileEntityMachine extends TileEntityInv implements ISidedI
|
|||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntitySpecialRenderer getClientTileEntityRenderer()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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"));
|
||||
|
|
Loading…
Reference in a new issue