need sounds

This commit is contained in:
KitsuShadow
2015-08-30 14:19:03 -04:00
parent a2fbde8efe
commit 6849d117cb
5 changed files with 343 additions and 3 deletions

View File

@@ -1,12 +1,17 @@
package nmd.primal.energy.render;
import cpw.mods.fml.client.registry.ClientRegistry;
import net.minecraft.item.Item;
import net.minecraftforge.client.MinecraftForgeClient;
import nmd.primal.energy.block.ModBlocks;
import nmd.primal.energy.item.ModItems;
import nmd.primal.energy.render.block.RenderCrank;
import nmd.primal.energy.render.block.RenderCrankGrinder;
import nmd.primal.energy.render.block.RenderLathe;
import nmd.primal.energy.render.item.IRStoneGrindWheel;
import nmd.primal.energy.render.item.blockToItem.IRCrank;
import nmd.primal.energy.render.item.blockToItem.IRCrankGrinder;
import nmd.primal.energy.render.item.blockToItem.IRLathe;
import nmd.primal.energy.tileents.TileEntCrank;
import nmd.primal.energy.tileents.TileEntLatheBase;
import nmd.primal.energy.tileents.grinder.TileEntCrankGrinder;
@@ -21,6 +26,9 @@ public class RenderRegistry {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntCrankGrinder.class, new RenderCrankGrinder());
MinecraftForgeClient.registerItemRenderer(ModItems.stoneGrinder, new IRStoneGrindWheel());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.crankBlock), new IRCrank());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.crankGrinder), new IRCrankGrinder());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.flintLathe), new IRLathe());
}
}

View File

@@ -0,0 +1,105 @@
package nmd.primal.energy.render.item.blockToItem;
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 IRCrank implements IItemRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/Crank.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/Crank.png");
private 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 true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
return helper == ItemRendererHelper.BLOCK_3D;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
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.glTranslatef(0.8F, 0.25F, 0.0F);
GL11.glRotated(-75, 1, 0, 0);
GL11.glRotated(-20, 0, 1.0, 0);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
GL11.glTranslatef(1.0F, 0.5F, 0.8F);
GL11.glRotated(-45, 0.0f, 1.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -0,0 +1,113 @@
package nmd.primal.energy.render.item.blockToItem;
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.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class IRCrankGrinder implements IItemRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/CrankGrinder.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/CrankGrinder.png");
private 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 true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
//return helper == ItemRendererHelper.BLOCK_3D;
return false;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
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(20, 0.0f, 1.0f, 0.0f);
//GL11.glRotatef(-45, 1.0f, 0.0f, 0.0f);
GL11.glTranslatef(0.75F, 0.0F, 0.05F);
//GL11.glRotated(-75f, 1.0f, 0.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
GL11.glTranslatef(1.0F, 0.5F, 0.8F);
GL11.glRotated(-45, 0.0f, 1.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glTranslatef(1.0F, 0.40F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
GL11.glScalef(1.5f, 1.5f, 1.5f);
GL11.glTranslatef(0.5F, 0.25F, -0.5F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -0,0 +1,113 @@
package nmd.primal.energy.render.item.blockToItem;
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.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class IRLathe implements IItemRenderer {
public static final ResourceLocation MODEL = new ResourceLocation("energy:models/Lathe.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("energy:models/FlintLathe.png");
private 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 true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
//return helper == ItemRendererHelper.BLOCK_3D;
return false;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
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(110, 0.0f, 1.0f, 0.0f);
//GL11.glRotatef(-45, 1.0f, 0.0f, 0.0f);
GL11.glTranslatef(-0.4F, 0.4F, 0.3F);
//GL11.glRotated(-75f, 1.0f, 0.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
GL11.glTranslatef(1.0F, 0.5F, 0.5F);
GL11.glRotated(-45, 0.0f, 1.0f, 0.0f);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glTranslatef(0.0F, 0.1F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
GL11.glScalef(1.5f, 1.5f, 1.5f);
GL11.glTranslatef(0.0F, 0.25F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -65,8 +65,10 @@ public class TileEntCrankGrinder extends TileEntity implements IInventory, Grind
if(GrinderRecipes.grinderCheck.contains(this.getStackInSlot(0).getItem())){
this.decrStackSize(0, 1);
ItemStack stack = GrinderRecipes.grinderIn.get(this.getStackInSlot(0).getItem());
System.out.println(stack);
stack.stackSize=GrinderRecipes.grinderSize.get(stack.getItem());
if(stack.getItem()==Items.redstone){
stack.stackSize+=random.nextInt(6);
}
EntityItem eItem=new EntityItem(world, x+0.5f, y+0.35f, z+0.5f, stack);
world.spawnEntityInWorld(eItem);
workCount=0;
@@ -75,8 +77,7 @@ public class TileEntCrankGrinder extends TileEntity implements IInventory, Grind
}
if(this.getStackInSlot(0).getItem().equals(Item.getItemFromBlock(Blocks.lapis_ore))){
this.decrStackSize(0, 1);
ItemStack stack = new ItemStack(Items.dye, 4, 4);
System.out.println(stack);
ItemStack stack = new ItemStack(Items.dye, (4+random.nextInt(6)), 4);
EntityItem eItem=new EntityItem(world, x+0.5f, y+0.35f, z+0.5f, stack);
world.spawnEntityInWorld(eItem);
workCount=0;