Rotation for Grinder incorrect, needs redo origin?
This commit is contained in:
@@ -1,11 +0,0 @@
|
|||||||
# Blender MTL File: 'GrinderWheel.blend'
|
|
||||||
# Material Count: 1
|
|
||||||
|
|
||||||
newmtl None
|
|
||||||
Ns 0
|
|
||||||
Ka 0.000000 0.000000 0.000000
|
|
||||||
Kd 0.8 0.8 0.8
|
|
||||||
Ks 0.8 0.8 0.8
|
|
||||||
d 1
|
|
||||||
illum 2
|
|
||||||
map_Kd StoneGrindWheel.png
|
|
||||||
@@ -10,11 +10,13 @@ import net.minecraft.tileentity.TileEntity;
|
|||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import nmd.primal.energy.block.grinder.CrankGrinder;
|
||||||
import nmd.primal.energy.block.lathe.LatheBase;
|
import nmd.primal.energy.block.lathe.LatheBase;
|
||||||
import nmd.primal.energy.common.ModInfo;
|
import nmd.primal.energy.common.ModInfo;
|
||||||
import nmd.primal.energy.render.RenderID;
|
import nmd.primal.energy.render.RenderID;
|
||||||
import nmd.primal.energy.tileents.TileEntCrank;
|
import nmd.primal.energy.tileents.TileEntCrank;
|
||||||
import nmd.primal.energy.tileents.TileEntLatheBase;
|
import nmd.primal.energy.tileents.TileEntLatheBase;
|
||||||
|
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
|
||||||
import nmd.primal.energy.util.CustomTab;
|
import nmd.primal.energy.util.CustomTab;
|
||||||
import nmd.primal.energy.util.EnergyUtil;
|
import nmd.primal.energy.util.EnergyUtil;
|
||||||
|
|
||||||
@@ -46,16 +48,16 @@ public class CrankBlock extends Block implements ITileEntityProvider{
|
|||||||
tileLathe.markDirty();
|
tileLathe.markDirty();
|
||||||
tileLathe.markForUpdate();
|
tileLathe.markForUpdate();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if(tile.getBlockMetadata()==1){
|
|
||||||
if(world.getBlock(x, y-1, z) instanceof LatheBase){
|
|
||||||
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x, y-1, z);
|
|
||||||
tileLathe.isPowered=true;
|
|
||||||
tileLathe.power+=100;
|
|
||||||
tileLathe.markDirty();
|
|
||||||
tileLathe.markForUpdate();
|
|
||||||
}
|
|
||||||
}*/
|
}*/
|
||||||
|
if(tile.getBlockMetadata()==1){
|
||||||
|
if(world.getBlock(x, y-1, z) instanceof CrankGrinder){
|
||||||
|
TileEntCrankGrinder tileGrinder = (TileEntCrankGrinder) world.getTileEntity(x, y-1, z);
|
||||||
|
tileGrinder.isPowered=true;
|
||||||
|
tileGrinder.power+=20;
|
||||||
|
tileGrinder.markDirty();
|
||||||
|
tileGrinder.markForUpdate();
|
||||||
|
}
|
||||||
|
}
|
||||||
if(tile.getBlockMetadata()==2){
|
if(tile.getBlockMetadata()==2){
|
||||||
if(world.getBlock(x, y, z+1) instanceof LatheBase){
|
if(world.getBlock(x, y, z+1) instanceof LatheBase){
|
||||||
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x, y, z+1);
|
TileEntLatheBase tileLathe = (TileEntLatheBase) world.getTileEntity(x, y, z+1);
|
||||||
|
|||||||
@@ -1,17 +1,27 @@
|
|||||||
package nmd.primal.energy.block.grinder;
|
package nmd.primal.energy.block.grinder;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockContainer;
|
import net.minecraft.block.BlockContainer;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import nmd.primal.energy.common.ModInfo;
|
import nmd.primal.energy.common.ModInfo;
|
||||||
|
import nmd.primal.energy.item.ModItems;
|
||||||
import nmd.primal.energy.render.RenderID;
|
import nmd.primal.energy.render.RenderID;
|
||||||
import nmd.primal.energy.tileents.TileEntLatheBase;
|
|
||||||
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
|
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
|
||||||
import nmd.primal.energy.util.CustomTab;
|
import nmd.primal.energy.util.CustomTab;
|
||||||
|
import nmd.primal.energy.util.LatheRecipes;
|
||||||
|
|
||||||
public class CrankGrinder extends BlockContainer{
|
public class CrankGrinder extends BlockContainer{
|
||||||
|
|
||||||
|
private final Random random = new Random();
|
||||||
|
|
||||||
public CrankGrinder(String name, Material mat) {
|
public CrankGrinder(String name, Material mat) {
|
||||||
super(mat);
|
super(mat);
|
||||||
this.setBlockName(name);
|
this.setBlockName(name);
|
||||||
@@ -25,16 +35,138 @@ public class CrankGrinder extends BlockContainer{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) {
|
||||||
|
|
||||||
|
if(!world.isRemote){
|
||||||
|
TileEntCrankGrinder tileEnt = (TileEntCrankGrinder) world.getTileEntity(x, y, z);
|
||||||
|
System.out.println("Slot 0:"+tileEnt.getStackInSlot(0) +" Slot 1:"+ tileEnt.getStackInSlot(1));
|
||||||
|
if(player.inventory.getCurrentItem()!=null){
|
||||||
|
if(player.inventory.getCurrentItem().getItem()!=ModItems.stoneGrinder){
|
||||||
|
//System.out.println(player.inventory.getCurrentItem());
|
||||||
|
if (tileEnt.getStackInSlot(0)==null){
|
||||||
|
tileEnt.setInventorySlotContents(0, player.inventory.getCurrentItem());
|
||||||
|
player.inventory.setInventorySlotContents(player.inventory.currentItem, null);
|
||||||
|
tileEnt.markForUpdate();
|
||||||
|
tileEnt.markDirty();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (tileEnt.getStackInSlot(0)!=null){
|
||||||
|
if(player.inventory.getCurrentItem()!=null){
|
||||||
|
if(player.inventory.getCurrentItem().getItem()!=ModItems.stoneGrinder){
|
||||||
|
ItemStack pStack = player.inventory.getCurrentItem().copy();
|
||||||
|
ItemStack sStack = tileEnt.getStackInSlot(0).copy();
|
||||||
|
ItemStack sStackTemp = tileEnt.getStackInSlot(0).copy();
|
||||||
|
if(tileEnt.getStackInSlot(0).stackSize < 64){
|
||||||
|
sStackTemp.stackSize++;
|
||||||
|
if ((sStack.getItem().equals(pStack.getItem())) && (sStack.getItemDamage() == pStack.getItemDamage()) ){
|
||||||
|
tileEnt.setInventorySlotContents(0, sStackTemp);
|
||||||
|
player.inventory.decrStackSize(player.inventory.currentItem, 1);
|
||||||
|
tileEnt.markForUpdate();
|
||||||
|
tileEnt.markDirty();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (player.isSneaking() && player.inventory.getCurrentItem()==null) {
|
||||||
|
if(tileEnt.getStackInSlot(0)!=null){
|
||||||
|
player.inventory.setInventorySlotContents(player.inventory.currentItem, tileEnt.getStackInSlot(0));
|
||||||
|
tileEnt.setInventorySlotContents(0, null);
|
||||||
|
tileEnt.markForUpdate();
|
||||||
|
tileEnt.markDirty();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!player.isSneaking()) {
|
||||||
|
if((player.inventory.getCurrentItem()==null)){
|
||||||
|
if(tileEnt.getStackInSlot(0)==null && tileEnt.getStackInSlot(1)!=null){
|
||||||
|
ItemStack pStack = tileEnt.getStackInSlot(1).copy();
|
||||||
|
pStack.stackSize = 1;
|
||||||
|
EntityItem eItem = new EntityItem(world, player.posX, player.posY, player.posZ, pStack);
|
||||||
|
if (pStack.hasTagCompound()) {
|
||||||
|
eItem.getEntityItem().setTagCompound(((NBTTagCompound) pStack.getTagCompound().copy()));
|
||||||
|
}
|
||||||
|
world.spawnEntityInWorld(eItem);
|
||||||
|
tileEnt.decrStackSize(1, 1);
|
||||||
|
tileEnt.markForUpdate();
|
||||||
|
tileEnt.markDirty();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(tileEnt.getStackInSlot(0)!=null){
|
||||||
|
ItemStack pStack = tileEnt.getStackInSlot(0).copy();
|
||||||
|
pStack.stackSize = 1;
|
||||||
|
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, pStack));
|
||||||
|
tileEnt.decrStackSize(0, 1);
|
||||||
|
tileEnt.markForUpdate();
|
||||||
|
tileEnt.markDirty();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(player.inventory.getCurrentItem()!=null){
|
||||||
|
if(player.inventory.getCurrentItem().getItem()==ModItems.stoneGrinder){
|
||||||
|
if (tileEnt.getStackInSlot(1)==null){
|
||||||
|
tileEnt.setInventorySlotContents(1, player.inventory.getCurrentItem());
|
||||||
|
player.inventory.setInventorySlotContents(player.inventory.currentItem, null);
|
||||||
|
tileEnt.markForUpdate();
|
||||||
|
tileEnt.markDirty();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
|
||||||
|
TileEntCrankGrinder tileEnt = (TileEntCrankGrinder) world.getTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEnt != null) {
|
||||||
|
for (int i = 0; i < tileEnt.getSizeInventory(); ++i) {
|
||||||
|
ItemStack itemstack = tileEnt.getStackInSlot(i);
|
||||||
|
|
||||||
|
if (itemstack != null) {
|
||||||
|
float f = this.random.nextFloat() * 0.6F + 0.1F;
|
||||||
|
float f1 = this.random.nextFloat() * 0.6F + 0.1F;
|
||||||
|
float f2 = this.random.nextFloat() * 0.6F + 0.1F;
|
||||||
|
|
||||||
|
while (itemstack.stackSize > 0) {
|
||||||
|
int j = this.random.nextInt(21) + 10;
|
||||||
|
|
||||||
|
if (j > itemstack.stackSize) {
|
||||||
|
j = itemstack.stackSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
itemstack.stackSize -= j;
|
||||||
|
EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j, itemstack.getItemDamage()));
|
||||||
|
|
||||||
|
if (itemstack.hasTagCompound()) {
|
||||||
|
entityitem.getEntityItem().setTagCompound(((NBTTagCompound) itemstack.getTagCompound().copy()));
|
||||||
|
}
|
||||||
|
|
||||||
|
float f3 = 0.025F;
|
||||||
|
entityitem.motionX = (float) this.random.nextGaussian() * f3;
|
||||||
|
entityitem.motionY = (float) this.random.nextGaussian() * f3 + 0.1F;
|
||||||
|
entityitem.motionZ = (float) this.random.nextGaussian() * f3;
|
||||||
|
world.spawnEntityInWorld(entityitem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
world.func_147453_f(x, y, z, block);
|
||||||
|
}
|
||||||
|
super.breakBlock(world, x, y, z, block, meta);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World world, int i) {
|
public TileEntity createNewTileEntity(World world, int i) {
|
||||||
return new TileEntCrankGrinder();
|
return new TileEntCrankGrinder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getRenderType() {
|
public int getRenderType() {
|
||||||
return RenderID.crankGrinderID;
|
return RenderID.crankGrinderID;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ public class ContainerCrankGrinder extends Container{
|
|||||||
public ContainerCrankGrinder (InventoryPlayer inventoryPlayer, TileEntCrankGrinder te){
|
public ContainerCrankGrinder (InventoryPlayer inventoryPlayer, TileEntCrankGrinder te){
|
||||||
tile = te;
|
tile = te;
|
||||||
addSlotToContainer(new Slot(tile, 0, 80, 34));
|
addSlotToContainer(new Slot(tile, 0, 80, 34));
|
||||||
//addSlotToContainer(new Slot(tile, 1, 80, 34));
|
addSlotToContainer(new Slot(tile, 1, 80, 34));
|
||||||
bindPlayerInventory(inventoryPlayer);
|
bindPlayerInventory(inventoryPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package nmd.primal.energy.item;
|
|||||||
|
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import nmd.primal.energy.common.ModInfo;
|
import nmd.primal.energy.common.ModInfo;
|
||||||
|
import nmd.primal.energy.item.grinderWheels.StoneGrindWheel;
|
||||||
|
import nmd.primal.energy.item.tools.SChiselItem;
|
||||||
import nmd.primal.energy.util.CustomTab;
|
import nmd.primal.energy.util.CustomTab;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
@@ -11,11 +13,12 @@ public class ModItems {
|
|||||||
public static Item swheelItem;
|
public static Item swheelItem;
|
||||||
public static Item sgearItem;
|
public static Item sgearItem;
|
||||||
public static Item saxleItem;
|
public static Item saxleItem;
|
||||||
|
public static Item stoneGrinder;
|
||||||
|
|
||||||
public static void registerItems(){
|
public static void registerItems(){
|
||||||
|
|
||||||
schiselItem = new SChiselItem();
|
schiselItem = new SChiselItem();
|
||||||
|
stoneGrinder = new StoneGrindWheel();
|
||||||
|
|
||||||
swheelItem = new Item().setUnlocalizedName("swheelItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":swheelItem");
|
swheelItem = new Item().setUnlocalizedName("swheelItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":swheelItem");
|
||||||
GameRegistry.registerItem(swheelItem, "swheelItem");
|
GameRegistry.registerItem(swheelItem, "swheelItem");
|
||||||
@@ -25,6 +28,7 @@ public class ModItems {
|
|||||||
|
|
||||||
saxleItem = new Item().setUnlocalizedName("saxleItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":saxleItem");
|
saxleItem = new Item().setUnlocalizedName("saxleItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":saxleItem");
|
||||||
GameRegistry.registerItem(saxleItem, "saxleItem");
|
GameRegistry.registerItem(saxleItem, "saxleItem");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package nmd.primal.energy.item.grinderWheels;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import nmd.primal.energy.common.ModInfo;
|
||||||
|
import nmd.primal.energy.util.CustomTab;
|
||||||
|
|
||||||
|
public class StoneGrindWheel extends Item{
|
||||||
|
|
||||||
|
private String name = "stoneGrindWheel";
|
||||||
|
private Item item;
|
||||||
|
|
||||||
|
public StoneGrindWheel(){
|
||||||
|
setMaxStackSize(1);
|
||||||
|
setUnlocalizedName(name);
|
||||||
|
setTextureName(ModInfo.MOD_ID + ":" + name);
|
||||||
|
setMaxDamage(1500);
|
||||||
|
setNoRepair();
|
||||||
|
setCreativeTab(CustomTab.NMDEnergyTab);
|
||||||
|
|
||||||
|
item = this;
|
||||||
|
GameRegistry.registerItem(this, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemstack) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*@Override
|
||||||
|
public Item getContainerItem()
|
||||||
|
{
|
||||||
|
item.setDamage(new ItemStack(item), +1);
|
||||||
|
return item;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package nmd.primal.energy.item;
|
package nmd.primal.energy.item.tools;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
@@ -20,13 +20,12 @@ public class SChiselItem extends Item{
|
|||||||
|
|
||||||
private String name = "schiselItem";
|
private String name = "schiselItem";
|
||||||
private Item item;
|
private Item item;
|
||||||
private boolean doWork;
|
|
||||||
|
|
||||||
public SChiselItem(){
|
public SChiselItem(){
|
||||||
setMaxStackSize(1);
|
setMaxStackSize(1);
|
||||||
setUnlocalizedName(name);
|
setUnlocalizedName(name);
|
||||||
setTextureName(ModInfo.MOD_ID + ":" + name);
|
setTextureName(ModInfo.MOD_ID + ":" + name);
|
||||||
setMaxDamage(100);
|
setMaxDamage(500);
|
||||||
setNoRepair();
|
setNoRepair();
|
||||||
setCreativeTab(CustomTab.NMDEnergyTab);
|
setCreativeTab(CustomTab.NMDEnergyTab);
|
||||||
|
|
||||||
@@ -1,9 +1,12 @@
|
|||||||
package nmd.primal.energy.render;
|
package nmd.primal.energy.render;
|
||||||
|
|
||||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||||
|
import net.minecraftforge.client.MinecraftForgeClient;
|
||||||
|
import nmd.primal.energy.item.ModItems;
|
||||||
import nmd.primal.energy.render.block.RenderCrank;
|
import nmd.primal.energy.render.block.RenderCrank;
|
||||||
import nmd.primal.energy.render.block.RenderCrankGrinder;
|
import nmd.primal.energy.render.block.RenderCrankGrinder;
|
||||||
import nmd.primal.energy.render.block.RenderLathe;
|
import nmd.primal.energy.render.block.RenderLathe;
|
||||||
|
import nmd.primal.energy.render.item.IRStoneGrindWheel;
|
||||||
import nmd.primal.energy.tileents.TileEntCrank;
|
import nmd.primal.energy.tileents.TileEntCrank;
|
||||||
import nmd.primal.energy.tileents.TileEntLatheBase;
|
import nmd.primal.energy.tileents.TileEntLatheBase;
|
||||||
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
|
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
|
||||||
@@ -16,6 +19,8 @@ public class RenderRegistry {
|
|||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntCrank.class, new RenderCrank());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntCrank.class, new RenderCrank());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntLatheBase.class, new RenderLathe());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntLatheBase.class, new RenderLathe());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntCrankGrinder.class, new RenderCrankGrinder());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntCrankGrinder.class, new RenderCrankGrinder());
|
||||||
|
|
||||||
|
MinecraftForgeClient.registerItemRenderer(ModItems.stoneGrinder, new IRStoneGrindWheel());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -24,8 +24,10 @@ public class RenderCrankGrinder extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/CrankGrinder.obj");
|
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/CrankGrinder.obj");
|
||||||
public static final ResourceLocation MODELGRINDER = new ResourceLocation("energy:models/GrinderWheel.obj");
|
public static final ResourceLocation MODELGRINDER = new ResourceLocation("energy:models/GrinderWheel.obj");
|
||||||
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/StoneGrinderWheel.png");
|
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/CrankGrinder.png");
|
||||||
|
public static final ResourceLocation TEXTUREWHEEL = new ResourceLocation("energy:models/StoneGrindWheel.png");
|
||||||
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
|
private IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
|
||||||
|
private IModelCustom modelGrinder = AdvancedModelLoader.loadModel(MODELGRINDER);
|
||||||
EntityItem entItem = null;
|
EntityItem entItem = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -34,7 +36,6 @@ public class RenderCrankGrinder extends TileEntitySpecialRenderer {
|
|||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
GL11.glTranslatef((float) x, (float) y, (float) z);
|
GL11.glTranslatef((float) x, (float) y, (float) z);
|
||||||
|
|
||||||
|
|
||||||
tile.markForUpdate();
|
tile.markForUpdate();
|
||||||
tile.markDirty();
|
tile.markDirty();
|
||||||
@@ -50,7 +51,26 @@ public class RenderCrankGrinder extends TileEntitySpecialRenderer {
|
|||||||
float scale = 1.0F;
|
float scale = 1.0F;
|
||||||
GL11.glScalef(scale, scale, scale);
|
GL11.glScalef(scale, scale, scale);
|
||||||
|
|
||||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
|
||||||
|
|
||||||
|
if(tile.getStackInSlot(1)!=null){
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
if(tile.isPowered==true){
|
||||||
|
GL11.glTranslatef(1.0F, 0.5F, 0.0F);
|
||||||
|
GL11.glRotated(tile.rot, 0.0F, 1.0F, 0.0F);
|
||||||
|
|
||||||
|
}
|
||||||
|
if(tile.isPowered==false){
|
||||||
|
GL11.glRotated(0, 0.0F, 1.0F, 0.0F);
|
||||||
|
GL11.glTranslatef(1.0F, 0.5F, 0.0F);
|
||||||
|
}
|
||||||
|
//GL11.glTranslatef(1.0F, 0.5F, 0.0F);
|
||||||
|
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTUREWHEEL);
|
||||||
|
this.modelGrinder.renderAll();
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
/*if(tile.getStackInSlot(0) != null){
|
/*if(tile.getStackInSlot(0) != null){
|
||||||
entItem = new EntityItem(tile.getWorldObj(), x, y, z, tile.getStackInSlot(0));
|
entItem = new EntityItem(tile.getWorldObj(), x, y, z, tile.getStackInSlot(0));
|
||||||
@@ -84,7 +104,7 @@ public class RenderCrankGrinder extends TileEntitySpecialRenderer {
|
|||||||
tile.markForUpdate();
|
tile.markForUpdate();
|
||||||
tile.markDirty();
|
tile.markDirty();
|
||||||
}*/
|
}*/
|
||||||
|
GL11.glTranslatef(1.0F, 0.5F, 0.0F);
|
||||||
|
|
||||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
|
FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,144 @@
|
|||||||
|
package nmd.primal.energy.render.item;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraftforge.client.IItemRenderer;
|
||||||
|
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||||
|
import net.minecraftforge.client.model.IModelCustom;
|
||||||
|
|
||||||
|
public class IRStoneGrindWheel implements IItemRenderer {
|
||||||
|
|
||||||
|
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/GrinderWheel.obj");
|
||||||
|
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/StoneGrindWheel.png");
|
||||||
|
|
||||||
|
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
|
||||||
|
|
||||||
|
switch(type) {
|
||||||
|
case EQUIPPED: {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
case EQUIPPED_FIRST_PERSON: {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
case INVENTORY: {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
case ENTITY: {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
default: return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
|
||||||
|
ItemRendererHelper helper) {
|
||||||
|
|
||||||
|
switch(type) {
|
||||||
|
case EQUIPPED: {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
case EQUIPPED_FIRST_PERSON: {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
case INVENTORY: {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
case ENTITY: {
|
||||||
|
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
|
||||||
|
helper == ItemRendererHelper.ENTITY_ROTATION ||
|
||||||
|
helper == ItemRendererHelper.BLOCK_3D);
|
||||||
|
}
|
||||||
|
|
||||||
|
default: return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
|
||||||
|
|
||||||
|
switch(type) {
|
||||||
|
|
||||||
|
case EQUIPPED: {
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F);
|
||||||
|
float scale = 1.0F;
|
||||||
|
GL11.glScalef(scale, scale, scale);
|
||||||
|
|
||||||
|
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
|
||||||
|
//GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
|
||||||
|
|
||||||
|
//GL11.glRotated(90, 1.0, 0.0, 0.0);
|
||||||
|
|
||||||
|
GL11.glTranslatef(1.0F, -0.45F, -0.35F);
|
||||||
|
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
|
||||||
|
model.renderAll();
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case EQUIPPED_FIRST_PERSON: {
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F);
|
||||||
|
//GL11.glScalef(0.2F, 0.2F, 0.2F);
|
||||||
|
|
||||||
|
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
|
||||||
|
|
||||||
|
//GL11.glRotated(180, 0.0, 0.0, 1.0);
|
||||||
|
//GL11.glRotated(180, 0.0F, 1.0F, 0.0F);
|
||||||
|
//GL11.glRotated(180, 1.0F, 0.0F, 0.0F);
|
||||||
|
|
||||||
|
GL11.glTranslatef(1.25F, -0.2F, -0.35F);
|
||||||
|
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
|
||||||
|
model.renderAll();
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case INVENTORY: {
|
||||||
|
/*GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||||
|
GL11.glScalef(2.0F, 2.0F, 2.0F);
|
||||||
|
GL11.glTranslatef(1.65F, 6.2F, 0.0F);
|
||||||
|
GL11.glRotatef(135, 0.0F, 0.0F, -1.0F);
|
||||||
|
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
|
||||||
|
model.renderAll();
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
*/
|
||||||
|
} break;
|
||||||
|
|
||||||
|
case ENTITY: {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
//GL11.glScalef(0.2F, 0.2F, 0.2F);
|
||||||
|
GL11.glTranslatef(0.0F, 0.0F, 0.0F);
|
||||||
|
//GL11.glRotatef(180, 0.0F, 0.0F, 1.0F);
|
||||||
|
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
|
||||||
|
model.renderAll();
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
} break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package nmd.primal.energy.tileents;
|
package nmd.primal.energy.tileents;
|
||||||
|
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
|
||||||
|
|
||||||
public class TileRegistry {
|
public class TileRegistry {
|
||||||
|
|
||||||
@@ -8,5 +9,6 @@ public class TileRegistry {
|
|||||||
|
|
||||||
GameRegistry.registerTileEntity(TileEntCrank.class, "TileEntCrank");
|
GameRegistry.registerTileEntity(TileEntCrank.class, "TileEntCrank");
|
||||||
GameRegistry.registerTileEntity(TileEntLatheBase.class, "TileEntLatheBase");
|
GameRegistry.registerTileEntity(TileEntLatheBase.class, "TileEntLatheBase");
|
||||||
|
GameRegistry.registerTileEntity(TileEntCrankGrinder.class, "TileEntCrankGrinder");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ public class TileEntCrankGrinder extends TileEntity implements IInventory {
|
|||||||
public float rot = 0;
|
public float rot = 0;
|
||||||
|
|
||||||
public TileEntCrankGrinder() {
|
public TileEntCrankGrinder() {
|
||||||
this.inv = new ItemStack[1];
|
this.inv = new ItemStack[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSizeInventory() {
|
public int getSizeInventory() {
|
||||||
return this.inv.length;
|
return this.inv.length;
|
||||||
|
|||||||
Reference in New Issue
Block a user