From c396475ebd6f40f12e8ab95ac0ea011949604bcb Mon Sep 17 00:00:00 2001 From: Sen Date: Thu, 17 Jul 2025 23:55:47 +0200 Subject: [PATCH] improve wielding concept --- .../java/client/renderer/ItemRenderer.java | 52 +++--- .../renderer/blockmodel/BakedModel.java | 8 +- .../renderer/blockmodel/BuiltInModel.java | 4 +- .../renderer/blockmodel/IBakedModel.java | 4 +- .../renderer/blockmodel/ModelBlock.java | 22 +-- .../client/renderer/entity/RenderDie.java | 3 +- .../renderer/entity/RenderEntityItem.java | 9 +- .../renderer/entity/RenderHumanoid.java | 7 +- .../client/renderer/entity/RenderItem.java | 79 ++++++--- .../renderer/entity/RenderItemEntity.java | 4 +- .../renderer/entity/RenderSpaceMarine.java | 2 +- .../client/renderer/layers/LayerHeldItem.java | 6 +- .../resources/textures/blocks/trip_wire.png | Bin 281 -> 4722 bytes .../textures/items/plasma_bucket.png | Bin 0 -> 5657 bytes common/src/main/java/common/block/Block.java | 18 +- .../common/block/artificial/BlockCake.java | 1 - .../common/block/artificial/BlockCarpet.java | 6 +- .../common/block/artificial/BlockDoor.java | 5 + .../common/block/artificial/BlockFence.java | 6 +- .../block/artificial/BlockFenceGate.java | 6 +- .../block/artificial/BlockFlowerPot.java | 6 +- .../common/block/artificial/BlockLadder.java | 5 + .../common/block/artificial/BlockPane.java | 10 ++ .../common/block/artificial/BlockSkull.java | 6 +- .../common/block/artificial/BlockStairs.java | 6 +- .../block/artificial/BlockTrapDoor.java | 6 +- .../common/block/foliage/BlockBlueShroom.java | 5 + .../java/common/block/foliage/BlockCocoa.java | 5 + .../common/block/foliage/BlockDeadBush.java | 5 + .../block/foliage/BlockDoublePlant.java | 5 + .../common/block/foliage/BlockFlower.java | 5 + .../common/block/foliage/BlockLilyPad.java | 5 + .../common/block/foliage/BlockMushroom.java | 5 + .../java/common/block/foliage/BlockReed.java | 6 +- .../common/block/foliage/BlockSapling.java | 5 + .../common/block/foliage/BlockTallGrass.java | 5 + .../java/common/block/foliage/BlockVine.java | 5 + .../java/common/block/natural/BlockSnow.java | 6 +- .../java/common/block/natural/BlockWeb.java | 5 + .../java/common/block/tech/BlockAnvil.java | 6 +- .../common/block/tech/BlockBrewingStand.java | 1 - .../java/common/block/tech/BlockButton.java | 6 +- .../java/common/block/tech/BlockCauldron.java | 1 - .../block/tech/BlockDaylightDetector.java | 6 +- .../java/common/block/tech/BlockDisplay.java | 6 +- .../java/common/block/tech/BlockHopper.java | 1 - .../java/common/block/tech/BlockLever.java | 5 + .../java/common/block/tech/BlockRail.java | 5 + .../java/common/block/tech/BlockTorch.java | 5 + .../java/common/block/tech/BlockTripWire.java | 6 +- .../common/block/tech/BlockTripWireHook.java | 5 + .../java/common/block/tech/BlockWire.java | 6 +- .../src/main/java/common/dimension/Star.java | 2 +- .../java/common/entity/npc/EntityNPC.java | 4 +- .../main/java/common/init/ItemRegistry.java | 17 +- common/src/main/java/common/init/Items.java | 13 +- common/src/main/java/common/item/Item.java | 16 +- common/src/main/java/common/item/ItemRod.java | 9 - .../src/main/java/common/item/ItemSmall.java | 9 - .../src/main/java/common/item/ItemStack.java | 4 +- .../src/main/java/common/item/ItemStick.java | 9 - .../src/main/java/common/item/ItemTiny.java | 9 - .../src/main/java/common/item/WieldType.java | 5 + .../main/java/common/item/block/ItemBed.java | 14 ++ .../java/common/item/block/ItemBlock.java | 8 +- .../main/java/common/item/block/ItemDoor.java | 14 ++ .../common/item/block/ItemDoublePlant.java | 7 +- .../main/java/common/item/block/ItemPane.java | 19 ++ .../java/common/item/block/ItemSeeds.java | 6 +- .../java/common/item/material/ItemDye.java | 15 ++ .../java/common/item/material/ItemNugget.java | 10 -- .../main/java/common/item/tool/ItemArmor.java | 7 +- .../main/java/common/item/tool/ItemBow.java | 13 +- .../java/common/item/tool/ItemBucketMilk.java | 2 +- .../java/common/item/tool/ItemCamera.java | 2 +- .../common/item/tool/ItemCarrotOnAStick.java | 9 +- .../main/java/common/item/tool/ItemDie.java | 10 +- .../java/common/item/tool/ItemEditor.java | 6 +- .../java/common/item/tool/ItemFishingRod.java | 9 +- .../main/java/common/item/tool/ItemFood.java | 2 +- .../java/common/item/tool/ItemGunBase.java | 13 +- .../main/java/common/item/tool/ItemHoe.java | 11 +- .../main/java/common/item/tool/ItemKey.java | 4 - .../java/common/item/tool/ItemMagnet.java | 9 +- .../java/common/item/tool/ItemPotion.java | 2 +- .../java/common/item/tool/ItemScanner.java | 5 + .../java/common/item/tool/ItemShears.java | 5 +- .../main/java/common/item/tool/ItemSoup.java | 6 +- .../main/java/common/item/tool/ItemSword.java | 13 +- .../main/java/common/item/tool/ItemTool.java | 11 +- .../main/java/common/item/tool/ItemWand.java | 9 +- .../main/java/common/model/ModelProvider.java | 8 +- .../main/java/common/model/ModelRotation.java | 47 ++--- .../src/main/java/common/model/Transform.java | 85 ++++++++- .../main/java/common/model/Transforms.java | 163 ------------------ 95 files changed, 521 insertions(+), 527 deletions(-) create mode 100755 client/src/main/resources/textures/items/plasma_bucket.png delete mode 100755 common/src/main/java/common/item/ItemRod.java delete mode 100755 common/src/main/java/common/item/ItemSmall.java delete mode 100755 common/src/main/java/common/item/ItemStick.java delete mode 100755 common/src/main/java/common/item/ItemTiny.java create mode 100644 common/src/main/java/common/item/WieldType.java create mode 100644 common/src/main/java/common/item/block/ItemPane.java delete mode 100755 common/src/main/java/common/item/material/ItemNugget.java delete mode 100755 common/src/main/java/common/model/Transforms.java diff --git a/client/src/main/java/client/renderer/ItemRenderer.java b/client/src/main/java/client/renderer/ItemRenderer.java index a533f344..e6b7dbf7 100755 --- a/client/src/main/java/client/renderer/ItemRenderer.java +++ b/client/src/main/java/client/renderer/ItemRenderer.java @@ -21,7 +21,7 @@ import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; import common.model.BlockLayer; -import common.model.Transforms; +import common.model.Transform; import common.util.BlockPos; import common.util.ExtMath; import common.util.Vec3; @@ -99,34 +99,32 @@ public class ItemRenderer this.itemRenderer = gmIn.getRenderItem(); } - public void renderItem(EntityLiving entityIn, ItemStack heldStack, Transforms.Camera transform) + public void renderItem(EntityLiving entityIn, ItemStack heldStack, boolean third) { if (heldStack != null) { Item item = heldStack.getItem(); - if(item.isFirstPerson() || transform != Transforms.Camera.FIRST_PERSON) { - Block block = item.getBlock(); - GL11.glPushMatrix(); - - if (this.itemRenderer.shouldRenderItemIn3D(heldStack)) - { - GL11.glScalef(2.0F, 2.0F, 2.0F); - - if (this.isBlockTranslucent(block)) - { - GlState.depthMask(false); - } - } - - this.itemRenderer.renderItemModelForEntity(heldStack, entityIn, transform); - - if (this.isBlockTranslucent(block)) - { - GlState.depthMask(true); - } - - GL11.glPopMatrix(); + Block block = item.getBlock(); + GL11.glPushMatrix(); + + if (this.itemRenderer.shouldRenderItemIn3D(heldStack)) + { + GL11.glScalef(2.0F, 2.0F, 2.0F); + + if (this.isBlockTranslucent(block)) + { + GlState.depthMask(false); + } } + + this.itemRenderer.renderItemForEntity(heldStack, entityIn, third); + + if (this.isBlockTranslucent(block)) + { + GlState.depthMask(true); + } + + GL11.glPopMatrix(); } } @@ -362,7 +360,7 @@ public class ItemRenderer GlState.enableRescaleNormal(); GL11.glPushMatrix(); - if (this.itemToRender != null) + if (this.itemToRender != null && (this.itemToRender.getItem().getWieldType() != null || (clientplayer.getItemInUseCount() > 0 && this.itemToRender.getItemUseAction() != ItemAction.NONE))) { if (clientplayer.getItemInUseCount() > 0) { @@ -396,9 +394,9 @@ public class ItemRenderer this.transformFirstPersonItem(f, f1); } - this.renderItem(clientplayer, this.itemToRender, Transforms.Camera.FIRST_PERSON); + this.renderItem(clientplayer, this.itemToRender, false); } - else + else if(this.itemToRender == null || this.itemToRender.getItem().canRenderHand()) { this.renderPlayerArm(clientplayer, f, f1); } diff --git a/client/src/main/java/client/renderer/blockmodel/BakedModel.java b/client/src/main/java/client/renderer/blockmodel/BakedModel.java index c0ccd78e..c238b987 100755 --- a/client/src/main/java/client/renderer/blockmodel/BakedModel.java +++ b/client/src/main/java/client/renderer/blockmodel/BakedModel.java @@ -5,10 +5,10 @@ import java.util.List; import client.renderer.texture.TextureAtlasSprite; import common.collect.Lists; -import common.model.Transforms; +import common.model.Transform; import common.util.Facing; -public record BakedModel(List getQuads, List> getFace, boolean isGui3d, TextureAtlasSprite getBaseTexture, Transforms getTransforms) implements IBakedModel { +public record BakedModel(List getQuads, List> getFace, boolean isGui3d, TextureAtlasSprite getBaseTexture, Transform getTransforms) implements IBakedModel { public List getFace(Facing face) { return this.getFace.get(face.ordinal()); } @@ -22,7 +22,7 @@ public record BakedModel(List getQuads, List> getFace private final List> faces; private TextureAtlasSprite texture; private boolean gui3d; - private Transforms transforms; + private Transform transforms; public Builder(ModelBlock model) { this(model.isGui3d(), model.getTransform()); @@ -51,7 +51,7 @@ public record BakedModel(List getQuads, List> getFace } } - private Builder(boolean gui3d, Transforms transforms) { + private Builder(boolean gui3d, Transform transforms) { this.quads = Lists.newArrayList(); this.faces = new ArrayList>(6); diff --git a/client/src/main/java/client/renderer/blockmodel/BuiltInModel.java b/client/src/main/java/client/renderer/blockmodel/BuiltInModel.java index fd40a163..b35656fe 100755 --- a/client/src/main/java/client/renderer/blockmodel/BuiltInModel.java +++ b/client/src/main/java/client/renderer/blockmodel/BuiltInModel.java @@ -3,10 +3,10 @@ package client.renderer.blockmodel; import java.util.List; import client.renderer.texture.TextureAtlasSprite; -import common.model.Transforms; +import common.model.Transform; import common.util.Facing; -public record BuiltInModel(Transforms getTransforms) implements IBakedModel { +public record BuiltInModel(Transform getTransforms) implements IBakedModel { public List getFace(Facing face) { return null; } diff --git a/client/src/main/java/client/renderer/blockmodel/IBakedModel.java b/client/src/main/java/client/renderer/blockmodel/IBakedModel.java index d1de616b..a3d98209 100755 --- a/client/src/main/java/client/renderer/blockmodel/IBakedModel.java +++ b/client/src/main/java/client/renderer/blockmodel/IBakedModel.java @@ -3,7 +3,7 @@ package client.renderer.blockmodel; import java.util.List; import client.renderer.texture.TextureAtlasSprite; -import common.model.Transforms; +import common.model.Transform; import common.util.Facing; public interface IBakedModel @@ -18,5 +18,5 @@ public interface IBakedModel TextureAtlasSprite getBaseTexture(); - Transforms getTransforms(); + Transform getTransforms(); } diff --git a/client/src/main/java/client/renderer/blockmodel/ModelBlock.java b/client/src/main/java/client/renderer/blockmodel/ModelBlock.java index a4586b9f..dd26ac5a 100755 --- a/client/src/main/java/client/renderer/blockmodel/ModelBlock.java +++ b/client/src/main/java/client/renderer/blockmodel/ModelBlock.java @@ -8,7 +8,7 @@ import common.collect.Maps; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.model.Transforms; +import common.model.Transform; import common.util.Facing; import common.util.Vector3f; @@ -18,11 +18,11 @@ public class ModelBlock extends Model { return new ModelBlock(primary); } - public Model getModel(Transforms transform, String... layers) { + public Model getModel(Transform transform, String... layers) { return new ModelBlock(transform, layers); } - public Model getModel(Model parent, Transforms transform) { + public Model getModel(Model parent, Transform transform) { return new ModelBlock((ModelBlock)parent, transform); } @@ -39,7 +39,7 @@ public class ModelBlock extends Model { private ModelRotation rotation; private boolean uvLock; - private Transforms transform; + private Transform transform; private BlockPart lastPart; private BlockPartFace[] last; @@ -118,29 +118,29 @@ public class ModelBlock extends Model { public ModelBlock(String primary) { - this(null, Lists.newArrayList(), primary != null && primary.indexOf('/') == -1 ? "blocks/" + primary : primary, true, true, Transforms.DEFAULT, null); + this(null, Lists.newArrayList(), primary != null && primary.indexOf('/') == -1 ? "blocks/" + primary : primary, true, true, Transform.IDENTITY, null); } - public ModelBlock(Transforms transform, String ... layers) { + public ModelBlock(Transform transform, String ... layers) { this(ModelBakery.MODEL_GENERATED, ModelBakery.MODEL_GENERATED.elements, layers[0].indexOf('/') == -1 ? "items/" + layers[0] : layers[0], false, false, transform, layers); } - public ModelBlock(ModelBlock parent, Transforms transform) { + public ModelBlock(ModelBlock parent, Transform transform) { this(parent, Lists.newArrayList(), parent.getPrimary(), false, true, transform, null); } - public ModelBlock(String primary, Transforms transform, String ... layers) { + public ModelBlock(String primary, Transform transform, String ... layers) { this(ModelBakery.MODEL_GENERATED, ModelBakery.MODEL_GENERATED.elements, primary.indexOf('/') == -1 ? "items/" + primary : primary, false, false, transform, layers); } - public ModelBlock(String primary, List elements, Transforms transform, String ... layers) { + public ModelBlock(String primary, List elements, Transform transform, String ... layers) { this(null, elements, primary, false, false, transform, layers); } private ModelBlock(ModelBlock parent, List elements, String primary, boolean occlude, boolean gui3d, - Transforms transform, String[] layers) { + Transform transform, String[] layers) { for(int z = 0; layers != null && z < layers.length; z++) { layers[z] = layers[z].indexOf('/') == -1 ? "items/" + layers[z] : layers[z]; } @@ -178,7 +178,7 @@ public class ModelBlock extends Model { return this.parent; } - public Transforms getTransform() { + public Transform getTransform() { return this.transform; } diff --git a/client/src/main/java/client/renderer/entity/RenderDie.java b/client/src/main/java/client/renderer/entity/RenderDie.java index 0786f455..976325af 100755 --- a/client/src/main/java/client/renderer/entity/RenderDie.java +++ b/client/src/main/java/client/renderer/entity/RenderDie.java @@ -6,7 +6,6 @@ import client.Client; import client.renderer.model.ModelDie; import client.renderer.texture.TextureMap; import common.entity.projectile.EntityDie; -import common.model.Transforms.Camera; public class RenderDie extends Render { @@ -33,7 +32,7 @@ public class RenderDie extends Render 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.5f, 0.5f, 0.5f); - Client.CLIENT.getRenderItem().renderItem(entity.getStack(), Camera.GROUND); + Client.CLIENT.getRenderItem().renderItemAsGround(entity.getStack()); // blockrendererdispatcher.renderBlockBrightness(Blocks.planks.getDefaultState(), entity.getBrightness(partialTicks)); GL11.glPopMatrix(); super.doRender(entity, x, y, z, partialTicks); diff --git a/client/src/main/java/client/renderer/entity/RenderEntityItem.java b/client/src/main/java/client/renderer/entity/RenderEntityItem.java index 825c90dc..167fc1ae 100755 --- a/client/src/main/java/client/renderer/entity/RenderEntityItem.java +++ b/client/src/main/java/client/renderer/entity/RenderEntityItem.java @@ -8,7 +8,6 @@ import client.renderer.texture.TextureMap; import common.entity.item.EntityItem; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; import common.rng.Random; import common.util.ExtMath; @@ -40,8 +39,7 @@ public class RenderEntityItem extends Render int i = this.getMultiplier(itemstack); float f = 0.25F; float f1 = ExtMath.sin(((float)itemIn.getAge() + p_177077_8_) / 10.0F + itemIn.hoverStart) * 0.1F + 0.1F; - float f2 = p_177077_9_.getTransforms().get(Transforms.Camera.GROUND).scale(); - GL11.glTranslatef((float)p_177077_2_, (float)p_177077_4_ + f1 + 0.25F * f2, (float)p_177077_6_); + GL11.glTranslatef((float)p_177077_2_, (float)p_177077_4_ + f1 + 0.25F, (float)p_177077_6_); if (flag || this.manager.gm != null) { @@ -126,18 +124,15 @@ public class RenderEntityItem extends Render } GL11.glScalef(0.5F, 0.5F, 0.5F); - RenderItem.apply(ibakedmodel.getTransforms(), Transforms.Camera.GROUND); this.itemRenderer.renderItem(itemstack, ibakedmodel); GL11.glPopMatrix(); } else { GL11.glPushMatrix(); - RenderItem.apply(ibakedmodel.getTransforms(), Transforms.Camera.GROUND); this.itemRenderer.renderItem(itemstack, ibakedmodel); GL11.glPopMatrix(); - float f3 = ibakedmodel.getTransforms().ground.scale(); - GL11.glTranslatef(0.0F, 0.0F, 0.046875F * f3); + GL11.glTranslatef(0.0F, 0.0F, 0.046875F); } } diff --git a/client/src/main/java/client/renderer/entity/RenderHumanoid.java b/client/src/main/java/client/renderer/entity/RenderHumanoid.java index 5fe8115a..41ca35a5 100755 --- a/client/src/main/java/client/renderer/entity/RenderHumanoid.java +++ b/client/src/main/java/client/renderer/entity/RenderHumanoid.java @@ -128,7 +128,7 @@ public class RenderHumanoid extends RenderNpc modelplayer.raisedArms = npc.hasArmsRaised(); // modelplayer.sticks = npc.hasPowerRods(); - if (itemstack == null) + if (itemstack == null || itemstack.getItem().getWieldType() == null) { modelplayer.heldItemRight = 0; } @@ -210,6 +210,11 @@ public class RenderHumanoid extends RenderNpc this.setModelVisibilities(entity); modelplayer.swingProgress = 0.0F; modelplayer.isSneak = false; + modelplayer.heldItemRight = 0; + modelplayer.heldItemLeft = 0; + modelplayer.aimedBow = false; + modelplayer.isRiding = false; + modelplayer.raisedArms = false; modelplayer.setRotationAngles(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, entity); modelplayer.renderRightArm((float)this.arms - 12.0f); } diff --git a/client/src/main/java/client/renderer/entity/RenderItem.java b/client/src/main/java/client/renderer/entity/RenderItem.java index 522de1df..dac3a7c0 100755 --- a/client/src/main/java/client/renderer/entity/RenderItem.java +++ b/client/src/main/java/client/renderer/entity/RenderItem.java @@ -19,8 +19,8 @@ import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.item.Item; import common.item.ItemStack; +import common.item.WieldType; import common.model.Transform; -import common.model.Transforms; import common.util.Facing; import common.util.Vec3i; @@ -185,16 +185,16 @@ public class RenderItem } } - public void renderItem(ItemStack stack, Transforms.Camera cameraTransformType) + public void renderItemAsGround(ItemStack stack) { if (stack != null) { IBakedModel ibakedmodel = this.mesher.getItemModel(stack); - this.renderItemModelTransform(stack, ibakedmodel, cameraTransformType); + this.renderItemModelTransform(stack, ibakedmodel, false, false); } } - public void renderItemModelForEntity(ItemStack stack, EntityLiving entityToRenderFor, Transforms.Camera cameraTransformType) + public void renderItemForEntity(ItemStack stack, EntityLiving entityToRenderFor, boolean third) { if (stack != null && entityToRenderFor != null) { @@ -209,11 +209,11 @@ public class RenderItem ibakedmodel = this.mesher.getModelManager().getModel("item/" + sprite); } - this.renderItemModelTransform(stack, ibakedmodel, cameraTransformType); + this.renderItemModelTransform(stack, ibakedmodel, true, third); } } - protected void renderItemModelTransform(ItemStack stack, IBakedModel model, Transforms.Camera cameraTransformType) + protected void renderItemModelTransform(ItemStack stack, IBakedModel model, boolean transform, boolean third) { this.manager.bindTexture(TextureMap.BLOCKS); this.preTransform(stack); @@ -222,9 +222,45 @@ public class RenderItem GlState.enableBlend(); GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GL11.glPushMatrix(); - Transforms itemcameratransforms = model.getTransforms(); - RenderItem.apply(itemcameratransforms, cameraTransformType); - + if(transform) { + WieldType type = stack.getItem().getWieldType(); + if(type == null) + type = WieldType.DEFAULT; + if(third) { + switch(type) { + case DEFAULT: + GL11.glTranslatef(0.0f, 0.0625f, -3.0f * 0.0625f); + GL11.glRotatef(-90.0f, 1.0F, 0.0F, 0.0F); + GL11.glScalef(0.55f, 0.55f, 0.55f); + break; + case TOOL_FLIP: + GL11.glTranslatef(0.0f, 0.0f, -3.5f * 0.0625f); + GL11.glRotatef(90.0f, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(180.0f, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F); + GL11.glScalef(0.85f, 0.85f, 0.85f); + break; + case TOOL: + GL11.glTranslatef(0.0f, 1.25f * 0.0625f, -3.5f * 0.0625f); + GL11.glRotatef(90.0f, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F); + GL11.glScalef(0.85f, 0.85f, 0.85f); + break; + case RANGED: + GL11.glTranslatef(0.75f * 0.0625f, 0.0f, 0.25f * 0.0625f); + GL11.glRotatef(80.0f, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(5.0f, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-45.0f, 0.0F, 0.0F, 1.0F); + break; + } + } + else { + GL11.glTranslatef(0.0f, 4.0f * 0.0625f, 2.0f * 0.0625f); + GL11.glRotatef(type == WieldType.TOOL_FLIP ? 45.0f : -135.0f, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(25.0f, 0.0F, 0.0F, 1.0F); + GL11.glScalef(1.7f, 1.7f, 1.7f); + } + } this.renderItem(stack, model); GlState.cullFace(GL11.GL_BACK); GL11.glPopMatrix(); @@ -245,8 +281,20 @@ public class RenderItem GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.color(1.0F, 1.0F, 1.0F, 1.0F); this.setupGuiTransform(x, y, ibakedmodel.isGui3d()); - RenderItem.apply(ibakedmodel.getTransforms(), Transforms.Camera.GUI); + Transform vec = ibakedmodel.getTransforms(); + if(vec != Transform.IDENTITY) { + GL11.glTranslatef(vec.translationX(), vec.translationY(), vec.translationZ()); + GL11.glRotatef(vec.rotationY(), 0.0F, 1.0F, 0.0F); + GL11.glRotatef(vec.rotationX(), 1.0F, 0.0F, 0.0F); + GL11.glRotatef(vec.rotationZ(), 0.0F, 0.0F, 1.0F); + GL11.glScalef(vec.scale(), vec.scale(), vec.scale()); + } + boolean cull = GlState.isCullEnabled(); + if(!cull) + GlState.enableCull(); this.renderItem(stack, ibakedmodel); + if(!cull) + GlState.disableCull(); GlState.disableAlpha(); GlState.disableRescaleNormal(); GlState.disableLighting(); @@ -292,15 +340,4 @@ public class RenderItem { this.mesher.rebuildCache(); } - - public static void apply(Transforms trans, Transforms.Camera type) { - Transform vec = trans.get(type); - if(vec != Transform.IDENTITY) { - GL11.glTranslatef(vec.translationX(), vec.translationY(), vec.translationZ()); - GL11.glRotatef(vec.rotationY(), 0.0F, 1.0F, 0.0F); - GL11.glRotatef(vec.rotationX(), 1.0F, 0.0F, 0.0F); - GL11.glRotatef(vec.rotationZ(), 0.0F, 0.0F, 1.0F); - GL11.glScalef(vec.scale(), vec.scale(), vec.scale()); - } - } } diff --git a/client/src/main/java/client/renderer/entity/RenderItemEntity.java b/client/src/main/java/client/renderer/entity/RenderItemEntity.java index b65fff95..1606717c 100755 --- a/client/src/main/java/client/renderer/entity/RenderItemEntity.java +++ b/client/src/main/java/client/renderer/entity/RenderItemEntity.java @@ -7,7 +7,7 @@ import client.renderer.texture.TextureMap; import common.entity.Entity; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; +import common.model.Transform; public class RenderItemEntity extends Render @@ -31,7 +31,7 @@ public class RenderItemEntity extends Render GL11.glRotatef(-this.manager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(this.manager.playerViewX, 1.0F, 0.0F, 0.0F); this.bindTexture(TextureMap.BLOCKS); - this.itemRenderer.renderItem(this.getStack(entity), Transforms.Camera.GROUND); + this.itemRenderer.renderItemAsGround(this.getStack(entity)); GlState.disableRescaleNormal(); GL11.glPopMatrix(); super.doRender(entity, x, y, z, partialTicks); diff --git a/client/src/main/java/client/renderer/entity/RenderSpaceMarine.java b/client/src/main/java/client/renderer/entity/RenderSpaceMarine.java index e925ab26..86ff3bc6 100755 --- a/client/src/main/java/client/renderer/entity/RenderSpaceMarine.java +++ b/client/src/main/java/client/renderer/entity/RenderSpaceMarine.java @@ -47,7 +47,7 @@ public class RenderSpaceMarine extends RenderNpc modelplayer.aimedBow = false; modelplayer.isSneak = false; - if (itemstack == null) + if (itemstack == null || itemstack.getItem().getWieldType() == null) { modelplayer.heldItemRight = 0; } diff --git a/client/src/main/java/client/renderer/layers/LayerHeldItem.java b/client/src/main/java/client/renderer/layers/LayerHeldItem.java index 2c6bf9e5..86808d20 100755 --- a/client/src/main/java/client/renderer/layers/LayerHeldItem.java +++ b/client/src/main/java/client/renderer/layers/LayerHeldItem.java @@ -11,7 +11,7 @@ import common.init.Items; import common.item.Item; import common.item.ItemStack; import common.item.block.ItemBlock; -import common.model.Transforms; +import common.model.Transform; public class LayerHeldItem implements LayerRenderer { @@ -30,7 +30,7 @@ public class LayerHeldItem implements LayerRenderer { ItemStack itemstack = entitylivingbaseIn.getHeldItem(); - if (itemstack != null) + if (itemstack != null && itemstack.getItem().getWieldType() != null) { GL11.glPushMatrix(); @@ -69,7 +69,7 @@ public class LayerHeldItem implements LayerRenderer GL11.glTranslatef(0.0F, 0.203125F, 0.0F); } - gm.getItemRenderer().renderItem(entitylivingbaseIn, itemstack, Transforms.Camera.THIRD_PERSON); + gm.getItemRenderer().renderItem(entitylivingbaseIn, itemstack, true); GL11.glPopMatrix(); } } diff --git a/client/src/main/resources/textures/blocks/trip_wire.png b/client/src/main/resources/textures/blocks/trip_wire.png index 42126b808e4b82e1a4deeb3e47b54fb1ff6d4755..235bd610c054e45462cf3fad71abe62c86e6ec4f 100755 GIT binary patch literal 4722 zcmeHKdr%YS77u67Im|`30ug6WPyM>K0wqF zMe%Xz@DN|1XhF1~76o6ZMX6$yhiFIZRazBM(fZc=ZGwo?&fIb4_CK<-$$sZM=l7lS zJCDh(4iB5|U_Z*9!C*MZWzq=n>qOtSHsJf~?)NBzG2m2sR16h?rb2pyPDLgX5S6AU zAi_kd7!1?3&gj?!9-c$qw0PdNl_mZr+ULADL;P-B)wOa%UB|6JG_)J48&q{NnJ6%Pp0izD>_|wSD1} zG+?f4-J+UR4+M@=qIb@%wmDX%t*Y#PhI?nOD$-<*Z6DZnBJtbHBkYD6{#|-|nfqF| zvKm3U^3M7f^JZ2girYdTgyf#${(5iqTZvc5y|4XzZ;VT87RGKncNAYzi}Bsh7ger# zU>)IJt>~N^JFa#3;k@$AOI?r8I_?&ceQ-R#eowi`zA-BD(&ULFE(uzbZePfF&5JI# zZIVy4n$3);XV3T|RbE#3=17}KHgIF(WLddaXY{%lQ&N8DuKN6wMl8>MKz8MSZcp3F z9*J$SKG@_jdsPTN;VU%suFBCHK8b~t%^!O7P>cG>w{U=#RAvu ztRa#!RW{;k2ZrbJgq#Jf%dPgGY3|;~-f%8kI@z|tHg4ZWYn#@Eq-{jF$m;s;(3Y5? zY24wQ@L^96UpSt5$VyOpusL9haZJZVq~5LJ*Yu8Kj{fP-e(G3|G1x!T>C{md;}1=< zo^nr*6qMv$EsLxO+)*~6QJ!1B>yJnomz?3LesLk-=a@oty>WwbjaSi(NtN;P@v}#7 zy;oMT?M#{A>h+y%S+94j7?EFn#n7>C$CbF}lBcazrA33*UE9yU{>UR+MD5(**z7Zh z(>b8ogegXpl%Rew89ry+mvZL zWiJbCiG6dk&^LE;(@)puKc3bkc|2iB!)V1lfBa!XyL*D>-H@v*Dy!_(5o?2=p|uGk z8oSSG-KX23!#wZA?U~F;as0FNU-m7rqT*nGDC_Rtmez{eX-T&(Z8$sr&| z;m6+LefY)$saH)*!aONfld0fe^l-Ot&-ZOSf9z#p)j5~=S#!GUfAk7-UwL?6iL0=5 z((TUezVWYWFA9Czp9DOIzDs?Ki`yPOEZDaGcX;qy zmY#r#apn|%dp{Eb05k-JLMBb3)`*xSOfxP5o@p_M37J)>1PL=n5e^0E3P;flp#4$R~5cr2j7GNx%M z)Wp&nJ!l9EhLkX322xLvIxR$FqDoydC1EnbKJ>vqjb5SXh1VK;SO9!*OsJm2Wy2he zhSS%=NCl?=kRFHr*1{MCrXnYTFzS*G7!jO8Xep1r5IELruTM54n!~{{4v|P`fT|Ik z%KhZX>2gJQuLVtkn$+mcR)FkJG$~T`k*rUAqj${V^mPQ7_u_t{{ULUP1@ zg9~8-Rl+O`=c`zJrBKCE(tZiVFf0;_lmZdY0)=D9G@U_%f^?D^R84U7TDAEMns6jA zTrOeq*cQjllJG>7QUL=AGnCXOn?9;Wks2bBLTNU+LIF=GuA2 zX-qE6_O|TMX+c0RfLN5SQvmQGN+ifYpp?!KrPC!!n6v{BZP~l60PTdM6e>k20)WCi z0RjsVt}u!#M)=+cSL_Az5V()N4kuM<|4W;09>~v0zolL2u3u8z|DRFEXx)ak80Hfm>xal`aw?qO(}>}0vHG6u~1A2@`v$Y7AjET zEU}2MQsDv-rV?04>P0u|R8%TzAOh8ZN5B;*Pcv80By*xXKlLRwo}jY;2xGxQ)?W$Z z^aRYIXU2z!{WyQ&#LukIXUG6Miwq1eFbg@o!?1@l;O{^A>B+@Ec?1OYAM#oJ_S4l* z*Jm;CS<3y@)lb)FG4NT+{nhnlC2{|AJEKm!;Yx{@_K+Mj0|)${0moQ;y$X z3M6)VS*(%4`0^xuTMeHygBA{==JZC zyUFSZl=P*SbgJ7@yH*DC&Xd&x2k*~VIBE5$+yepkBj0sDKV)4n)cN7-uto84E&P>E zzaN`vyq5ekF}6z*oXO06>|||qQ?%}6$ca(;9Y?-!2YGeWicoPv7{e&;TG$-(3x9syrZi3a0bo7n d*8IA?uED1>A`PW$HUPgF^58IO`P2o={|o6P@7MqU delta 254 zcmVN2bPDNB8b~7$DE-^7j^FlWO005OqL_t(IPwh~<4MZUf zV^2yNBzhQw0HRJVE_OC07*qoM6N<$ Ef)T-D4*&oF diff --git a/client/src/main/resources/textures/items/plasma_bucket.png b/client/src/main/resources/textures/items/plasma_bucket.png new file mode 100755 index 0000000000000000000000000000000000000000..7cad0557b0364081bed4e78fcbc3f1d7e8c4aa8b GIT binary patch literal 5657 zcmeHK2~bnl8onropdesT!HsKNf!^#P3q*{75FvnUhE}XMH#cyFEGCfzp41H&1nC2; zSP(=Mfg-fDV#N*7Qa7;mxm5uzMO=zV-Ngla5>Rp4nK#aReKT*yWRl$bpa1{P|9}5? z&dE&+4feMkI%X&YLAK%m-!SlNZ~Bl);M?W?OB8}Ek0eJ(^Ng5o+ zjf4V%jF(&IMQ3+Rw|RcUQD+$l+aE(WY##gI?zHIJ$?^UN^LiKUFU%TpA=?$rCF**+ zuDgs2I_*47l=7hWa9eTu7Wig$Ci^S>-lSIUG1rz`O`Q7B=#0eHFRyln2*(>XO&4X4 z_4(+L@1d>hRLvKye44YyJ1|oB*)}MT-^(jf!j-#+yKq`|{Z=ND;JTb*+k@P-#$ z<2*KY5BjNMkoTtA=x?m5F6cSX4EO`m`JmmfFe2&~2`Yldc@DsH_ua+u`1yVDiP;l`@ek|6qQ4gDM` zIYF^-)-M0Gu1<5{Q+&}2%hIxKlcTn*Gg=pqn3B|4FuFVCcPu=po)o*%(q-09_C8@1 z!F~rxksI9A}XtQ&bBQ%H$Uh4$8ncsf#XXqRNkrzd@R&=RhOpMNIK8O{RzWZT9TVV+s_&Sb2eoUvA9F*MIAcI~fSM^@F=UvhAcnV13Nnka%!BE?MF6g{%R9w%>KZgDq>;93-abEVGd_`3|jhF%Eeb3Yk)=v~9b( zVo`R-N-seHH#MuZ;hQxz7s?6`UyEAtK?)-(MBI~oMHW{mx}A1KIa;{Ja6Z1OSh@eE zz0B})+NjMX6Oy($yB%6D+pzldf%Fy_RZXldB8(4Jyv{Q&4vD2xH|{HNjQtuZp4=?{ z*h2Z-_w=S&4j-0EUm&LhSALc~n$zRaK`V1<%+I+|L7r1fCqJCg;r>wD61Ca~xpR_a zU$Q@Oi)TptgSM!P7LTGK$x#d|3CFfCC^;8$;)-gXg7nLeM|zS%pRBpPj8djZ6d9Vz ze2zt`nja7LXfoVNId=8Lu5FuLkho=+EbCmF#)fbu*{8c~4?f@g$-1tLo0n26UFPu% zkb9%1ZLNzx`TYB5vAbR@_OWpJq`mIuOQ`sCTT6LCLo(RZ(7)Wx2#p>y?Pfyp3ERVT zo2UO+pZUuww-bUI?-w0sUW{~f9pX$s?pe1nelYb+o740mJx5Q53CCb|b{#7&-^6Gq zI;=6>x7*V%CPm^FEDy&!Bd&#bLXe#k0k%%5BuId%l~h!&mf=*RQUkJpATMvD2F2oW zJuJgx36+r2y}ynE6LKMC9!El#XngQEA|P3dhbIR|V9D_qUrzC!G1SW_002r{kHSV} zf=VYa3Mpn>0k}4qX%yJ(qK_9+q>@nBN3F$SHkD1KBYs9Akx7{`6!y}}6@oC|+5HgU zPDqK<>oo!z&0sK44J@i!8%tyG`Ft9kNnIk(8 zHesSN^%A|1LILCOtNfH2iR3lBO4rW<;DcsFH8cj5PE#sr10!^LzeE7ipU_`M=pw)g zL<_@p>LpqX_e;c8`bh&Jbxg0r0!xL~NaMgiX8E;MLFP4P9jxbRWODHww zC_wgGo_a#@hOD=8GmV(b8JGwNe~tT=_p92?&cI6|5%{XHC8qSmzCwy=et}$#5psd~ zl7sO%d?rVRC^#4sVRKL(!snq(M2>r)Tp6FvWP30MK#5g4J*vWR6BGca5&(yVGgv6w z14m@22Y}%6Q3PdjmAex zoWVnQG6oZodB`~!4`Xp;T&5XHjtOR~wMrDUlTf0uI8CF9H4m5w7l=Z|LJE^ge`5(v zK=ld`AfyBlswKuZ0}+H057(n6HW^%yu?LsQ1&lD*Jl-3pC|s)pN;F|I=u{TlJYs5# z02Bj=MNK*d0A@R=Mc|{wQN3Clp;jjdDW;TQQ{?Mm30O{YRFC?idK`d)Vg+=rfWeJm za0P6xfWvpEGX?Yk{%Sd)Ncwl)ro{t$^|d^J(1H1r%%;8-6^<|NyX(76Ak0e%hRusY zfMR_m=+H!5Zq5^6^$lThs45l*yGOrVU)hPjkb;882F>Q62;YMa`lkRYkO3+YjL+mV z@`or@t32R!$)L;D}p!;;e(GM)nA z(V29F&0s4Kl*PkC>@(M)^#D@A(I{-oJHhXIEGXmy_r94_FjqP;$>`ZWOZ z{X1X%Yvu2p0*2pD@=pA|r|Ugk@5I16Iloued%E6C#ude?ZT|?hI?&2!&FVz4Z zW|LNI1<%|NNfzku3ym?oy$^RT2Nr8hK(r2msFO?|3uB3QA~0I%#S%ZOTUHKsG*7#^ zd3p%4@E7}vB6z17au|VwMfR)fTGOrFL=C~kT{XlW)-n;#J%2fcd|6sLLMbCY4<5m@ z+<$-cjG{Uy6t!Y)^b_^E=pA7ve^^`|G3N

30rWA$V5>`~Ix&r7O#wqFDBQXO+{z1$GygxaOXMoG|0hMC1I){O%u=R|^`yODnu_DfwXGwN}+= y%m!*wu+H}8j^EwfH951Pu6Gy_6!r3hrO>a&MF(chE6xKfLt?*R->O*)SN;JJ2uJ4t literal 0 HcmV?d00001 diff --git a/common/src/main/java/common/block/Block.java b/common/src/main/java/common/block/Block.java index 63086fb2..7a484a63 100755 --- a/common/src/main/java/common/block/Block.java +++ b/common/src/main/java/common/block/Block.java @@ -35,7 +35,7 @@ import common.item.block.ItemBlock; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.rng.Random; import common.tileentity.TileEntity; @@ -174,7 +174,6 @@ public class Block { protected boolean shovelHarvest; protected boolean ticked; private boolean flatBlockTexture; - private boolean flatItemTexture; private boolean itemColored; protected int lightOpacity; protected int lightValue; @@ -369,12 +368,7 @@ public class Block { } protected Block setFlatBlockTexture() { - this.flatBlockTexture = true; - return this; - } - - protected Block setFlatItemTexture() { - this.flatItemTexture = true; +// this.flatBlockTexture = true; return this; } @@ -913,8 +907,8 @@ public class Block { return false; } - public Transforms getTransform() { - return Transforms.BLOCK; + public Transform getTransform() { + return Transform.IDENTITY; } public Model getModel(ModelProvider provider, String name, State state) { @@ -1055,10 +1049,6 @@ public class Block { return this.flatBlockTexture; } - public final boolean hasItemFlatTexture() { - return this.flatItemTexture; - } - public final boolean isItemColored() { return this.itemColored; } diff --git a/common/src/main/java/common/block/artificial/BlockCake.java b/common/src/main/java/common/block/artificial/BlockCake.java index 5cce8929..50ce8cab 100755 --- a/common/src/main/java/common/block/artificial/BlockCake.java +++ b/common/src/main/java/common/block/artificial/BlockCake.java @@ -92,7 +92,6 @@ public class BlockCake extends Block super(Material.SOFT); this.setDefaultState(this.getBaseState().withProperty(BITES, Integer.valueOf(0))); // this.setTickRandomly(true); - this.setFlatItemTexture(); } public void setBlockBoundsBasedOnState(IWorldAccess worldIn, BlockPos pos) diff --git a/common/src/main/java/common/block/artificial/BlockCarpet.java b/common/src/main/java/common/block/artificial/BlockCarpet.java index 815d44a5..b8ef5ef1 100755 --- a/common/src/main/java/common/block/artificial/BlockCarpet.java +++ b/common/src/main/java/common/block/artificial/BlockCarpet.java @@ -6,7 +6,7 @@ import common.color.DyeColor; import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.util.BlockPos; import common.util.Facing; import common.world.IWorldAccess; @@ -108,10 +108,6 @@ public class BlockCarpet extends Block return side == Facing.UP ? true : super.shouldSideBeRendered(worldIn, pos, side); } - public Transforms getTransform() { - return Transforms.LAYER; - } - public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel(this.color.getName() + "_wool").add(0, 0, 0, 16, 1, 16).nswe().uv(0, 15, 16, 16).d().u().noCull(); } diff --git a/common/src/main/java/common/block/artificial/BlockDoor.java b/common/src/main/java/common/block/artificial/BlockDoor.java index 758b6ca4..87ad3801 100755 --- a/common/src/main/java/common/block/artificial/BlockDoor.java +++ b/common/src/main/java/common/block/artificial/BlockDoor.java @@ -14,6 +14,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyEnum; @@ -280,6 +281,10 @@ public class BlockDoor extends Block implements Rotatable { } } + public Transform getTransform() { + return Transform.PANE_SIDE; + } + protected Item getItemToRegister() { return new ItemDoor(this); } diff --git a/common/src/main/java/common/block/artificial/BlockFence.java b/common/src/main/java/common/block/artificial/BlockFence.java index 59358c9e..7cc4570e 100755 --- a/common/src/main/java/common/block/artificial/BlockFence.java +++ b/common/src/main/java/common/block/artificial/BlockFence.java @@ -14,7 +14,7 @@ import common.item.tool.ItemLead; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; @@ -195,8 +195,8 @@ public class BlockFence extends Block return new Property[] {NORTH, EAST, WEST, SOUTH}; } - public Transforms getTransform() { - return Transforms.FENCE; + public Transform getTransform() { + return Transform.FENCE; } public String getTexture() { diff --git a/common/src/main/java/common/block/artificial/BlockFenceGate.java b/common/src/main/java/common/block/artificial/BlockFenceGate.java index ad5089c8..b52503a2 100755 --- a/common/src/main/java/common/block/artificial/BlockFenceGate.java +++ b/common/src/main/java/common/block/artificial/BlockFenceGate.java @@ -11,7 +11,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; @@ -146,10 +146,6 @@ public class BlockFenceGate extends Block implements Rotatable return new Property[] {FACING, OPEN, IN_WALL}; } - public Transforms getTransform() { - return Transforms.GATE; - } - public Model getModel(ModelProvider provider, String name, State state) { return (state.getValue(IN_WALL) ? (state.getValue(OPEN) ? provider.getModel(this.texture).uvLock() .add(0, 2, 7, 2, 13, 9) diff --git a/common/src/main/java/common/block/artificial/BlockFlowerPot.java b/common/src/main/java/common/block/artificial/BlockFlowerPot.java index 30d7c9eb..f798c408 100755 --- a/common/src/main/java/common/block/artificial/BlockFlowerPot.java +++ b/common/src/main/java/common/block/artificial/BlockFlowerPot.java @@ -17,6 +17,7 @@ import common.item.block.ItemBlock; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.rng.Random; import common.util.BlockPos; import common.util.Facing; @@ -110,7 +111,6 @@ public class BlockFlowerPot extends Block super(Material.SMALL); this.content = content; this.setBlockBoundsForItemRender(); - this.setFlatItemTexture(); POTS.add(this); } @@ -262,4 +262,8 @@ public class BlockFlowerPot extends Block protected Item getItemToRegister() { return this.content == null ? super.getItemToRegister() : null; } + + public Transform getTransform() { + return Transform.SMALL; + } } diff --git a/common/src/main/java/common/block/artificial/BlockLadder.java b/common/src/main/java/common/block/artificial/BlockLadder.java index 15db29ae..5ee085a8 100755 --- a/common/src/main/java/common/block/artificial/BlockLadder.java +++ b/common/src/main/java/common/block/artificial/BlockLadder.java @@ -9,6 +9,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; @@ -148,4 +149,8 @@ public class BlockLadder extends Block implements Rotatable .s().uv(0, 0, 16, 16).noCull() .rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } + + public Transform getTransform() { + return Transform.PANE_SIDE; + } } diff --git a/common/src/main/java/common/block/artificial/BlockPane.java b/common/src/main/java/common/block/artificial/BlockPane.java index 1bd731c6..0a96a3cc 100755 --- a/common/src/main/java/common/block/artificial/BlockPane.java +++ b/common/src/main/java/common/block/artificial/BlockPane.java @@ -8,10 +8,12 @@ import common.entity.Entity; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; +import common.item.block.ItemPane; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; @@ -493,6 +495,14 @@ public class BlockPane extends Block public Property[] getUnsavedProperties() { return new Property[] {NORTH, SOUTH, WEST, EAST}; } + + public Transform getTransform() { + return Transform.PANE; + } + + protected Item getItemToRegister() { + return new ItemPane(this); + } public String getItemTexture(String name) { return this.getPaneBase(); diff --git a/common/src/main/java/common/block/artificial/BlockSkull.java b/common/src/main/java/common/block/artificial/BlockSkull.java index d0b565b5..48a19687 100755 --- a/common/src/main/java/common/block/artificial/BlockSkull.java +++ b/common/src/main/java/common/block/artificial/BlockSkull.java @@ -8,6 +8,7 @@ import common.entity.types.EntityLiving; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.util.BlockPos; import common.util.Facing; @@ -19,7 +20,6 @@ public class BlockSkull extends Block implements Rotatable { super(Material.SMALL); this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH)); this.setBlockBounds(0.25F, 0.0F, 0.25F, 0.75F, 0.5F, 0.75F); - this.setFlatItemTexture(); } public boolean canPlaceBlockAt(World world, BlockPos pos) { @@ -55,4 +55,8 @@ public class BlockSkull extends Block implements Rotatable { world.destroyBlock(pos, true); return true; } + + public Transform getTransform() { + return Transform.SMALL; + } } diff --git a/common/src/main/java/common/block/artificial/BlockStairs.java b/common/src/main/java/common/block/artificial/BlockStairs.java index 70f31d87..ab97a05c 100755 --- a/common/src/main/java/common/block/artificial/BlockStairs.java +++ b/common/src/main/java/common/block/artificial/BlockStairs.java @@ -15,7 +15,7 @@ import common.item.CheatTab; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; @@ -783,8 +783,8 @@ public class BlockStairs extends Block implements Rotatable return new Property[] {FACING, HALF, SHAPE}; } - public Transforms getTransform() { - return Transforms.STAIRS; + public Transform getTransform() { + return Transform.STAIRS; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/artificial/BlockTrapDoor.java b/common/src/main/java/common/block/artificial/BlockTrapDoor.java index 986a2314..69731096 100755 --- a/common/src/main/java/common/block/artificial/BlockTrapDoor.java +++ b/common/src/main/java/common/block/artificial/BlockTrapDoor.java @@ -11,7 +11,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyEnum; @@ -192,10 +192,6 @@ public class BlockTrapDoor extends Block implements Rotatable return this.material == Material.SOLID; } - public Transforms getTransform() { - return Transforms.FLAT; - } - public Model getModel(ModelProvider provider, String name, State state) { Model model; if(state.getValue(OPEN)) { diff --git a/common/src/main/java/common/block/foliage/BlockBlueShroom.java b/common/src/main/java/common/block/foliage/BlockBlueShroom.java index 816e2cce..c19e8c2a 100755 --- a/common/src/main/java/common/block/foliage/BlockBlueShroom.java +++ b/common/src/main/java/common/block/foliage/BlockBlueShroom.java @@ -4,6 +4,7 @@ import common.block.Block; import common.init.Blocks; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.rng.Random; import common.util.BlockPos; import common.vars.Vars; @@ -85,4 +86,8 @@ public class BlockBlueShroom extends BlockBush public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel("blue_mushroom").cross(); } + + public Transform getTransform() { + return Transform.CROSS_SMALL; + } } diff --git a/common/src/main/java/common/block/foliage/BlockCocoa.java b/common/src/main/java/common/block/foliage/BlockCocoa.java index 2ef079f8..909716dc 100755 --- a/common/src/main/java/common/block/foliage/BlockCocoa.java +++ b/common/src/main/java/common/block/foliage/BlockCocoa.java @@ -13,6 +13,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; @@ -247,6 +248,10 @@ public class BlockCocoa extends Block implements Rotatable, IGrowable } return model.rotate(ModelRotation.getNorthRot(state.getValue(FACING).getOpposite())); } + + public Transform getTransform() { + return Transform.PANE_SIDE; + } protected Item getItemToRegister() { return new ItemDye(DyeColor.BROWN, this); diff --git a/common/src/main/java/common/block/foliage/BlockDeadBush.java b/common/src/main/java/common/block/foliage/BlockDeadBush.java index 0295d6d1..ed11700d 100755 --- a/common/src/main/java/common/block/foliage/BlockDeadBush.java +++ b/common/src/main/java/common/block/foliage/BlockDeadBush.java @@ -11,6 +11,7 @@ import common.item.ItemStack; import common.item.tool.ItemShears; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.rng.Random; import common.tileentity.TileEntity; import common.util.BlockPos; @@ -75,4 +76,8 @@ public class BlockDeadBush extends BlockBush public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel("deadbush").cross(); } + + public Transform getTransform() { + return Transform.CROSS; + } } diff --git a/common/src/main/java/common/block/foliage/BlockDoublePlant.java b/common/src/main/java/common/block/foliage/BlockDoublePlant.java index 157ae311..e4590341 100755 --- a/common/src/main/java/common/block/foliage/BlockDoublePlant.java +++ b/common/src/main/java/common/block/foliage/BlockDoublePlant.java @@ -14,6 +14,7 @@ import common.item.block.ItemDoublePlant; import common.item.tool.ItemShears; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyEnum; import common.rng.Random; @@ -278,6 +279,10 @@ public class BlockDoublePlant extends BlockBush implements IGrowable return provider.getModel(this.type.getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER ? "top" : "bottom")).cross(); } + + public Transform getTransform() { + return Transform.CROSS; + } protected Item getItemToRegister() { return new ItemDoublePlant(this); diff --git a/common/src/main/java/common/block/foliage/BlockFlower.java b/common/src/main/java/common/block/foliage/BlockFlower.java index 2d732587..5c65d690 100755 --- a/common/src/main/java/common/block/foliage/BlockFlower.java +++ b/common/src/main/java/common/block/foliage/BlockFlower.java @@ -3,6 +3,7 @@ package common.block.foliage; import common.init.Blocks; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.rng.Random; import common.util.BlockPos; import common.util.Identifyable; @@ -46,6 +47,10 @@ public class BlockFlower extends BlockBush return provider.getModel(this.type.getName()).cross(); } + public Transform getTransform() { + return Transform.CROSS_SMALL; + } + public static enum EnumFlowerType implements Identifyable { DANDELION("dandelion", "Löwenzahn"), diff --git a/common/src/main/java/common/block/foliage/BlockLilyPad.java b/common/src/main/java/common/block/foliage/BlockLilyPad.java index 3b338524..3a68927c 100755 --- a/common/src/main/java/common/block/foliage/BlockLilyPad.java +++ b/common/src/main/java/common/block/foliage/BlockLilyPad.java @@ -16,6 +16,7 @@ import common.item.block.ItemLilyPad; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; @@ -101,6 +102,10 @@ public class BlockLilyPad extends BlockBush implements Rotatable .u().uv(16, 0, 0, 16).tint().noCull() .rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } + + public Transform getTransform() { + return Transform.SMALL_FLAT; + } protected Item getItemToRegister() { return new ItemLilyPad(this); diff --git a/common/src/main/java/common/block/foliage/BlockMushroom.java b/common/src/main/java/common/block/foliage/BlockMushroom.java index a770839c..61bf4f61 100755 --- a/common/src/main/java/common/block/foliage/BlockMushroom.java +++ b/common/src/main/java/common/block/foliage/BlockMushroom.java @@ -5,6 +5,7 @@ import common.block.Block; import common.init.Blocks; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.rng.Random; import common.util.BlockPos; import common.vars.Vars; @@ -107,4 +108,8 @@ public class BlockMushroom extends BlockBush implements IGrowable public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel(name).cross(); } + + public Transform getTransform() { + return Transform.CROSS_SMALL; + } } diff --git a/common/src/main/java/common/block/foliage/BlockReed.java b/common/src/main/java/common/block/foliage/BlockReed.java index 13f06e3d..c3072022 100755 --- a/common/src/main/java/common/block/foliage/BlockReed.java +++ b/common/src/main/java/common/block/foliage/BlockReed.java @@ -8,6 +8,7 @@ import common.item.StackSize; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; @@ -31,7 +32,6 @@ public class BlockReed extends Block float f = 0.375F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); this.setTickRandomly(); - this.setFlatItemTexture(); } public void updateTick(AWorldServer worldIn, BlockPos pos, State state, Random rand) @@ -167,4 +167,8 @@ public class BlockReed extends Block protected Item getItemToRegister() { return super.getItemToRegister().setMaxAmount(StackSize.L); } + + public Transform getTransform() { + return Transform.CROSS; + } } diff --git a/common/src/main/java/common/block/foliage/BlockSapling.java b/common/src/main/java/common/block/foliage/BlockSapling.java index 10f3cf17..1b6344e2 100755 --- a/common/src/main/java/common/block/foliage/BlockSapling.java +++ b/common/src/main/java/common/block/foliage/BlockSapling.java @@ -9,6 +9,7 @@ import common.init.WoodType; import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; @@ -123,6 +124,10 @@ public class BlockSapling extends BlockBush implements IGrowable return provider.getModel(name).cross(); } + public Transform getTransform() { + return Transform.CROSS; + } + public WoodType getWoodType() { return this.type; } diff --git a/common/src/main/java/common/block/foliage/BlockTallGrass.java b/common/src/main/java/common/block/foliage/BlockTallGrass.java index 076ef8ba..94de0ed2 100755 --- a/common/src/main/java/common/block/foliage/BlockTallGrass.java +++ b/common/src/main/java/common/block/foliage/BlockTallGrass.java @@ -10,6 +10,7 @@ import common.item.ItemStack; import common.item.tool.ItemShears; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.rng.Random; import common.tileentity.TileEntity; import common.util.BlockPos; @@ -150,6 +151,10 @@ public class BlockTallGrass extends BlockBush implements IGrowable return provider.getModel(this.type.getName()).cross(); } + public Transform getTransform() { + return Transform.CROSS; + } + public static enum EnumType implements Identifyable { DEAD_BUSH("dead_bush", "Busch"), diff --git a/common/src/main/java/common/block/foliage/BlockVine.java b/common/src/main/java/common/block/foliage/BlockVine.java index 832764c1..ea89fe0f 100755 --- a/common/src/main/java/common/block/foliage/BlockVine.java +++ b/common/src/main/java/common/block/foliage/BlockVine.java @@ -15,6 +15,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; @@ -557,6 +558,10 @@ public class BlockVine extends Block } } + public Transform getTransform() { + return Transform.PANE_SIDE; + } + public Property[] getUnsavedProperties() { return new Property[] {UP}; } diff --git a/common/src/main/java/common/block/natural/BlockSnow.java b/common/src/main/java/common/block/natural/BlockSnow.java index 4fbe8f40..a8ae396b 100755 --- a/common/src/main/java/common/block/natural/BlockSnow.java +++ b/common/src/main/java/common/block/natural/BlockSnow.java @@ -11,7 +11,7 @@ import common.item.ItemStack; import common.item.block.ItemSnow; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; @@ -166,10 +166,6 @@ public class BlockSnow extends Block return new Property[] {LAYERS}; } - public Transforms getTransform() { - return Transforms.LAYER; - } - public Model getModel(ModelProvider provider, String name, State state) { int height = state.getValue(LAYERS) * 2; return height == 16 ? provider.getModel("snow").add().all() : diff --git a/common/src/main/java/common/block/natural/BlockWeb.java b/common/src/main/java/common/block/natural/BlockWeb.java index ca541b93..549a02c7 100755 --- a/common/src/main/java/common/block/natural/BlockWeb.java +++ b/common/src/main/java/common/block/natural/BlockWeb.java @@ -9,6 +9,7 @@ import common.item.Item; import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; +import common.model.Transform; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; @@ -71,4 +72,8 @@ public class BlockWeb extends Block public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel("web").cross(); } + + public Transform getTransform() { + return Transform.CROSS; + } } diff --git a/common/src/main/java/common/block/tech/BlockAnvil.java b/common/src/main/java/common/block/tech/BlockAnvil.java index 38997db0..4cb90aac 100755 --- a/common/src/main/java/common/block/tech/BlockAnvil.java +++ b/common/src/main/java/common/block/tech/BlockAnvil.java @@ -14,7 +14,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.util.BlockPos; import common.util.ExtMath; @@ -126,10 +126,6 @@ public class BlockAnvil extends BlockFalling implements Rotatable return new Property[] {FACING}; } - public Transforms getTransform() { - return Transforms.ANVIL; - } - public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel("anvil_base") .add(2, 0, 2, 14, 4, 14).d().uv(2, 2, 14, 14).rot(180).u().uv(2, 2, 14, 14).rot(180).noCull() diff --git a/common/src/main/java/common/block/tech/BlockBrewingStand.java b/common/src/main/java/common/block/tech/BlockBrewingStand.java index 649af101..fc5d7a51 100755 --- a/common/src/main/java/common/block/tech/BlockBrewingStand.java +++ b/common/src/main/java/common/block/tech/BlockBrewingStand.java @@ -353,7 +353,6 @@ public class BlockBrewingStand extends Block implements ITileEntityProvider { super(Material.SOLID); this.setDefaultState(this.getBaseState().withProperty(HAS_BOTTLE[0], Boolean.valueOf(false)).withProperty(HAS_BOTTLE[1], Boolean.valueOf(false)).withProperty(HAS_BOTTLE[2], Boolean.valueOf(false))); - this.setFlatItemTexture(); } // /** diff --git a/common/src/main/java/common/block/tech/BlockButton.java b/common/src/main/java/common/block/tech/BlockButton.java index 05082c43..befe78e5 100755 --- a/common/src/main/java/common/block/tech/BlockButton.java +++ b/common/src/main/java/common/block/tech/BlockButton.java @@ -17,7 +17,7 @@ import common.item.block.ItemButton; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; @@ -318,10 +318,6 @@ public class BlockButton extends Block implements Directional public boolean isMagnetic() { return this.onTime == 10; } - - public Transforms getTransform() { - return Transforms.BUTTON; - } private static ModelRotation getRotation(Facing face) { switch(face) { diff --git a/common/src/main/java/common/block/tech/BlockCauldron.java b/common/src/main/java/common/block/tech/BlockCauldron.java index 74a40e60..14577c9c 100755 --- a/common/src/main/java/common/block/tech/BlockCauldron.java +++ b/common/src/main/java/common/block/tech/BlockCauldron.java @@ -412,7 +412,6 @@ public class BlockCauldron extends Block { super(Material.SOLID); this.setDefaultState(this.getBaseState().withProperty(LEVEL, Integer.valueOf(0))); - this.setFlatItemTexture(); } /** diff --git a/common/src/main/java/common/block/tech/BlockDaylightDetector.java b/common/src/main/java/common/block/tech/BlockDaylightDetector.java index 553a9993..b34cb878 100755 --- a/common/src/main/java/common/block/tech/BlockDaylightDetector.java +++ b/common/src/main/java/common/block/tech/BlockDaylightDetector.java @@ -11,7 +11,7 @@ import common.item.CheatTab; import common.item.Item; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyInteger; import common.tileentity.TileEntity; @@ -144,10 +144,6 @@ public class BlockDaylightDetector extends Block implements ITileEntityProvider return new Property[] {POWER}; } - public Transforms getTransform() { - return Transforms.FLAT; - } - public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel(this.inverted ? "daylight_detector_inverted_top" : "daylight_detector_top") .add(0, 0, 0, 16, 6, 16) diff --git a/common/src/main/java/common/block/tech/BlockDisplay.java b/common/src/main/java/common/block/tech/BlockDisplay.java index cd920b75..ec1b6d53 100644 --- a/common/src/main/java/common/block/tech/BlockDisplay.java +++ b/common/src/main/java/common/block/tech/BlockDisplay.java @@ -13,6 +13,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; @@ -33,7 +34,6 @@ public abstract class BlockDisplay extends Block implements Rotatable this.setBlockBounds(0.0F, 0.0F, 1.0F - 0.0625F, 1.0F, 1.0F, 1.0F); this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH)); this.setTab(CheatTab.TECHNOLOGY); - this.setFlatItemTexture(); } public int getDensity() { @@ -118,6 +118,10 @@ public abstract class BlockDisplay extends Block implements Rotatable public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel("iron_block").add(0, 0, 15, 16, 16, 16).n("display_area").noCull().s().du().we().rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } + + public Transform getTransform() { + return Transform.PANE_SIDE; + } protected abstract BlockDisplay getOtherBlock(); diff --git a/common/src/main/java/common/block/tech/BlockHopper.java b/common/src/main/java/common/block/tech/BlockHopper.java index b810e2a9..127d943c 100755 --- a/common/src/main/java/common/block/tech/BlockHopper.java +++ b/common/src/main/java/common/block/tech/BlockHopper.java @@ -88,7 +88,6 @@ public class BlockHopper extends Block implements ITileEntityProvider, Direction this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.DOWN)); this.setTab(CheatTab.TECHNOLOGY); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - this.setFlatItemTexture(); } public void setBlockBoundsBasedOnState(IWorldAccess worldIn, BlockPos pos) diff --git a/common/src/main/java/common/block/tech/BlockLever.java b/common/src/main/java/common/block/tech/BlockLever.java index a34b51e0..383eb914 100755 --- a/common/src/main/java/common/block/tech/BlockLever.java +++ b/common/src/main/java/common/block/tech/BlockLever.java @@ -11,6 +11,7 @@ import common.item.block.ItemBlock; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.properties.PropertyEnum; @@ -290,6 +291,10 @@ public class BlockLever extends Block .rotate(getRotation(state.getValue(FACING))); } + public Transform getTransform() { + return Transform.PANE_SIDE; + } + public static enum EnumOrientation implements Identifyable, DirectionVec { DOWN_X("down_x", Facing.DOWN), diff --git a/common/src/main/java/common/block/tech/BlockRail.java b/common/src/main/java/common/block/tech/BlockRail.java index 2af25fb0..b1815892 100755 --- a/common/src/main/java/common/block/tech/BlockRail.java +++ b/common/src/main/java/common/block/tech/BlockRail.java @@ -11,6 +11,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyEnum; import common.util.BlockPos; @@ -215,6 +216,10 @@ public class BlockRail extends Block } } + public Transform getTransform() { + return Transform.SMALL_FLAT; + } + protected void onNeighborChangedInternal(World worldIn, BlockPos pos, State state, Block neighborBlock) { if ((new BlockRail.Rail(worldIn, pos, state)).countAdjacentRails() == 3) diff --git a/common/src/main/java/common/block/tech/BlockTorch.java b/common/src/main/java/common/block/tech/BlockTorch.java index d17c0a11..ca273152 100755 --- a/common/src/main/java/common/block/tech/BlockTorch.java +++ b/common/src/main/java/common/block/tech/BlockTorch.java @@ -13,6 +13,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; @@ -249,4 +250,8 @@ public abstract class BlockTorch extends Block implements DirectionalUp .s().uv(0, 0, 16, 16).noCull() .rotate(ModelRotation.getEastRot(state.getValue(FACING), false)); } + + public Transform getTransform() { + return Transform.SMALL; + } } diff --git a/common/src/main/java/common/block/tech/BlockTripWire.java b/common/src/main/java/common/block/tech/BlockTripWire.java index 149c7f0f..64c41f85 100755 --- a/common/src/main/java/common/block/tech/BlockTripWire.java +++ b/common/src/main/java/common/block/tech/BlockTripWire.java @@ -16,6 +16,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; @@ -45,7 +46,6 @@ public class BlockTripWire extends Block this.setDefaultState(this.getBaseState().withProperty(POWERED, Boolean.valueOf(false)).withProperty(SUSPENDED, Boolean.valueOf(false)).withProperty(ATTACHED, Boolean.valueOf(false)).withProperty(DISARMED, Boolean.valueOf(false)).withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false))); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.15625F, 1.0F); // this.setTickRandomly(true); - this.setFlatItemTexture(); } /** @@ -656,4 +656,8 @@ public class BlockTripWire extends Block public Property[] getUnsavedProperties() { return new Property[] {NORTH, SOUTH, WEST, EAST}; } + + public Transform getTransform() { + return Transform.THIN_WIRE; + } } diff --git a/common/src/main/java/common/block/tech/BlockTripWireHook.java b/common/src/main/java/common/block/tech/BlockTripWireHook.java index 4d12d3cc..cc560bc9 100755 --- a/common/src/main/java/common/block/tech/BlockTripWireHook.java +++ b/common/src/main/java/common/block/tech/BlockTripWireHook.java @@ -13,6 +13,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; @@ -556,6 +557,10 @@ public class BlockTripWireHook extends Block implements Rotatable return model.rotate(ModelRotation.getNorthRot(state.getValue(FACING))); } + public Transform getTransform() { + return Transform.PANE_SIDE; + } + public Property[] getUnsavedProperties() { return new Property[] {SUSPENDED}; } diff --git a/common/src/main/java/common/block/tech/BlockWire.java b/common/src/main/java/common/block/tech/BlockWire.java index 013f23f4..8727cc0b 100755 --- a/common/src/main/java/common/block/tech/BlockWire.java +++ b/common/src/main/java/common/block/tech/BlockWire.java @@ -13,6 +13,7 @@ import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; +import common.model.Transform; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; @@ -248,7 +249,6 @@ public class BlockWire extends Block super(Material.SMALL); this.setDefaultState(this.getBaseState().withProperty(DOWN, false).withProperty(UP, false).withProperty(NORTH, false).withProperty(EAST, false).withProperty(SOUTH, false).withProperty(WEST, false)); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.0625F, 1.0F); - this.setFlatItemTexture(); } public State getActualState(State state, IWorldAccess worldIn, BlockPos pos) @@ -542,4 +542,8 @@ public class BlockWire extends Block public Property[] getUnsavedProperties() { return new Property[] {DOWN, UP, EAST, NORTH, SOUTH, WEST}; } + + public Transform getTransform() { + return Transform.WIRE; + } } diff --git a/common/src/main/java/common/dimension/Star.java b/common/src/main/java/common/dimension/Star.java index b788dc82..a5ee5344 100755 --- a/common/src/main/java/common/dimension/Star.java +++ b/common/src/main/java/common/dimension/Star.java @@ -10,7 +10,7 @@ public final class Star extends Dimension { public Star(int color, int radius, float gravity, float temp, BlockStaticLiquid filler) { super(false); - this.setPhysics(Planet.radiusToSize(Math.min(radius, 945000000) / 25), 1L, 1L, 0.0f, gravity, temp, 15); + this.setPhysics(Planet.radiusToSize(Math.min(radius, 945000000) / 25), 1L, 96000L, 0.0f, gravity, temp, 15); this.setStarBrightness(0.75f).setDeepStarBrightness(0.75f); this.setSkyColor(color).setFogColor(color).setFlatGen(filler.getState(), 128); } diff --git a/common/src/main/java/common/entity/npc/EntityNPC.java b/common/src/main/java/common/entity/npc/EntityNPC.java index 0d1ef854..e91d17d3 100755 --- a/common/src/main/java/common/entity/npc/EntityNPC.java +++ b/common/src/main/java/common/entity/npc/EntityNPC.java @@ -2950,7 +2950,7 @@ public abstract class EntityNPC extends EntityLiving public boolean isBlocking() { - return this.isUsingItem() && this.itemInUse.getItem().getItemUseAction(this.itemInUse) == ItemAction.BLOCK; + return this.isUsingItem() && this.itemInUse.getItem().getItemUseAction() == ItemAction.BLOCK; } /** @@ -4231,7 +4231,7 @@ public abstract class EntityNPC extends EntityLiving for(ItemStack stack : info.items) { if(stack.getItem() instanceof ItemArmor) this.setItem(((ItemArmor)stack.getItem()).armorType.getIndex(), stack); - else if(stack.getItem().canBeWielded()) + else if(stack.getItem().getWieldType() != null) this.setItem(0, stack); else this.extraInventory.addStack(stack); diff --git a/common/src/main/java/common/init/ItemRegistry.java b/common/src/main/java/common/init/ItemRegistry.java index c6476d89..b22ae9a8 100755 --- a/common/src/main/java/common/init/ItemRegistry.java +++ b/common/src/main/java/common/init/ItemRegistry.java @@ -27,17 +27,12 @@ import common.item.Item; import common.item.ItemEffect; import common.item.ItemFragile; import common.item.ItemMagnetic; -import common.item.ItemRod; -import common.item.ItemSmall; import common.item.ItemStack; -import common.item.ItemStick; -import common.item.ItemTiny; import common.item.StackSize; import common.item.material.ItemBook; import common.item.material.ItemDye; import common.item.material.ItemEnchantedBook; import common.item.material.ItemMetal; -import common.item.material.ItemNugget; import common.item.material.ItemRecord; import common.item.spawner.ItemBoat; import common.item.spawner.ItemMinecart; @@ -240,8 +235,8 @@ public abstract class ItemRegistry { Item coal = (new Item()).setDisplay("Kohle").setTab(CheatTab.METALS); register("coal", coal); register("charcoal", (new Item()).setDisplay("Holzkohle").setTab(CheatTab.METALS)); - register("stick", (new ItemStick()).setDisplay("Stock").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XL)); - register("bowl", (new ItemSmall()).setDisplay("Schüssel").setTab(CheatTab.MISC)); + register("stick", (new Item()).setDisplay("Stock").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XL)); + register("bowl", (new Item()).setDisplay("Schüssel").setTab(CheatTab.MISC)); register("mushroom_stew", (new ItemSoup(6)).setDisplay("Pilzsuppe")); register("feather", (new Item()).setDisplay("Feder").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XXL)); register("gunpowder", (new Item()).setDisplay("Schwarzpulver").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XL)); @@ -282,7 +277,7 @@ public abstract class ItemRegistry { lapis = dye; register(color.getDye(), dye); } - register("bone", (new ItemStick()).setDisplay("Knochen").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.L)); + register("bone", (new Item()).setDisplay("Knochen").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.L)); register("sugar", (new Item()).setDisplay("Zucker").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XXL)); register("cookie", (new ItemFood(2, false)).setDisplay("Keks").setMaxAmount(StackSize.L)); register("melon", (new ItemFood(2, false)).setDisplay("Melone")); @@ -292,9 +287,9 @@ public abstract class ItemRegistry { register("cooked_chicken", (new ItemFood(6, true)).setDisplay("Gebratenes Hühnchen")); register("rotten_flesh", (new ItemFood(4, true)).setDisplay("Verrottetes Fleisch")); register("orb", (new ItemFragile()).setDisplay("Kugel").setTab(CheatTab.MAGIC)); - register("demon_rod", (new ItemRod()).setDisplay("Dämonenrute").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XL)); - register("tear", (new ItemTiny()).setDisplay("Träne").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XL)); - register("gold_nugget", (new ItemNugget()).setDisplay("Goldnugget").setTab(CheatTab.METALS).setMaxAmount(StackSize.XL)); + register("demon_rod", (new Item()).setDisplay("Dämonenrute").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XL)); + register("tear", (new Item()).setDisplay("Träne").setTab(CheatTab.MATERIALS).setMaxAmount(StackSize.XL)); + register("gold_nugget", (new Item()).setDisplay("Goldnugget").setTab(CheatTab.METALS).setMaxAmount(StackSize.XL)); register("glass_bottle", (new ItemGlassBottle()).setDisplay("Glasflasche")); for(Pair pot : ItemPotion.getBasePotions()) { register(pot.first(), new ItemPotion(pot.second(), null)); diff --git a/common/src/main/java/common/init/Items.java b/common/src/main/java/common/init/Items.java index bd057cda..d4a21a6e 100755 --- a/common/src/main/java/common/init/Items.java +++ b/common/src/main/java/common/init/Items.java @@ -32,7 +32,6 @@ import common.item.material.ItemBook; import common.item.material.ItemDye; import common.item.material.ItemEnchantedBook; import common.item.material.ItemMetal; -import common.item.material.ItemNugget; import common.item.material.ItemRecord; import common.item.spawner.ItemBoat; import common.item.spawner.ItemMinecart; @@ -187,7 +186,7 @@ public abstract class Items { public static final ItemSlab blackwood_slab = get("blackwood_slab"); public static final ItemBlock blackwood_stairs = get("blackwood_stairs"); public static final Item blazing_powder = get("blazing_powder"); - public static final ItemRod demon_rod = get("demon_rod"); + public static final Item demon_rod = get("demon_rod"); public static final ItemBlock blood_brick = get("blood_brick"); public static final ItemFence blood_brick_fence = get("blood_brick_fence"); public static final ItemSlab blood_brick_slab = get("blood_brick_slab"); @@ -204,12 +203,12 @@ public abstract class Items { public static final ItemBoat boat = get("boat"); public static final ItemAmmo bolt = get("bolt"); public static final ItemBoltgun boltgun = get("boltgun"); - public static final ItemStick bone = get("bone"); + public static final Item bone = get("bone"); public static final ItemDye bonemeal = get("bonemeal"); public static final ItemBook book = get("book"); public static final ItemBlock bookshelf = get("bookshelf"); public static final ItemBow bow = get("bow"); - public static final ItemSmall bowl = get("bowl"); + public static final Item bowl = get("bowl"); public static final ItemFood bread = get("bread"); public static final ItemBlock brewing_stand = get("brewing_stand"); public static final Item brick = get("brick"); @@ -375,7 +374,7 @@ public abstract class Items { public static final ItemBlock floor_tiles_white = get("floor_tiles_white"); public static final ItemBlock flowerpot = get("flowerpot"); public static final ItemBlock furnace = get("furnace"); - public static final ItemTiny tear = get("tear"); + public static final Item tear = get("tear"); public static final Item ghi_fragment = get("ghi_fragment"); public static final ItemBlock glass = get("glass"); public static final ItemGlassBottle glass_bottle = get("glass_bottle"); @@ -391,7 +390,7 @@ public abstract class Items { public static final ItemHorseArmor gold_horse_armor = get("gold_horse_armor"); public static final ItemMetal gold_ingot = get("gold_ingot"); public static final ItemArmor gold_leggings = get("gold_leggings"); - public static final ItemNugget gold_nugget = get("gold_nugget"); + public static final Item gold_nugget = get("gold_nugget"); public static final ItemMetalBlock gold_ore = get("gold_ore"); public static final ItemPickaxe gold_pickaxe = get("gold_pickaxe"); public static final ItemShears gold_shears = get("gold_shears"); @@ -743,7 +742,7 @@ public abstract class Items { public static final ItemBlock spruce_sapling = get("spruce_sapling"); public static final ItemSlab spruce_slab = get("spruce_slab"); public static final ItemBlock spruce_stairs = get("spruce_stairs"); - public static final ItemStick stick = get("stick"); + public static final Item stick = get("stick"); public static final ItemPiston sticky_piston = get("sticky_piston"); public static final ItemBlock stone = get("stone"); public static final ItemAxe stone_axe = get("stone_axe"); diff --git a/common/src/main/java/common/item/Item.java b/common/src/main/java/common/item/Item.java index 43454669..9c5680a3 100755 --- a/common/src/main/java/common/item/Item.java +++ b/common/src/main/java/common/item/Item.java @@ -13,7 +13,7 @@ import common.entity.types.EntityLiving; import common.entity.types.IProjectile; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.ExtMath; @@ -182,11 +182,11 @@ public class Item { return i < 0 ? 16777215 : i; } - public ItemAction getItemUseAction(ItemStack stack) { + public ItemAction getItemUseAction() { return ItemAction.NONE; } - public ItemAction getItemPosition(ItemStack stack) { + public ItemAction getItemPosition() { return ItemAction.NONE; } @@ -235,12 +235,12 @@ public class Item { return false; } - public boolean isFirstPerson() { + public boolean canRenderHand() { return true; } - public boolean canBeWielded() { - return false; + public WieldType getWieldType() { + return null; } public boolean isAdminItem() { @@ -251,8 +251,8 @@ public class Item { return stack.getColoredName(); } - public Transforms getTransform() { - return Transforms.ITEM; + public Transform getTransform() { + return Transform.IDENTITY; } public Model getModel(ModelProvider provider, String name) { diff --git a/common/src/main/java/common/item/ItemRod.java b/common/src/main/java/common/item/ItemRod.java deleted file mode 100755 index 567d491b..00000000 --- a/common/src/main/java/common/item/ItemRod.java +++ /dev/null @@ -1,9 +0,0 @@ -package common.item; - -import common.model.Transforms; - -public class ItemRod extends Item { - public Transforms getTransform() { - return Transforms.ROD; - } -} diff --git a/common/src/main/java/common/item/ItemSmall.java b/common/src/main/java/common/item/ItemSmall.java deleted file mode 100755 index 8ddcaa27..00000000 --- a/common/src/main/java/common/item/ItemSmall.java +++ /dev/null @@ -1,9 +0,0 @@ -package common.item; - -import common.model.Transforms; - -public class ItemSmall extends Item { - public Transforms getTransform() { - return Transforms.OFFSET1; - } -} diff --git a/common/src/main/java/common/item/ItemStack.java b/common/src/main/java/common/item/ItemStack.java index 66e60e42..e80fc013 100755 --- a/common/src/main/java/common/item/ItemStack.java +++ b/common/src/main/java/common/item/ItemStack.java @@ -217,11 +217,11 @@ public final class ItemStack { } public ItemAction getItemUseAction() { - return this.item.getItemUseAction(this); + return this.item.getItemUseAction(); } public ItemAction getItemPosition() { - return this.item.getItemPosition(this); + return this.item.getItemPosition(); } public int getItemDamage() { diff --git a/common/src/main/java/common/item/ItemStick.java b/common/src/main/java/common/item/ItemStick.java deleted file mode 100755 index 20113f5e..00000000 --- a/common/src/main/java/common/item/ItemStick.java +++ /dev/null @@ -1,9 +0,0 @@ -package common.item; - -import common.model.Transforms; - -public class ItemStick extends Item { - public Transforms getTransform() { - return Transforms.TOOL; - } -} diff --git a/common/src/main/java/common/item/ItemTiny.java b/common/src/main/java/common/item/ItemTiny.java deleted file mode 100755 index 96b9e8f4..00000000 --- a/common/src/main/java/common/item/ItemTiny.java +++ /dev/null @@ -1,9 +0,0 @@ -package common.item; - -import common.model.Transforms; - -public class ItemTiny extends Item { - public Transforms getTransform() { - return Transforms.OFFSET2; - } -} diff --git a/common/src/main/java/common/item/WieldType.java b/common/src/main/java/common/item/WieldType.java new file mode 100644 index 00000000..0602d262 --- /dev/null +++ b/common/src/main/java/common/item/WieldType.java @@ -0,0 +1,5 @@ +package common.item; + +public enum WieldType { + DEFAULT, TOOL, TOOL_FLIP, RANGED; +} diff --git a/common/src/main/java/common/item/block/ItemBed.java b/common/src/main/java/common/item/block/ItemBed.java index a4c20635..43a4b11b 100755 --- a/common/src/main/java/common/item/block/ItemBed.java +++ b/common/src/main/java/common/item/block/ItemBed.java @@ -2,11 +2,16 @@ package common.item.block; import common.block.Block; import common.block.artificial.BlockBed; +import common.block.artificial.BlockPane; import common.entity.npc.EntityNPC; +import common.init.BlockRegistry; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.StackSize; +import common.model.Model; +import common.model.ModelProvider; +import common.model.Transform; import common.util.BlockPos; import common.util.ExtMath; import common.util.Facing; @@ -87,4 +92,13 @@ public class ItemBed extends Item } } } + + public Transform getTransform() { + return this.bedBlock.getTransform(); + } + + public Model getModel(ModelProvider provider, String name) { + return provider.getModel(this.bedBlock.getModel(provider, + BlockRegistry.getName(this.bedBlock), this.bedBlock.getState().withProperty(BlockBed.PART, BlockBed.EnumPartType.HEAD).withProperty(BlockBed.FACING, Facing.NORTH)), this.getTransform()); + } } diff --git a/common/src/main/java/common/item/block/ItemBlock.java b/common/src/main/java/common/item/block/ItemBlock.java index afba730d..16d45eed 100755 --- a/common/src/main/java/common/item/block/ItemBlock.java +++ b/common/src/main/java/common/item/block/ItemBlock.java @@ -11,7 +11,7 @@ import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.util.BlockPos; import common.util.Facing; import common.world.State; @@ -110,14 +110,14 @@ public class ItemBlock extends Item return this.block.isMagnetic(); } - public Transforms getTransform() { - return this.block.getRenderType() == 2 ? Transforms.DEFAULT : (this.block.hasBlockFlatTexture() || this.block.hasItemFlatTexture() ? super.getTransform() : this.block.getTransform()); + public Transform getTransform() { + return this.block.getRenderType() == 2 ? Transform.IDENTITY : (this.block.hasBlockFlatTexture() ? super.getTransform() : this.block.getTransform()); } public Model getModel(ModelProvider provider, String name) { if(this.block.getRenderType() == 2) return provider.getModel(provider.getEntityModel(), this.getTransform()); - return this.block.hasBlockFlatTexture() || this.block.hasItemFlatTexture() ? provider.getModel(this.getTransform(), (this.block.hasBlockFlatTexture() ? "blocks" : "items") + "/" + this.block.getItemTexture(name)) : + return this.block.hasBlockFlatTexture() ? provider.getModel(this.getTransform(), "blocks/" + this.block.getItemTexture(name)) : provider.getModel(this.block.getModel(provider, BlockRegistry.getName(this.block), this.block.getState()), this.getTransform()); } diff --git a/common/src/main/java/common/item/block/ItemDoor.java b/common/src/main/java/common/item/block/ItemDoor.java index 65ebfe65..31257acd 100755 --- a/common/src/main/java/common/item/block/ItemDoor.java +++ b/common/src/main/java/common/item/block/ItemDoor.java @@ -2,13 +2,18 @@ package common.item.block; import common.block.Block; import common.block.Material; +import common.block.artificial.BlockBed; import common.block.artificial.BlockDoor; import common.entity.npc.EntityNPC; +import common.init.BlockRegistry; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.StackSize; +import common.model.Model; +import common.model.ModelProvider; +import common.model.Transform; import common.util.BlockPos; import common.util.Facing; import common.world.State; @@ -95,4 +100,13 @@ public class ItemDoor extends Item public boolean isMagnetic() { return this.block == Blocks.iron_door; } + + public Transform getTransform() { + return this.block.getTransform(); + } + + public Model getModel(ModelProvider provider, String name) { + return provider.getModel(this.block.getModel(provider, + BlockRegistry.getName(this.block), this.block.getState().withProperty(BlockDoor.HALF, BlockDoor.EnumDoorHalf.UPPER).withProperty(BlockDoor.FACING, Facing.NORTH)), this.getTransform()); + } } diff --git a/common/src/main/java/common/item/block/ItemDoublePlant.java b/common/src/main/java/common/item/block/ItemDoublePlant.java index 53c4c29e..3a70097f 100755 --- a/common/src/main/java/common/item/block/ItemDoublePlant.java +++ b/common/src/main/java/common/item/block/ItemDoublePlant.java @@ -1,8 +1,8 @@ package common.item.block; import common.block.foliage.BlockDoublePlant; -import common.block.foliage.BlockDoublePlant.EnumPlantType; import common.color.Colorizer; +import common.init.BlockRegistry; import common.item.ItemStack; import common.item.StackSize; import common.model.Model; @@ -25,8 +25,7 @@ public class ItemDoublePlant extends ItemBlock } public Model getModel(ModelProvider provider, String name) { - return provider.getModel(this.getTransform(), "blocks/" + ( - this.type == EnumPlantType.SUNFLOWER ? "sunflower_front" : - this.type.getName() + "_top")); + return provider.getModel(this.block.getModel(provider, + BlockRegistry.getName(this.block), this.block.getState().withProperty(BlockDoublePlant.HALF, BlockDoublePlant.EnumBlockHalf.UPPER)), this.getTransform()); } } diff --git a/common/src/main/java/common/item/block/ItemPane.java b/common/src/main/java/common/item/block/ItemPane.java new file mode 100644 index 00000000..c6e23f7b --- /dev/null +++ b/common/src/main/java/common/item/block/ItemPane.java @@ -0,0 +1,19 @@ +package common.item.block; + +import common.block.artificial.BlockPane; +import common.init.BlockRegistry; +import common.model.Model; +import common.model.ModelProvider; + +public class ItemPane extends ItemBlock +{ + public ItemPane(BlockPane block) + { + super(block); + } + + public Model getModel(ModelProvider provider, String name) { + return provider.getModel(this.block.getModel(provider, + BlockRegistry.getName(this.block), this.block.getState().withProperty(BlockPane.NORTH, false).withProperty(BlockPane.SOUTH, false).withProperty(BlockPane.WEST, true).withProperty(BlockPane.EAST, true)), this.getTransform()); + } +} diff --git a/common/src/main/java/common/item/block/ItemSeeds.java b/common/src/main/java/common/item/block/ItemSeeds.java index 434c40cb..cdb3e54e 100755 --- a/common/src/main/java/common/item/block/ItemSeeds.java +++ b/common/src/main/java/common/item/block/ItemSeeds.java @@ -6,7 +6,7 @@ import common.entity.npc.EntityNPC; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; +import common.model.Transform; import common.util.BlockPos; import common.util.Facing; import common.world.World; @@ -52,8 +52,4 @@ public class ItemSeeds extends Item return false; } } - - public Transforms getTransform() { - return Transforms.OFFSET1; - } } diff --git a/common/src/main/java/common/item/material/ItemDye.java b/common/src/main/java/common/item/material/ItemDye.java index 921521ff..1be53cad 100755 --- a/common/src/main/java/common/item/material/ItemDye.java +++ b/common/src/main/java/common/item/material/ItemDye.java @@ -1,7 +1,9 @@ package common.item.material; import common.block.Block; +import common.block.Rotatable; import common.block.artificial.BlockBed; +import common.block.foliage.BlockCocoa; import common.block.foliage.IGrowable; import common.color.DyeColor; import common.entity.animal.EntitySheep; @@ -13,6 +15,9 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.StackSize; +import common.model.Model; +import common.model.ModelProvider; +import common.model.Transform; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.Facing; @@ -235,4 +240,14 @@ public class ItemDye extends Item { public int getDispenseSoundId() { return this.color == DyeColor.WHITE ? 0 : super.getDispenseSoundId(); } + + public Transform getTransform() { + return this.block == null ? super.getTransform() : this.block.getTransform(); + } + + public Model getModel(ModelProvider provider, String name) { + return this.block == null ? super.getModel(provider, name) : + provider.getModel(this.block.getModel(provider, + BlockRegistry.getName(this.block), this.block instanceof BlockCocoa ? this.block.getState().withProperty(BlockCocoa.FACING, Facing.SOUTH).withProperty(BlockCocoa.AGE, 2) : this.block.getState()), this.getTransform()); + } } diff --git a/common/src/main/java/common/item/material/ItemNugget.java b/common/src/main/java/common/item/material/ItemNugget.java deleted file mode 100755 index 067dd998..00000000 --- a/common/src/main/java/common/item/material/ItemNugget.java +++ /dev/null @@ -1,10 +0,0 @@ -package common.item.material; - -import common.item.Item; -import common.model.Transforms; - -public class ItemNugget extends Item { - public Transforms getTransform() { - return Transforms.NUGGET; - } -} diff --git a/common/src/main/java/common/item/tool/ItemArmor.java b/common/src/main/java/common/item/tool/ItemArmor.java index c872b4d4..957eba87 100755 --- a/common/src/main/java/common/item/tool/ItemArmor.java +++ b/common/src/main/java/common/item/tool/ItemArmor.java @@ -14,7 +14,7 @@ import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.BoundingBox; @@ -121,11 +121,6 @@ public class ItemArmor extends Item return this.material.isMagnetic(); } - public Transforms getTransform() { - return this.armorType == UsageSlot.HEAD ? Transforms.OFFSET2 : (this.armorType == UsageSlot.FEET ? Transforms.OFFSET1 : - super.getTransform()); - } - public Model getModel(ModelProvider provider, String name) { if(this.material.canBeDyed()) return provider.getModel(this.getTransform(), name, name + "_overlay"); diff --git a/common/src/main/java/common/item/tool/ItemBow.java b/common/src/main/java/common/item/tool/ItemBow.java index 9b94b8e3..2f441399 100755 --- a/common/src/main/java/common/item/tool/ItemBow.java +++ b/common/src/main/java/common/item/tool/ItemBow.java @@ -10,7 +10,8 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.world.World; public class ItemBow extends Item @@ -111,7 +112,7 @@ public class ItemBow extends Item /** * returns the action that specifies what animation to play when the items is being used */ - public ItemAction getItemUseAction(ItemStack stack) + public ItemAction getItemUseAction() { return ItemAction.AIM; } @@ -153,12 +154,8 @@ public class ItemBow extends Item } return null; } - - public Transforms getTransform() { - return Transforms.RANGED; - } - public boolean canBeWielded() { - return true; + public WieldType getWieldType() { + return WieldType.RANGED; } } diff --git a/common/src/main/java/common/item/tool/ItemBucketMilk.java b/common/src/main/java/common/item/tool/ItemBucketMilk.java index db1527e1..2d9fceba 100755 --- a/common/src/main/java/common/item/tool/ItemBucketMilk.java +++ b/common/src/main/java/common/item/tool/ItemBucketMilk.java @@ -50,7 +50,7 @@ public class ItemBucketMilk extends Item /** * returns the action that specifies what animation to play when the items is being used */ - public ItemAction getItemUseAction(ItemStack stack) + public ItemAction getItemUseAction() { return ItemAction.DRINK; } diff --git a/common/src/main/java/common/item/tool/ItemCamera.java b/common/src/main/java/common/item/tool/ItemCamera.java index 49332c8f..f62f03f2 100755 --- a/common/src/main/java/common/item/tool/ItemCamera.java +++ b/common/src/main/java/common/item/tool/ItemCamera.java @@ -29,7 +29,7 @@ public class ItemCamera extends ItemMagnetic { // return true; // } - public boolean isFirstPerson() { + public boolean canRenderHand() { return false; } } diff --git a/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java b/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java index c0e90852..c448fb56 100755 --- a/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java +++ b/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java @@ -6,7 +6,8 @@ import common.init.Items; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.world.World; public class ItemCarrotOnAStick extends Item @@ -61,7 +62,7 @@ public class ItemCarrotOnAStick extends Item return itemStackIn; } - public Transforms getTransform() { - return Transforms.TOOL_FLIP; - } + public WieldType getWieldType() { + return WieldType.TOOL_FLIP; + } } diff --git a/common/src/main/java/common/item/tool/ItemDie.java b/common/src/main/java/common/item/tool/ItemDie.java index 5275d9b6..e0883354 100755 --- a/common/src/main/java/common/item/tool/ItemDie.java +++ b/common/src/main/java/common/item/tool/ItemDie.java @@ -13,7 +13,7 @@ import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; -import common.model.Transforms; +import common.model.Transform; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.Facing; @@ -80,13 +80,13 @@ public class ItemDie extends Item return itemStackIn; } - public Transforms getTransform() { - return Transforms.DICE; + public Transform getTransform() { + return Transform.DICE; } public Model getModel(ModelProvider provider, String name) { - return provider.getModel(provider.getModel("items/die_d" + this.sides + "_side").add().nswe() - .du("items/die_d" + this.sides + "_top"), this.getTransform()); + return provider.getModel(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), this.getTransform()); } public ItemStack dispenseStack(World world, TileEntity source, Vec3 position, BlockPos blockpos, Facing facing, ItemStack stack) { diff --git a/common/src/main/java/common/item/tool/ItemEditor.java b/common/src/main/java/common/item/tool/ItemEditor.java index 81393c2e..6dad049a 100755 --- a/common/src/main/java/common/item/tool/ItemEditor.java +++ b/common/src/main/java/common/item/tool/ItemEditor.java @@ -5,7 +5,7 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemControl; import common.item.ItemStack; -import common.model.Transforms; +import common.model.Transform; import common.util.BlockPos; import common.world.World; @@ -27,10 +27,6 @@ public class ItemEditor extends Item { return true; } - public Transforms getTransform() { - return Transforms.TOOL; - } - public boolean isAdminItem() { return true; } diff --git a/common/src/main/java/common/item/tool/ItemFishingRod.java b/common/src/main/java/common/item/tool/ItemFishingRod.java index 5ef503cf..ae53fbff 100755 --- a/common/src/main/java/common/item/tool/ItemFishingRod.java +++ b/common/src/main/java/common/item/tool/ItemFishingRod.java @@ -6,7 +6,8 @@ import common.init.SoundEvent; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.world.World; public class ItemFishingRod extends Item @@ -77,7 +78,7 @@ public class ItemFishingRod extends Item return player.fishEntity != null ? "fishing_rod_cast" : null; } - public Transforms getTransform() { - return Transforms.TOOL_FLIP; - } + public WieldType getWieldType() { + return WieldType.TOOL_FLIP; + } } diff --git a/common/src/main/java/common/item/tool/ItemFood.java b/common/src/main/java/common/item/tool/ItemFood.java index 3010cd71..ce7318e0 100755 --- a/common/src/main/java/common/item/tool/ItemFood.java +++ b/common/src/main/java/common/item/tool/ItemFood.java @@ -62,7 +62,7 @@ public class ItemFood extends Item /** * returns the action that specifies what animation to play when the items is being used */ - public ItemAction getItemUseAction(ItemStack stack) + public ItemAction getItemUseAction() { return ItemAction.EAT; } diff --git a/common/src/main/java/common/item/tool/ItemGunBase.java b/common/src/main/java/common/item/tool/ItemGunBase.java index fbd80df5..4fb6fcc9 100755 --- a/common/src/main/java/common/item/tool/ItemGunBase.java +++ b/common/src/main/java/common/item/tool/ItemGunBase.java @@ -10,7 +10,8 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.rng.Random; import common.world.World; @@ -25,7 +26,7 @@ public abstract class ItemGunBase extends Item this.setTab(CheatTab.WEAPONS); } - public ItemAction getItemPosition(ItemStack stack) + public ItemAction getItemPosition() { return ItemAction.AIM; } @@ -77,12 +78,8 @@ public abstract class ItemGunBase extends Item { return 1; } - - public Transforms getTransform() { - return Transforms.RANGED; - } - public boolean canBeWielded() { - return true; + public WieldType getWieldType() { + return WieldType.RANGED; } } diff --git a/common/src/main/java/common/item/tool/ItemHoe.java b/common/src/main/java/common/item/tool/ItemHoe.java index 57d16efb..7228b6a1 100755 --- a/common/src/main/java/common/item/tool/ItemHoe.java +++ b/common/src/main/java/common/item/tool/ItemHoe.java @@ -7,7 +7,8 @@ import common.init.ToolMaterial; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.util.BlockPos; import common.util.Facing; import common.world.State; @@ -100,16 +101,12 @@ public class ItemHoe extends Item return this.theToolMaterial.isMagnetic(); } - public Transforms getTransform() { - return Transforms.TOOL; - } - public ToolMaterial getToolMaterial() { return this.theToolMaterial; } - public boolean canBeWielded() { - return true; + public WieldType getWieldType() { + return WieldType.TOOL; } } diff --git a/common/src/main/java/common/item/tool/ItemKey.java b/common/src/main/java/common/item/tool/ItemKey.java index 848efe54..caf3217e 100755 --- a/common/src/main/java/common/item/tool/ItemKey.java +++ b/common/src/main/java/common/item/tool/ItemKey.java @@ -1,10 +1,6 @@ package common.item.tool; import common.item.ItemMagnetic; -import common.model.Transforms; public class ItemKey extends ItemMagnetic { - public Transforms getTransform() { - return Transforms.KEY; - } } diff --git a/common/src/main/java/common/item/tool/ItemMagnet.java b/common/src/main/java/common/item/tool/ItemMagnet.java index 5b4edf8f..e47d3695 100755 --- a/common/src/main/java/common/item/tool/ItemMagnet.java +++ b/common/src/main/java/common/item/tool/ItemMagnet.java @@ -9,7 +9,8 @@ import common.entity.npc.EntityNPC; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.util.BoundingBox; import common.util.Vec3; import common.world.World; @@ -65,7 +66,7 @@ public class ItemMagnet extends Item { return true; } - public Transforms getTransform() { - return Transforms.TOOL_FLIP; - } + public WieldType getWieldType() { + return WieldType.TOOL_FLIP; + } } diff --git a/common/src/main/java/common/item/tool/ItemPotion.java b/common/src/main/java/common/item/tool/ItemPotion.java index 843e4b13..f872a5f8 100755 --- a/common/src/main/java/common/item/tool/ItemPotion.java +++ b/common/src/main/java/common/item/tool/ItemPotion.java @@ -135,7 +135,7 @@ public class ItemPotion extends Item /** * returns the action that specifies what animation to play when the items is being used */ - public ItemAction getItemUseAction(ItemStack stack) + public ItemAction getItemUseAction() { return ItemAction.DRINK; } diff --git a/common/src/main/java/common/item/tool/ItemScanner.java b/common/src/main/java/common/item/tool/ItemScanner.java index a4e68f1a..af56a4b6 100755 --- a/common/src/main/java/common/item/tool/ItemScanner.java +++ b/common/src/main/java/common/item/tool/ItemScanner.java @@ -4,6 +4,7 @@ import common.biome.Biome; import common.color.TextColor; import common.entity.npc.EntityNPC; import common.item.ItemStack; +import common.item.WieldType; import common.util.BlockPos; import common.util.Vec3; import common.world.AWorldServer; @@ -24,4 +25,8 @@ public class ItemScanner extends ItemWand { public int getRange(ItemStack stack, EntityNPC player) { return 250; } + + public WieldType getWieldType() { + return null; + } } diff --git a/common/src/main/java/common/item/tool/ItemShears.java b/common/src/main/java/common/item/tool/ItemShears.java index e64e89bd..a9ef7cfc 100755 --- a/common/src/main/java/common/item/tool/ItemShears.java +++ b/common/src/main/java/common/item/tool/ItemShears.java @@ -9,6 +9,7 @@ import common.init.ToolMaterial; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; +import common.item.WieldType; import common.util.BlockPos; import common.world.World; @@ -56,7 +57,7 @@ public class ItemShears extends Item return this.material.isMagnetic(); } - public boolean canBeWielded() { - return true; + public WieldType getWieldType() { + return WieldType.DEFAULT; } } diff --git a/common/src/main/java/common/item/tool/ItemSoup.java b/common/src/main/java/common/item/tool/ItemSoup.java index 7b7ba918..bcdb5a3b 100755 --- a/common/src/main/java/common/item/tool/ItemSoup.java +++ b/common/src/main/java/common/item/tool/ItemSoup.java @@ -3,7 +3,7 @@ package common.item.tool; import common.entity.npc.EntityNPC; import common.init.Items; import common.item.ItemStack; -import common.model.Transforms; +import common.model.Transform; import common.world.World; public class ItemSoup extends ItemFood @@ -23,8 +23,4 @@ public class ItemSoup extends ItemFood super.onItemUseFinish(stack, worldIn, playerIn); return new ItemStack(Items.bowl); } - - public Transforms getTransform() { - return Transforms.OFFSET1; - } } diff --git a/common/src/main/java/common/item/tool/ItemSword.java b/common/src/main/java/common/item/tool/ItemSword.java index 26c16fbc..9e50b398 100755 --- a/common/src/main/java/common/item/tool/ItemSword.java +++ b/common/src/main/java/common/item/tool/ItemSword.java @@ -10,7 +10,8 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.util.BlockPos; import common.world.World; @@ -87,7 +88,7 @@ public class ItemSword extends Item /** * returns the action that specifies what animation to play when the items is being used */ - public ItemAction getItemUseAction(ItemStack stack) + public ItemAction getItemUseAction() { return ItemAction.BLOCK; } @@ -152,12 +153,8 @@ public class ItemSword extends Item public boolean isMagnetic() { return this.material.isMagnetic(); } - - public Transforms getTransform() { - return Transforms.TOOL; - } - public boolean canBeWielded() { - return true; + public WieldType getWieldType() { + return WieldType.TOOL; } } diff --git a/common/src/main/java/common/item/tool/ItemTool.java b/common/src/main/java/common/item/tool/ItemTool.java index a1c6bb29..1eb28b93 100755 --- a/common/src/main/java/common/item/tool/ItemTool.java +++ b/common/src/main/java/common/item/tool/ItemTool.java @@ -6,7 +6,8 @@ import common.init.ToolMaterial; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.util.BlockPos; import common.world.World; @@ -60,11 +61,7 @@ public abstract class ItemTool extends Item { return this.material.isMagnetic(); } - public Transforms getTransform() { - return Transforms.TOOL; - } - - public boolean canBeWielded() { - return true; + public WieldType getWieldType() { + return WieldType.TOOL; } } diff --git a/common/src/main/java/common/item/tool/ItemWand.java b/common/src/main/java/common/item/tool/ItemWand.java index 94452fc9..09defc53 100755 --- a/common/src/main/java/common/item/tool/ItemWand.java +++ b/common/src/main/java/common/item/tool/ItemWand.java @@ -8,7 +8,8 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemControl; import common.item.ItemStack; -import common.model.Transforms; +import common.item.WieldType; +import common.model.Transform; import common.util.BlockPos; import common.util.ExtMath; import common.util.Facing; @@ -82,7 +83,7 @@ public abstract class ItemWand extends Item { public abstract int getRange(ItemStack stack, EntityNPC player); public abstract void onUse(ItemStack stack, EntityNPC player, AWorldServer world, Vec3 vec); - public Transforms getTransform() { - return Transforms.TOOL; - } + public WieldType getWieldType() { + return WieldType.TOOL; + } } diff --git a/common/src/main/java/common/model/ModelProvider.java b/common/src/main/java/common/model/ModelProvider.java index 4cf3877f..a8416aaf 100644 --- a/common/src/main/java/common/model/ModelProvider.java +++ b/common/src/main/java/common/model/ModelProvider.java @@ -5,8 +5,8 @@ import common.util.Facing.Axis; public interface ModelProvider { Model getModel(String primary); - Model getModel(Transforms transform, String ... layers); - Model getModel(Model parent, Transforms transform); + Model getModel(Transform transform, String ... layers); + Model getModel(Model parent, Transform transform); Model getEntityModel(); public static class DummyModel extends Model { @@ -58,11 +58,11 @@ public interface ModelProvider { public static class BlockModelProvider { private static ModelProvider provider = new ModelProvider() { - public Model getModel(Model parent, Transforms transform) { + public Model getModel(Model parent, Transform transform) { return new DummyModel(); } - public Model getModel(Transforms transform, String... layers) { + public Model getModel(Transform transform, String... layers) { return new DummyModel(); } diff --git a/common/src/main/java/common/model/ModelRotation.java b/common/src/main/java/common/model/ModelRotation.java index b4c1973b..01ade780 100755 --- a/common/src/main/java/common/model/ModelRotation.java +++ b/common/src/main/java/common/model/ModelRotation.java @@ -1,8 +1,5 @@ package common.model; -import java.util.Map; - -import common.collect.Maps; import common.util.ExtMath; import common.util.Facing; import common.util.Matrix4f; @@ -27,30 +24,22 @@ public enum ModelRotation X270_Y180(270, 180), X270_Y270(270, 270); - private static final Map mapRotations = Maps.newHashMap(); - private final int combinedXY; private final Matrix4f matrix4d; private final int quartersX; private final int quartersY; - private static int combineXY(int p_177521_0_, int p_177521_1_) + private ModelRotation(int x, int y) { - return p_177521_0_ * 360 + p_177521_1_; - } - - private ModelRotation(int p_i46087_3_, int p_i46087_4_) - { - this.combinedXY = combineXY(p_i46087_3_, p_i46087_4_); this.matrix4d = new Matrix4f(); - Matrix4f matrix4f = new Matrix4f(); - matrix4f.setIdentity(); - Matrix4f.rotate((float)(-p_i46087_3_) * 0.017453292F, new Vector3f(1.0F, 0.0F, 0.0F), matrix4f, matrix4f); - this.quartersX = ExtMath.absi(p_i46087_3_ / 90); - Matrix4f matrix4f1 = new Matrix4f(); - matrix4f1.setIdentity(); - Matrix4f.rotate((float)(-p_i46087_4_) * 0.017453292F, new Vector3f(0.0F, 1.0F, 0.0F), matrix4f1, matrix4f1); - this.quartersY = ExtMath.absi(p_i46087_4_ / 90); - Matrix4f.mul(matrix4f1, matrix4f, this.matrix4d); + Matrix4f mat1 = new Matrix4f(); + mat1.setIdentity(); + Matrix4f.rotate((float)(-x) * 0.017453292F, new Vector3f(1.0F, 0.0F, 0.0F), mat1, mat1); + this.quartersX = ExtMath.absi(x / 90); + Matrix4f mat2 = new Matrix4f(); + mat2.setIdentity(); + Matrix4f.rotate((float)(-y) * 0.017453292F, new Vector3f(0.0F, 1.0F, 0.0F), mat2, mat2); + this.quartersY = ExtMath.absi(y / 90); + Matrix4f.mul(mat2, mat1, this.matrix4d); } public Matrix4f getMatrix4d() @@ -58,9 +47,9 @@ public enum ModelRotation return this.matrix4d; } - public Facing rotateFace(Facing p_177523_1_) + public Facing rotateFace(Facing face) { - Facing enumfacing = p_177523_1_; + Facing enumfacing = face; for (int i = 0; i < this.quartersX; ++i) { @@ -102,11 +91,6 @@ public enum ModelRotation return i; } - public static ModelRotation getModelRotation(int p_177524_0_, int p_177524_1_) - { - return (ModelRotation)mapRotations.get(Integer.valueOf(combineXY((p_177524_0_ % 360 + 360) % 360, (p_177524_1_ % 360 + 360) % 360))); - } - public static ModelRotation getNorthRot(Facing face) { switch(face) { @@ -144,11 +128,4 @@ public enum ModelRotation return X90_Y0; } } - - static { - for (ModelRotation modelrotation : values()) - { - mapRotations.put(Integer.valueOf(modelrotation.combinedXY), modelrotation); - } - } } diff --git a/common/src/main/java/common/model/Transform.java b/common/src/main/java/common/model/Transform.java index 7451efd9..2f8b277a 100755 --- a/common/src/main/java/common/model/Transform.java +++ b/common/src/main/java/common/model/Transform.java @@ -1,5 +1,86 @@ package common.model; -public record Transform(float rotationX, float rotationY, float rotationZ, float translationX, float translationY, float translationZ, float scale) { - public static final Transform IDENTITY = new Transform(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); +public enum Transform { + IDENTITY( + 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 + ), + 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 + ), + CROSS( + 0.0f, 45.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.25f + ), + CROSS_SMALL( + 0.0f, 45.0f, 0.0f, 0.0f, 0.5f, 0.0f, 1.5f + ), + WIRE( + 90.0f, 45.0f, -90.0f, 0.0f, -4.0f, 0.0f, 1.75f + ), + THIN_WIRE( + 50.0f, 45.0f, -50.0f, 5.0f, 1.75f, 0.0f, 2.25f + ), + PANE( + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.25f + ), + PANE_SIDE( + 0.0f, 0.0f, 0.0f, -4.5f, -3.75f, 0.0f, 1.25f + ), + FENCE( + 0.0f, 90.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f + ); + + private final float rotationX; + private final float rotationY; + private final float rotationZ; + private final float translationX; + private final float translationY; + private final float translationZ; + private final float scale; + + private Transform(float rx, float ry, float rz, float tx, float ty, float tz, float scale) { + this.rotationX = rx; + this.rotationY = ry; + this.rotationZ = rz; + this.translationX = tx * 0.0625f; + this.translationY = ty * 0.0625f; + this.translationZ = tz * 0.0625f; + this.scale = scale; + } + + public float rotationX() { + return this.rotationX; + } + + public float rotationY() { + return this.rotationY; + } + + public float rotationZ() { + return this.rotationZ; + } + + public float translationX() { + return this.translationX; + } + + public float translationY() { + return this.translationY; + } + + public float translationZ() { + return this.translationZ; + } + + public float scale() { + return this.scale; + } } diff --git a/common/src/main/java/common/model/Transforms.java b/common/src/main/java/common/model/Transforms.java deleted file mode 100755 index f125fd2e..00000000 --- a/common/src/main/java/common/model/Transforms.java +++ /dev/null @@ -1,163 +0,0 @@ -package common.model; - -public enum Transforms { - DEFAULT( - Transform.IDENTITY, - Transform.IDENTITY, - Transform.IDENTITY, - Transform.IDENTITY - ), - ANVIL( - transform(10.0f, -45.0f, 170.0f, 0.25f, 1.5f, -2.5f, 0.375f), - Transform.IDENTITY, - Transform.IDENTITY, - Transform.IDENTITY - ), - BLOCK( - transform(10.0f, -45.0f, 170.0f, 0.0f, 1.5f, -2.75f, 0.375f), - Transform.IDENTITY, - Transform.IDENTITY, - Transform.IDENTITY - ), - ITEM( - transform(-90.0f, 0.0f, 0.0f, 0.0f, 1.0f, -3.0f, 0.55f), - transform(0.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - TOOL_FLIP( - transform(180.0f, 90.0f, -35.0f, 0.0f, 0.0f, -3.5f, 0.85f), - transform(0.0f, 45.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - TOOL( - transform(0.0f, 90.0f, -35.0f, 0.0f, 1.25f, -3.5f, 0.85f), - transform(0.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - OFFSET2( - transform(-90.0f, 0.0f, 0.0f, 0.0f, 1.0f, -2.25f, 0.55f), - transform(0.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - LAYER( - transform(10.0f, -45.0f, 170.0f, 0.0f, 0.25f, -2.75f, 0.375f), - transform(0.0f, 0.0f, 0.0f, 0.0f, 5.25f, 0.0f, 1.0f), - Transform.IDENTITY, - Transform.IDENTITY - ), - DICE( - transform(10.0f, -45.0f, 170.0f, 0.0f, 1.5f, -1.75f, 0.15f), - transform(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.4f), - transform(135.0f, -55.0f, 180.0f, 0.0f, 0.0f, 0.0f, 1.1f), - transform(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.4f) - ), - STAIRS( - transform(10.0f, -45.0f, 170.0f, 0.0f, 1.5f, -2.75f, 0.375f), - Transform.IDENTITY, - transform(0.0f, 180.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f), - Transform.IDENTITY - ), - OFFSET1( - transform(-90.0f, 0.0f, 0.0f, 0.0f, 1.0f, -2.5f, 0.55f), - transform(0.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - GATE( - transform(0.0f, -90.0f, 170.0f, 0.0f, 1.5f, -2.75f, 0.375f), - transform(0.0f, 90.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f), - Transform.IDENTITY, - Transform.IDENTITY - ), - NUGGET( - transform(-90.0f, 0.0f, 0.0f, 0.0f, 1.0f, -2.0f, 0.55f), - transform(0.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - SKULL( - transform(180.0f, -45.0f, 0.0f, 0.0f, 1.0f, -2.5f, 0.25f), - transform(0.0f, -180.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.55f), - transform(0.0f, 180.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.7f), - Transform.IDENTITY - ), - BUTTON( - transform(10.0f, -45.0f, 170.0f, 0.0f, 1.0f, -1.75f, 0.375f), - Transform.IDENTITY, - Transform.IDENTITY, - Transform.IDENTITY - ), - RANGED( - transform(5.0f, 80.0f, -45.0f, 0.75f, 0.0f, 0.25f, 1.0f), - transform(0.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - FENCE( - transform(0.0f, 0.0f, 180.0f, 0.0f, 1.5f, -2.75f, 0.375f), - Transform.IDENTITY, - transform(0.0f, 90.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f), - Transform.IDENTITY - ), - FLAT( - transform(10.0f, -45.0f, 170.0f, 0.0f, 0.25f, -2.75f, 0.375f), - transform(0.0f, 0.0f, 0.0f, 0.0f, 5.0f, 0.0f, 1.0f), - Transform.IDENTITY, - Transform.IDENTITY - ), - ROD( - transform(0.0f, 90.0f, -35.0f, 0.0f, 0.75f, -3.5f, 0.85f), - transform(0.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ), - KEY( - transform(0.0f, 270.0f, -35.0f, 0.0f, 1.25f, -3.5f, 0.85f), - transform(180.0f, -135.0f, 25.0f, 0.0f, 4.0f, 2.0f, 1.7f), - Transform.IDENTITY, - Transform.IDENTITY - ); - - public static enum Camera { - NONE, - THIRD_PERSON, - FIRST_PERSON, - GUI, - GROUND; - } - - private static Transform transform(float rx, float ry, float rz, float tx, float ty, float tz, float scale) { - return new Transform(rx, ry, rz, tx * 0.0625f, ty * 0.0625f, tz * 0.0625f, scale); - } - - public final Transform third; - public final Transform first; - public final Transform gui; - public final Transform ground; - - private Transforms(Transform third, Transform first, Transform gui, Transform ground) { - this.third = third; - this.first = first; - this.gui = gui; - this.ground = ground; - } - - public Transform get(Camera type) { - switch(type) { - case THIRD_PERSON: - return this.third; - case FIRST_PERSON: - return this.first; - case GUI: - return this.gui; - case GROUND: - return this.ground; - default: - return Transform.IDENTITY; - } - } -}