improve visuals
|
@ -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();
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
Before Width: | Height: | Size: 638 B After Width: | Height: | Size: 638 B |
Before Width: | Height: | Size: 596 B |
Before Width: | Height: | Size: 777 B |
Before Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 735 B After Width: | Height: | Size: 735 B |
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"));
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|