diff --git a/client/src/main/java/client/renderer/EntityRenderer.java b/client/src/main/java/client/renderer/EntityRenderer.java index dbc61636..92f006d3 100755 --- a/client/src/main/java/client/renderer/EntityRenderer.java +++ b/client/src/main/java/client/renderer/EntityRenderer.java @@ -10,6 +10,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL13; import client.Client; +import client.renderer.chunk.BlockLayer; import client.renderer.texture.DynamicTexture; import client.renderer.texture.TextureMap; import common.block.Block; @@ -22,7 +23,6 @@ import common.entity.types.EntityLiving; import common.init.Blocks; import common.init.Items; import common.init.SoundEvent; -import common.model.BlockLayer; import common.rng.Random; import common.sound.PositionedSound; import common.util.BlockPos; diff --git a/client/src/main/java/client/renderer/ItemRenderer.java b/client/src/main/java/client/renderer/ItemRenderer.java index eb8c4143..6dc4a7dd 100755 --- a/client/src/main/java/client/renderer/ItemRenderer.java +++ b/client/src/main/java/client/renderer/ItemRenderer.java @@ -21,7 +21,6 @@ import common.init.Blocks; import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; -import common.model.BlockLayer; import common.util.BlockPos; import common.util.ExtMath; import common.util.Vec3; @@ -110,29 +109,14 @@ public class ItemRenderer 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(); } } - private boolean isBlockTranslucent(Block blockIn) - { - return blockIn != null && blockIn.getRenderLayer() == BlockLayer.TRANSLUCENT; - } - private void rotateArroundXAndY(float angle, float angleY) { GL11.glPushMatrix(); diff --git a/client/src/main/java/client/renderer/RegionRenderCacheBuilder.java b/client/src/main/java/client/renderer/RegionRenderCacheBuilder.java index 1bc34e5b..e2d8edba 100755 --- a/client/src/main/java/client/renderer/RegionRenderCacheBuilder.java +++ b/client/src/main/java/client/renderer/RegionRenderCacheBuilder.java @@ -1,6 +1,6 @@ package client.renderer; -import common.model.BlockLayer; +import client.renderer.chunk.BlockLayer; public class RegionRenderCacheBuilder { diff --git a/client/src/main/java/client/renderer/RenderGlobal.java b/client/src/main/java/client/renderer/RenderGlobal.java index 4881eaf4..d21a14d6 100755 --- a/client/src/main/java/client/renderer/RenderGlobal.java +++ b/client/src/main/java/client/renderer/RenderGlobal.java @@ -16,6 +16,7 @@ import org.lwjgl.opengl.GL13; import org.lwjgl.opengl.GL15; import client.Client; +import client.renderer.chunk.BlockLayer; import client.renderer.chunk.ChunkRenderDispatcher; import client.renderer.chunk.CompiledChunk; import client.renderer.chunk.RenderChunk; @@ -35,7 +36,6 @@ import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.Blocks; -import common.model.BlockLayer; import common.rng.Random; import common.sound.Sound; import common.tileentity.TileEntity; diff --git a/common/src/main/java/common/model/BlockLayer.java b/client/src/main/java/client/renderer/chunk/BlockLayer.java similarity index 78% rename from common/src/main/java/common/model/BlockLayer.java rename to client/src/main/java/client/renderer/chunk/BlockLayer.java index 59d6fb65..c8d82fa3 100755 --- a/common/src/main/java/common/model/BlockLayer.java +++ b/client/src/main/java/client/renderer/chunk/BlockLayer.java @@ -1,8 +1,5 @@ -package common.model; +package client.renderer.chunk; -import common.util.Clientside; - -@Clientside public enum BlockLayer { SOLID("Solid"), CUTOUT("Cutout"), diff --git a/client/src/main/java/client/renderer/chunk/ChunkRenderDispatcher.java b/client/src/main/java/client/renderer/chunk/ChunkRenderDispatcher.java index e75f1a7c..64524bed 100755 --- a/client/src/main/java/client/renderer/chunk/ChunkRenderDispatcher.java +++ b/client/src/main/java/client/renderer/chunk/ChunkRenderDispatcher.java @@ -13,7 +13,6 @@ import client.renderer.chunk.ChunkBuilder.ImmediateFuture; import client.renderer.chunk.ChunkBuilder.ListenableFuture; import client.renderer.chunk.ChunkBuilder.ListenableFutureTask; import common.collect.Lists; -import common.model.BlockLayer; public class ChunkRenderDispatcher { diff --git a/client/src/main/java/client/renderer/chunk/ChunkRenderWorker.java b/client/src/main/java/client/renderer/chunk/ChunkRenderWorker.java index 55906107..398eb098 100755 --- a/client/src/main/java/client/renderer/chunk/ChunkRenderWorker.java +++ b/client/src/main/java/client/renderer/chunk/ChunkRenderWorker.java @@ -7,7 +7,6 @@ import client.renderer.chunk.ChunkBuilder.ListenableFuture; import common.collect.Lists; import common.entity.Entity; import common.log.Log; -import common.model.BlockLayer; public class ChunkRenderWorker implements Runnable { diff --git a/client/src/main/java/client/renderer/chunk/CompiledChunk.java b/client/src/main/java/client/renderer/chunk/CompiledChunk.java index 71559156..481e7c9f 100755 --- a/client/src/main/java/client/renderer/chunk/CompiledChunk.java +++ b/client/src/main/java/client/renderer/chunk/CompiledChunk.java @@ -4,7 +4,6 @@ import java.util.List; import client.renderer.RenderBuffer; import common.collect.Lists; -import common.model.BlockLayer; import common.tileentity.TileEntity; import common.util.Facing; diff --git a/client/src/main/java/client/renderer/chunk/RenderChunk.java b/client/src/main/java/client/renderer/chunk/RenderChunk.java index 6868c157..f7ded46c 100755 --- a/client/src/main/java/client/renderer/chunk/RenderChunk.java +++ b/client/src/main/java/client/renderer/chunk/RenderChunk.java @@ -24,7 +24,6 @@ import common.block.ITileEntityProvider; import common.collect.Maps; import common.collect.Sets; import common.init.Blocks; -import common.model.BlockLayer; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.BoundingBox; @@ -170,11 +169,10 @@ public class RenderChunk } } - BlockLayer layer = block.getRenderLayer(); - int idx = layer.ordinal(); - if (block != Blocks.air) { + BlockLayer layer = block.hasTransparency() ? (block.getMaterial().isLiquid() ? BlockLayer.TRANSLUCENT : BlockLayer.CUTOUT) : BlockLayer.SOLID; + int idx = layer.ordinal(); RenderBuffer worldrenderer = generator.getRegionRenderCacheBuilder().getWorldRendererByLayerId(idx); if (!compiledchunk.isLayerStarted(layer)) diff --git a/common/src/main/java/common/block/Block.java b/common/src/main/java/common/block/Block.java index f73040fb..8fb68e92 100755 --- a/common/src/main/java/common/block/Block.java +++ b/common/src/main/java/common/block/Block.java @@ -37,7 +37,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.StackSize; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.GuiPosition; @@ -1070,8 +1069,8 @@ public class Block { } @Clientside - public BlockLayer getRenderLayer() { - return BlockLayer.SOLID; + public boolean hasTransparency() { + return false; } @Clientside diff --git a/common/src/main/java/common/block/artificial/BlockBed.java b/common/src/main/java/common/block/artificial/BlockBed.java index 35bd7650..3e82565a 100755 --- a/common/src/main/java/common/block/artificial/BlockBed.java +++ b/common/src/main/java/common/block/artificial/BlockBed.java @@ -10,7 +10,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.StackSize; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -170,8 +169,8 @@ public class BlockBed extends Block implements Rotatable { } @Clientside - public BlockLayer getRenderLayer() { - return BlockLayer.CUTOUT; + public boolean hasTransparency() { + return true; } // public void onBlockHarvested(World worldIn, BlockPos pos, State state, EntityNPC player) { diff --git a/common/src/main/java/common/block/artificial/BlockCake.java b/common/src/main/java/common/block/artificial/BlockCake.java index d19b028f..eec931f8 100755 --- a/common/src/main/java/common/block/artificial/BlockCake.java +++ b/common/src/main/java/common/block/artificial/BlockCake.java @@ -4,7 +4,6 @@ import common.block.Block; import common.block.Material; import common.entity.npc.EntityNPC; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; @@ -12,6 +11,7 @@ import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.world.AWorldServer; import common.world.IWorldAccess; @@ -192,10 +192,10 @@ public class BlockCake extends Block return null; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/artificial/BlockDoor.java b/common/src/main/java/common/block/artificial/BlockDoor.java index 2daf9aba..83e95fb9 100755 --- a/common/src/main/java/common/block/artificial/BlockDoor.java +++ b/common/src/main/java/common/block/artificial/BlockDoor.java @@ -13,7 +13,6 @@ import common.item.Item; import common.item.ItemStack; import common.item.StackSize; import common.item.tool.ItemKey; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -252,8 +251,8 @@ public class BlockDoor extends Block implements Rotatable { } @Clientside - public BlockLayer getRenderLayer() { - return BlockLayer.CUTOUT; + public boolean hasTransparency() { + return true; } public static Facing getFacing(IBlockAccess world, BlockPos pos) { diff --git a/common/src/main/java/common/block/artificial/BlockFlowerPot.java b/common/src/main/java/common/block/artificial/BlockFlowerPot.java index 78856ddc..7d992188 100755 --- a/common/src/main/java/common/block/artificial/BlockFlowerPot.java +++ b/common/src/main/java/common/block/artificial/BlockFlowerPot.java @@ -12,12 +12,12 @@ import common.init.Blocks; import common.init.Items; import common.item.Item; import common.item.ItemStack; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.GuiPosition; import common.rng.Random; import common.util.BlockPos; +import common.util.Clientside; import common.util.Facing; import common.world.State; import common.world.World; @@ -200,10 +200,10 @@ public class BlockFlowerPot extends Block return Items.flowerpot; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public Model getModel(ModelProvider provider, String name, State state) { if(this.content == null) diff --git a/common/src/main/java/common/block/artificial/BlockGlass.java b/common/src/main/java/common/block/artificial/BlockGlass.java index 95a65ebe..2cfd8532 100755 --- a/common/src/main/java/common/block/artificial/BlockGlass.java +++ b/common/src/main/java/common/block/artificial/BlockGlass.java @@ -4,9 +4,9 @@ import common.block.Block; import common.block.Material; import common.entity.Entity; import common.item.CheatTab; -import common.model.BlockLayer; import common.rng.Random; import common.util.BlockPos; +import common.util.Clientside; import common.util.Facing; import common.util.Serverside; import common.world.AWorldServer; @@ -23,8 +23,9 @@ public class BlockGlass extends Block { return 0; } - public BlockLayer getRenderLayer() { - return BlockLayer.CUTOUT; + @Clientside + public boolean hasTransparency() { + return true; } public boolean isOpaqueCube() { diff --git a/common/src/main/java/common/block/artificial/BlockLadder.java b/common/src/main/java/common/block/artificial/BlockLadder.java index 7d66fe13..c849c179 100755 --- a/common/src/main/java/common/block/artificial/BlockLadder.java +++ b/common/src/main/java/common/block/artificial/BlockLadder.java @@ -5,7 +5,6 @@ import common.block.Rotatable; import common.block.Material; import common.entity.types.EntityLiving; import common.item.CheatTab; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -13,6 +12,7 @@ import common.model.GuiPosition; import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.world.AWorldServer; import common.world.IWorldAccess; @@ -132,10 +132,10 @@ public class BlockLadder extends Block implements Rotatable return worldIn.getState(pos.offset(facing.getOpposite())).getBlock().isNormalCube(); } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/artificial/BlockPane.java b/common/src/main/java/common/block/artificial/BlockPane.java index 2ec5bc9d..8446aed3 100755 --- a/common/src/main/java/common/block/artificial/BlockPane.java +++ b/common/src/main/java/common/block/artificial/BlockPane.java @@ -8,7 +8,6 @@ import common.entity.Entity; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -18,6 +17,7 @@ import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.Serverside; import common.world.AWorldServer; @@ -181,10 +181,10 @@ public class BlockPane extends Block return true; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/artificial/BlockStairs.java b/common/src/main/java/common/block/artificial/BlockStairs.java index 811da376..86d1f75c 100755 --- a/common/src/main/java/common/block/artificial/BlockStairs.java +++ b/common/src/main/java/common/block/artificial/BlockStairs.java @@ -7,31 +7,24 @@ import common.block.Block; import common.block.Rotatable; import common.block.Material; import common.entity.Entity; -import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.BlockRegistry; -import common.init.Blocks; import common.item.CheatTab; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.GuiPosition; import common.properties.Property; import common.properties.PropertyEnum; -import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; -import common.util.Clientside; import common.util.Facing; import common.util.HitPosition; import common.util.Identifyable; import common.util.Vec3; -import common.world.Explosion; import common.world.IBlockAccess; import common.world.IWorldAccess; import common.world.State; import common.world.World; -import common.world.AWorldServer; public class BlockStairs extends Block implements Rotatable { @@ -561,117 +554,6 @@ public class BlockStairs extends Block implements Rotatable this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } - public void displayTick(World worldIn, BlockPos pos, State state, Random rand) - { - this.base.displayTick(worldIn, pos, state, rand); - } - - public void onStartBreak(World worldIn, BlockPos pos, EntityNPC playerIn) - { - this.base.onStartBreak(worldIn, pos, playerIn); - } - - /** - * Called when a player destroys this Block - */ - public void onBroken(World worldIn, BlockPos pos, State state) - { - this.base.onBroken(worldIn, pos, state); - } - - @Clientside - public int getLightmapValue(IWorldAccess worldIn, BlockPos pos) - { - return this.base.getLightmapValue(worldIn, pos); - } - - /** - * Returns how much this block can resist explosions from the passed in entity. - */ - public float getResistance(Entity exploder) - { - return this.base.getResistance(exploder); - } - - @Clientside - public BlockLayer getRenderLayer() - { - return this.base.getRenderLayer(); - } - - /** - * How many world ticks before ticking - */ - public int tickRate(World worldIn, BlockPos pos) - { - return this.base.tickRate(worldIn, pos); - } - - public BoundingBox getSelectionBox(World worldIn, BlockPos pos) - { - return this.base.getSelectionBox(worldIn, pos); - } - - public Vec3 getAcceleration(World worldIn, BlockPos pos, Entity entityIn, Vec3 motion) - { - return this.base.getAcceleration(worldIn, pos, entityIn, motion); - } - - public boolean canRayTrace(State state, boolean liquid) - { - return this.base.canRayTrace(state, liquid); - } - - public boolean canPlace(World worldIn, BlockPos pos) - { - return this.base.canPlace(worldIn, pos); - } - - public void onAdded(AWorldServer worldIn, BlockPos pos, State state) - { - this.onUpdate(worldIn, pos, this.baseState, Blocks.air); - this.base.onAdded(worldIn, pos, this.baseState); - } - - public void onRemoved(AWorldServer worldIn, BlockPos pos, State state) - { - this.base.onRemoved(worldIn, pos, this.baseState); - } - - /** - * Triggered whenever an entity collides with this block (enters into the block) - */ - public void onCollideMove(World worldIn, BlockPos pos, Entity entityIn) - { - this.base.onCollideMove(worldIn, pos, entityIn); - } - - public void tick(AWorldServer worldIn, BlockPos pos, State state, Random rand) - { - this.base.tick(worldIn, pos, state, rand); - } - - public boolean onUse(World worldIn, BlockPos pos, State state, EntityNPC playerIn, Facing side, float hitX, float hitY, float hitZ) - { - return this.base.onUse(worldIn, pos, this.baseState, playerIn, Facing.DOWN, 0.0F, 0.0F, 0.0F); - } - - /** - * Called when this Block is destroyed by an Explosion - */ - public void onDestroyedExplosion(World worldIn, BlockPos pos, Explosion explosionIn, State prevState) - { - this.base.onDestroyedExplosion(worldIn, pos, explosionIn, prevState); - } - -// /** -// * Get the MapColor for this Block and the given BlockState -// */ -// public MapColor getMapColor(IBlockState state) -// { -// return this.modelBlock.getMapColor(this.modelState); -// } - /** * Called by ItemBlocks just before a block is actually set in the world, to allow for adjustments to the * IBlockstate diff --git a/common/src/main/java/common/block/artificial/BlockTrapDoor.java b/common/src/main/java/common/block/artificial/BlockTrapDoor.java index 91457c42..3c0b14aa 100755 --- a/common/src/main/java/common/block/artificial/BlockTrapDoor.java +++ b/common/src/main/java/common/block/artificial/BlockTrapDoor.java @@ -7,7 +7,6 @@ import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.item.CheatTab; import common.item.tool.ItemKey; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -16,6 +15,7 @@ import common.properties.PropertyBool; import common.properties.PropertyEnum; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.HitPosition; import common.util.Identifyable; @@ -168,10 +168,10 @@ public class BlockTrapDoor extends Block implements Rotatable return iblockstate; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/foliage/BlockBush.java b/common/src/main/java/common/block/foliage/BlockBush.java index bad69087..b045860c 100755 --- a/common/src/main/java/common/block/foliage/BlockBush.java +++ b/common/src/main/java/common/block/foliage/BlockBush.java @@ -4,10 +4,10 @@ import common.block.Block; import common.block.Material; import common.init.Blocks; import common.item.CheatTab; -import common.model.BlockLayer; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.world.State; import common.world.World; import common.world.AWorldServer; @@ -87,8 +87,8 @@ public class BlockBush extends Block return false; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } } diff --git a/common/src/main/java/common/block/foliage/BlockCactus.java b/common/src/main/java/common/block/foliage/BlockCactus.java index acd8bd27..97b4162a 100755 --- a/common/src/main/java/common/block/foliage/BlockCactus.java +++ b/common/src/main/java/common/block/foliage/BlockCactus.java @@ -6,7 +6,6 @@ import common.entity.DamageSource; import common.entity.Entity; import common.init.Blocks; import common.item.CheatTab; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; @@ -14,6 +13,7 @@ import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.vars.Vars; import common.world.State; @@ -140,10 +140,10 @@ public class BlockCactus extends Block entityIn.attackEntityFrom(DamageSource.cactus, 1); } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/foliage/BlockGrass.java b/common/src/main/java/common/block/foliage/BlockGrass.java index fbbe993d..0c84b749 100755 --- a/common/src/main/java/common/block/foliage/BlockGrass.java +++ b/common/src/main/java/common/block/foliage/BlockGrass.java @@ -5,13 +5,13 @@ import common.block.Material; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; +import common.util.Clientside; import common.vars.Vars; import common.world.IWorldAccess; import common.world.State; @@ -92,10 +92,10 @@ public class BlockGrass extends Block implements IGrowable return new Property[] {SNOWY}; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) diff --git a/common/src/main/java/common/block/foliage/BlockLeavesBase.java b/common/src/main/java/common/block/foliage/BlockLeavesBase.java index ec166adc..866892d3 100755 --- a/common/src/main/java/common/block/foliage/BlockLeavesBase.java +++ b/common/src/main/java/common/block/foliage/BlockLeavesBase.java @@ -2,7 +2,7 @@ package common.block.foliage; import common.block.Block; import common.block.Material; -import common.model.BlockLayer; +import common.util.Clientside; public class BlockLeavesBase extends Block { @@ -26,10 +26,10 @@ public class BlockLeavesBase extends Block // this.transparent = transparent; // } - public BlockLayer getRenderLayer() - { - return /* this.transparent ? */ BlockLayer.CUTOUT; // : BlockLayer.SOLID; - } + @Clientside + public boolean hasTransparency() { + return true; + } public boolean isVisuallyOpaque() { diff --git a/common/src/main/java/common/block/foliage/BlockMycelium.java b/common/src/main/java/common/block/foliage/BlockMycelium.java index aa1c7785..f63ba52c 100755 --- a/common/src/main/java/common/block/foliage/BlockMycelium.java +++ b/common/src/main/java/common/block/foliage/BlockMycelium.java @@ -5,13 +5,13 @@ import common.block.Material; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; +import common.util.Clientside; import common.util.ParticleType; import common.vars.Vars; import common.world.IWorldAccess; @@ -93,10 +93,10 @@ public class BlockMycelium extends Block return new Property[] {SNOWY}; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) diff --git a/common/src/main/java/common/block/foliage/BlockReed.java b/common/src/main/java/common/block/foliage/BlockReed.java index c4abb986..c4b80d9c 100755 --- a/common/src/main/java/common/block/foliage/BlockReed.java +++ b/common/src/main/java/common/block/foliage/BlockReed.java @@ -4,7 +4,6 @@ import common.block.Block; import common.block.Material; import common.init.Blocks; import common.item.StackSize; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.GuiPosition; @@ -13,6 +12,7 @@ import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.vars.Vars; import common.world.State; @@ -139,10 +139,10 @@ public class BlockReed extends Block return false; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/foliage/BlockSwamp.java b/common/src/main/java/common/block/foliage/BlockSwamp.java index a28ad611..3b353ca3 100644 --- a/common/src/main/java/common/block/foliage/BlockSwamp.java +++ b/common/src/main/java/common/block/foliage/BlockSwamp.java @@ -6,7 +6,6 @@ import common.entity.Entity; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; @@ -14,6 +13,7 @@ import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.vars.Vars; import common.world.AWorldServer; import common.world.IWorldAccess; @@ -50,10 +50,10 @@ public class BlockSwamp extends Block entityIn.motionZ *= 0.6D; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) diff --git a/common/src/main/java/common/block/foliage/BlockTianSoil.java b/common/src/main/java/common/block/foliage/BlockTianSoil.java index 8cee5d6f..7314cae9 100755 --- a/common/src/main/java/common/block/foliage/BlockTianSoil.java +++ b/common/src/main/java/common/block/foliage/BlockTianSoil.java @@ -5,13 +5,13 @@ import common.block.Material; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; +import common.util.Clientside; import common.world.IWorldAccess; import common.world.State; @@ -42,10 +42,10 @@ public class BlockTianSoil extends Block return new Property[] {SNOWY}; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) diff --git a/common/src/main/java/common/block/foliage/BlockVine.java b/common/src/main/java/common/block/foliage/BlockVine.java index 593c4934..73090ace 100755 --- a/common/src/main/java/common/block/foliage/BlockVine.java +++ b/common/src/main/java/common/block/foliage/BlockVine.java @@ -9,7 +9,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.tool.ItemShears; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -20,6 +19,7 @@ import common.rng.Random; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.vars.Vars; import common.world.IWorldAccess; @@ -414,10 +414,10 @@ public class BlockVine extends Block } } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/liquid/BlockLiquid.java b/common/src/main/java/common/block/liquid/BlockLiquid.java index 05c61134..c8713fac 100755 --- a/common/src/main/java/common/block/liquid/BlockLiquid.java +++ b/common/src/main/java/common/block/liquid/BlockLiquid.java @@ -9,12 +9,12 @@ import common.entity.Entity; import common.init.Blocks; import common.init.SoundEvent; import common.item.Item; -import common.model.BlockLayer; import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.ExtMath; import common.util.Facing; import common.util.Pair; @@ -223,10 +223,10 @@ public abstract class BlockLiquid extends Block return (k > l ? k : l) | (i1 > j1 ? i1 : j1) << 16; } - public BlockLayer getRenderLayer() - { - return this.opaque ? BlockLayer.SOLID : BlockLayer.TRANSLUCENT; - } + @Clientside + public boolean hasTransparency() { + return !this.opaque; + } public void displayTick(World worldIn, BlockPos pos, State state, Random rand) { diff --git a/common/src/main/java/common/block/natural/BlockFire.java b/common/src/main/java/common/block/natural/BlockFire.java index f44a55b1..b23d709e 100755 --- a/common/src/main/java/common/block/natural/BlockFire.java +++ b/common/src/main/java/common/block/natural/BlockFire.java @@ -6,7 +6,6 @@ import common.block.Block; import common.block.Material; import common.block.artificial.BlockPortal; import common.init.SoundEvent; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -17,6 +16,7 @@ import common.properties.PropertyInteger; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.ParticleType; import common.util.PortalType; @@ -427,10 +427,10 @@ public class BlockFire extends Block // return MapColor.tntColor; // } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/natural/BlockIce.java b/common/src/main/java/common/block/natural/BlockIce.java index e52584c4..84b57b37 100755 --- a/common/src/main/java/common/block/natural/BlockIce.java +++ b/common/src/main/java/common/block/natural/BlockIce.java @@ -6,10 +6,10 @@ import common.enchantment.EnchantmentHelper; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.item.CheatTab; -import common.model.BlockLayer; import common.rng.Random; import common.tileentity.TileEntity; import common.util.BlockPos; +import common.util.Clientside; import common.util.Facing; import common.vars.Vars; import common.world.LightType; @@ -30,8 +30,9 @@ public class BlockIce extends Block { return false; } - public BlockLayer getRenderLayer() { - return BlockLayer.CUTOUT; + @Clientside + public boolean hasTransparency() { + return true; } public boolean canRender(IWorldAccess world, BlockPos pos, Facing side) { diff --git a/common/src/main/java/common/block/natural/BlockPodzol.java b/common/src/main/java/common/block/natural/BlockPodzol.java index 5071ad68..e54dbe45 100644 --- a/common/src/main/java/common/block/natural/BlockPodzol.java +++ b/common/src/main/java/common/block/natural/BlockPodzol.java @@ -6,13 +6,13 @@ import common.init.Blocks; import common.init.Items; import common.item.CheatTab; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; +import common.util.Clientside; import common.world.IWorldAccess; import common.world.State; @@ -38,10 +38,10 @@ public class BlockPodzol extends Block { return Items.dirt; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(SNOWY)) diff --git a/common/src/main/java/common/block/natural/BlockWeb.java b/common/src/main/java/common/block/natural/BlockWeb.java index a41d638a..576c734f 100755 --- a/common/src/main/java/common/block/natural/BlockWeb.java +++ b/common/src/main/java/common/block/natural/BlockWeb.java @@ -6,13 +6,13 @@ import common.entity.Entity; import common.init.Items; import common.item.CheatTab; import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.GuiPosition; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.world.State; import common.world.World; @@ -63,10 +63,10 @@ public class BlockWeb extends Block return true; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public Model getModel(ModelProvider provider, String name, State state) { return provider.getModel("web").cross(); diff --git a/common/src/main/java/common/block/tech/BlockActiveDisplay.java b/common/src/main/java/common/block/tech/BlockActiveDisplay.java index af66a02b..97c98ab8 100644 --- a/common/src/main/java/common/block/tech/BlockActiveDisplay.java +++ b/common/src/main/java/common/block/tech/BlockActiveDisplay.java @@ -2,7 +2,6 @@ package common.block.tech; import common.block.ITileEntityProvider; import common.entity.npc.EntityNPC; -import common.item.Item; import common.tileentity.TileEntity; import common.tileentity.TileEntityDisplay; import common.util.BlockPos; diff --git a/common/src/main/java/common/block/tech/BlockAnvil.java b/common/src/main/java/common/block/tech/BlockAnvil.java index b8e9b679..83c1e13d 100755 --- a/common/src/main/java/common/block/tech/BlockAnvil.java +++ b/common/src/main/java/common/block/tech/BlockAnvil.java @@ -14,7 +14,6 @@ import common.item.CheatTab; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; -import common.model.GuiPosition; import common.properties.Property; import common.util.BlockPos; import common.util.ExtMath; diff --git a/common/src/main/java/common/block/tech/BlockBasePressurePlate.java b/common/src/main/java/common/block/tech/BlockBasePressurePlate.java index 3ba4c0dc..18821790 100755 --- a/common/src/main/java/common/block/tech/BlockBasePressurePlate.java +++ b/common/src/main/java/common/block/tech/BlockBasePressurePlate.java @@ -6,7 +6,6 @@ import common.block.artificial.BlockFence; import common.entity.Entity; import common.init.SoundEvent; import common.item.CheatTab; -import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.GuiPosition; diff --git a/common/src/main/java/common/block/tech/BlockBrewingStand.java b/common/src/main/java/common/block/tech/BlockBrewingStand.java index 2d2b6001..62601901 100755 --- a/common/src/main/java/common/block/tech/BlockBrewingStand.java +++ b/common/src/main/java/common/block/tech/BlockBrewingStand.java @@ -7,7 +7,6 @@ import common.block.ITileEntityProvider; import common.block.Material; import common.entity.Entity; import common.entity.npc.EntityNPC; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; @@ -17,6 +16,7 @@ import common.tileentity.TileEntity; import common.tileentity.TileEntityBrewingStand; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.ParticleType; import common.world.State; @@ -433,10 +433,10 @@ public class BlockBrewingStand extends Block implements ITileEntityProvider super.onRemoved(worldIn, pos, state); } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/tech/BlockButton.java b/common/src/main/java/common/block/tech/BlockButton.java index 9a2d2d61..ea13163e 100755 --- a/common/src/main/java/common/block/tech/BlockButton.java +++ b/common/src/main/java/common/block/tech/BlockButton.java @@ -12,7 +12,6 @@ import common.entity.projectile.EntityArrow; import common.entity.types.EntityLiving; import common.init.SoundEvent; import common.item.CheatTab; -import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; diff --git a/common/src/main/java/common/block/tech/BlockCauldron.java b/common/src/main/java/common/block/tech/BlockCauldron.java index 3fd2bfd0..0e1f8a7f 100755 --- a/common/src/main/java/common/block/tech/BlockCauldron.java +++ b/common/src/main/java/common/block/tech/BlockCauldron.java @@ -8,14 +8,12 @@ import common.entity.Entity; import common.entity.item.EntityItem; import common.entity.npc.EntityNPC; import common.init.Items; -import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.model.Model; import common.model.ModelProvider; import common.properties.Property; import common.properties.PropertyInteger; -import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; import common.util.ExtMath; diff --git a/common/src/main/java/common/block/tech/BlockEffectGenerator.java b/common/src/main/java/common/block/tech/BlockEffectGenerator.java index 83087517..904e09ad 100755 --- a/common/src/main/java/common/block/tech/BlockEffectGenerator.java +++ b/common/src/main/java/common/block/tech/BlockEffectGenerator.java @@ -2,10 +2,10 @@ package common.block.tech; import common.block.Material; import common.item.CheatTab; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.tileentity.TileEntity; +import common.util.Clientside; import common.tileentity.DeviceEffectGenerator; import common.world.State; @@ -52,8 +52,9 @@ public class BlockEffectGenerator extends BlockMachine { return false; } - public BlockLayer getRenderLayer() { - return BlockLayer.CUTOUT; + @Clientside + public boolean hasTransparency() { + return true; } public Model getModel(ModelProvider provider, String name, State state) { diff --git a/common/src/main/java/common/block/tech/BlockHopper.java b/common/src/main/java/common/block/tech/BlockHopper.java index 802ed580..2c62bf87 100755 --- a/common/src/main/java/common/block/tech/BlockHopper.java +++ b/common/src/main/java/common/block/tech/BlockHopper.java @@ -10,7 +10,6 @@ import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.item.CheatTab; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -19,6 +18,7 @@ import common.tileentity.TileEntity; import common.tileentity.TileEntityHopper; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.world.IWorldAccess; import common.world.State; @@ -179,10 +179,10 @@ public class BlockHopper extends Block implements ITileEntityProvider, Direction return true; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/tech/BlockLever.java b/common/src/main/java/common/block/tech/BlockLever.java index ee252d4b..ef0d2f92 100755 --- a/common/src/main/java/common/block/tech/BlockLever.java +++ b/common/src/main/java/common/block/tech/BlockLever.java @@ -6,7 +6,6 @@ import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.SoundEvent; import common.item.CheatTab; -import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; diff --git a/common/src/main/java/common/block/tech/BlockLitTorch.java b/common/src/main/java/common/block/tech/BlockLitTorch.java index bd7ec816..8e22e07a 100755 --- a/common/src/main/java/common/block/tech/BlockLitTorch.java +++ b/common/src/main/java/common/block/tech/BlockLitTorch.java @@ -4,7 +4,6 @@ import common.entity.npc.EntityNPC; import common.init.SoundEvent; import common.item.CheatTab; import common.item.Item; -import common.item.ItemStack; import common.properties.Property; import common.properties.PropertyInteger; import common.rng.Random; diff --git a/common/src/main/java/common/block/tech/BlockNuke.java b/common/src/main/java/common/block/tech/BlockNuke.java index 5f81a4b4..4af468fd 100755 --- a/common/src/main/java/common/block/tech/BlockNuke.java +++ b/common/src/main/java/common/block/tech/BlockNuke.java @@ -7,7 +7,6 @@ import common.entity.item.EntityNuke; import common.init.Blocks; import common.init.SoundEvent; import common.item.CheatTab; -import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.util.BlockPos; diff --git a/common/src/main/java/common/block/tech/BlockPistonBase.java b/common/src/main/java/common/block/tech/BlockPistonBase.java index 7f8bc918..5ceab5b1 100755 --- a/common/src/main/java/common/block/tech/BlockPistonBase.java +++ b/common/src/main/java/common/block/tech/BlockPistonBase.java @@ -13,7 +13,6 @@ import common.entity.types.EntityLiving; import common.init.Blocks; import common.init.SoundEvent; import common.item.CheatTab; -import common.item.Item; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; diff --git a/common/src/main/java/common/block/tech/BlockRail.java b/common/src/main/java/common/block/tech/BlockRail.java index 8eb3fbea..92265b27 100755 --- a/common/src/main/java/common/block/tech/BlockRail.java +++ b/common/src/main/java/common/block/tech/BlockRail.java @@ -7,7 +7,6 @@ import common.block.Material; import common.collect.Lists; import common.init.Blocks; import common.item.CheatTab; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -16,6 +15,7 @@ import common.properties.Property; import common.properties.PropertyEnum; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.DirectionVec; import common.util.Facing; import common.util.HitPosition; @@ -158,10 +158,10 @@ public class BlockRail extends Block return 0; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } public void onRemoved(AWorldServer worldIn, BlockPos pos, State state) { diff --git a/common/src/main/java/common/block/tech/BlockToggleableLight.java b/common/src/main/java/common/block/tech/BlockToggleableLight.java index 27c6e865..12ab7ab7 100755 --- a/common/src/main/java/common/block/tech/BlockToggleableLight.java +++ b/common/src/main/java/common/block/tech/BlockToggleableLight.java @@ -6,8 +6,6 @@ import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.Items; import common.item.Item; -import common.item.ItemStack; -import common.rng.Random; import common.util.BlockPos; import common.util.Facing; import common.world.State; diff --git a/common/src/main/java/common/block/tech/BlockTorch.java b/common/src/main/java/common/block/tech/BlockTorch.java index 73af7481..01f0ce97 100755 --- a/common/src/main/java/common/block/tech/BlockTorch.java +++ b/common/src/main/java/common/block/tech/BlockTorch.java @@ -9,7 +9,6 @@ import common.block.artificial.BlockWall; import common.entity.types.EntityLiving; import common.init.Blocks; import common.item.CheatTab; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -17,6 +16,7 @@ import common.model.GuiPosition; import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.HitPosition; import common.util.Vec3; @@ -219,10 +219,10 @@ public abstract class BlockTorch extends Block implements Directional return super.rayTrace(worldIn, pos, start, end); } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/tech/BlockTripWire.java b/common/src/main/java/common/block/tech/BlockTripWire.java index 9b935124..8b747fe4 100755 --- a/common/src/main/java/common/block/tech/BlockTripWire.java +++ b/common/src/main/java/common/block/tech/BlockTripWire.java @@ -7,12 +7,8 @@ import common.block.Material; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.init.Blocks; -import common.init.Items; -import common.item.CheatTab; -import common.item.Item; import common.item.StackSize; import common.item.tool.ItemShears; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -22,6 +18,7 @@ import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.world.IBlockAccess; import common.world.IWorldAccess; @@ -74,10 +71,10 @@ public class BlockTripWire extends Block return false; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } /** * Called when a neighboring block changes. diff --git a/common/src/main/java/common/block/tech/BlockTripWireHook.java b/common/src/main/java/common/block/tech/BlockTripWireHook.java index db6b9edb..a170ccf3 100755 --- a/common/src/main/java/common/block/tech/BlockTripWireHook.java +++ b/common/src/main/java/common/block/tech/BlockTripWireHook.java @@ -7,8 +7,6 @@ import common.entity.types.EntityLiving; import common.init.Blocks; import common.init.SoundEvent; import common.item.CheatTab; -import common.item.Item; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -18,6 +16,7 @@ import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.Serverside; import common.world.IWorldAccess; @@ -325,10 +324,10 @@ public class BlockTripWireHook extends Block implements Rotatable return true; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/block/tech/BlockWire.java b/common/src/main/java/common/block/tech/BlockWire.java index faf96cac..1f8ba9f5 100755 --- a/common/src/main/java/common/block/tech/BlockWire.java +++ b/common/src/main/java/common/block/tech/BlockWire.java @@ -7,9 +7,7 @@ import java.util.Set; import common.block.Block; import common.block.Material; import common.collect.Sets; -import common.item.Item; import common.item.StackSize; -import common.model.BlockLayer; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -19,6 +17,7 @@ import common.properties.PropertyBool; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.Serverside; import common.world.IBlockAccess; @@ -327,10 +326,10 @@ public class BlockWire extends Block return state.getBlock() == this; } - public BlockLayer getRenderLayer() - { - return BlockLayer.CUTOUT; - } + @Clientside + public boolean hasTransparency() { + return true; + } protected Property[] getProperties() { diff --git a/common/src/main/java/common/item/consumable/ItemFishFood.java b/common/src/main/java/common/item/consumable/ItemFishFood.java index 12aa9651..6ec6ec55 100755 --- a/common/src/main/java/common/item/consumable/ItemFishFood.java +++ b/common/src/main/java/common/item/consumable/ItemFishFood.java @@ -4,8 +4,6 @@ import common.effect.Effect; import common.effect.StatusEffect; import common.entity.npc.EntityNPC; import common.item.ItemStack; -import common.model.Model; -import common.model.ModelProvider; import common.world.World; public class ItemFishFood extends ItemFood diff --git a/common/src/main/java/common/item/consumable/ItemPotion.java b/common/src/main/java/common/item/consumable/ItemPotion.java index 4fb45598..82dd2fad 100755 --- a/common/src/main/java/common/item/consumable/ItemPotion.java +++ b/common/src/main/java/common/item/consumable/ItemPotion.java @@ -17,8 +17,6 @@ import common.item.ItemAction; import common.item.ItemControl; import common.item.ItemStack; import common.item.StackSize; -import common.model.Model; -import common.model.ModelProvider; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.Clientside; diff --git a/common/src/main/java/common/item/consumable/ItemSoup.java b/common/src/main/java/common/item/consumable/ItemSoup.java index cc23c6df..f9546908 100755 --- a/common/src/main/java/common/item/consumable/ItemSoup.java +++ b/common/src/main/java/common/item/consumable/ItemSoup.java @@ -3,7 +3,6 @@ package common.item.consumable; import common.entity.npc.EntityNPC; import common.init.Items; import common.item.ItemStack; -import common.model.GuiPosition; import common.world.World; public class ItemSoup extends ItemFood diff --git a/common/src/main/java/common/item/material/ItemArmor.java b/common/src/main/java/common/item/material/ItemArmor.java index b5b54fc6..5f5fcc7a 100755 --- a/common/src/main/java/common/item/material/ItemArmor.java +++ b/common/src/main/java/common/item/material/ItemArmor.java @@ -12,8 +12,6 @@ import common.init.ToolMaterial; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Model; -import common.model.ModelProvider; import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.BoundingBox; diff --git a/common/src/main/java/common/item/material/ItemBottle.java b/common/src/main/java/common/item/material/ItemBottle.java index 5c19d9a1..007f89cb 100755 --- a/common/src/main/java/common/item/material/ItemBottle.java +++ b/common/src/main/java/common/item/material/ItemBottle.java @@ -6,8 +6,6 @@ import common.init.Items; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Model; -import common.model.ModelProvider; import common.util.BlockPos; import common.util.HitPosition; import common.world.World; diff --git a/common/src/main/java/common/item/material/ItemBucket.java b/common/src/main/java/common/item/material/ItemBucket.java index 208e7d5b..e86fda6a 100755 --- a/common/src/main/java/common/item/material/ItemBucket.java +++ b/common/src/main/java/common/item/material/ItemBucket.java @@ -22,8 +22,6 @@ import common.init.SoundEvent; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.Model; -import common.model.ModelProvider; import common.tileentity.TileEntity; import common.tileentity.TileEntityDispenser; import common.util.BlockPos; diff --git a/common/src/main/java/common/item/material/ItemEnchantedBook.java b/common/src/main/java/common/item/material/ItemEnchantedBook.java index ea486b0c..40799105 100755 --- a/common/src/main/java/common/item/material/ItemEnchantedBook.java +++ b/common/src/main/java/common/item/material/ItemEnchantedBook.java @@ -13,8 +13,6 @@ import common.init.Items; import common.item.Item; import common.item.ItemStack; import common.item.RngLoot; -import common.model.Model; -import common.model.ModelProvider; import common.rng.Random; import common.util.Clientside; diff --git a/common/src/main/java/common/item/material/ItemHorseArmor.java b/common/src/main/java/common/item/material/ItemHorseArmor.java index 81824962..7ef6941f 100755 --- a/common/src/main/java/common/item/material/ItemHorseArmor.java +++ b/common/src/main/java/common/item/material/ItemHorseArmor.java @@ -4,8 +4,6 @@ import common.attributes.UsageSlot; import common.init.ToolMaterial; import common.item.CheatTab; import common.item.Item; -import common.model.Model; -import common.model.ModelProvider; import common.util.Clientside; public class ItemHorseArmor extends Item { diff --git a/common/src/main/java/common/item/material/ItemRecord.java b/common/src/main/java/common/item/material/ItemRecord.java index b7021f3f..9614fad6 100755 --- a/common/src/main/java/common/item/material/ItemRecord.java +++ b/common/src/main/java/common/item/material/ItemRecord.java @@ -2,8 +2,6 @@ package common.item.material; import common.item.CheatTab; import common.item.Item; -import common.model.Model; -import common.model.ModelProvider; import common.util.Clientside; public class ItemRecord extends Item { diff --git a/common/src/main/java/common/item/material/ItemSeeds.java b/common/src/main/java/common/item/material/ItemSeeds.java index d8858ef2..c1310f76 100755 --- a/common/src/main/java/common/item/material/ItemSeeds.java +++ b/common/src/main/java/common/item/material/ItemSeeds.java @@ -6,7 +6,6 @@ import common.entity.npc.EntityNPC; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.model.GuiPosition; import common.util.BlockPos; import common.util.Facing; import common.world.World; diff --git a/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java b/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java index 5978d43d..0791539d 100755 --- a/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java +++ b/common/src/main/java/common/item/tool/ItemCarrotOnAStick.java @@ -7,7 +7,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.world.World; public class ItemCarrotOnAStick extends Item diff --git a/common/src/main/java/common/item/tool/ItemEditor.java b/common/src/main/java/common/item/tool/ItemEditor.java index 08dedfb0..9ee0ad51 100755 --- a/common/src/main/java/common/item/tool/ItemEditor.java +++ b/common/src/main/java/common/item/tool/ItemEditor.java @@ -5,7 +5,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemControl; import common.item.ItemStack; -import common.model.GuiPosition; import common.util.BlockPos; import common.world.World; diff --git a/common/src/main/java/common/item/tool/ItemFishingRod.java b/common/src/main/java/common/item/tool/ItemFishingRod.java index 0e18038e..4fd5ae48 100755 --- a/common/src/main/java/common/item/tool/ItemFishingRod.java +++ b/common/src/main/java/common/item/tool/ItemFishingRod.java @@ -7,7 +7,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.util.Clientside; import common.world.World; diff --git a/common/src/main/java/common/item/tool/ItemHoe.java b/common/src/main/java/common/item/tool/ItemHoe.java index 19daf218..6bec9648 100755 --- a/common/src/main/java/common/item/tool/ItemHoe.java +++ b/common/src/main/java/common/item/tool/ItemHoe.java @@ -8,7 +8,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.util.BlockPos; import common.util.Facing; import common.world.State; diff --git a/common/src/main/java/common/item/tool/ItemMagnet.java b/common/src/main/java/common/item/tool/ItemMagnet.java index 146f8b40..f0a1f780 100755 --- a/common/src/main/java/common/item/tool/ItemMagnet.java +++ b/common/src/main/java/common/item/tool/ItemMagnet.java @@ -10,7 +10,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.util.BoundingBox; import common.util.Vec3; import common.world.World; diff --git a/common/src/main/java/common/item/tool/ItemTool.java b/common/src/main/java/common/item/tool/ItemTool.java index ab477c2d..1470017c 100755 --- a/common/src/main/java/common/item/tool/ItemTool.java +++ b/common/src/main/java/common/item/tool/ItemTool.java @@ -7,7 +7,6 @@ import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.util.BlockPos; import common.world.World; diff --git a/common/src/main/java/common/item/tool/ItemWand.java b/common/src/main/java/common/item/tool/ItemWand.java index f1861cb3..76da2fde 100755 --- a/common/src/main/java/common/item/tool/ItemWand.java +++ b/common/src/main/java/common/item/tool/ItemWand.java @@ -9,7 +9,6 @@ import common.item.Item; import common.item.ItemControl; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.util.BlockPos; import common.util.Clientside; import common.util.ExtMath; @@ -22,35 +21,14 @@ public abstract class ItemWand extends Item { public ItemWand() { this.setUnstackable(); this.setTab(CheatTab.TOOLS); - this.setGleaming(); + this.setGleaming(); } -// public boolean canBreakBlocks() { -// return false; -// } -// -// public final boolean canUseInAir() { -// return true; -// } - -// public boolean ignoresBlocks() { -// return true; -// } - -// public boolean itemInteractionForEntity(ItemStack stack, EntityNPC playerIn, EntityLiving target) -// { -// if(playerIn.worldObj.client) -// return true; -// this.onUse(stack, (EntityNPCMP)playerIn, (IWorldServer)playerIn.worldObj, new Vec3(target.posX, target.posY + target.height / 2.0, target.posZ)); -// return true; -// } - public final boolean onAction(ItemStack stack, EntityNPC player, World world, ItemControl control, BlockPos block) { if(control == ItemControl.SECONDARY && !world.client && block == null) { BlockPos vec = world.getBlockTrace(player, this.getRange(stack, player)); if(vec != null) - this.onUse(stack, player, (AWorldServer)world, new Vec3( - ExtMath.floord(vec.getX()) + 0.5, ExtMath.floord(vec.getY()) + 1.0, ExtMath.floord(vec.getZ()) + 0.5)); + this.onUse(stack, player, (AWorldServer)world, new Vec3(ExtMath.floord(vec.getX()) + 0.5, ExtMath.floord(vec.getY()) + 1.0, ExtMath.floord(vec.getZ()) + 0.5)); } return control == ItemControl.SECONDARY; } @@ -58,28 +36,18 @@ public abstract class ItemWand extends Item { public final boolean onItemUse(ItemStack stack, EntityNPC player, World world, BlockPos pos, Facing side, float hitX, float hitY, float hitZ) { if(world.client) return true; -// EntityNPCMP entity = (EntityNPCMP)player; - if(pos != null) { -// pos = side.getAxisDirection() == AxisDirection.NEGATIVE ? pos.offset(side) : pos; - this.onUse(stack, player, (AWorldServer)world, new Vec3(pos.getX() + hitX, pos.getY() + hitY, pos.getZ() + hitZ)); - } + if(pos != null) + this.onUse(stack, player, (AWorldServer)world, new Vec3(pos.getX() + hitX, pos.getY() + hitY, pos.getZ() + hitZ)); return true; } @Clientside - public void addInformation(ItemStack stack, EntityNPC playerIn, List tooltip) - { + public void addInformation(ItemStack stack, EntityNPC playerIn, List tooltip) { tooltip.add(TextColor.DGREEN + "Reichweite: " + TextColor.GREEN + this.getRange(stack, playerIn) + " Blöcke"); - } - -// public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) { -// if(attacker.worldObj.client) -// return true; -// this.onUse(stack, (EntityNPCMP)attacker, (IWorldServer)attacker.worldObj, new Vec3(target.posX, target.posY + target.height / 2.0, target.posZ)); -// return true; -// } + } public abstract int getRange(ItemStack stack, EntityNPC player); + public abstract void onUse(ItemStack stack, EntityNPC player, AWorldServer world, Vec3 vec); public WieldType getWieldType() { diff --git a/common/src/main/java/common/item/weapon/ItemBow.java b/common/src/main/java/common/item/weapon/ItemBow.java index 9aee3dcd..0884e2a2 100755 --- a/common/src/main/java/common/item/weapon/ItemBow.java +++ b/common/src/main/java/common/item/weapon/ItemBow.java @@ -11,7 +11,6 @@ import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.util.Clientside; import common.world.World; diff --git a/common/src/main/java/common/item/weapon/ItemGunBase.java b/common/src/main/java/common/item/weapon/ItemGunBase.java index 3c62cc0c..f78ceec6 100755 --- a/common/src/main/java/common/item/weapon/ItemGunBase.java +++ b/common/src/main/java/common/item/weapon/ItemGunBase.java @@ -11,7 +11,6 @@ import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.rng.Random; import common.util.Clientside; import common.world.World; diff --git a/common/src/main/java/common/item/weapon/ItemSword.java b/common/src/main/java/common/item/weapon/ItemSword.java index d59269f8..206de32d 100755 --- a/common/src/main/java/common/item/weapon/ItemSword.java +++ b/common/src/main/java/common/item/weapon/ItemSword.java @@ -11,7 +11,6 @@ import common.item.Item; import common.item.ItemAction; import common.item.ItemStack; import common.item.WieldType; -import common.model.GuiPosition; import common.util.BlockPos; import common.world.World; diff --git a/common/src/main/java/common/model/ModelRotation.java b/common/src/main/java/common/model/ModelRotation.java index 48be235f..a181151c 100755 --- a/common/src/main/java/common/model/ModelRotation.java +++ b/common/src/main/java/common/model/ModelRotation.java @@ -5,123 +5,110 @@ import common.util.Facing; import common.util.Matrix4f; import common.util.Vector3f; -public enum ModelRotation -{ - X0_Y0(0, 0), - X0_Y90(0, 90), - X0_Y180(0, 180), - X0_Y270(0, 270), - X90_Y0(90, 0), - X90_Y90(90, 90), - X90_Y180(90, 180), - X90_Y270(90, 270), - X180_Y0(180, 0), - X180_Y90(180, 90), - X180_Y180(180, 180), - X180_Y270(180, 270), - X270_Y0(270, 0), - X270_Y90(270, 90), - X270_Y180(270, 180), - X270_Y270(270, 270); +public enum ModelRotation { + X0_Y0(0, 0), + X0_Y90(0, 90), + X0_Y180(0, 180), + X0_Y270(0, 270), + X90_Y0(90, 0), + X90_Y90(90, 90), + X90_Y180(90, 180), + X90_Y270(90, 270), + X180_Y0(180, 0), + X180_Y90(180, 90), + X180_Y180(180, 180), + X180_Y270(180, 270), + X270_Y0(270, 0), + X270_Y90(270, 90), + X270_Y180(270, 180), + X270_Y270(270, 270); - private final Matrix4f matrix4d; - private final int quartersX; - private final int quartersY; + private final Matrix4f matrix4d; + private final int quartersX; + private final int quartersY; - private ModelRotation(int x, int y) - { - this.matrix4d = new Matrix4f(); - 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); - } + private ModelRotation(int x, int y) { + this.matrix4d = new Matrix4f(); + 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() - { - return this.matrix4d; - } + public Matrix4f getMatrix4d() { + return this.matrix4d; + } - public Facing rotateFace(Facing face) - { - Facing enumfacing = face; + public Facing rotateFace(Facing face) { + Facing dir = face; - for (int i = 0; i < this.quartersX; ++i) - { - enumfacing = enumfacing.rotateAround(Facing.Axis.X); - } + for(int i = 0; i < this.quartersX; ++i) { + dir = dir.rotateAround(Facing.Axis.X); + } - if (enumfacing.getAxis() != Facing.Axis.Y) - { - for (int j = 0; j < this.quartersY; ++j) - { - enumfacing = enumfacing.rotateAround(Facing.Axis.Y); - } - } + if(dir.getAxis() != Facing.Axis.Y) { + for(int j = 0; j < this.quartersY; ++j) { + dir = dir.rotateAround(Facing.Axis.Y); + } + } - return enumfacing; - } + return dir; + } - public int rotateVertex(Facing facing, int vertexIndex) - { - int i = vertexIndex; + public int rotateVertex(Facing face, int index) { + int idx = index; - if (facing.getAxis() == Facing.Axis.X) - { - i = (vertexIndex + this.quartersX) % 4; - } + if(face.getAxis() == Facing.Axis.X) { + idx = (index + this.quartersX) % 4; + } - Facing enumfacing = facing; + Facing dir = face; - for (int j = 0; j < this.quartersX; ++j) - { - enumfacing = enumfacing.rotateAround(Facing.Axis.X); - } + for(int j = 0; j < this.quartersX; ++j) { + dir = dir.rotateAround(Facing.Axis.X); + } - if (enumfacing.getAxis() == Facing.Axis.Y) - { - i = (i + this.quartersY) % 4; - } + if(dir.getAxis() == Facing.Axis.Y) { + idx = (idx + this.quartersY) % 4; + } - return i; - } + return idx; + } - public static ModelRotation getNorthRot(Facing face) - { - switch(face) { - case NORTH: - default: - return X0_Y0; - case SOUTH: - return X0_Y180; - case WEST: - return X0_Y270; - case EAST: - return X0_Y90; - case DOWN: - return X270_Y0; - case UP: - return X90_Y0; - } - } + public static ModelRotation getNorthRot(Facing face) { + switch(face) { + case NORTH: + default: + return X0_Y0; + case SOUTH: + return X0_Y180; + case WEST: + return X0_Y270; + case EAST: + return X0_Y90; + case DOWN: + return X270_Y0; + case UP: + return X90_Y0; + } + } - public static ModelRotation getEastRot(Facing face, boolean flip) - { - switch(face) { - case NORTH: - default: - return flip ? X180_Y270 : X0_Y270; - case SOUTH: - return flip ? X180_Y90 : X0_Y90; - case WEST: - return flip ? X180_Y180 : X0_Y180; - case EAST: - return flip ? X180_Y0 : X0_Y0; - } - } + public static ModelRotation getEastRot(Facing face, boolean flip) { + switch(face) { + case NORTH: + default: + return flip ? X180_Y270 : X0_Y270; + case SOUTH: + return flip ? X180_Y90 : X0_Y90; + case WEST: + return flip ? X180_Y180 : X0_Y180; + case EAST: + return flip ? X180_Y0 : X0_Y0; + } + } } diff --git a/common/src/main/java/common/model/TextureAnimation.java b/common/src/main/java/common/model/TextureAnimation.java index 3daf629e..a5dbc07c 100644 --- a/common/src/main/java/common/model/TextureAnimation.java +++ b/common/src/main/java/common/model/TextureAnimation.java @@ -1,5 +1,16 @@ package common.model; public enum TextureAnimation { - FLAME_BASE, FLAME_OFFSET, BLACK_FLAME_BASE, BLACK_FLAME_OFFSET, BLUE_FLAME_BASE, BLUE_FLAME_OFFSET, MAGMA_FLOW, MAGMA_STILL, WATER_FLOW, WATER_STILL, SWAMP_WATER_FLOW, SWAMP_WATER_STILL; + FLAME_BASE, + FLAME_OFFSET, + BLACK_FLAME_BASE, + BLACK_FLAME_OFFSET, + BLUE_FLAME_BASE, + BLUE_FLAME_OFFSET, + MAGMA_FLOW, + MAGMA_STILL, + WATER_FLOW, + WATER_STILL, + SWAMP_WATER_FLOW, + SWAMP_WATER_STILL; }