mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 04:57:27 +00:00
Custom Barrel Rendering
This commit is contained in:
1 parent
eaf7c3f333
commit
cd3d8ccdbb
5 files changed
+162
-18
No files matched your search
@@ -0,0 +1,69 @@
|
||||
package noppes.npcs.client.model.blocks.barrel;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelBox;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class BarrelCore extends ModelBase {
|
||||
private final ModelRenderer bb_main;
|
||||
private final ModelRenderer cube_r1;
|
||||
private final ModelRenderer cube_r2;
|
||||
private final ModelRenderer cube_r3;
|
||||
private final ModelRenderer cube_r4;
|
||||
private final ModelRenderer cube_r5;
|
||||
|
||||
public BarrelCore() {
|
||||
textureWidth = 64;
|
||||
textureHeight = 32;
|
||||
|
||||
bb_main = new ModelRenderer(this);
|
||||
bb_main.setRotationPoint(0.0F, 24.0F, 0.0F);
|
||||
|
||||
cube_r1 = new ModelRenderer(this);
|
||||
cube_r1.setRotationPoint(0.0F, 0.0F, 0.0F);
|
||||
bb_main.addChild(cube_r1);
|
||||
setRotationAngle(cube_r1, 1.5708F, 0.0F, -1.5708F);
|
||||
cube_r1.cubeList.add(new ModelBox(cube_r1, 6, -6, 0.0F, -5.0F, -5.0F, 0, 10, 10, 0.0F));
|
||||
|
||||
cube_r2 = new ModelRenderer(this);
|
||||
cube_r2.setRotationPoint(0.0F, -14.5F, 0.0F);
|
||||
bb_main.addChild(cube_r2);
|
||||
setRotationAngle(cube_r2, 0.0F, 0.0F, 1.5708F);
|
||||
cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 2, 2.5F, -5.5F, 5.5F, 8, 11, 0, 0.0F));
|
||||
cube_r2.cubeList.add(new ModelBox(cube_r2, 8, 2, 2.5F, -5.5F, -5.5F, 8, 11, 0, 0.0F));
|
||||
cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 3, -1.5F, -5.0F, -5.0F, 16, 10, 0, 0.0F));
|
||||
|
||||
cube_r3 = new ModelRenderer(this);
|
||||
cube_r3.setRotationPoint(0.0F, -14.5F, 0.0F);
|
||||
bb_main.addChild(cube_r3);
|
||||
setRotationAngle(cube_r3, 1.5708F, 0.0F, 1.5708F);
|
||||
cube_r3.cubeList.add(new ModelBox(cube_r3, 8, 2, 2.5F, -5.5F, -5.5F, 8, 11, 0, 0.0F));
|
||||
cube_r3.cubeList.add(new ModelBox(cube_r3, 0, 2, 2.5F, -5.5F, 5.5F, 8, 11, 0, 0.0F));
|
||||
cube_r3.cubeList.add(new ModelBox(cube_r3, 6, -5, -1.5F, -5.0F, -5.0F, 0, 10, 10, 0.0F));
|
||||
cube_r3.cubeList.add(new ModelBox(cube_r3, 0, 5, -1.5F, -5.0F, -5.0F, 16, 10, 0, 0.0F));
|
||||
|
||||
cube_r4 = new ModelRenderer(this);
|
||||
cube_r4.setRotationPoint(0.0F, -14.5F, 0.0F);
|
||||
bb_main.addChild(cube_r4);
|
||||
setRotationAngle(cube_r4, -1.5708F, 0.0F, 1.5708F);
|
||||
cube_r4.cubeList.add(new ModelBox(cube_r4, 0, 4, -1.5F, -5.0F, -5.0F, 16, 10, 0, 0.0F));
|
||||
|
||||
cube_r5 = new ModelRenderer(this);
|
||||
cube_r5.setRotationPoint(0.0F, -8.0F, 5.0F);
|
||||
bb_main.addChild(cube_r5);
|
||||
setRotationAngle(cube_r5, 3.1416F, 0.0F, 1.5708F);
|
||||
cube_r5.cubeList.add(new ModelBox(cube_r5, 0, 3, -8.0F, -5.0F, 0.0F, 16, 10, 0, 0.0F));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
|
||||
bb_main.render(f5);
|
||||
}
|
||||
|
||||
public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
|
||||
modelRenderer.rotateAngleX = x;
|
||||
modelRenderer.rotateAngleY = y;
|
||||
modelRenderer.rotateAngleZ = z;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package noppes.npcs.client.model.blocks.barrel;// Made with Blockbench 4.9.4
|
||||
// Exported for Minecraft version 1.7 - 1.12
|
||||
// Paste this class into your mod and generate all required imports
|
||||
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelBox;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class BarrelTrim extends ModelBase {
|
||||
private final ModelRenderer bb_main;
|
||||
private final ModelRenderer cube_r1;
|
||||
private final ModelRenderer cube_r2;
|
||||
|
||||
public BarrelTrim() {
|
||||
textureWidth = 32;
|
||||
textureHeight = 32;
|
||||
|
||||
bb_main = new ModelRenderer(this);
|
||||
bb_main.setRotationPoint(0.0F, 24.0F, 0.0F);
|
||||
bb_main.cubeList.add(new ModelBox(bb_main, 0, 7, 0.0F, -16.5F, -4.0F, 2, 1, 2, 0.0F));
|
||||
|
||||
cube_r1 = new ModelRenderer(this);
|
||||
cube_r1.setRotationPoint(0.0F, -8.0F, 0.0F);
|
||||
bb_main.addChild(cube_r1);
|
||||
setRotationAngle(cube_r1, -1.5708F, 0.0F, 1.5708F);
|
||||
cube_r1.cubeList.add(new ModelBox(cube_r1, 0, 0, -6.0F, -6.0F, -6.0F, 2, 12, 12, 0.0F));
|
||||
|
||||
cube_r2 = new ModelRenderer(this);
|
||||
cube_r2.setRotationPoint(0.0F, -3.0F, 0.0F);
|
||||
bb_main.addChild(cube_r2);
|
||||
setRotationAngle(cube_r2, 1.5708F, 0.0F, 1.5708F);
|
||||
cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 0, -1.0F, -6.0F, -6.0F, 2, 12, 12, 0.0F));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
|
||||
bb_main.render(f5);
|
||||
}
|
||||
|
||||
public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
|
||||
modelRenderer.rotateAngleX = x;
|
||||
modelRenderer.rotateAngleY = y;
|
||||
modelRenderer.rotateAngleZ = z;
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,8 @@ import noppes.npcs.blocks.BlockBarrel;
|
||||
import noppes.npcs.blocks.tiles.TileColorable;
|
||||
import noppes.npcs.client.model.blocks.ModelBarrel;
|
||||
import noppes.npcs.client.model.blocks.ModelBarrelLit;
|
||||
import noppes.npcs.client.model.blocks.barrel.BarrelCore;
|
||||
import noppes.npcs.client.model.blocks.barrel.BarrelTrim;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
@@ -19,12 +21,17 @@ public class BlockBarrelRenderer extends BlockRendererInterface{
|
||||
private final ModelBarrel model = new ModelBarrel();
|
||||
private final ModelBarrelLit modelLit = new ModelBarrelLit();
|
||||
private static final ResourceLocation resource1 = new ResourceLocation("customnpcs","textures/models/Barrel.png");
|
||||
|
||||
|
||||
|
||||
private final BarrelCore core = new BarrelCore();
|
||||
private final BarrelTrim trim = new BarrelTrim();
|
||||
private static final ResourceLocation trimTexture = new ResourceLocation("customnpcs","textures/models/BarrelTrim.png");
|
||||
|
||||
public BlockBarrelRenderer(){
|
||||
((BlockBarrel)CustomItems.barrel).renderId = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderingRegistry.registerBlockHandler(this);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity var1, double var2, double var4,
|
||||
double var6, float var8) {
|
||||
@@ -33,16 +40,16 @@ public class BlockBarrelRenderer extends BlockRendererInterface{
|
||||
GL11.glEnable(GL11.GL_ALPHA_TEST);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.42f, (float)var6 + 0.5f);
|
||||
GL11.glScalef(1f, 0.94f,1f);
|
||||
GL11.glScalef(1.2f, 0.94f,1.2f);
|
||||
GL11.glRotatef(180, 0, 0, 1);
|
||||
GL11.glRotatef(45 * tile.rotation, 0, 1, 0);
|
||||
GL11.glColor3f(1, 1, 1);
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
setWoodTexture(var1.getBlockMetadata());
|
||||
model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(resource1);
|
||||
modelLit.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
core.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(trimTexture);
|
||||
trim.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
@@ -51,18 +58,16 @@ public class BlockBarrelRenderer extends BlockRendererInterface{
|
||||
public void renderInventoryBlock(Block block, int metadata, int modelId,
|
||||
RenderBlocks renderer) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0, 0.75f, 0);
|
||||
GL11.glScalef(0.7f, 0.7f, 0.7f);
|
||||
GL11.glTranslatef(0, 1.05f, 0);
|
||||
GL11.glScalef(1f, 1f, 1f);
|
||||
GL11.glRotatef(180, 0, 0, 1);
|
||||
GL11.glRotatef(180, 0, 1, 0);
|
||||
|
||||
setWoodTexture(metadata);
|
||||
GL11.glColor3f(1, 1, 1);
|
||||
model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(resource1);
|
||||
modelLit.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
|
||||
core.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(trimTexture);
|
||||
trim.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
@@ -24,9 +24,17 @@ public abstract class BlockRendererInterface extends TileEntitySpecialRenderer i
|
||||
protected static final ResourceLocation PlanksAcacia = new ResourceLocation("customnpcs","textures/cache/planks_acacia.png");
|
||||
protected static final ResourceLocation PlanksJungle = new ResourceLocation("customnpcs","textures/cache/planks_jungle.png");
|
||||
|
||||
|
||||
protected static final ResourceLocation MCPlanksOak = new ResourceLocation("customnpcs","textures/cache/planks_oak.png");
|
||||
protected static final ResourceLocation MCPlanksBigOak = new ResourceLocation("customnpcs","textures/cache/planks_big_oak.png");
|
||||
protected static final ResourceLocation MCPlanksSpruce = new ResourceLocation("customnpcs","textures/cache/planks_spruce.png");
|
||||
protected static final ResourceLocation MCPlanksBirch = new ResourceLocation("customnpcs","textures/cache/planks_birch.png");
|
||||
protected static final ResourceLocation MCPlanksAcacia = new ResourceLocation("customnpcs","textures/cache/planks_acacia.png");
|
||||
protected static final ResourceLocation MCPlanksJungle = new ResourceLocation("customnpcs","textures/cache/planks_jungle.png");
|
||||
|
||||
protected static final ResourceLocation Steel = new ResourceLocation("customnpcs","textures/models/Steel.png");
|
||||
protected static final RenderItem renderer = new RenderItem();
|
||||
|
||||
|
||||
public static float colorTable[][] = {
|
||||
{
|
||||
1.0F, 1.0F, 1.0F
|
||||
@@ -73,8 +81,8 @@ public abstract class BlockRendererInterface extends TileEntitySpecialRenderer i
|
||||
public boolean shouldRender3DInInventory(int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean playerTooFar(TileEntity tile){
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
double d6 = mc.renderViewEntity.posX - tile.xCoord;
|
||||
@@ -83,7 +91,7 @@ public abstract class BlockRendererInterface extends TileEntitySpecialRenderer i
|
||||
|
||||
return d6 * d6 + d7 * d7 + d8 * d8 > specialRenderDistance() * specialRenderDistance();
|
||||
}
|
||||
|
||||
|
||||
public int specialRenderDistance(){
|
||||
return 20;
|
||||
}
|
||||
@@ -103,6 +111,22 @@ public abstract class BlockRendererInterface extends TileEntitySpecialRenderer i
|
||||
manager.bindTexture(PlanksOak);
|
||||
}
|
||||
|
||||
public void setDefaultWoodTexture(int meta){
|
||||
TextureManager manager = Minecraft.getMinecraft().getTextureManager();
|
||||
if(meta == 1)
|
||||
manager.bindTexture(PlanksSpruce);
|
||||
else if(meta == 2)
|
||||
manager.bindTexture(PlanksBirch);
|
||||
else if(meta == 3)
|
||||
manager.bindTexture(PlanksJungle);
|
||||
else if(meta == 4)
|
||||
manager.bindTexture(PlanksAcacia);
|
||||
else if(meta == 5)
|
||||
manager.bindTexture(PlanksBigOak);
|
||||
else
|
||||
manager.bindTexture(PlanksOak);
|
||||
}
|
||||
|
||||
public static void setMaterialTexture(int meta){
|
||||
TextureManager manager = Minecraft.getMinecraft().getTextureManager();
|
||||
if(meta == 1)
|
||||
@@ -115,6 +139,5 @@ public abstract class BlockRendererInterface extends TileEntitySpecialRenderer i
|
||||
manager.bindTexture(Diamond);
|
||||
else
|
||||
manager.bindTexture(PlanksOak);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user