Added ferns, fixed herb render and cleaned up TestContent
- Added Test:Fern - Herbs are no longer stretched horizontally - Formatted and cleaned up TestContent
This commit is contained in:
parent
62729f5873
commit
c7e7d3bdac
@ -22,6 +22,7 @@ import static ru.windcorp.progressia.client.world.block.BlockRenderRegistry.getB
|
||||
import static ru.windcorp.progressia.client.world.tile.TileRenderRegistry.getTileTexture;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@ -100,40 +101,21 @@ public class TestContent {
|
||||
register(new TestBlockLogicAir("Test:Air"));
|
||||
placeableBlacklist.add("Test:Air");
|
||||
|
||||
register(new BlockData("Test:Dirt"));
|
||||
register(new BlockRenderOpaqueCube("Test:Dirt", getBlockTexture("Dirt")));
|
||||
register(new BlockLogic("Test:Dirt"));
|
||||
|
||||
register(new BlockData("Test:Chernozem"));
|
||||
register(new BlockRenderOpaqueCube("Test:Chernozem", getBlockTexture("Chernozem")));
|
||||
register(new BlockLogic("Test:Chernozem"));
|
||||
|
||||
register(new BlockData("Test:Stone"));
|
||||
register(new BlockRenderOpaqueCube("Test:Stone", getBlockTexture("Stone")));
|
||||
register(new BlockLogic("Test:Stone"));
|
||||
registerSimplestBlock("Dirt");
|
||||
registerSimplestBlock("Chernozem");
|
||||
registerSimplestBlock("Stone");
|
||||
registerSimplestBlock("Brick");
|
||||
registerSimplestBlock("BrickWhite");
|
||||
registerSimplestBlock("Sand");
|
||||
registerSimplestBlock("Concrete");
|
||||
registerSimplestBlock("WoodenPlank");
|
||||
|
||||
registerRocks();
|
||||
|
||||
register(new BlockData("Test:Brick"));
|
||||
register(new BlockRenderOpaqueCube("Test:Brick", getBlockTexture("Brick")));
|
||||
register(new BlockLogic("Test:Brick"));
|
||||
|
||||
register(new BlockData("Test:BrickWhite"));
|
||||
register(new BlockRenderOpaqueCube("Test:BrickWhite", getBlockTexture("BrickWhite")));
|
||||
register(new BlockLogic("Test:BrickWhite"));
|
||||
|
||||
register(new BlockData("Test:Glass"));
|
||||
register(new BlockRenderTransparentCube("Test:Glass", getBlockTexture("Glass")));
|
||||
register(new TestBlockLogicGlass("Test:Glass"));
|
||||
|
||||
register(new BlockData("Test:Sand"));
|
||||
register(new BlockRenderOpaqueCube("Test:Sand", getBlockTexture("Sand")));
|
||||
register(new BlockLogic("Test:Sand"));
|
||||
|
||||
register(new BlockData("Test:Concrete"));
|
||||
register(new BlockRenderOpaqueCube("Test:Concrete", getBlockTexture("ConcreteBlock")));
|
||||
register(new BlockLogic("Test:Concrete"));
|
||||
|
||||
register(new BlockData("Test:Log"));
|
||||
register(
|
||||
new BlockRenderOpaqueCube(
|
||||
@ -144,13 +126,11 @@ public class TestContent {
|
||||
)
|
||||
);
|
||||
register(new BlockLogic("Test:Log"));
|
||||
|
||||
register(new BlockData("Test:TemporaryLeaves"));
|
||||
register(new BlockRenderTransparentCube("Test:TemporaryLeaves", getBlockTexture("TemporaryLeaves")));
|
||||
register(new TestBlockLogicGlass("Test:TemporaryLeaves")); // Sic, using Glass logic for leaves because Test
|
||||
|
||||
register(new BlockData("Test:WoodenPlank"));
|
||||
register(new BlockRenderOpaqueCube("Test:WoodenPlank", getBlockTexture("WoodenPlank")));
|
||||
register(new BlockLogic("Test:WoodenPlank"));
|
||||
// Sic, using Glass logic for leaves because Test
|
||||
register(new TestBlockLogicGlass("Test:TemporaryLeaves"));
|
||||
|
||||
BlockDataRegistry.getInstance().values().forEach(PLACEABLE_BLOCKS::add);
|
||||
PLACEABLE_BLOCKS.removeIf(b -> placeableBlacklist.contains(b.getId()));
|
||||
@ -174,134 +154,112 @@ public class TestContent {
|
||||
private static void registerTiles() {
|
||||
Set<String> placeableBlacklist = new HashSet<>();
|
||||
|
||||
for (String variant : new String[] {
|
||||
Arrays.asList(
|
||||
"Opaque",
|
||||
"Patches",
|
||||
"Web",
|
||||
"Threads"
|
||||
}) {
|
||||
).forEach(variant -> {
|
||||
String fullName = "Grass" + variant;
|
||||
String id = "Test:" + fullName;
|
||||
|
||||
register(new TileData(id));
|
||||
register(new TestTileRenderGrass(id, getTileTexture(fullName + "Top"), getTileTexture(fullName + "Side"), variant.equals("Opaque")));
|
||||
register(
|
||||
new TestTileRenderGrass(
|
||||
id,
|
||||
getTileTexture(fullName + "Top"),
|
||||
getTileTexture(fullName + "Side"),
|
||||
variant.equals("Opaque")
|
||||
)
|
||||
);
|
||||
register(new TestTileLogicGrass(id));
|
||||
}
|
||||
});
|
||||
|
||||
register(new TileData("Test:Stones"));
|
||||
register(new TileRenderTransparentSurface("Test:Stones", getTileTexture("Stones")));
|
||||
register(new HangingTileLogic("Test:Stones"));
|
||||
|
||||
for (String color : new String[] {
|
||||
Arrays.asList(
|
||||
"Yellow",
|
||||
"White",
|
||||
"Purple",
|
||||
"Blue"
|
||||
}) {
|
||||
).forEach(color -> {
|
||||
registerSimplestTransparentTile(color + "Flowers");
|
||||
});
|
||||
|
||||
String fullName = color + "Flowers";
|
||||
String id = "Test:" + fullName;
|
||||
registerSimplestTransparentTile("Stones");
|
||||
registerSimplestTransparentTile("Sand");
|
||||
|
||||
register(new TileData(id));
|
||||
register(new TileRenderTransparentSurface(id, getTileTexture(fullName)));
|
||||
register(new HangingTileLogic(id));
|
||||
}
|
||||
registerSimplestOpaqueTile("SnowOpaque");
|
||||
Arrays.asList(
|
||||
"Half",
|
||||
"Quarter"
|
||||
).forEach(variant -> {
|
||||
registerSimplestTransparentTile("Snow" + variant);
|
||||
});
|
||||
|
||||
register(new TileData("Test:Sand"));
|
||||
register(new TileRenderTransparentSurface("Test:Sand", getTileTexture("Sand")));
|
||||
register(new HangingTileLogic("Test:Sand"));
|
||||
registerSimplestTransparentTile("Clock");
|
||||
registerSimplestOpaqueTile("CeilingTile1");
|
||||
registerSimplestOpaqueTile("CeilingTile2");
|
||||
registerSimplestOpaqueTile("WoodenPlank");
|
||||
registerSimplestOpaqueTile("ParquetFloor");
|
||||
registerSimplestOpaqueTile("Wallpaper");
|
||||
registerSimplestOpaqueTile("WhitePaint");
|
||||
registerSimplestOpaqueTile("RoughPaint");
|
||||
registerSimplestOpaqueTile("DecorativeBricks");
|
||||
registerSimplestTransparentTile("Painting");
|
||||
registerSimplestOpaqueTile("TilesLarge");
|
||||
registerSimplestOpaqueTile("TilesSmall");
|
||||
|
||||
register(new TileData("Test:SnowOpaque"));
|
||||
register(new TileRenderOpaqueSurface("Test:SnowOpaque", getTileTexture("SnowOpaque")));
|
||||
register(new HangingTileLogic("Test:SnowOpaque"));
|
||||
registerHerb("LowGrass", 6);
|
||||
registerHerb("MediumGrass", 6);
|
||||
registerHerb("TallGrass", 6);
|
||||
|
||||
register(new TileData("Test:SnowHalf"));
|
||||
register(new TileRenderTransparentSurface("Test:SnowHalf", getTileTexture("SnowHalf")));
|
||||
register(new HangingTileLogic("Test:SnowHalf"));
|
||||
|
||||
register(new TileData("Test:SnowQuarter"));
|
||||
register(new TileRenderTransparentSurface("Test:SnowQuarter", getTileTexture("SnowQuarter")));
|
||||
register(new HangingTileLogic("Test:SnowQuarter"));
|
||||
|
||||
register(new TileData("Test:Clock"));
|
||||
register(new TileRenderTransparentSurface("Test:Clock", getTileTexture("Clock")));
|
||||
register(new HangingTileLogic("Test:Clock"));
|
||||
|
||||
register(new TileData("Test:CeilingTile1"));
|
||||
register(new TileRenderOpaqueSurface("Test:CeilingTile1", getTileTexture("CeilingTile1")));
|
||||
register(new HangingTileLogic("Test:CeilingTile1"));
|
||||
|
||||
register(new TileData("Test:CeilingTile2"));
|
||||
register(new TileRenderOpaqueSurface("Test:CeilingTile2", getTileTexture("CeilingTile2")));
|
||||
register(new HangingTileLogic("Test:CeilingTile2"));
|
||||
|
||||
register(new TileData("Test:WoodenPlank"));
|
||||
register(new TileRenderOpaqueSurface("Test:WoodenPlank", getTileTexture("WoodenPlank")));
|
||||
register(new HangingTileLogic("Test:WoodenPlank"));
|
||||
|
||||
register(new TileData("Test:ParquetFloor"));
|
||||
register(new TileRenderOpaqueSurface("Test:ParquetFloor", getTileTexture("ParquetFloor")));
|
||||
register(new HangingTileLogic("Test:ParquetFloor"));
|
||||
|
||||
register(new TileData("Test:Wallpaper"));
|
||||
register(new TileRenderOpaqueSurface("Test:Wallpaper", getTileTexture("Wallpaper")));
|
||||
register(new HangingTileLogic("Test:Wallpaper"));
|
||||
|
||||
register(new TileData("Test:WhitePaint"));
|
||||
register(new TileRenderOpaqueSurface("Test:WhitePaint", getTileTexture("WhitePaint")));
|
||||
register(new HangingTileLogic("Test:WhitePaint"));
|
||||
|
||||
register(new TileData("Test:RoughPaint"));
|
||||
register(new TileRenderOpaqueSurface("Test:RoughPaint", getTileTexture("RoughPaint")));
|
||||
register(new HangingTileLogic("Test:RoughPaint"));
|
||||
|
||||
register(new TileData("Test:DecorativeBricks"));
|
||||
register(new TileRenderOpaqueSurface("Test:DecorativeBricks", getTileTexture("DecorativeBricks")));
|
||||
register(new HangingTileLogic("Test:DecorativeBricks"));
|
||||
|
||||
register(new TileData("Test:Painting"));
|
||||
register(new TileRenderTransparentSurface("Test:Painting", getTileTexture("Painting")));
|
||||
register(new HangingTileLogic("Test:Painting"));
|
||||
|
||||
register(new TileData("Test:TilesLarge"));
|
||||
register(new TileRenderOpaqueSurface("Test:TilesLarge", getTileTexture("TilesLarge")));
|
||||
register(new HangingTileLogic("Test:TilesLarge"));
|
||||
|
||||
register(new TileData("Test:TilesSmall"));
|
||||
register(new TileRenderOpaqueSurface("Test:TilesSmall", getTileTexture("TilesSmall")));
|
||||
register(new HangingTileLogic("Test:TilesSmall"));
|
||||
|
||||
for (String variant : new String[] {
|
||||
"Low", "Medium", "Tall"
|
||||
}) {
|
||||
String fullName = variant + "Grass";
|
||||
String id = "Test:" + fullName;
|
||||
|
||||
register(new TileData(id));
|
||||
register(new TileRenderHerb(id, getTileTexture(fullName), 6));
|
||||
register(new HangingTileLogic(id));
|
||||
}
|
||||
|
||||
for (String variant : new String[] {
|
||||
"Dandelion", "Lavander"
|
||||
}) {
|
||||
Arrays.asList(
|
||||
"Dandelion",
|
||||
"Lavander"
|
||||
).forEach(variant -> {
|
||||
String fullName = "Tiny" + variant + "Flowers";
|
||||
String id = "Test:" + fullName;
|
||||
|
||||
register(new TileData(id));
|
||||
register(new TileRenderTinyFlower(id, getTileTexture(fullName), 8, 0.5f));
|
||||
register(new HangingTileLogic(id));
|
||||
}
|
||||
});
|
||||
|
||||
register(new TileData("Test:Bush"));
|
||||
register(new TileRenderHerb("Test:Bush", getTileTexture("Bush"), 1));
|
||||
register(new HangingTileLogic("Test:Bush"));
|
||||
registerHerb("Bush", 1);
|
||||
registerHerb("Fern", 3);
|
||||
|
||||
TileDataRegistry.getInstance().values().forEach(PLACEABLE_TILES::add);
|
||||
PLACEABLE_TILES.removeIf(b -> placeableBlacklist.contains(b.getId()));
|
||||
PLACEABLE_TILES.sort(Comparator.comparing(TileData::getId));
|
||||
}
|
||||
|
||||
private static void registerSimplestBlock(String name) {
|
||||
String id = "Test:" + name;
|
||||
register(new BlockData(id));
|
||||
register(new BlockRenderOpaqueCube(id, getBlockTexture(name)));
|
||||
register(new BlockLogic(id));
|
||||
}
|
||||
|
||||
private static void registerSimplestOpaqueTile(String name) {
|
||||
String id = "Test:" + name;
|
||||
register(new TileData(id));
|
||||
register(new TileRenderOpaqueSurface(id, getTileTexture(name)));
|
||||
register(new HangingTileLogic(id));
|
||||
}
|
||||
|
||||
private static void registerSimplestTransparentTile(String name) {
|
||||
String id = "Test:" + name;
|
||||
register(new TileData(id));
|
||||
register(new TileRenderTransparentSurface(id, getTileTexture(name)));
|
||||
register(new HangingTileLogic(id));
|
||||
}
|
||||
|
||||
private static void registerHerb(String name, int maxCount) {
|
||||
String id = "Test:" + name;
|
||||
register(new TileData(id));
|
||||
register(new TileRenderHerb(id, getTileTexture(name), maxCount));
|
||||
register(new HangingTileLogic(id));
|
||||
}
|
||||
|
||||
private static void registerEntities() {
|
||||
float scale = 1.8f / 8;
|
||||
registerEntityData("Test:Player", e -> e.setCollisionModel(new AABB(0, 0, 4 * scale, 0.8f, 0.8f, 1.8f)));
|
||||
|
@ -55,7 +55,7 @@ public class TileRenderHerb extends TileRenderCross {
|
||||
private final int maxCount;
|
||||
|
||||
public TileRenderHerb(String id, Texture texture, int maxCount) {
|
||||
super(id, texture, true);
|
||||
super(id, texture, false);
|
||||
this.maxCount = maxCount;
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,8 @@ public class TestGrassFeature extends SurfaceTopLayerFeature {
|
||||
private final List<TileData> scatter = ImmutableList.of(
|
||||
TileDataRegistry.getInstance().get("Test:Stones"),
|
||||
TileDataRegistry.getInstance().get("Test:Sand"),
|
||||
TileDataRegistry.getInstance().get("Test:Bush")
|
||||
TileDataRegistry.getInstance().get("Test:Bush"),
|
||||
TileDataRegistry.getInstance().get("Test:Fern")
|
||||
);
|
||||
|
||||
public TestGrassFeature(String id, SurfaceFloatField grassiness) {
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/resources/assets/textures/tiles/Fern.png
Normal file
BIN
src/main/resources/assets/textures/tiles/Fern.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
Reference in New Issue
Block a user