diff --git a/client/src/main/java/client/Client.java b/client/src/main/java/client/Client.java index 7b1f7c95..fa6a3022 100755 --- a/client/src/main/java/client/Client.java +++ b/client/src/main/java/client/Client.java @@ -724,6 +724,8 @@ public class Client implements IThreadListener { private boolean textureFiltering = true; @Variable(name = "gl_specular", category = CVarCategory.RENDER, display = "Beleuchtungseffekte") public boolean specularColors = true; + @Variable(name = "gl_flat_shading", category = CVarCategory.RENDER, display = "Flaches Shading") + public boolean flatShading = false; public static final Client CLIENT = new Client(); diff --git a/client/src/main/java/client/gui/options/GuiGraphics.java b/client/src/main/java/client/gui/options/GuiGraphics.java index 1d230bb0..addfcd65 100644 --- a/client/src/main/java/client/gui/options/GuiGraphics.java +++ b/client/src/main/java/client/gui/options/GuiGraphics.java @@ -30,10 +30,12 @@ public class GuiGraphics extends GuiOptions { this.addSelector("gl_light_blend", 0, 220, 240, 0); this.addSelector("gl_specular", 242, 220, 240, 0); - this.addSelector("gl_tex_filter", 0, 240, 240, 0); - this.addSelector("gl_tex_mipmaps", 242, 240, 240, 0); + this.addSelector("gl_flat_shading", 0, 240, 240, 0); + + this.addSelector("gl_tex_filter", 0, 260, 240, 0); + this.addSelector("gl_tex_mipmaps", 242, 260, 240, 0); - this.addSelector("gl_tex_anisotropic", 0, 260, 240, 0); + this.addSelector("gl_tex_anisotropic", 0, 280, 240, 0); super.init(width, height); } diff --git a/client/src/main/java/client/renderer/Shader.java b/client/src/main/java/client/renderer/Shader.java index f2e2a80b..8fed4599 100644 --- a/client/src/main/java/client/renderer/Shader.java +++ b/client/src/main/java/client/renderer/Shader.java @@ -57,6 +57,7 @@ public enum Shader { context.integer("n_lights", 0); context.color3("specular", Client.CLIENT.specularColors && !Client.CLIENT.setGamma && !Client.CLIENT.xrayActive ? 0xffffff : 0x000000); + context.bool("shade", Client.CLIENT.flatShading); GlState.setActiveTexture(GL46.GL_TEXTURE0); // glBindBufferBase(GL_UNIFORM_BUFFER, 0, world->light_buf); diff --git a/client/src/main/resources/shaders/world.fsh b/client/src/main/resources/shaders/world.fsh index 72350ca7..1e2ab997 100644 --- a/client/src/main/resources/shaders/world.fsh +++ b/client/src/main/resources/shaders/world.fsh @@ -17,6 +17,7 @@ in vec3 normal; in vec2 tex_coord; in vec4 light_color; in float shine; +in float shading; uniform vec3 cam_pos; uniform sampler2D tex; @@ -112,7 +113,7 @@ void main() { vec3 dir = normalize(cam_pos - vertex); vec4 texel = texture(tex, tex_coord); float sky = sky_light ? vertex.y < 0.0 ? 0.0 : (vertex.y < 64.0 ? vertex.y / 64.0 : 1.0) : 1.0; - vec3 rgb = texel.rgb; + vec3 rgb = texel.rgb * shading; vec3 direct = rgb * sky * (1.0 - light_color.a * light_factor); vec3 result = rgb * light_color.rgb + calc_dir_light(norm, dir, direct, sun_direction, sun_ambient); if(moon_light) diff --git a/client/src/main/resources/shaders/world.vsh b/client/src/main/resources/shaders/world.vsh index 47a4a8d8..13219afe 100644 --- a/client/src/main/resources/shaders/world.vsh +++ b/client/src/main/resources/shaders/world.vsh @@ -8,6 +8,7 @@ out vec3 normal; out vec2 tex_coord; out vec4 light_color; out float shine; +out float shading; uniform mat4 model; uniform mat4 view; @@ -16,11 +17,13 @@ uniform vec3 offset; uniform int chunk_x; uniform int chunk_y; uniform int chunk_z; +uniform bool shade; void main() { vec3 nvertex = vec3(model * vec4(pos, 1.0)); vertex = vec3(float(chunk_x) + pos.x, float(chunk_y) + pos.y, float(chunk_z) + pos.z); - normal = mat3(transpose(inverse(model))) * norm.rgb; + shading = shade ? (norm.x != 0.0 ? 0.6 : (norm.z != 0.0 ? 0.8 : (norm.y < 0.0 ? 0.5 : 1.0))) : 1.0; + normal = mat3(transpose(inverse(model))) * norm.xyz; shine = norm.a * 32.0; tex_coord = coord; light_color = light; diff --git a/client/src/main/resources/textures/blocks/sandstone_bottom.png b/client/src/main/resources/textures/blocks/sandstone.png similarity index 100% rename from client/src/main/resources/textures/blocks/sandstone_bottom.png rename to client/src/main/resources/textures/blocks/sandstone.png diff --git a/client/src/main/resources/textures/blocks/sandstone_carved.png b/client/src/main/resources/textures/blocks/sandstone_carved.png deleted file mode 100755 index 9bd7fa14..00000000 Binary files a/client/src/main/resources/textures/blocks/sandstone_carved.png and /dev/null differ diff --git a/client/src/main/resources/textures/blocks/sandstone_normal.png b/client/src/main/resources/textures/blocks/sandstone_normal.png deleted file mode 100755 index 1b79145f..00000000 Binary files a/client/src/main/resources/textures/blocks/sandstone_normal.png and /dev/null differ diff --git a/client/src/main/resources/textures/blocks/sandstone_smooth.png b/client/src/main/resources/textures/blocks/sandstone_smooth.png deleted file mode 100755 index ef118bdc..00000000 Binary files a/client/src/main/resources/textures/blocks/sandstone_smooth.png and /dev/null differ diff --git a/client/src/main/resources/textures/blocks/sandstone_all.png b/client/src/main/resources/textures/blocks/smooth_sandstone.png similarity index 100% rename from client/src/main/resources/textures/blocks/sandstone_all.png rename to client/src/main/resources/textures/blocks/smooth_sandstone.png diff --git a/common/src/main/java/common/block/artificial/BlockSlab.java b/common/src/main/java/common/block/artificial/BlockSlab.java index 2dafad1a..71dad893 100755 --- a/common/src/main/java/common/block/artificial/BlockSlab.java +++ b/common/src/main/java/common/block/artificial/BlockSlab.java @@ -17,6 +17,7 @@ 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; @@ -29,22 +30,12 @@ public class BlockSlab extends Block implements Directional { private final Block base; 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.getTab()); @@ -58,8 +49,6 @@ public class BlockSlab extends Block implements Directional { this.setSound(this.base.getSound()); this.textureTop = top; this.textureBottom = bottom; - this.textureSide = side; - this.textureOverlay = overlay; SLABS.add(this); } @@ -168,9 +157,7 @@ public class BlockSlab extends Block implements Directional { public Model getModel(ModelProvider provider, String name, State state) { 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)); + Model model = makeSlabModel(provider.getModel(primary), this.textureBottom != null ? this.textureBottom : primary, this.textureTop != null ? this.textureTop : primary, state.getValue(FACING)); return model; } @@ -205,4 +192,9 @@ public class BlockSlab extends Block implements Directional { public int getFuelAmount() { return this.material == Material.WOOD ? 150 : 0; } + + @Clientside + public float getShinyness() { + return this.base.getShinyness(); + } } diff --git a/common/src/main/java/common/block/artificial/BlockStairs.java b/common/src/main/java/common/block/artificial/BlockStairs.java index 81525fe4..56ad82ef 100755 --- a/common/src/main/java/common/block/artificial/BlockStairs.java +++ b/common/src/main/java/common/block/artificial/BlockStairs.java @@ -16,6 +16,7 @@ import common.properties.Property; 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; @@ -33,7 +34,6 @@ public class BlockStairs extends Block implements Rotatable private final Block base; private final String downTex; private final String upTex; - private final String sideTex; private boolean hasRaytraced; private int rayTracePass; @@ -43,11 +43,6 @@ 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)); @@ -59,7 +54,6 @@ public class BlockStairs extends Block implements Rotatable this.setTab(base.getTab()); this.downTex = down; this.upTex = up; - this.sideTex = side; } public void setBlockBounds(IWorldAccess worldIn, BlockPos pos) @@ -683,7 +677,7 @@ public class BlockStairs extends Block implements Rotatable public Model getModel(ModelProvider provider, String name, State state) { 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 || + return makeModel(provider.getModel(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), @@ -703,6 +697,11 @@ public class BlockStairs extends Block implements Rotatable return new Property[] {SHAPE}; } + @Clientside + public float getShinyness() { + return this.base.getShinyness(); + } + public static enum EnumHalf implements Identifyable { TOP("top"), diff --git a/common/src/main/java/common/block/artificial/BlockWall.java b/common/src/main/java/common/block/artificial/BlockWall.java index 08f9a0ef..5539c2d8 100755 --- a/common/src/main/java/common/block/artificial/BlockWall.java +++ b/common/src/main/java/common/block/artificial/BlockWall.java @@ -14,6 +14,7 @@ import common.properties.Property; import common.properties.PropertyBool; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.world.IBlockAccess; import common.world.IWorldAccess; @@ -303,4 +304,9 @@ public class BlockWall extends Block protected Property[] getUnsavedProperties() { return new Property[] {NORTH, SOUTH, UP, WEST, EAST}; } + + @Clientside + public float getShinyness() { + return this.base.getShinyness(); + } } diff --git a/common/src/main/java/common/block/natural/BlockObsidian.java b/common/src/main/java/common/block/natural/BlockObsidian.java index b264606f..701273a3 100755 --- a/common/src/main/java/common/block/natural/BlockObsidian.java +++ b/common/src/main/java/common/block/natural/BlockObsidian.java @@ -1,34 +1,15 @@ package common.block.natural; -import common.block.Block; import common.block.Material; -import common.init.Items; import common.item.CheatTab; -import common.item.Item; -import common.rng.Random; -import common.world.State; -public class BlockObsidian extends BlockNonBlock -{ - public BlockObsidian() - { - super(Material.SOLID); - this.setTab(CheatTab.ROCK); - } +public class BlockObsidian extends BlockNonBlock { + public BlockObsidian() { + super(Material.SOLID); + this.setTab(CheatTab.ROCK); + } -// /** -// * Get the Item that this Block should drop when harvested. -// */ -// public Item getDrop(State state, Random rand, int fortune) -// { +// public Item getDrop(State state, Random rand, int fortune) { // return Items.obsidian; // } - -// /** -// * Get the MapColor for this Block and the given BlockState -// */ -// public MapColor getMapColor(IBlockState state) -// { -// return MapColor.blackColor; -// } } diff --git a/common/src/main/java/common/block/natural/BlockSandStone.java b/common/src/main/java/common/block/natural/BlockSandStone.java index c2fd0d88..3078a35e 100755 --- a/common/src/main/java/common/block/natural/BlockSandStone.java +++ b/common/src/main/java/common/block/natural/BlockSandStone.java @@ -1,22 +1,11 @@ package common.block.natural; -import common.block.Block; import common.block.Material; import common.item.CheatTab; -import common.model.Model; -import common.model.Model.ModelProvider; -import common.world.State; -public class BlockSandStone extends Block { - private final String texture; - - public BlockSandStone(String texture) { +public class BlockSandStone extends BlockNonBlock { + public BlockSandStone() { super(Material.SOLID); - this.texture = texture; this.setTab(CheatTab.ROCK); } - - public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel("sandstone_" + this.texture).add().nswe().d("sandstone_bottom").u("sandstone_all"); - } } diff --git a/common/src/main/java/common/init/BlockRegistry.java b/common/src/main/java/common/init/BlockRegistry.java index dfcf9529..709ef0b2 100755 --- a/common/src/main/java/common/init/BlockRegistry.java +++ b/common/src/main/java/common/init/BlockRegistry.java @@ -145,11 +145,10 @@ public abstract class BlockRegistry { Block mossy_cobblestone = (new BlockNonBlock(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE) .setDisplay("Bemooster Bruchstein").setTab(CheatTab.ROCK); register("mossy_cobblestone", mossy_cobblestone); - Block sandstone = (new BlockSandStone("normal")).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Sandstein"); + Block sandstone = (new BlockSandStone()).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Sandstein"); register("sandstone", sandstone); Block smooth_sandstone; - register("smooth_sandstone", (smooth_sandstone = new BlockSandStone("smooth")).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Glatter Sandstein")); - register("carved_sandstone", (new BlockSandStone("carved")).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Gemeißelter Sandstein")); + register("smooth_sandstone", (smooth_sandstone = new BlockSandStone()).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Glatter Sandstein")); Block obsidian = register("obsidian", (new BlockObsidian()).setHardness(50.0F).setResistance(2000.0F).setSound(SoundType.STONE) .setDisplay("Obsidian").setMiningTool(Equipment.PICKAXE, 3)); Block clay = register("clay", (new BlockClay()).setHardness(0.6F).setSound(SoundType.GRAVEL).setDisplay("Ton").setMiningTool(Equipment.SHOVEL)); @@ -159,7 +158,8 @@ public abstract class BlockRegistry { colored_clay[color.ordinal()] = register(color.getName() + "_clay", (new BlockColoredClay(color)).setHardness(1.25F).setResistance(7.0F) .setSound(SoundType.STONE).setDisplay(color.getDisplay() + " gefärbter Ton")); } - register("cyber", new BlockCyber()); + Block cyber; + register("cyber", cyber = new BlockCyber()); register("sand", (new BlockFalling(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.SAND).setDisplay("Sand").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE)); register("red_sand", (new BlockFalling(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.SAND).setDisplay("Roter Sand").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE)); register("gravel", (new BlockGravel()).setHardness(0.6F).setSound(SoundType.GRAVEL).setDisplay("Kies").setMiningTool(Equipment.SHOVEL)); @@ -436,11 +436,11 @@ public abstract class BlockRegistry { register("mossy_cobblestone_stairs", (new BlockStairs(mossy_cobblestone)).setDisplay("Bemooste Bruchsteintreppe")); register("mossy_cobblestone_wall", (new BlockWall(mossy_cobblestone)).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")).setDisplay("Sandsteintreppe")); + register("sandstone_slab", (new BlockSlab(sandstone)).setDisplay("Sandsteinstufe")); + register("sandstone_stairs", (new BlockStairs(sandstone)).setDisplay("Sandsteintreppe")); - register("smooth_sandstone_slab", (new BlockSlab(smooth_sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Glatte Sandsteinstufe")); - register("smooth_sandstone_stairs", (new BlockStairs(smooth_sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Glatte Sandsteintreppe")); + register("smooth_sandstone_slab", (new BlockSlab(smooth_sandstone)).setDisplay("Glatte Sandsteinstufe")); + register("smooth_sandstone_stairs", (new BlockStairs(smooth_sandstone)).setDisplay("Glatte Sandsteintreppe")); register("obsidian_slab", (new BlockSlab(obsidian)).setDisplay("Obsidianstufe")); register("obsidian_stairs", (new BlockStairs(obsidian)).setDisplay("Obsidiantreppe")); @@ -457,6 +457,9 @@ public abstract class BlockRegistry { register(color.getName() + "_clay_stairs", (new BlockStairs(block)).setDisplay(color.getDisplay() + " gefärbte Tontreppe")); } + register("cyber_slab", (new BlockSlab(cyber)).setDisplay("CYBERSTUFE")); + register("cyber_stairs", (new BlockStairs(cyber)).setDisplay("CYBERTREPPE")); + register("blackened_stone_slab", (new BlockSlab(blackened_stone)).setDisplay("Schwarzsteinstufe")); register("blackened_stone_stairs", (new BlockStairs(blackened_stone)).setDisplay("Schwarzsteintreppe")); @@ -466,24 +469,32 @@ public abstract class BlockRegistry { 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("grass_slab", (new BlockSlab(grass)).setDisplay("Grasstufe")); + register("grass_stairs", (new BlockStairs(grass)).setDisplay("Grastreppe")); 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("podzol_slab", (new BlockSlab(podzol)).setDisplay("Podsolstufe")); + register("podzol_stairs", (new BlockStairs(podzol)).setDisplay("Podsoltreppe")); + + register("mycelium_slab", (new BlockSlab(mycelium)).setDisplay("Myzelstufe")); + register("mycelium_stairs", (new BlockStairs(mycelium)).setDisplay("Myzeltreppe")); + + register("swamp_slab", (new BlockSlab(swamp)).setDisplay("Sumpfstufe")); + register("swamp_stairs", (new BlockStairs(swamp)).setDisplay("Sumpftreppe")); 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("tian_soil_slab", (new BlockSlab(tian_soil)).setDisplay("Tianerdestufe")); + register("tian_soil_stairs", (new BlockStairs(tian_soil)).setDisplay("Tianerdetreppe")); 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("blackened_soil_slab", (new BlockSlab(blackened_soil)).setDisplay("Schwarzgrasstufe")); + register("blackened_soil_stairs", (new BlockStairs(blackened_soil)).setDisplay("Schwarzgrastreppe")); register("slime_slab", (new BlockSlab(slime_block)).setDisplay("Schleimstufe")); register("slime_stairs", (new BlockStairs(slime_block)).setDisplay("Schleimtreppe")); diff --git a/common/src/main/java/common/init/Blocks.java b/common/src/main/java/common/init/Blocks.java index ce63a428..5d20e069 100755 --- a/common/src/main/java/common/init/Blocks.java +++ b/common/src/main/java/common/init/Blocks.java @@ -130,7 +130,6 @@ public abstract class Blocks { public static final BlockMetalBlock calcium_block = get("calcium_block"); public static final BlockMetalOre calcium_ore = get("calcium_ore"); public static final BlockCarrot carrots = get("carrots"); - public static final BlockSandStone carved_sandstone = get("carved_sandstone"); public static final Block carved_stonebrick = get("carved_stonebrick"); public static final BlockCauldron cauldron = get("cauldron"); public static final BlockDoor cherry_door = get("cherry_door"); @@ -876,6 +875,14 @@ public abstract class Blocks { public static final BlockNonBlock mossy_cobblestone = get("mossy_cobblestone"); public static final BlockNonBlock rock = get("rock"); public static final BlockNonBlock smooth_rock = get("smooth_rock"); + public static final BlockStairs blackened_soil_stairs = get("blackened_soil_stairs"); + public static final BlockSlab cyber_slab = get("cyber_slab"); + public static final BlockStairs cyber_stairs = get("cyber_stairs"); + public static final BlockStairs grass_stairs = get("grass_stairs"); + public static final BlockStairs mycelium_stairs = get("mycelium_stairs"); + public static final BlockStairs podzol_stairs = get("podzol_stairs"); + public static final BlockStairs swamp_stairs = get("swamp_stairs"); + public static final BlockStairs tian_soil_stairs = get("tian_soil_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 f298171e..d12fa4a9 100755 --- a/common/src/main/java/common/init/Items.java +++ b/common/src/main/java/common/init/Items.java @@ -211,7 +211,6 @@ public abstract class Items { public static final ItemCamera camera = get("camera"); public static final ItemSeedFood carrot = get("carrot"); public static final ItemWhip whip = get("whip"); - public static final Item carved_sandstone = get("carved_sandstone"); public static final Item carved_stonebrick = get("carved_stonebrick"); public static final Item cauldron = get("cauldron"); public static final Item cell_rock = get("cell_rock"); @@ -1709,6 +1708,14 @@ public abstract class Items { public static final Item snowy_podzol = get("snowy_podzol"); public static final Item snowy_swamp = get("snowy_swamp"); public static final Item snowy_tian_soil = get("snowy_tian_soil"); + public static final Item blackened_soil_stairs = get("blackened_soil_stairs"); + public static final Item cyber_slab = get("cyber_slab"); + public static final Item cyber_stairs = get("cyber_stairs"); + public static final Item grass_stairs = get("grass_stairs"); + public static final Item mycelium_stairs = get("mycelium_stairs"); + public static final Item podzol_stairs = get("podzol_stairs"); + public static final Item swamp_stairs = get("swamp_stairs"); + public static final Item tian_soil_stairs = get("tian_soil_stairs"); private static T get(String id) { T item = (T)ItemRegistry.byName(id); diff --git a/server/src/main/java/server/world/Converter.java b/server/src/main/java/server/world/Converter.java index 32863396..704981c5 100644 --- a/server/src/main/java/server/world/Converter.java +++ b/server/src/main/java/server/world/Converter.java @@ -380,7 +380,7 @@ public abstract class Converter { mapBlock(Blocks.lapis_block, 22); mapBlock(Blocks.smooth_rock, 23); mapBlock(Blocks.sandstone, 24); - mapBlock(Blocks.carved_sandstone, 24, 1); + mapBlock(Blocks.smooth_sandstone, 24, 1); mapBlock(Blocks.smooth_sandstone, 24, 2); mapBlock(Blocks.spruce_planks, 25); mapBlock(Blocks.red_bed.getState().withProperty(BlockBed.FACING, Facing.SOUTH).withProperty(BlockBed.PART, EnumPartType.FOOT), 26, 0, 4); @@ -1141,7 +1141,7 @@ public abstract class Converter { mapBlock(Blocks.rose_bush, 175, 4); mapBlock(Blocks.paeonia, 175, 5); mapBlock(Blocks.sandstone, 179); - mapBlock(Blocks.carved_sandstone, 179, 1); + mapBlock(Blocks.smooth_sandstone, 179, 1); mapBlock(Blocks.smooth_sandstone, 179, 2); mapBlock(Blocks.sandstone_stairs.getState().withProperty(BlockStairs.FACING, Facing.EAST).withProperty(BlockStairs.HALF, EnumHalf.BOTTOM), 180, 0, 8); mapBlock(Blocks.sandstone_stairs.getState().withProperty(BlockStairs.FACING, Facing.WEST).withProperty(BlockStairs.HALF, EnumHalf.BOTTOM), 180, 1, 9); diff --git a/server/src/main/java/server/worldgen/structure/StructureScattered.java b/server/src/main/java/server/worldgen/structure/StructureScattered.java index 7d9b8c4f..695bf0ea 100755 --- a/server/src/main/java/server/worldgen/structure/StructureScattered.java +++ b/server/src/main/java/server/worldgen/structure/StructureScattered.java @@ -143,9 +143,9 @@ public class StructureScattered for (int k1 = 5; k1 <= 17; k1 += 2) { this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 4, 1, k1, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), 4, 2, k1, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 4, 2, k1, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), this.scatteredFeatureSizeX - 5, 1, k1, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), this.scatteredFeatureSizeX - 5, 2, k1, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), this.scatteredFeatureSizeX - 5, 2, k1, structureBoundingBoxIn); } this.setBlockState(worldIn, Blocks.orange_clay.getState(), 10, 0, 7, structureBoundingBoxIn); @@ -171,13 +171,13 @@ public class StructureScattered this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 3, 2, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), j3, 3, 3, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 4, 1, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), j3, 4, 2, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), j3, 4, 2, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 4, 3, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), j3, 5, 1, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 5, 2, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), j3, 5, 3, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 6, 1, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), j3, 6, 2, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), j3, 6, 2, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 6, 3, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 7, 1, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), j3, 7, 2, structureBoundingBoxIn); @@ -196,13 +196,13 @@ public class StructureScattered this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3, 3, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), k3 + 1, 3, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3 - 1, 4, 0, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), k3, 4, 0, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), k3, 4, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3 + 1, 4, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), k3 - 1, 5, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3, 5, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), k3 + 1, 5, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3 - 1, 6, 0, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), k3, 6, 0, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), k3, 6, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3 + 1, 6, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3 - 1, 7, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), k3, 7, 0, structureBoundingBoxIn); @@ -216,10 +216,10 @@ public class StructureScattered this.setBlockState(worldIn, Blocks.air.getState(), 8, 6, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 12, 6, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), 9, 5, 0, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), 10, 5, 0, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 10, 5, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.orange_clay.getState(), 11, 5, 0, structureBoundingBoxIn); this.fillWithBlocks(worldIn, structureBoundingBoxIn, 8, -14, 8, 12, -11, 12, Blocks.smooth_sandstone.getState(), Blocks.smooth_sandstone.getState(), false); - this.fillWithBlocks(worldIn, structureBoundingBoxIn, 8, -10, 8, 12, -10, 12, Blocks.carved_sandstone.getState(), Blocks.carved_sandstone.getState(), false); + this.fillWithBlocks(worldIn, structureBoundingBoxIn, 8, -10, 8, 12, -10, 12, Blocks.smooth_sandstone.getState(), Blocks.smooth_sandstone.getState(), false); this.fillWithBlocks(worldIn, structureBoundingBoxIn, 8, -9, 8, 12, -9, 12, Blocks.smooth_sandstone.getState(), Blocks.smooth_sandstone.getState(), false); this.fillWithBlocks(worldIn, structureBoundingBoxIn, 8, -8, 8, 12, -1, 12, Blocks.sandstone.getState(), Blocks.sandstone.getState(), false); this.fillWithBlocks(worldIn, structureBoundingBoxIn, 9, -11, 9, 11, -1, 11, Blocks.air.getState(), Blocks.air.getState(), false); @@ -227,19 +227,19 @@ public class StructureScattered this.fillWithBlocks(worldIn, structureBoundingBoxIn, 9, -13, 9, 11, -13, 11, Blocks.tnt.getState(), Blocks.air.getState(), false); this.setBlockState(worldIn, Blocks.air.getState(), 8, -11, 10, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 8, -10, 10, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), 7, -10, 10, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 7, -10, 10, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 7, -11, 10, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 12, -11, 10, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 12, -10, 10, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), 13, -10, 10, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 13, -10, 10, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 13, -11, 10, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 10, -11, 8, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 10, -10, 8, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), 10, -10, 7, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 10, -10, 7, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 10, -11, 7, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 10, -11, 12, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.air.getState(), 10, -10, 12, structureBoundingBoxIn); - this.setBlockState(worldIn, Blocks.carved_sandstone.getState(), 10, -10, 13, structureBoundingBoxIn); + this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 10, -10, 13, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.smooth_sandstone.getState(), 10, -11, 13, structureBoundingBoxIn); for (Facing enumfacing : Facing.Plane.HORIZONTAL)