fix dice
|
@ -214,9 +214,6 @@ public abstract class ModelBakery
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final ModelBlock getModel(Item item, ModelProvider provider, String name) {
|
private static final ModelBlock getModel(Item item, ModelProvider provider, String name) {
|
||||||
ModelBlock model = (ModelBlock)item.getCustomModel(provider, name);
|
|
||||||
if(model != null)
|
|
||||||
return new ModelBlock(model, item.getCustomPosition());
|
|
||||||
if(item.hasBuiltinModel())
|
if(item.hasBuiltinModel())
|
||||||
return new ModelBlock(MODEL_ENTITY, GuiPosition.NORMAL);
|
return new ModelBlock(MODEL_ENTITY, GuiPosition.NORMAL);
|
||||||
Block block = item.getBlock();
|
Block block = item.getBlock();
|
||||||
|
|
|
@ -2,44 +2,33 @@ package client.renderer.entity;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import client.Client;
|
import client.renderer.GlState;
|
||||||
import client.renderer.model.ModelDie;
|
import client.renderer.model.ModelDie;
|
||||||
import client.renderer.texture.TextureMap;
|
|
||||||
import common.entity.projectile.EntityDie;
|
import common.entity.projectile.EntityDie;
|
||||||
|
import common.item.projectile.ItemDie;
|
||||||
|
|
||||||
public class RenderDie extends Render<EntityDie>
|
public class RenderDie extends Render<EntityDie> {
|
||||||
{
|
private final ModelDie model = new ModelDie();
|
||||||
private final ModelDie model = new ModelDie();
|
|
||||||
|
|
||||||
public RenderDie(RenderManager renderManagerIn)
|
public RenderDie(RenderManager renderManagerIn) {
|
||||||
{
|
super(renderManagerIn);
|
||||||
super(renderManagerIn);
|
}
|
||||||
// this.shadowSize = 0.09F;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected String getEntityTexture(EntityDie entity)
|
protected String getEntityTexture(EntityDie entity) {
|
||||||
{
|
return "textures/object/die_d" + ((ItemDie)entity.getItem()).getSides() + ".png";
|
||||||
return TextureMap.BLOCKS;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void doRender(EntityDie entity, double x, double y, double z, float partialTicks)
|
public void doRender(EntityDie entity, double x, double y, double z, float partialTicks) {
|
||||||
{
|
GL11.glPushMatrix();
|
||||||
// BlockRendererDispatcher blockrendererdispatcher = Game.getClient().getBlockRendererDispatcher();
|
GL11.glTranslatef((float)x, (float)y + 0.05F, (float)z);
|
||||||
GL11.glPushMatrix();
|
this.bindEntityTexture(entity);
|
||||||
GL11.glTranslatef((float)x, (float)y + 0.05F, (float)z);
|
if(entity.getValue() == 0)
|
||||||
this.bindEntityTexture(entity);
|
|
||||||
if(entity.getValue() == 0)
|
|
||||||
GL11.glRotatef((float)((entity.ticksExisted % 10) * (360 / 10)), 0.3f, 0.4f, 0.1f);
|
GL11.glRotatef((float)((entity.ticksExisted % 10) * (360 / 10)), 0.3f, 0.4f, 0.1f);
|
||||||
// GlState.translate(-0.05F, -0.05F, 0.05F);
|
GL11.glScalef(-0.1f, -0.1f, 0.1f);
|
||||||
GL11.glScalef(0.5f, 0.5f, 0.5f);
|
GlState.disableCull();
|
||||||
Client.CLIENT.getRenderItem().renderItemAsGround(entity.getStack());
|
this.model.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||||
// blockrendererdispatcher.renderBlockBrightness(Blocks.planks.getDefaultState(), entity.getBrightness(partialTicks));
|
GlState.enableCull();
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
super.doRender(entity, x, y, z, partialTicks);
|
super.doRender(entity, x, y, z, partialTicks);
|
||||||
}
|
}
|
||||||
|
|
||||||
// protected boolean canRenderName(EntityDie entity)
|
|
||||||
// {
|
|
||||||
// return entity.getValue() != 0 || super.canRenderName(entity);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +1,16 @@
|
||||||
package client.renderer.model;
|
package client.renderer.model;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
|
||||||
|
|
||||||
import common.entity.Entity;
|
import common.entity.Entity;
|
||||||
|
|
||||||
public class ModelDie extends ModelBase
|
public class ModelDie extends ModelBase {
|
||||||
{
|
ModelRenderer cube;
|
||||||
ModelRenderer cube;
|
|
||||||
|
|
||||||
public ModelDie()
|
public ModelDie() {
|
||||||
{
|
this.cube = new ModelRenderer(this, 0, 0);
|
||||||
this.cube = new ModelRenderer(this, 0, 0);
|
this.cube.addBox(-8.0F, -8.0F, -8.0F, 16, 16, 16);
|
||||||
this.cube.addBox(-8.0F, -8.0F, -8.0F, 16, 16, 16);
|
}
|
||||||
// this.cube.rotationPointY += (float)(24 - 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale)
|
public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale) {
|
||||||
{
|
this.cube.render(scale);
|
||||||
GL11.glPushMatrix();
|
}
|
||||||
GL11.glTranslatef(0.0F, 0.6F, 0.0F);
|
|
||||||
if(Math.abs(entityIn.motionX) > 0.05 || Math.abs(entityIn.motionY) > 0.05 || Math.abs(entityIn.motionZ) > 0.05)
|
|
||||||
GL11.glRotatef((float)((entityIn.ticksExisted % 20) * (360 / 20)), 0.3f, 0.4f, 0.1f);
|
|
||||||
this.cube.render(scale);
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
BIN
client/src/main/resources/textures/items/die_10.png
Executable file
After Width: | Height: | Size: 5 KiB |
BIN
client/src/main/resources/textures/items/die_12.png
Executable file
After Width: | Height: | Size: 4.9 KiB |
BIN
client/src/main/resources/textures/items/die_20.png
Executable file
After Width: | Height: | Size: 5.1 KiB |
BIN
client/src/main/resources/textures/items/die_4.png
Executable file
After Width: | Height: | Size: 4.9 KiB |
BIN
client/src/main/resources/textures/items/die_6.png
Executable file
After Width: | Height: | Size: 4.8 KiB |
BIN
client/src/main/resources/textures/items/die_8.png
Executable file
After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
BIN
client/src/main/resources/textures/object/die_d10.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
client/src/main/resources/textures/object/die_d12.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
client/src/main/resources/textures/object/die_d20.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
client/src/main/resources/textures/object/die_d4.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
client/src/main/resources/textures/object/die_d6.png
Normal file
After Width: | Height: | Size: 6 KiB |
BIN
client/src/main/resources/textures/object/die_d8.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
|
@ -6,6 +6,7 @@ import common.entity.types.EntityLiving;
|
||||||
import common.entity.types.EntityThrowable;
|
import common.entity.types.EntityThrowable;
|
||||||
import common.entity.types.IObjectData;
|
import common.entity.types.IObjectData;
|
||||||
import common.init.SoundEvent;
|
import common.init.SoundEvent;
|
||||||
|
import common.item.Item;
|
||||||
import common.item.ItemStack;
|
import common.item.ItemStack;
|
||||||
import common.item.projectile.ItemDie;
|
import common.item.projectile.ItemDie;
|
||||||
import common.tags.TagObject;
|
import common.tags.TagObject;
|
||||||
|
@ -115,8 +116,8 @@ public class EntityDie extends EntityThrowable implements IObjectData
|
||||||
return this.getValue() != 0;
|
return this.getValue() != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getStack() {
|
public Item getItem() {
|
||||||
return new ItemStack(ItemDie.getBySides(this.sides));
|
return ItemDie.getBySides(this.sides);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean interactFirst(EntityNPC player)
|
public boolean interactFirst(EntityNPC player)
|
||||||
|
@ -125,7 +126,7 @@ public class EntityDie extends EntityThrowable implements IObjectData
|
||||||
{
|
{
|
||||||
if(this.noPickup)
|
if(this.noPickup)
|
||||||
this.setDead();
|
this.setDead();
|
||||||
else if(player.addItemStackToInventory(this.getStack())) {
|
else if(player.addItemStackToInventory(new ItemStack(this.getItem()))) {
|
||||||
this.setDead();
|
this.setDead();
|
||||||
player.worldObj.playSoundAtEntity(player, SoundEvent.POP, 0.2F);
|
player.worldObj.playSoundAtEntity(player, SoundEvent.POP, 0.2F);
|
||||||
player.inventoryContainer.detectAndSendChanges();
|
player.inventoryContainer.detectAndSendChanges();
|
||||||
|
@ -140,7 +141,7 @@ public class EntityDie extends EntityThrowable implements IObjectData
|
||||||
// return false;
|
// return false;
|
||||||
if(!this.worldObj.client && !this.dead) {
|
if(!this.worldObj.client && !this.dead) {
|
||||||
if(!this.noPickup)
|
if(!this.noPickup)
|
||||||
this.entityDropItem(this.getStack(), 0.0f);
|
this.entityDropItem(new ItemStack(this.getItem()), 0.0f);
|
||||||
this.setDead();
|
this.setDead();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -10,9 +10,6 @@ import common.entity.npc.Attribute;
|
||||||
import common.entity.npc.EntityNPC;
|
import common.entity.npc.EntityNPC;
|
||||||
import common.entity.types.EntityLiving;
|
import common.entity.types.EntityLiving;
|
||||||
import common.entity.types.IProjectile;
|
import common.entity.types.IProjectile;
|
||||||
import common.model.Model;
|
|
||||||
import common.model.Model.ModelProvider;
|
|
||||||
import common.model.GuiPosition;
|
|
||||||
import common.tileentity.TileEntity;
|
import common.tileentity.TileEntity;
|
||||||
import common.util.BlockPos;
|
import common.util.BlockPos;
|
||||||
import common.util.Clientside;
|
import common.util.Clientside;
|
||||||
|
@ -351,16 +348,6 @@ public class Item {
|
||||||
return new String[] {name};
|
return new String[] {name};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Clientside
|
|
||||||
public Model getCustomModel(ModelProvider provider, String name) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Clientside
|
|
||||||
public GuiPosition getCustomPosition() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Clientside
|
@Clientside
|
||||||
public String[] getSprites() {
|
public String[] getSprites() {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -10,12 +10,8 @@ import common.init.SoundEvent;
|
||||||
import common.item.CheatTab;
|
import common.item.CheatTab;
|
||||||
import common.item.Item;
|
import common.item.Item;
|
||||||
import common.item.ItemStack;
|
import common.item.ItemStack;
|
||||||
import common.model.Model;
|
|
||||||
import common.model.Model.ModelProvider;
|
|
||||||
import common.model.GuiPosition;
|
|
||||||
import common.tileentity.TileEntity;
|
import common.tileentity.TileEntity;
|
||||||
import common.util.BlockPos;
|
import common.util.BlockPos;
|
||||||
import common.util.Clientside;
|
|
||||||
import common.util.Facing;
|
import common.util.Facing;
|
||||||
import common.util.Pair;
|
import common.util.Pair;
|
||||||
import common.util.Serverside;
|
import common.util.Serverside;
|
||||||
|
@ -83,17 +79,6 @@ public class ItemDie extends Item
|
||||||
return itemStackIn;
|
return itemStackIn;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Clientside
|
|
||||||
public Model getCustomModel(ModelProvider provider, String name) {
|
|
||||||
return provider.getModel("items/die_d" + this.sides + "_side").add(4.8f, 4.8f, 4.8f, 11.2f, 11.2f, 11.2f).nswe().uv(0, 0, 16, 16)
|
|
||||||
.du("items/die_d" + this.sides + "_top").uv(0, 0, 16, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Clientside
|
|
||||||
public GuiPosition getCustomPosition() {
|
|
||||||
return GuiPosition.DICE;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Serverside
|
@Serverside
|
||||||
public ItemStack dispenseStack(AWorldServer world, TileEntity source, Vec3 position, BlockPos blockpos, Facing facing, ItemStack stack) {
|
public ItemStack dispenseStack(AWorldServer world, TileEntity source, Vec3 position, BlockPos blockpos, Facing facing, ItemStack stack) {
|
||||||
return this.dispenseProjectile(world, facing, stack, new EntityDie(world, position.xCoord, position.yCoord, position.zCoord, this.sides), 0.275f, 30.0f);
|
return this.dispenseProjectile(world, facing, stack, new EntityDie(world, position.xCoord, position.yCoord, position.zCoord, this.sides), 0.275f, 30.0f);
|
||||||
|
|
|
@ -5,7 +5,6 @@ import common.util.Clientside;
|
||||||
@Clientside
|
@Clientside
|
||||||
public enum GuiPosition {
|
public enum GuiPosition {
|
||||||
NORMAL(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f),
|
NORMAL(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f),
|
||||||
DICE(135.0f, -55.0f, 180.0f, 0.0f, 0.0f, 0.0f, 2.75f),
|
|
||||||
STAIRS(0.0f, 180.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f),
|
STAIRS(0.0f, 180.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f),
|
||||||
SMALL(0.0f, 0.0f, 0.0f, 0.0f, 0.25f, 0.0f, 1.25f),
|
SMALL(0.0f, 0.0f, 0.0f, 0.0f, 0.25f, 0.0f, 1.25f),
|
||||||
SMALL_FLAT(0.0f, 0.0f, 0.0f, 0.0f, 1.5f, 0.0f, 1.25f),
|
SMALL_FLAT(0.0f, 0.0f, 0.0f, 0.0f, 1.5f, 0.0f, 1.25f),
|
||||||
|
|