From c27619e5389dda048b2d4f53b3d62cd25cbe63ae Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 4 Aug 2025 11:33:17 +0200 Subject: [PATCH] add slabs and stairs --- .../client/gui/container/GuiContainer.java | 1 - ..._bottom.png => black_wood_door_bottom.png} | Bin ...d_door_top.png => black_wood_door_top.png} | Bin ...utumn.png => black_wood_leaves_autumn.png} | Bin ..._snowy.png => black_wood_leaves_snowy.png} | Bin ...pring.png => black_wood_leaves_spring.png} | Bin ...ummer.png => black_wood_leaves_summer.png} | Bin ...inter.png => black_wood_leaves_winter.png} | Bin ...d_log_bark.png => black_wood_log_bark.png} | Bin ...ood_log_top.png => black_wood_log_top.png} | Bin ...kwood_planks.png => black_wood_planks.png} | Bin ...ood_sapling.png => black_wood_sapling.png} | Bin .../blocks/{moon_cheese.png => cheese.png} | Bin ...r_bottom.png => tian_wood_door_bottom.png} | Bin ...an_door_top.png => tian_wood_door_top.png} | Bin ...autumn.png => tian_wood_leaves_autumn.png} | Bin ...s_snowy.png => tian_wood_leaves_snowy.png} | Bin ...spring.png => tian_wood_leaves_spring.png} | Bin ...summer.png => tian_wood_leaves_summer.png} | Bin ...winter.png => tian_wood_leaves_winter.png} | Bin ...an_log_bark.png => tian_wood_log_bark.png} | Bin ...tian_log_top.png => tian_wood_log_top.png} | Bin .../{tian_planks.png => tian_wood_planks.png} | Bin ...tian_sapling.png => tian_wood_sapling.png} | Bin .../common/block/artificial/BlockSlab.java | 52 ++++- .../common/block/artificial/BlockStairs.java | 33 ++- .../common/block/artificial/BlockWall.java | 12 +- .../common/block/foliage/BlockBlueShroom.java | 2 +- .../java/common/block/foliage/BlockBush.java | 10 + .../common/block/foliage/BlockDeadBush.java | 2 +- .../block/foliage/BlockDoublePlant.java | 4 +- .../common/block/foliage/BlockFlower.java | 2 +- .../common/block/foliage/BlockMushroom.java | 2 +- .../java/common/block/foliage/BlockReed.java | 2 +- .../common/block/foliage/BlockSapling.java | 2 +- .../common/block/foliage/BlockSoulGrass.java | 87 +++++++ .../common/block/foliage/BlockTallGrass.java | 2 +- .../java/common/block/foliage/BlockWart.java | 109 --------- .../java/common/block/natural/BlockWeb.java | 3 +- .../main/java/common/init/BlockRegistry.java | 218 ++++++------------ common/src/main/java/common/init/Blocks.java | 76 +++--- common/src/main/java/common/init/Items.java | 74 +++--- .../src/main/java/common/init/WoodType.java | 4 +- common/src/main/java/common/model/Model.java | 47 ---- common/src/main/java/common/vars/Vars.java | 4 +- .../java/server/init/UniverseRegistry.java | 2 + .../src/main/java/server/world/Converter.java | 10 +- .../main/java/server/world/WorldServer.java | 2 +- .../populator/PopulatorBlackened.java | 2 +- .../worldgen/populator/PopulatorCheese.java | 15 -- .../worldgen/populator/PopulatorTian.java | 8 +- 51 files changed, 364 insertions(+), 423 deletions(-) rename client/src/main/resources/textures/blocks/{blackwood_door_bottom.png => black_wood_door_bottom.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_door_top.png => black_wood_door_top.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_leaves_autumn.png => black_wood_leaves_autumn.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_leaves_snowy.png => black_wood_leaves_snowy.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_leaves_spring.png => black_wood_leaves_spring.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_leaves_summer.png => black_wood_leaves_summer.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_leaves_winter.png => black_wood_leaves_winter.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_log_bark.png => black_wood_log_bark.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_log_top.png => black_wood_log_top.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_planks.png => black_wood_planks.png} (100%) rename client/src/main/resources/textures/blocks/{blackwood_sapling.png => black_wood_sapling.png} (100%) rename client/src/main/resources/textures/blocks/{moon_cheese.png => cheese.png} (100%) rename client/src/main/resources/textures/blocks/{tian_door_bottom.png => tian_wood_door_bottom.png} (100%) rename client/src/main/resources/textures/blocks/{tian_door_top.png => tian_wood_door_top.png} (100%) rename client/src/main/resources/textures/blocks/{tian_leaves_autumn.png => tian_wood_leaves_autumn.png} (100%) rename client/src/main/resources/textures/blocks/{tian_leaves_snowy.png => tian_wood_leaves_snowy.png} (100%) rename client/src/main/resources/textures/blocks/{tian_leaves_spring.png => tian_wood_leaves_spring.png} (100%) rename client/src/main/resources/textures/blocks/{tian_leaves_summer.png => tian_wood_leaves_summer.png} (100%) rename client/src/main/resources/textures/blocks/{tian_leaves_winter.png => tian_wood_leaves_winter.png} (100%) rename client/src/main/resources/textures/blocks/{tian_log_bark.png => tian_wood_log_bark.png} (100%) rename client/src/main/resources/textures/blocks/{tian_log_top.png => tian_wood_log_top.png} (100%) rename client/src/main/resources/textures/blocks/{tian_planks.png => tian_wood_planks.png} (100%) rename client/src/main/resources/textures/blocks/{tian_sapling.png => tian_wood_sapling.png} (100%) create mode 100755 common/src/main/java/common/block/foliage/BlockSoulGrass.java delete mode 100755 common/src/main/java/common/block/foliage/BlockWart.java delete mode 100755 server/src/main/java/server/worldgen/populator/PopulatorCheese.java diff --git a/client/src/main/java/client/gui/container/GuiContainer.java b/client/src/main/java/client/gui/container/GuiContainer.java index 4ed0d9c4..8f0eeea9 100755 --- a/client/src/main/java/client/gui/container/GuiContainer.java +++ b/client/src/main/java/client/gui/container/GuiContainer.java @@ -1,7 +1,6 @@ package client.gui.container; import java.text.DecimalFormat; -import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; diff --git a/client/src/main/resources/textures/blocks/blackwood_door_bottom.png b/client/src/main/resources/textures/blocks/black_wood_door_bottom.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_door_bottom.png rename to client/src/main/resources/textures/blocks/black_wood_door_bottom.png diff --git a/client/src/main/resources/textures/blocks/blackwood_door_top.png b/client/src/main/resources/textures/blocks/black_wood_door_top.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_door_top.png rename to client/src/main/resources/textures/blocks/black_wood_door_top.png diff --git a/client/src/main/resources/textures/blocks/blackwood_leaves_autumn.png b/client/src/main/resources/textures/blocks/black_wood_leaves_autumn.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_leaves_autumn.png rename to client/src/main/resources/textures/blocks/black_wood_leaves_autumn.png diff --git a/client/src/main/resources/textures/blocks/blackwood_leaves_snowy.png b/client/src/main/resources/textures/blocks/black_wood_leaves_snowy.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_leaves_snowy.png rename to client/src/main/resources/textures/blocks/black_wood_leaves_snowy.png diff --git a/client/src/main/resources/textures/blocks/blackwood_leaves_spring.png b/client/src/main/resources/textures/blocks/black_wood_leaves_spring.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_leaves_spring.png rename to client/src/main/resources/textures/blocks/black_wood_leaves_spring.png diff --git a/client/src/main/resources/textures/blocks/blackwood_leaves_summer.png b/client/src/main/resources/textures/blocks/black_wood_leaves_summer.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_leaves_summer.png rename to client/src/main/resources/textures/blocks/black_wood_leaves_summer.png diff --git a/client/src/main/resources/textures/blocks/blackwood_leaves_winter.png b/client/src/main/resources/textures/blocks/black_wood_leaves_winter.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_leaves_winter.png rename to client/src/main/resources/textures/blocks/black_wood_leaves_winter.png diff --git a/client/src/main/resources/textures/blocks/blackwood_log_bark.png b/client/src/main/resources/textures/blocks/black_wood_log_bark.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_log_bark.png rename to client/src/main/resources/textures/blocks/black_wood_log_bark.png diff --git a/client/src/main/resources/textures/blocks/blackwood_log_top.png b/client/src/main/resources/textures/blocks/black_wood_log_top.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_log_top.png rename to client/src/main/resources/textures/blocks/black_wood_log_top.png diff --git a/client/src/main/resources/textures/blocks/blackwood_planks.png b/client/src/main/resources/textures/blocks/black_wood_planks.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_planks.png rename to client/src/main/resources/textures/blocks/black_wood_planks.png diff --git a/client/src/main/resources/textures/blocks/blackwood_sapling.png b/client/src/main/resources/textures/blocks/black_wood_sapling.png similarity index 100% rename from client/src/main/resources/textures/blocks/blackwood_sapling.png rename to client/src/main/resources/textures/blocks/black_wood_sapling.png diff --git a/client/src/main/resources/textures/blocks/moon_cheese.png b/client/src/main/resources/textures/blocks/cheese.png similarity index 100% rename from client/src/main/resources/textures/blocks/moon_cheese.png rename to client/src/main/resources/textures/blocks/cheese.png diff --git a/client/src/main/resources/textures/blocks/tian_door_bottom.png b/client/src/main/resources/textures/blocks/tian_wood_door_bottom.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_door_bottom.png rename to client/src/main/resources/textures/blocks/tian_wood_door_bottom.png diff --git a/client/src/main/resources/textures/blocks/tian_door_top.png b/client/src/main/resources/textures/blocks/tian_wood_door_top.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_door_top.png rename to client/src/main/resources/textures/blocks/tian_wood_door_top.png diff --git a/client/src/main/resources/textures/blocks/tian_leaves_autumn.png b/client/src/main/resources/textures/blocks/tian_wood_leaves_autumn.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_leaves_autumn.png rename to client/src/main/resources/textures/blocks/tian_wood_leaves_autumn.png diff --git a/client/src/main/resources/textures/blocks/tian_leaves_snowy.png b/client/src/main/resources/textures/blocks/tian_wood_leaves_snowy.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_leaves_snowy.png rename to client/src/main/resources/textures/blocks/tian_wood_leaves_snowy.png diff --git a/client/src/main/resources/textures/blocks/tian_leaves_spring.png b/client/src/main/resources/textures/blocks/tian_wood_leaves_spring.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_leaves_spring.png rename to client/src/main/resources/textures/blocks/tian_wood_leaves_spring.png diff --git a/client/src/main/resources/textures/blocks/tian_leaves_summer.png b/client/src/main/resources/textures/blocks/tian_wood_leaves_summer.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_leaves_summer.png rename to client/src/main/resources/textures/blocks/tian_wood_leaves_summer.png diff --git a/client/src/main/resources/textures/blocks/tian_leaves_winter.png b/client/src/main/resources/textures/blocks/tian_wood_leaves_winter.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_leaves_winter.png rename to client/src/main/resources/textures/blocks/tian_wood_leaves_winter.png diff --git a/client/src/main/resources/textures/blocks/tian_log_bark.png b/client/src/main/resources/textures/blocks/tian_wood_log_bark.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_log_bark.png rename to client/src/main/resources/textures/blocks/tian_wood_log_bark.png diff --git a/client/src/main/resources/textures/blocks/tian_log_top.png b/client/src/main/resources/textures/blocks/tian_wood_log_top.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_log_top.png rename to client/src/main/resources/textures/blocks/tian_wood_log_top.png diff --git a/client/src/main/resources/textures/blocks/tian_planks.png b/client/src/main/resources/textures/blocks/tian_wood_planks.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_planks.png rename to client/src/main/resources/textures/blocks/tian_wood_planks.png diff --git a/client/src/main/resources/textures/blocks/tian_sapling.png b/client/src/main/resources/textures/blocks/tian_wood_sapling.png similarity index 100% rename from client/src/main/resources/textures/blocks/tian_sapling.png rename to client/src/main/resources/textures/blocks/tian_wood_sapling.png diff --git a/common/src/main/java/common/block/artificial/BlockSlab.java b/common/src/main/java/common/block/artificial/BlockSlab.java index d282e89c..c4c943fc 100755 --- a/common/src/main/java/common/block/artificial/BlockSlab.java +++ b/common/src/main/java/common/block/artificial/BlockSlab.java @@ -10,13 +10,14 @@ import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.BlockRegistry; -import common.item.CheatTab; import common.item.ItemStack; import common.model.Model; +import common.model.ModelRotation; import common.model.Model.ModelProvider; import common.properties.Property; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.Facing.Axis; import common.world.IWorldAccess; @@ -27,29 +28,39 @@ public class BlockSlab extends Block implements Directional { public static final List SLABS = Lists.newArrayList(); private final Block base; - private final State baseState; private final String textureTop; private final String textureBottom; + private final String textureSide; + private final String textureOverlay; public BlockSlab(Block base) { this(base, null, null); } public BlockSlab(Block base, String bottom, String top) { + this(base, bottom, top, null); + } + + public BlockSlab(Block base, String bottom, String top, String side) { + this(base, bottom, top, side, null); + } + + public BlockSlab(Block base, String bottom, String top, String side, String overlay) { super(base.getMaterial()); this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.DOWN)); - this.setTab(base.getMaterial() == Material.WOOD ? CheatTab.WOOD : CheatTab.BLOCKS); + this.setTab(base.getTab()); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); this.setOpacity(255); this.base = base; - this.baseState = base.getState(); this.setHardness(this.base.getRawHardness()); this.setResistance(this.base.getRawResistance() / 3.0F); this.setSound(this.base.getSound()); this.textureTop = top; this.textureBottom = bottom; + this.textureSide = side; + this.textureOverlay = overlay; SLABS.add(this); } @@ -137,13 +148,36 @@ public class BlockSlab extends Block implements Directional { || super.canRender(worldIn, pos, side); } } + + private static Model makeSlabModel(Model model, String down, String up, Facing dir) { + String side = up == null ? down : model.getPrimary(); + if(dir.getAxis() != Axis.Y) { + model.add(0, 0, 0, 16, 16, 8) + .d(side).uv(0, 0, 16, 8) + .u(side).rot(180).uv(0, 0, 16, 8) + .w(side).uv(0, 0, 16, 8).rot(90) + .e(side).uv(0, 0, 16, 8).rot(270); + return up != null ? model.n(down).s(up).noCull().rotate(ModelRotation.getNorthRot(dir)) : model; + } + boolean upper = dir == Facing.UP; + model.add(0, upper ? 8 : 0, 0, 16, upper ? 16 : 8, 16) + .nswe(side).uv(0, 0, 16, 8); + return up != null ? model + .d(down).cull(upper ? null : Facing.DOWN) + .u(up).cull(upper ? Facing.UP : null) : model; + } public Model getModel(ModelProvider provider, String name, State state) { - String primary = this.base.getModel(provider, BlockRegistry.getName(this.base), this.baseState).getPrimary(); - if(state.getValue(FACING).getAxis() != Axis.Y) - return provider.getModel(primary).vslab(state.getValue(FACING), this.textureBottom != null ? this.textureBottom : primary, this.textureTop != null ? this.textureTop : primary); - else - return provider.getModel(primary).slab(state.getValue(FACING) == Facing.UP, this.textureBottom != null ? this.textureBottom : primary, this.textureTop != null ? this.textureTop : primary); + String primary = this.base.getModel(provider, BlockRegistry.getName(this.base), this.base.getState()).getPrimary(); + Model model = makeSlabModel(provider.getModel(this.textureSide != null ? this.textureSide : primary), this.textureBottom != null ? this.textureBottom : primary, this.textureTop != null ? this.textureTop : primary, state.getValue(FACING)); + if(this.textureOverlay != null) + makeSlabModel(model, this.textureOverlay, null, state.getValue(FACING)); + return model; + } + + @Clientside + public boolean hasTransparency() { + return this.textureOverlay != null; } public boolean getSumBrightness() { diff --git a/common/src/main/java/common/block/artificial/BlockStairs.java b/common/src/main/java/common/block/artificial/BlockStairs.java index de286e2a..81525fe4 100755 --- a/common/src/main/java/common/block/artificial/BlockStairs.java +++ b/common/src/main/java/common/block/artificial/BlockStairs.java @@ -5,12 +5,11 @@ import java.util.List; import common.block.Block; import common.block.Rotatable; -import common.block.Material; import common.entity.Entity; import common.entity.types.EntityLiving; import common.init.BlockRegistry; -import common.item.CheatTab; import common.model.Model; +import common.model.ModelRotation; import common.model.Model.ModelProvider; import common.model.GuiPosition; import common.properties.Property; @@ -32,9 +31,9 @@ public class BlockStairs extends Block implements Rotatable public static final PropertyEnum SHAPE = PropertyEnum.create("shape", BlockStairs.EnumShape.class); private static final int[][] field_150150_a = new int[][] {{4, 5}, {5, 7}, {6, 7}, {4, 6}, {0, 1}, {1, 3}, {2, 3}, {0, 2}}; private final Block base; - private final State baseState; private final String downTex; private final String upTex; + private final String sideTex; private boolean hasRaytraced; private int rayTracePass; @@ -44,18 +43,23 @@ public class BlockStairs extends Block implements Rotatable } public BlockStairs(Block base, String down, String up) + { + this(base, down, up, null); + } + + public BlockStairs(Block base, String down, String up, String side) { super(base.getMaterial()); this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH).withProperty(HALF, BlockStairs.EnumHalf.BOTTOM).withProperty(SHAPE, BlockStairs.EnumShape.STRAIGHT)); this.base = base; - this.baseState = base.getState(); this.setHardness(this.base.getRawHardness()); this.setResistance(this.base.getRawResistance() / 3.0F); this.setSound(this.base.getSound()); this.setOpacity(255); - this.setTab(base.getMaterial() == Material.WOOD ? CheatTab.WOOD : CheatTab.BLOCKS); + this.setTab(base.getTab()); this.downTex = down; this.upTex = up; + this.sideTex = side; } public void setBlockBounds(IWorldAccess worldIn, BlockPos pos) @@ -662,11 +666,24 @@ public class BlockStairs extends Block implements Rotatable public GuiPosition getItemPosition() { return GuiPosition.STAIRS; } + + private static Model makeModel(Model model, boolean upper, boolean inner, boolean outer, boolean left, Facing dir, String down, String up) { + model.add(0, 0, 0, 16, 8, 16).d(down).uv(0, 0, 16, 16).u(up).noCull().uv(0, 0, 16, 16).nswe().uv(0, 8, 16, 16); + if(outer) + model.add(8, 8, 8, 16, 16, 16).d(down).uv(8, 0, 16, 8).u(up).uv(8, 8, 16, 16).n().noCull().uv(0, 0, 8, 8).s().uv(8, 0, 16, 8) + .w().noCull().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); + else + model.add(8, 8, 0, 16, 16, 16).d(down).uv(inner ? 8 : 0, 0, 16, 16).u(up).uv(inner ? 8 : 0, 0, 16, 16).n().uv(0, 0, 8, 8) + .s().uv(8, 0, 16, 8).w().noCull().uv(0, 0, 16, 8).e().uv(0, 0, 16, 8); + if(inner) + model.add(0, 8, 8, 8, 16, 16).d(down).uv(0, 0, 8, 8).u(up).uv(0, 8, 8, 16).n().noCull().uv(8, 0, 16, 8).s().uv(0, 0, 8, 8) + .w().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); + return model.rotate(ModelRotation.getEastRot(left ? Facing.getHorizontal(dir.getHorizontalIndex() + 3) : dir, upper)).uvLock(); + } public Model getModel(ModelProvider provider, String name, State state) { - String primary = this.base.getModel(provider, BlockRegistry.getName(this.base), this.baseState).getPrimary(); - return provider.getModel(primary) - .stairs(state.getValue(HALF) == EnumHalf.TOP, state.getValue(SHAPE) == EnumShape.INNER_RIGHT || + String primary = this.base.getModel(provider, BlockRegistry.getName(this.base), this.base.getState()).getPrimary(); + return makeModel(provider.getModel(this.sideTex != null ? this.sideTex : primary), state.getValue(HALF) == EnumHalf.TOP, state.getValue(SHAPE) == EnumShape.INNER_RIGHT || state.getValue(SHAPE) == EnumShape.INNER_LEFT, state.getValue(SHAPE) == EnumShape.OUTER_RIGHT || state.getValue(SHAPE) == EnumShape.OUTER_LEFT, state.getValue(SHAPE) == EnumShape.INNER_LEFT || state.getValue(SHAPE) == EnumShape.OUTER_LEFT, state.getValue(FACING), diff --git a/common/src/main/java/common/block/artificial/BlockWall.java b/common/src/main/java/common/block/artificial/BlockWall.java index 359d9dac..08f9a0ef 100755 --- a/common/src/main/java/common/block/artificial/BlockWall.java +++ b/common/src/main/java/common/block/artificial/BlockWall.java @@ -5,8 +5,8 @@ import java.util.List; import common.block.Block; import common.block.Material; import common.collect.Lists; +import common.init.BlockRegistry; import common.init.Blocks; -import common.item.CheatTab; import common.model.Model; import common.model.Model.ModelProvider; import common.model.ModelRotation; @@ -29,17 +29,23 @@ public class BlockWall extends Block public static final PropertyBool WEST = PropertyBool.create("west"); public static final List WALLS = Lists.newArrayList(); + private final Block base; private final String texture; + public BlockWall(Block modelBlock) { + this(modelBlock, null); + } + public BlockWall(Block modelBlock, String texture) { super(modelBlock.getMaterial()); + this.base = modelBlock; this.texture = texture; this.setDefaultState(this.getBaseState().withProperty(UP, Boolean.valueOf(false)).withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false))); this.setHardness(modelBlock.getRawHardness()); this.setResistance(modelBlock.getRawResistance() / 3.0F); this.setSound(modelBlock.getSound()); - this.setTab(CheatTab.BLOCKS); + this.setTab(modelBlock.getTab()); WALLS.add(this); } @@ -146,7 +152,7 @@ public class BlockWall extends Block } public Model getModel(ModelProvider provider, String name, State state) { - String wall = this.texture; + String wall = this.texture != null ? this.texture : this.base.getModel(provider, BlockRegistry.getName(this.base), this.base.getState()).getPrimary(); boolean n = state.getValue(NORTH); boolean s = state.getValue(SOUTH); boolean w = state.getValue(WEST); diff --git a/common/src/main/java/common/block/foliage/BlockBlueShroom.java b/common/src/main/java/common/block/foliage/BlockBlueShroom.java index 363731bd..488b5943 100755 --- a/common/src/main/java/common/block/foliage/BlockBlueShroom.java +++ b/common/src/main/java/common/block/foliage/BlockBlueShroom.java @@ -84,7 +84,7 @@ public class BlockBlueShroom extends BlockBush } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel("blue_mushroom").cross(); + return makeCrossModel(provider.getModel("blue_mushroom")); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/block/foliage/BlockBush.java b/common/src/main/java/common/block/foliage/BlockBush.java index 34dbb758..b2c309ef 100755 --- a/common/src/main/java/common/block/foliage/BlockBush.java +++ b/common/src/main/java/common/block/foliage/BlockBush.java @@ -4,10 +4,12 @@ import common.block.Block; import common.block.Material; import common.init.Blocks; import common.item.CheatTab; +import common.model.Model; import common.rng.Random; import common.util.BlockPos; import common.util.BoundingBox; import common.util.Clientside; +import common.util.Facing; import common.world.State; import common.world.World; import common.world.AWorldServer; @@ -91,4 +93,12 @@ public class BlockBush extends Block public boolean hasTransparency() { return true; } + + public static Model makeCrossModel(Model model) { + return model + .add(0.8f, 0f, 8f, 15.2f, 16f, 8f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) + .ns().uv(0, 0, 16, 16).noCull() + .add(8f, 0f, 0.8f, 8f, 16f, 15.2f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) + .we().uv(0, 0, 16, 16).noCull(); + } } diff --git a/common/src/main/java/common/block/foliage/BlockDeadBush.java b/common/src/main/java/common/block/foliage/BlockDeadBush.java index a263cf28..10b56077 100755 --- a/common/src/main/java/common/block/foliage/BlockDeadBush.java +++ b/common/src/main/java/common/block/foliage/BlockDeadBush.java @@ -75,7 +75,7 @@ public class BlockDeadBush extends BlockBush } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel("deadbush").cross(); + return makeCrossModel(provider.getModel("deadbush")); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/block/foliage/BlockDoublePlant.java b/common/src/main/java/common/block/foliage/BlockDoublePlant.java index a1898b10..30074086 100755 --- a/common/src/main/java/common/block/foliage/BlockDoublePlant.java +++ b/common/src/main/java/common/block/foliage/BlockDoublePlant.java @@ -267,8 +267,8 @@ public class BlockDoublePlant extends BlockBush implements IGrowable .add(9.6f, -1f, 1f, 9.6f, 15f, 15f).noShade().rotate(8, 8, 8, Axis.Z, 22.5f, true).w("sunflower_back") .uv(0, 0, 16, 16).noCull().e().uv(0, 0, 16, 16).noCull(); else - return provider.getModel(this.type.getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER - ? "top" : "bottom")).cross(); + return makeCrossModel(provider.getModel(this.type.getName() + "_" + (state.getValue(HALF) == EnumBlockHalf.UPPER + ? "top" : "bottom"))); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/block/foliage/BlockFlower.java b/common/src/main/java/common/block/foliage/BlockFlower.java index d14ffdce..0a7d6bf2 100755 --- a/common/src/main/java/common/block/foliage/BlockFlower.java +++ b/common/src/main/java/common/block/foliage/BlockFlower.java @@ -50,7 +50,7 @@ public class BlockFlower extends BlockBush } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel(this.type.getName()).cross(); + return makeCrossModel(provider.getModel(this.type.getName())); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/block/foliage/BlockMushroom.java b/common/src/main/java/common/block/foliage/BlockMushroom.java index 31190a9c..bb545574 100755 --- a/common/src/main/java/common/block/foliage/BlockMushroom.java +++ b/common/src/main/java/common/block/foliage/BlockMushroom.java @@ -105,7 +105,7 @@ public class BlockMushroom extends BlockBush implements IGrowable } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel(name).cross(); + return makeCrossModel(provider.getModel(name)); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/block/foliage/BlockReed.java b/common/src/main/java/common/block/foliage/BlockReed.java index 4a68d58c..c766b694 100755 --- a/common/src/main/java/common/block/foliage/BlockReed.java +++ b/common/src/main/java/common/block/foliage/BlockReed.java @@ -150,7 +150,7 @@ public class BlockReed extends Block } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel("reeds").cross(); + return BlockBush.makeCrossModel(provider.getModel("reeds")); } public Property[] getIgnoredProperties() { diff --git a/common/src/main/java/common/block/foliage/BlockSapling.java b/common/src/main/java/common/block/foliage/BlockSapling.java index c0124a16..a3fb54e7 100755 --- a/common/src/main/java/common/block/foliage/BlockSapling.java +++ b/common/src/main/java/common/block/foliage/BlockSapling.java @@ -126,7 +126,7 @@ public class BlockSapling extends BlockBush implements IGrowable } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel(name).cross(); + return makeCrossModel(provider.getModel(name)); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/block/foliage/BlockSoulGrass.java b/common/src/main/java/common/block/foliage/BlockSoulGrass.java new file mode 100755 index 00000000..0360e9d6 --- /dev/null +++ b/common/src/main/java/common/block/foliage/BlockSoulGrass.java @@ -0,0 +1,87 @@ +package common.block.foliage; + +import common.block.Block; +import common.block.Material; +import common.init.Blocks; +import common.init.Items; +import common.item.CheatTab; +import common.item.ItemStack; +import common.model.Model; +import common.model.Model.ModelProvider; +import common.properties.Property; +import common.properties.PropertyInteger; +import common.rng.Random; +import common.util.BlockPos; +import common.vars.Vars; +import common.world.State; +import common.world.World; +import common.world.AWorldServer; + +public class BlockSoulGrass extends BlockBush { + public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 3); + + public BlockSoulGrass() { + super(Material.PLANT); + this.setDefaultState(this.getBaseState().withProperty(AGE, Integer.valueOf(0))); + this.setTicked(); + float f = 0.5F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); + this.setTab((CheatTab)null); + } + + protected boolean canPlaceBlockOn(Block ground) { + return ground == Blocks.soul_sand; + } + + public boolean canBlockStay(World worldIn, BlockPos pos, State state) { + return this.canPlaceBlockOn(worldIn.getState(pos.down()).getBlock()); + } + + public void tick(AWorldServer worldIn, BlockPos pos, State state, Random rand) { + if(Vars.soulGrassGrowth > 0) { + int i = ((Integer)state.getValue(AGE)).intValue(); + + if(i < 3 && rand.chance(Vars.soulGrassGrowth)) { + state = state.withProperty(AGE, Integer.valueOf(i + 1)); + worldIn.setState(pos, state, 2); + } + } + + super.tick(worldIn, pos, state, rand); + } + + public void drop(World worldIn, BlockPos pos, State state, float chance, int fortune) { + if(!worldIn.client) { + int i = 1; + + if(((Integer)state.getValue(AGE)).intValue() >= 3) { + i = worldIn.rand.range(2, 4); + + if(fortune > 0) { + i += worldIn.rand.zrange(fortune + 1); + } + } + + for(int j = 0; j < i; ++j) { + dropItem(worldIn, pos, new ItemStack(Items.soul_seed)); + } + } + } + + protected int getDropAmount(Random random) { + return 0; + } + + protected Property[] getProperties() { + return new Property[] {AGE}; + } + + public Model getModel(ModelProvider provider, String name, State state) { + int age = state.getValue(AGE); + return BlockCrops.crop(provider, name + "_" + (age >= 2 ? age - 1 : age)); + } + + protected boolean hasRegisteredItem() { + return false; + } +} diff --git a/common/src/main/java/common/block/foliage/BlockTallGrass.java b/common/src/main/java/common/block/foliage/BlockTallGrass.java index 1216dffc..24906653 100755 --- a/common/src/main/java/common/block/foliage/BlockTallGrass.java +++ b/common/src/main/java/common/block/foliage/BlockTallGrass.java @@ -131,7 +131,7 @@ public class BlockTallGrass extends BlockBush implements IGrowable } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel(this.type.getName()).cross(); + return makeCrossModel(provider.getModel(this.type.getName())); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/block/foliage/BlockWart.java b/common/src/main/java/common/block/foliage/BlockWart.java deleted file mode 100755 index 16da0f81..00000000 --- a/common/src/main/java/common/block/foliage/BlockWart.java +++ /dev/null @@ -1,109 +0,0 @@ -package common.block.foliage; - -import common.block.Block; -import common.block.Material; -import common.init.Blocks; -import common.init.Items; -import common.item.CheatTab; -import common.item.ItemStack; -import common.model.Model; -import common.model.Model.ModelProvider; -import common.properties.Property; -import common.properties.PropertyInteger; -import common.rng.Random; -import common.util.BlockPos; -import common.vars.Vars; -import common.world.State; -import common.world.World; -import common.world.AWorldServer; - -public class BlockWart extends BlockBush -{ - public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 3); - - public BlockWart() - { - super(Material.PLANT); - this.setDefaultState(this.getBaseState().withProperty(AGE, Integer.valueOf(0))); - this.setTicked(); - float f = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); - this.setTab((CheatTab)null); - } - - /** - * is the block grass, dirt or farmland - */ - protected boolean canPlaceBlockOn(Block ground) - { - return ground == Blocks.soul_sand; - } - - public boolean canBlockStay(World worldIn, BlockPos pos, State state) - { - return this.canPlaceBlockOn(worldIn.getState(pos.down()).getBlock()); - } - - public void tick(AWorldServer worldIn, BlockPos pos, State state, Random rand) - { - if(Vars.wartGrowth > 0) { - int i = ((Integer)state.getValue(AGE)).intValue(); - - if (i < 3 && rand.chance(Vars.wartGrowth)) - { - state = state.withProperty(AGE, Integer.valueOf(i + 1)); - worldIn.setState(pos, state, 2); - } - } - - super.tick(worldIn, pos, state, rand); - } - - /** - * Spawns this Block's drops into the World as EntityItems. - */ - public void drop(World worldIn, BlockPos pos, State state, float chance, int fortune) - { - if (!worldIn.client) - { - int i = 1; - - if (((Integer)state.getValue(AGE)).intValue() >= 3) - { - i = worldIn.rand.range(2, 4); - - if (fortune > 0) - { - i += worldIn.rand.zrange(fortune + 1); - } - } - - for (int j = 0; j < i; ++j) - { - dropItem(worldIn, pos, new ItemStack(Items.soul_seed)); - } - } - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - protected int getDropAmount(Random random) - { - return 0; - } - - protected Property[] getProperties() - { - return new Property[] {AGE}; - } - - public Model getModel(ModelProvider provider, String name, State state) { - int age = state.getValue(AGE); - return BlockCrops.crop(provider, name + "_" + (age >= 2 ? age - 1 : age)); - } - - protected boolean hasRegisteredItem() { - return false; - } -} diff --git a/common/src/main/java/common/block/natural/BlockWeb.java b/common/src/main/java/common/block/natural/BlockWeb.java index 978d1268..d483e16b 100755 --- a/common/src/main/java/common/block/natural/BlockWeb.java +++ b/common/src/main/java/common/block/natural/BlockWeb.java @@ -2,6 +2,7 @@ package common.block.natural; import common.block.Block; import common.block.Material; +import common.block.foliage.BlockBush; import common.entity.Entity; import common.init.Items; import common.item.CheatTab; @@ -69,7 +70,7 @@ public class BlockWeb extends Block } public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel("web").cross(); + return BlockBush.makeCrossModel(provider.getModel("web")); } public GuiPosition getItemPosition() { diff --git a/common/src/main/java/common/init/BlockRegistry.java b/common/src/main/java/common/init/BlockRegistry.java index 6e4e6981..1805fbe8 100755 --- a/common/src/main/java/common/init/BlockRegistry.java +++ b/common/src/main/java/common/init/BlockRegistry.java @@ -7,125 +7,11 @@ import java.util.Map; import java.util.Set; import common.block.*; -import common.block.artificial.BlockBed; -import common.block.artificial.BlockBookshelf; -import common.block.artificial.BlockCake; -import common.block.artificial.BlockCarpet; -import common.block.artificial.BlockMagneticExplosive; -import common.block.artificial.BlockDoor; -import common.block.artificial.BlockDragonEgg; -import common.block.artificial.BlockFence; -import common.block.artificial.BlockFenceGate; -import common.block.artificial.BlockFloorPortal; -import common.block.artificial.BlockFlowerPot; -import common.block.artificial.BlockGlass; -import common.block.artificial.BlockHay; -import common.block.artificial.BlockLadder; -import common.block.artificial.BlockMetalBlock; -import common.block.artificial.BlockPane; -import common.block.artificial.BlockPortal; -import common.block.artificial.BlockPortalFrame; -import common.block.artificial.BlockQuartz; -import common.block.artificial.BlockQuartzPillar; -import common.block.artificial.BlockSkull; -import common.block.artificial.BlockSlab; -import common.block.artificial.BlockStainedGlass; -import common.block.artificial.BlockStainedGlassPane; -import common.block.artificial.BlockStairs; -import common.block.artificial.BlockTrapDoor; -import common.block.artificial.BlockWall; -import common.block.artificial.BlockWool; -import common.block.foliage.BlockBlackenedSoil; -import common.block.foliage.BlockBlueShroom; -import common.block.foliage.BlockCactus; -import common.block.foliage.BlockCarrot; -import common.block.foliage.BlockCrops; -import common.block.foliage.BlockDeadBush; -import common.block.foliage.BlockDoublePlant; -import common.block.foliage.BlockDryLeaves; -import common.block.foliage.BlockFarmland; -import common.block.foliage.BlockFlower; -import common.block.foliage.BlockGrass; -import common.block.foliage.BlockHugeMushroom; -import common.block.foliage.BlockLeaves; -import common.block.foliage.BlockLilyPad; -import common.block.foliage.BlockLog; -import common.block.foliage.BlockMelon; -import common.block.foliage.BlockMushroom; -import common.block.foliage.BlockMycelium; -import common.block.foliage.BlockPotato; -import common.block.foliage.BlockPumpkin; -import common.block.foliage.BlockReed; -import common.block.foliage.BlockSapling; -import common.block.foliage.BlockStem; -import common.block.foliage.BlockSwamp; -import common.block.foliage.BlockTallGrass; -import common.block.foliage.BlockTianSoil; -import common.block.foliage.BlockVine; -import common.block.foliage.BlockWart; -import common.block.foliage.LeavesType; -import common.block.liquid.BlockDynamicLiquid; -import common.block.liquid.BlockStaticLiquid; -import common.block.natural.BlockBedrock; -import common.block.natural.BlockBlackenedDirt; -import common.block.natural.BlockBlackenedStone; -import common.block.natural.BlockClay; -import common.block.natural.BlockCompressable; -import common.block.natural.BlockColoredClay; -import common.block.natural.BlockFire; -import common.block.natural.BlockGlowstone; -import common.block.natural.BlockGravel; -import common.block.natural.BlockHardenedClay; -import common.block.natural.BlockHellRock; -import common.block.natural.BlockIce; -import common.block.natural.BlockMetalOre; -import common.block.natural.BlockObsidian; -import common.block.natural.BlockOre; -import common.block.natural.BlockPackedIce; -import common.block.natural.BlockPodzol; -import common.block.natural.BlockSandStone; -import common.block.natural.BlockSlime; -import common.block.natural.BlockSnow; -import common.block.natural.BlockSnowBlock; -import common.block.natural.BlockSoulFire; -import common.block.natural.BlockSoulSand; -import common.block.natural.BlockStone; -import common.block.natural.BlockBlackFire; -import common.block.natural.BlockWeb; -import common.block.tech.BlockActiveDisplay; -import common.block.tech.BlockAnvil; -import common.block.tech.BlockEffectGenerator; -import common.block.tech.BlockBrewingStand; -import common.block.tech.BlockButton; -import common.block.tech.BlockCauldron; -import common.block.tech.BlockChest; -import common.block.tech.BlockCore; -import common.block.tech.BlockDispenser; -import common.block.tech.BlockDropper; -import common.block.tech.BlockEnchantmentTable; -import common.block.tech.BlockFurnace; -import common.block.tech.BlockHopper; -import common.block.tech.BlockInactiveDisplay; -import common.block.tech.BlockLever; -import common.block.tech.BlockMobSpawner; -import common.block.tech.BlockNuke; -import common.block.tech.BlockPistonBase; -import common.block.tech.BlockPistonHead; -import common.block.tech.BlockPressurePlate; -import common.block.tech.BlockPressurePlateWeighted; -import common.block.tech.BlockRail; -import common.block.tech.BlockStandingSign; -import common.block.tech.BlockToggleableLight; -import common.block.tech.BlockLitTorch; -import common.block.tech.BlockWire; -import common.block.tech.BlockTNT; -import common.block.tech.BlockTianReactor; -import common.block.tech.BlockTripWire; -import common.block.tech.BlockTripWireHook; -import common.block.tech.BlockUnlitTorch; -import common.block.tech.BlockWallSign; -import common.block.tech.BlockWarpChest; -import common.block.tech.BlockWorkbench; +import common.block.artificial.*; +import common.block.foliage.*; +import common.block.liquid.*; +import common.block.natural.*; +import common.block.tech.*; import common.collect.BiMap; import common.collect.HashBiMap; import common.collect.Lists; @@ -332,22 +218,33 @@ public abstract class BlockRegistry { - - register("dirt", (new Block(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Erde").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE)); - register("grass", (new BlockGrass()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Gras").setMiningTool(Equipment.SHOVEL)); - register("coarse_dirt", (new Block(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Grobe Erde").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE)); - register("podzol", (new BlockPodzol()).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Podsol").setMiningTool(Equipment.SHOVEL)); - register("mycelium", (new BlockMycelium()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Myzel").setMiningTool(Equipment.SHOVEL)); - register("tian", (new Block(Material.SOLID)).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE) + Block dirt; + register("dirt", (dirt = new Block(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Erde").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE)); + Block grass; + register("grass", (grass = new BlockGrass()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Gras").setMiningTool(Equipment.SHOVEL)); + Block coarse_dirt; + register("coarse_dirt", (coarse_dirt = new Block(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Grobe Erde").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE)); + Block podzol; + register("podzol", (podzol = new BlockPodzol()).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Podsol").setMiningTool(Equipment.SHOVEL)); + Block mycelium; + register("mycelium", (mycelium = new BlockMycelium()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Myzel").setMiningTool(Equipment.SHOVEL)); + Block swamp; + register("swamp", (swamp = new BlockSwamp()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Sumpf").setMiningTool(Equipment.SHOVEL)); + Block tian; + register("tian", (tian = new Block(Material.SOLID)).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE) .setDisplay("Tian").setTab(CheatTab.NATURE)); - register("tian_soil", (new BlockTianSoil()).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE) + Block tian_soil; + register("tian_soil", (tian_soil = new BlockTianSoil()).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE) .setDisplay("Tianerde").setTab(CheatTab.NATURE)); - register("moon_cheese", (new BlockTreasure(Material.SOFT)).setHardness(1.5F).setResistance(5.0F) - .setSound(SoundType.CLOTH).setDisplay("Mondkäse").setTab(CheatTab.NATURE)); - register("slime_block", (new BlockSlime()).setDisplay("Schleimblock").setSound(SoundType.SLIME)); - register("blackened_dirt", (new BlockBlackenedDirt()).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Schwarzerde").setMiningTool(Equipment.SHOVEL)); - register("blackened_soil", (new BlockBlackenedSoil()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Schwarzgrund").setMiningTool(Equipment.SHOVEL)); - register("swamp", (new BlockSwamp()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Sumpf").setMiningTool(Equipment.SHOVEL)); + Block blackened_dirt; + register("blackened_dirt", (blackened_dirt = new BlockBlackenedDirt()).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Schwarzerde").setMiningTool(Equipment.SHOVEL)); + Block blackened_soil; + register("blackened_soil", (blackened_soil = new BlockBlackenedSoil()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Schwarzgrund").setMiningTool(Equipment.SHOVEL)); + Block slime_block; + register("slime_block", (slime_block = new BlockSlime()).setDisplay("Schleimblock").setSound(SoundType.SLIME)); + Block cheese; + register("cheese", (cheese = new BlockTreasure(Material.SOFT)).setHardness(1.5F).setResistance(5.0F) + .setSound(SoundType.CLOTH).setDisplay("Käse").setTab(CheatTab.NATURE)); @@ -472,11 +369,8 @@ public abstract class BlockRegistry { register("wheats", (new BlockCrops()).setDisplay("Getreide")); register("carrots", (new BlockCarrot()).setDisplay("Karotten")); register("potatoes", (new BlockPotato()).setDisplay("Kartoffeln")); - register("soul_grass", (new BlockWart()).setDisplay("Seelenwarze")); + register("soul_grass", (new BlockSoulGrass()).setDisplay("Seelengras")); - - - for(MetalType metal : MetalType.values()) { // String loc = metal.name.substring(0, 1).toUpperCase() + metal.name.substring(1); register(metal.name + "_block", (new BlockMetalBlock(metal)).setHardness(5.0F).setResistance(10.0F) @@ -487,35 +381,57 @@ public abstract class BlockRegistry { register(ore.name + "_block", (new Block(Material.SOLID)).setHardness(5.0F).setResistance(10.0F).setSound(SoundType.STONE) .setDisplay(ore.display + "block").setTab(CheatTab.GEMS).setMiningTool(Equipment.PICKAXE, ore.material.getHarvestLevel() - 1)); } - - - - register("stone_slab", (new BlockSlab(stone)).setDisplay("Steinstufe")); register("stone_stairs", (new BlockStairs(stone)).setDisplay("Steintreppe")); register("cobblestone_slab", (new BlockSlab(cobblestone)).setDisplay("Bruchsteinstufe")); register("cobblestone_stairs", (new BlockStairs(cobblestone)).setDisplay("Bruchsteintreppe")); - register("cobblestone_wall", (new BlockWall(cobblestone, "cobblestone")).setDisplay("Bruchsteinmauer")); - register("mossy_cobblestone_wall", (new BlockWall(mossyCobblestone, "mossy_cobblestone")).setDisplay("Bemooste Bruchsteinmauer")); + register("cobblestone_wall", (new BlockWall(cobblestone)).setDisplay("Bruchsteinmauer")); + + register("mossy_cobblestone_slab", (new BlockSlab(mossyCobblestone)).setDisplay("Bemooste Bruchsteinstufe")); + register("mossy_cobblestone_stairs", (new BlockStairs(mossyCobblestone)).setDisplay("Bemooste Bruchsteintreppe")); + register("mossy_cobblestone_wall", (new BlockWall(mossyCobblestone)).setDisplay("Bemooste Bruchsteinmauer")); register("sandstone_slab", (new BlockSlab(sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Sandsteinstufe")); - register("sandstone_stairs", (new BlockStairs(sandstone, - "sandstone_bottom", "sandstone_all")) // fix type - .setDisplay("Sandsteintreppe")); + register("sandstone_stairs", (new BlockStairs(sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Sandsteintreppe")); + + register("dirt_slab", (new BlockSlab(dirt)).setDisplay("Erdstufe")); + register("dirt_stairs", (new BlockStairs(dirt)).setDisplay("Erdtreppe")); + + register("grass_slab", (new BlockSlab(grass, "dirt", "grass_top", "dirt", "grass_side")).setDisplay("Grasstufe")); + + register("coarse_dirt_slab", (new BlockSlab(coarse_dirt)).setDisplay("Grobe Erdstufe")); + register("coarse_dirt_stairs", (new BlockStairs(coarse_dirt)).setDisplay("Grobe Erdtreppe")); + + register("podzol_slab", (new BlockSlab(podzol, "dirt", "podzol_top", "dirt", "podzol_side")).setDisplay("Podsolstufe")); + + register("mycelium_slab", (new BlockSlab(mycelium, "dirt", "mycelium_top", "dirt", "mycelium_side")).setDisplay("Myzelstufe")); + + register("swamp_slab", (new BlockSlab(swamp, "dirt", "swamp_top", "dirt", "swamp_side")).setDisplay("Sumpfstufe")); + + register("tian_slab", (new BlockSlab(tian)).setDisplay("Tianstufe")); + register("tian_stairs", (new BlockStairs(tian)).setDisplay("Tiantreppe")); + register("tian_soil_slab", (new BlockSlab(tian_soil, "tian", "tian_soil_top", "tian", "tian_soil_side")).setDisplay("Tianerdestufe")); + + register("blackened_dirt_slab", (new BlockSlab(blackened_dirt)).setDisplay("Schwarzerdestufe")); + register("blackened_dirt_stairs", (new BlockStairs(blackened_dirt)).setDisplay("Schwarzerdetreppe")); + register("blackened_soil_slab", (new BlockSlab(blackened_soil, "blackened_dirt", "blackened_soil_top", "blackened_dirt", "blackened_soil_side")).setDisplay("Schwarzgrasstufe")); + + register("slime_slab", (new BlockSlab(slime_block)).setDisplay("Schleimstufe")); + register("slime_stairs", (new BlockStairs(slime_block)).setDisplay("Schleimtreppe")); + + register("cheese_slab", (new BlockSlab(cheese)).setDisplay("Käsestufe")); + register("cheese_stairs", (new BlockStairs(cheese)).setDisplay("Käsetreppe")); Block quartz = (new BlockQuartz(false, false)).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Quarzblock"); register("quartz_block", quartz); register("quartz_ornaments", (new BlockQuartz(false, true)).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Gemeißelter Quarzblock")); register("quartz_pillar", (new BlockQuartzPillar(false)).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Quarzsäule")); register("quartz_slab", (new BlockSlab(quartz, "quartz_block_bottom", "quartz_top")).setDisplay("Quarzstufe")); - register("quartz_stairs", (new BlockStairs(quartz, - "quartz_block_bottom", "quartz_top")) - .setDisplay("Quarztreppe")); + register("quartz_stairs", (new BlockStairs(quartz, "quartz_block_bottom", "quartz_top")).setDisplay("Quarztreppe")); - register("iron_bars", (new BlockPane(Material.SOLID)).setHardness(5.0F).setResistance(10.0F).setSound(SoundType.STONE) - .setDisplay("Eisengitter")); + register("iron_bars", (new BlockPane(Material.SOLID)).setHardness(5.0F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Eisengitter")); register("iron_trapdoor", (new BlockTrapDoor(Material.SOLID)).setHardness(5.0F).setSound(SoundType.STONE).setDisplay("Eisenfalltür")); Block brick = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE) diff --git a/common/src/main/java/common/init/Blocks.java b/common/src/main/java/common/init/Blocks.java index a4d3aca9..f52c4682 100755 --- a/common/src/main/java/common/init/Blocks.java +++ b/common/src/main/java/common/init/Blocks.java @@ -89,19 +89,19 @@ public abstract class Blocks { public static final BlockBlackenedDirt blackened_dirt = get("blackened_dirt"); public static final BlockBlackenedSoil blackened_soil = get("blackened_soil"); public static final BlockBlackenedStone blackened_stone = get("blackened_stone"); - public static final BlockDoor blackwood_door = get("blackwood_door"); - public static final BlockFence blackwood_fence = get("blackwood_fence"); - public static final BlockFenceGate blackwood_fence_gate = get("blackwood_fence_gate"); - public static final BlockLeaves blackwood_leaves_autumn = get("blackwood_leaves_autumn"); - public static final BlockLeaves blackwood_leaves_snowy = get("blackwood_leaves_snowy"); - public static final BlockLeaves blackwood_leaves_spring = get("blackwood_leaves_spring"); - public static final BlockLeaves blackwood_leaves_summer = get("blackwood_leaves_summer"); - public static final BlockLeaves blackwood_leaves_winter = get("blackwood_leaves_winter"); - public static final BlockLog blackwood_log = get("blackwood_log"); - public static final Block blackwood_planks = get("blackwood_planks"); - public static final BlockSapling blackwood_sapling = get("blackwood_sapling"); - public static final BlockSlab blackwood_slab = get("blackwood_slab"); - public static final BlockStairs blackwood_stairs = get("blackwood_stairs"); + public static final BlockDoor black_wood_door = get("black_wood_door"); + public static final BlockFence black_wood_fence = get("black_wood_fence"); + public static final BlockFenceGate black_wood_fence_gate = get("black_wood_fence_gate"); + public static final BlockLeaves black_wood_leaves_autumn = get("black_wood_leaves_autumn"); + public static final BlockLeaves black_wood_leaves_snowy = get("black_wood_leaves_snowy"); + public static final BlockLeaves black_wood_leaves_spring = get("black_wood_leaves_spring"); + public static final BlockLeaves black_wood_leaves_summer = get("black_wood_leaves_summer"); + public static final BlockLeaves black_wood_leaves_winter = get("black_wood_leaves_winter"); + public static final BlockLog black_wood_log = get("black_wood_log"); + public static final Block black_wood_planks = get("black_wood_planks"); + public static final BlockSapling black_wood_sapling = get("black_wood_sapling"); + public static final BlockSlab black_wood_slab = get("black_wood_slab"); + public static final BlockStairs black_wood_stairs = get("black_wood_stairs"); public static final BlockStaticLiquid blood = get("blood"); public static final Block blood_brick = get("blood_brick"); public static final BlockFence blood_brick_fence = get("blood_brick_fence"); @@ -328,7 +328,7 @@ public abstract class Blocks { public static final BlockStem melon_stem = get("melon_stem"); public static final BlockStaticLiquid mercury = get("mercury"); public static final BlockMobSpawner mob_spawner = get("mob_spawner"); - public static final BlockTreasure moon_cheese = get("moon_cheese"); + public static final BlockTreasure cheese = get("cheese"); public static final Block moon_rock = get("moon_rock"); public static final Block mossy_cobblestone = get("mossy_cobblestone"); public static final BlockWall mossy_cobblestone_wall = get("mossy_cobblestone_wall"); @@ -439,7 +439,7 @@ public abstract class Blocks { public static final BlockMetalOre sodium_ore = get("sodium_ore"); public static final BlockSoulFire soul_fire = get("soul_fire"); public static final BlockSoulSand soul_sand = get("soul_sand"); - public static final BlockWart soul_grass = get("soul_grass"); + public static final BlockSoulGrass soul_grass = get("soul_grass"); public static final Block sponge = get("sponge"); public static final BlockStaticLiquid spring_water = get("spring_water"); public static final BlockDoor spruce_door = get("spruce_door"); @@ -473,21 +473,21 @@ public abstract class Blocks { public static final Block thetium_block = get("thetium_block"); public static final BlockOre thetium_ore = get("thetium_ore"); public static final Block tian = get("tian"); - public static final BlockDoor tian_door = get("tian_door"); - public static final BlockFence tian_fence = get("tian_fence"); - public static final BlockFenceGate tian_fence_gate = get("tian_fence_gate"); - public static final BlockLeaves tian_leaves_autumn = get("tian_leaves_autumn"); - public static final BlockLeaves tian_leaves_snowy = get("tian_leaves_snowy"); - public static final BlockLeaves tian_leaves_spring = get("tian_leaves_spring"); - public static final BlockLeaves tian_leaves_summer = get("tian_leaves_summer"); - public static final BlockLeaves tian_leaves_winter = get("tian_leaves_winter"); - public static final BlockLog tian_log = get("tian_log"); - public static final Block tian_planks = get("tian_planks"); + public static final BlockDoor tian_wood_door = get("tian_wood_door"); + public static final BlockFence tian_wood_fence = get("tian_wood_fence"); + public static final BlockFenceGate tian_wood_fence_gate = get("tian_wood_fence_gate"); + public static final BlockLeaves tian_wood_leaves_autumn = get("tian_wood_leaves_autumn"); + public static final BlockLeaves tian_wood_leaves_snowy = get("tian_wood_leaves_snowy"); + public static final BlockLeaves tian_wood_leaves_spring = get("tian_wood_leaves_spring"); + public static final BlockLeaves tian_wood_leaves_summer = get("tian_wood_leaves_summer"); + public static final BlockLeaves tian_wood_leaves_winter = get("tian_wood_leaves_winter"); + public static final BlockLog tian_wood_log = get("tian_wood_log"); + public static final Block tian_wood_planks = get("tian_wood_planks"); public static final BlockTianReactor tian_reactor = get("tian_reactor"); - public static final BlockSapling tian_sapling = get("tian_sapling"); - public static final BlockSlab tian_slab = get("tian_slab"); + public static final BlockSapling tian_wood_sapling = get("tian_wood_sapling"); + public static final BlockSlab tian_wood_slab = get("tian_wood_slab"); public static final BlockTianSoil tian_soil = get("tian_soil"); - public static final BlockStairs tian_stairs = get("tian_stairs"); + public static final BlockStairs tian_wood_stairs = get("tian_wood_stairs"); public static final BlockMetalBlock tin_block = get("tin_block"); public static final BlockMetalOre tin_ore = get("tin_ore"); public static final BlockMetalBlock titanium_block = get("titanium_block"); @@ -679,6 +679,26 @@ public abstract class Blocks { public static final BlockChest thetium_chest = get("thetium_chest"); public static final BlockChest black_metal_chest = get("black_metal_chest"); public static final BlockChest nichun_chest = get("nichun_chest"); + public static final BlockSlab grass_slab = get("grass_slab"); + public static final BlockSlab blackened_dirt_slab = get("blackened_dirt_slab"); + public static final BlockSlab blackened_soil_slab = get("blackened_soil_slab"); + public static final BlockSlab coarse_dirt_slab = get("coarse_dirt_slab"); + public static final BlockSlab dirt_slab = get("dirt_slab"); + public static final BlockSlab mycelium_slab = get("mycelium_slab"); + public static final BlockSlab podzol_slab = get("podzol_slab"); + public static final BlockSlab swamp_slab = get("swamp_slab"); + public static final BlockSlab tian_slab = get("tian_slab"); + public static final BlockSlab tian_soil_slab = get("tian_soil_slab"); + public static final BlockStairs blackened_dirt_stairs = get("blackened_dirt_stairs"); + public static final BlockSlab cheese_slab = get("cheese_slab"); + public static final BlockStairs cheese_stairs = get("cheese_stairs"); + public static final BlockStairs coarse_dirt_stairs = get("coarse_dirt_stairs"); + public static final BlockStairs dirt_stairs = get("dirt_stairs"); + public static final BlockSlab mossy_cobblestone_slab = get("mossy_cobblestone_slab"); + public static final BlockStairs mossy_cobblestone_stairs = get("mossy_cobblestone_stairs"); + public static final BlockSlab slime_slab = get("slime_slab"); + public static final BlockStairs slime_stairs = get("slime_stairs"); + public static final BlockStairs tian_stairs = get("tian_stairs"); private static T get(String id) { T block = (T)BlockRegistry.byNameExact(id); diff --git a/common/src/main/java/common/init/Items.java b/common/src/main/java/common/init/Items.java index 7555ecd3..6471f99b 100755 --- a/common/src/main/java/common/init/Items.java +++ b/common/src/main/java/common/init/Items.java @@ -152,19 +152,19 @@ public abstract class Items { public static final Item blackened_dirt = get("blackened_dirt"); public static final Item blackened_soil = get("blackened_soil"); public static final Item blackened_stone = get("blackened_stone"); - public static final Item blackwood_door = get("blackwood_door"); - public static final Item blackwood_fence = get("blackwood_fence"); - public static final Item blackwood_fence_gate = get("blackwood_fence_gate"); - public static final Item blackwood_leaves_autumn = get("blackwood_leaves_autumn"); - public static final Item blackwood_leaves_snowy = get("blackwood_leaves_snowy"); - public static final Item blackwood_leaves_spring = get("blackwood_leaves_spring"); - public static final Item blackwood_leaves_summer = get("blackwood_leaves_summer"); - public static final Item blackwood_leaves_winter = get("blackwood_leaves_winter"); - public static final Item blackwood_log = get("blackwood_log"); - public static final Item blackwood_planks = get("blackwood_planks"); - public static final Item blackwood_sapling = get("blackwood_sapling"); - public static final Item blackwood_slab = get("blackwood_slab"); - public static final Item blackwood_stairs = get("blackwood_stairs"); + public static final Item black_wood_door = get("black_wood_door"); + public static final Item black_wood_fence = get("black_wood_fence"); + public static final Item black_wood_fence_gate = get("black_wood_fence_gate"); + public static final Item black_wood_leaves_autumn = get("black_wood_leaves_autumn"); + public static final Item black_wood_leaves_snowy = get("black_wood_leaves_snowy"); + public static final Item black_wood_leaves_spring = get("black_wood_leaves_spring"); + public static final Item black_wood_leaves_summer = get("black_wood_leaves_summer"); + public static final Item black_wood_leaves_winter = get("black_wood_leaves_winter"); + public static final Item black_wood_log = get("black_wood_log"); + public static final Item black_wood_planks = get("black_wood_planks"); + public static final Item black_wood_sapling = get("black_wood_sapling"); + public static final Item black_wood_slab = get("black_wood_slab"); + public static final Item black_wood_stairs = get("black_wood_stairs"); public static final Item blazing_powder = get("blazing_powder"); public static final Item demon_rod = get("demon_rod"); public static final Item blood_brick = get("blood_brick"); @@ -492,7 +492,7 @@ public abstract class Items { public static final ItemMilkBottle milk_bottle = get("milk_bottle"); public static final ItemMinecart minecart = get("minecart"); public static final Item mob_spawner = get("mob_spawner"); - public static final Item moon_cheese = get("moon_cheese"); + public static final Item cheese = get("cheese"); public static final Item moon_rock = get("moon_rock"); public static final Item mossy_cobblestone = get("mossy_cobblestone"); public static final Item mossy_cobblestone_wall = get("mossy_cobblestone_wall"); @@ -711,21 +711,21 @@ public abstract class Items { public static final ItemTool thetium_sword = get("thetium_sword"); public static final Item thi_fragment = get("thi_fragment"); public static final Item tian = get("tian"); - public static final Item tian_door = get("tian_door"); - public static final Item tian_fence = get("tian_fence"); - public static final Item tian_fence_gate = get("tian_fence_gate"); - public static final Item tian_leaves_autumn = get("tian_leaves_autumn"); - public static final Item tian_leaves_snowy = get("tian_leaves_snowy"); - public static final Item tian_leaves_spring = get("tian_leaves_spring"); - public static final Item tian_leaves_summer = get("tian_leaves_summer"); - public static final Item tian_leaves_winter = get("tian_leaves_winter"); - public static final Item tian_log = get("tian_log"); - public static final Item tian_planks = get("tian_planks"); + public static final Item tian_wood_door = get("tian_wood_door"); + public static final Item tian_wood_fence = get("tian_wood_fence"); + public static final Item tian_wood_fence_gate = get("tian_wood_fence_gate"); + public static final Item tian_wood_leaves_autumn = get("tian_wood_leaves_autumn"); + public static final Item tian_wood_leaves_snowy = get("tian_wood_leaves_snowy"); + public static final Item tian_wood_leaves_spring = get("tian_wood_leaves_spring"); + public static final Item tian_wood_leaves_summer = get("tian_wood_leaves_summer"); + public static final Item tian_wood_leaves_winter = get("tian_wood_leaves_winter"); + public static final Item tian_wood_log = get("tian_wood_log"); + public static final Item tian_wood_planks = get("tian_wood_planks"); public static final Item tian_reactor = get("tian_reactor"); - public static final Item tian_sapling = get("tian_sapling"); - public static final Item tian_slab = get("tian_slab"); + public static final Item tian_wood_sapling = get("tian_wood_sapling"); + public static final Item tian_wood_slab = get("tian_wood_slab"); public static final Item tian_soil = get("tian_soil"); - public static final Item tian_stairs = get("tian_stairs"); + public static final Item tian_wood_stairs = get("tian_wood_stairs"); public static final Item tin_block = get("tin_block"); public static final ItemMetal tin_ingot = get("tin_ingot"); public static final Item tin_ore = get("tin_ore"); @@ -1063,6 +1063,26 @@ public abstract class Items { public static final Item silver_chest = get("silver_chest"); public static final Item stone_chest = get("stone_chest"); public static final Item thetium_chest = get("thetium_chest"); + public static final Item grass_slab = get("grass_slab"); + public static final Item blackened_dirt_slab = get("blackened_dirt_slab"); + public static final Item blackened_soil_slab = get("blackened_soil_slab"); + public static final Item coarse_dirt_slab = get("coarse_dirt_slab"); + public static final Item dirt_slab = get("dirt_slab"); + public static final Item mycelium_slab = get("mycelium_slab"); + public static final Item podzol_slab = get("podzol_slab"); + public static final Item swamp_slab = get("swamp_slab"); + public static final Item tian_slab = get("tian_slab"); + public static final Item tian_soil_slab = get("tian_soil_slab"); + public static final Item blackened_dirt_stairs = get("blackened_dirt_stairs"); + public static final Item cheese_slab = get("cheese_slab"); + public static final Item cheese_stairs = get("cheese_stairs"); + public static final Item coarse_dirt_stairs = get("coarse_dirt_stairs"); + public static final Item dirt_stairs = get("dirt_stairs"); + public static final Item mossy_cobblestone_slab = get("mossy_cobblestone_slab"); + public static final Item mossy_cobblestone_stairs = get("mossy_cobblestone_stairs"); + public static final Item slime_slab = get("slime_slab"); + public static final Item slime_stairs = get("slime_stairs"); + public static final Item tian_stairs = get("tian_stairs"); private static T get(String id) { T item = (T)ItemRegistry.byName(id); diff --git a/common/src/main/java/common/init/WoodType.java b/common/src/main/java/common/init/WoodType.java index 1965ee79..25149014 100755 --- a/common/src/main/java/common/init/WoodType.java +++ b/common/src/main/java/common/init/WoodType.java @@ -9,8 +9,8 @@ public enum WoodType { DARK_OAK("dark_oak", "Schwarzeichen", 20), CHERRY("cherry", "Kirsch", 20), MAPLE("maple", "Ahorn", 20), - TIAN("tian", "Tian", 80), - BLACKWOOD("blackwood", "Schwarz", 60), + TIAN("tian_wood", "Tian", 80), + BLACKWOOD("black_wood", "Schwarz", 60), SWAMP_OAK("swamp_oak", "Sumpfeichen", 20); private final String name; diff --git a/common/src/main/java/common/model/Model.java b/common/src/main/java/common/model/Model.java index 45db3dba..094ddc81 100644 --- a/common/src/main/java/common/model/Model.java +++ b/common/src/main/java/common/model/Model.java @@ -17,53 +17,6 @@ public abstract class Model { public abstract Model rot(int rot); public abstract Model uv(float x1, float y1, float x2, float y2); public abstract String getPrimary(); - - public Model slab(boolean upper) { - return this.slab(upper, this.getPrimary(), this.getPrimary()); - } - - public Model slab(boolean upper, String du) { - return this.slab(upper, du, du); - } - - public Model slab(boolean upper, String down, String up) { - return this.add(0, upper ? 8 : 0, 0, 16, upper ? 16 : 8, 16).nswe().uv(0, upper ? 0 : 8, 16, upper ? 8 : 16) - .d(down).cull(upper ? null : Facing.DOWN).u(up).cull(upper ? Facing.UP : null); - } - - public Model vslab(Facing dir) { - return this.vslab(dir, this.getPrimary(), this.getPrimary()); - } - - public Model vslab(Facing dir, String du) { - return this.vslab(dir, du, du); - } - - public Model vslab(Facing dir, String down, String up) { - return this.add(0, 0, 0, 16, 16, 8).du().uv(0, 8, 16, 16).we().uv(0, 8, 16, 16).rot(90).n(down).s(up).noCull().rotate(ModelRotation.getNorthRot(dir)); - } - - public Model cross() { - return this - .add(0.8f, 0f, 8f, 15.2f, 16f, 8f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) - .ns().uv(0, 0, 16, 16).noCull() - .add(8f, 0f, 0.8f, 8f, 16f, 15.2f).noShade().rotate(8, 8, 8, Facing.Axis.Y, 45, true) - .we().uv(0, 0, 16, 16).noCull(); - } - - public Model stairs(boolean upper, boolean inner, boolean outer, boolean left, Facing dir, String down, String up) { - this.add(0, 0, 0, 16, 8, 16).d(down).uv(0, 0, 16, 16).u(up).noCull().uv(0, 0, 16, 16).nswe().uv(0, 8, 16, 16); - if(outer) - this.add(8, 8, 8, 16, 16, 16).d(down).uv(8, 0, 16, 8).u(up).uv(8, 8, 16, 16).n().noCull().uv(0, 0, 8, 8).s().uv(8, 0, 16, 8) - .w().noCull().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); - else - this.add(8, 8, 0, 16, 16, 16).d(down).uv(inner ? 8 : 0, 0, 16, 16).u(up).uv(inner ? 8 : 0, 0, 16, 16).n().uv(0, 0, 8, 8) - .s().uv(8, 0, 16, 8).w().noCull().uv(0, 0, 16, 8).e().uv(0, 0, 16, 8); - if(inner) - this.add(0, 8, 8, 8, 16, 16).d(down).uv(0, 0, 8, 8).u(up).uv(0, 8, 8, 16).n().noCull().uv(8, 0, 16, 8).s().uv(0, 0, 8, 8) - .w().uv(8, 0, 16, 8).e().uv(0, 0, 8, 8); - return this.rotate(ModelRotation.getEastRot(left ? Facing.getHorizontal(dir.getHorizontalIndex() + 3) : dir, upper)).uvLock(); - } public Model add() { return this.add(0, 0, 0, 16, 16, 16); diff --git a/common/src/main/java/common/vars/Vars.java b/common/src/main/java/common/vars/Vars.java index a079fc2e..689356ad 100755 --- a/common/src/main/java/common/vars/Vars.java +++ b/common/src/main/java/common/vars/Vars.java @@ -239,8 +239,8 @@ public abstract class Vars { public static int stemGrowth = 26; @Var(name = "treeGrowthChance") public static int treeGrowth = 7; - @Var(name = "wartGrowthChance") - public static int wartGrowth = 10; + @Var(name = "soulGrassGrowthChance") + public static int soulGrassGrowth = 10; @Var(name = "cocoaGrowthChance") public static int cocoaGrowth = 5; @Var(name = "reedGrowthHeight") diff --git a/server/src/main/java/server/init/UniverseRegistry.java b/server/src/main/java/server/init/UniverseRegistry.java index a4ae417b..04e94dd1 100755 --- a/server/src/main/java/server/init/UniverseRegistry.java +++ b/server/src/main/java/server/init/UniverseRegistry.java @@ -501,6 +501,8 @@ public abstract class UniverseRegistry extends DimensionRegistry { // public static final WeightedList MAGEHUT_MOBS = new WeightedList(new RngSpawn(EntityMage.class, 1, 1, 1)); // public static final WeightedList FORTRESS_MOBS = new WeightedList(new RngSpawn(EntityDarkMage.class, 10, 2, 3), // new RngSpawn(EntityTiefling.class, 5, 4, 4), new RngSpawn(EntityUndead.class, 10, 4, 4)); + +// addOre(Blocks.cheese.getState(), 8, 8, 12, 24, 52, false) public static void register() { // TODO: add mushroom 0.2F, 0.3F .addSpawn(EntityDwarf.class, 8, 4, 8) register("space", "Der Weltraum", Space.INSTANCE); diff --git a/server/src/main/java/server/world/Converter.java b/server/src/main/java/server/world/Converter.java index 44971da7..2487edee 100644 --- a/server/src/main/java/server/world/Converter.java +++ b/server/src/main/java/server/world/Converter.java @@ -49,7 +49,7 @@ import common.block.foliage.BlockPotato; import common.block.foliage.BlockReed; import common.block.foliage.BlockStem; import common.block.foliage.BlockVine; -import common.block.foliage.BlockWart; +import common.block.foliage.BlockSoulGrass; import common.block.liquid.BlockLiquid; import common.block.natural.BlockColoredClay; import common.block.natural.BlockFire; @@ -938,10 +938,10 @@ public abstract class Converter { mapBlock(Blocks.blood_brick_stairs.getState().withProperty(BlockStairs.FACING, Facing.WEST).withProperty(BlockStairs.HALF, EnumHalf.TOP), 114, 5, 13); mapBlock(Blocks.blood_brick_stairs.getState().withProperty(BlockStairs.FACING, Facing.SOUTH).withProperty(BlockStairs.HALF, EnumHalf.TOP), 114, 6, 14); mapBlock(Blocks.blood_brick_stairs.getState().withProperty(BlockStairs.FACING, Facing.NORTH).withProperty(BlockStairs.HALF, EnumHalf.TOP), 114, 7, 15); - mapBlock(Blocks.soul_grass.getState().withProperty(BlockWart.AGE, 0), 115); - mapBlock(Blocks.soul_grass.getState().withProperty(BlockWart.AGE, 1), 115, 1); - mapBlock(Blocks.soul_grass.getState().withProperty(BlockWart.AGE, 2), 115, 2); - mapBlock(Blocks.soul_grass.getState().withProperty(BlockWart.AGE, 3), 115, 3); + mapBlock(Blocks.soul_grass.getState().withProperty(BlockSoulGrass.AGE, 0), 115); + mapBlock(Blocks.soul_grass.getState().withProperty(BlockSoulGrass.AGE, 1), 115, 1); + mapBlock(Blocks.soul_grass.getState().withProperty(BlockSoulGrass.AGE, 2), 115, 2); + mapBlock(Blocks.soul_grass.getState().withProperty(BlockSoulGrass.AGE, 3), 115, 3); mapBlock(Blocks.enchanting_table, 116); mapBlock(Blocks.brewing_stand, 117); mapBlock(Blocks.cauldron.getState().withProperty(BlockCauldron.LEVEL, 0), 118); diff --git a/server/src/main/java/server/world/WorldServer.java b/server/src/main/java/server/world/WorldServer.java index 510e9ddb..9a28e5ed 100755 --- a/server/src/main/java/server/world/WorldServer.java +++ b/server/src/main/java/server/world/WorldServer.java @@ -2580,7 +2580,7 @@ public final class WorldServer extends AWorldServer { break; case TIAN: - worldgenerator = new WorldGenBigTree(true, Blocks.tian_log.getState(), WoodType.TIAN) + worldgenerator = new WorldGenBigTree(true, Blocks.tian_wood_log.getState(), WoodType.TIAN) .setHeightLimit(6, 20); break; diff --git a/server/src/main/java/server/worldgen/populator/PopulatorBlackened.java b/server/src/main/java/server/worldgen/populator/PopulatorBlackened.java index 421caa44..65e1bec0 100644 --- a/server/src/main/java/server/worldgen/populator/PopulatorBlackened.java +++ b/server/src/main/java/server/worldgen/populator/PopulatorBlackened.java @@ -9,7 +9,7 @@ import server.worldgen.tree.WorldGenBaseTree; import server.worldgen.tree.WorldGenTree; public class PopulatorBlackened extends PopulatorBasic { - protected final WorldGenTree treeGen = new WorldGenBaseTree(false, Blocks.blackwood_log.getState(), WoodType.BLACKWOOD); + protected final WorldGenTree treeGen = new WorldGenBaseTree(false, Blocks.black_wood_log.getState(), WoodType.BLACKWOOD); public PopulatorBlackened() { this.treesPerChunk = 3; diff --git a/server/src/main/java/server/worldgen/populator/PopulatorCheese.java b/server/src/main/java/server/worldgen/populator/PopulatorCheese.java deleted file mode 100755 index 391b65f2..00000000 --- a/server/src/main/java/server/worldgen/populator/PopulatorCheese.java +++ /dev/null @@ -1,15 +0,0 @@ -package server.worldgen.populator; - -import common.init.Blocks; -import common.rng.Random; -import common.util.BlockPos; -import server.world.WorldServer; -import server.worldgen.FeatureOres; - -public class PopulatorCheese extends PopulatorBasic { - private FeatureOres cheeseGenerator = new FeatureOres(Blocks.moon_cheese.getState(), 8, 8, 12, 24, 52, false); - - public void decorate(WorldServer worldIn, Random rand, BlockPos pos) { - this.cheeseGenerator.generate(worldIn, rand, pos); - } -} diff --git a/server/src/main/java/server/worldgen/populator/PopulatorTian.java b/server/src/main/java/server/worldgen/populator/PopulatorTian.java index 7fea4646..81434244 100755 --- a/server/src/main/java/server/worldgen/populator/PopulatorTian.java +++ b/server/src/main/java/server/worldgen/populator/PopulatorTian.java @@ -17,12 +17,12 @@ public class PopulatorTian extends PopulatorBasic { protected FeatureGenerator spikeGen = new WorldGenSpikes(Blocks.tian_soil, 128, 2, 3, Blocks.obsidian.getState(), true); protected FeatureGenerator mushroomBlueGen = new WorldGenMushroom(Blocks.blue_mushroom); - protected WorldGenTree treeGen1 = new WorldGenBigTree(false, Blocks.tian_log.getState(), WoodType.TIAN) + protected WorldGenTree treeGen1 = new WorldGenBigTree(false, Blocks.tian_wood_log.getState(), WoodType.TIAN) .setHeightLimit(6, 8); - protected WorldGenTree treeGen2 = new WorldGenBigTree(false, Blocks.tian_log.getState(), WoodType.TIAN) + protected WorldGenTree treeGen2 = new WorldGenBigTree(false, Blocks.tian_wood_log.getState(), WoodType.TIAN) .setHeightLimit(14, 20); - protected WorldGenTree treeGen3 = new WorldGenBaseTree(false, Blocks.tian_log.getState(), WoodType.TIAN); - protected WorldGenTree treeGen4 = new WorldGenBigTree(false, Blocks.tian_log.getState(), WoodType.TIAN) + protected WorldGenTree treeGen3 = new WorldGenBaseTree(false, Blocks.tian_wood_log.getState(), WoodType.TIAN); + protected WorldGenTree treeGen4 = new WorldGenBigTree(false, Blocks.tian_wood_log.getState(), WoodType.TIAN) .setHeightLimit(12, 15); public PopulatorTian()