1
0
Fork 0

improve visuals

This commit is contained in:
Sen 2025-08-29 23:48:34 +02:00
parent c6217bf106
commit b25dd6161a
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
20 changed files with 100 additions and 99 deletions

View file

@ -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();

View file

@ -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);
}

View file

@ -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);

View file

@ -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)

View file

@ -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;

View file

Before

Width:  |  Height:  |  Size: 638 B

After

Width:  |  Height:  |  Size: 638 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

View file

Before

Width:  |  Height:  |  Size: 735 B

After

Width:  |  Height:  |  Size: 735 B

Before After
Before After

View file

@ -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();
}
}

View file

@ -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"),

View file

@ -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();
}
}

View file

@ -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;
// }
}

View file

@ -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");
}
}

View file

@ -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"));

View file

@ -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 extends Block> T get(String id) {
T block = (T)BlockRegistry.byNameExact(id);

View file

@ -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 extends Item> T get(String id) {
T item = (T)ItemRegistry.byName(id);

View file

@ -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);

View file

@ -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)