diff --git a/src/main/java/ru/windcorp/progressia/common/util/crash/CrashReports.java b/src/main/java/ru/windcorp/progressia/common/util/crash/CrashReports.java index 658c80d..404ef95 100644 --- a/src/main/java/ru/windcorp/progressia/common/util/crash/CrashReports.java +++ b/src/main/java/ru/windcorp/progressia/common/util/crash/CrashReports.java @@ -251,7 +251,7 @@ public class CrashReports { output.append(header).append('\n'); for (StackTraceElement element : stackTrace) { - output.append('\t').append(element).append('\n'); + output.append(" ").append(element).append('\n'); } } diff --git a/src/main/java/ru/windcorp/progressia/test/TestBlockLogicGlass.java b/src/main/java/ru/windcorp/progressia/test/TestBlockLogicGlass.java new file mode 100644 index 0000000..578c3e4 --- /dev/null +++ b/src/main/java/ru/windcorp/progressia/test/TestBlockLogicGlass.java @@ -0,0 +1,22 @@ +package ru.windcorp.progressia.test; + +import ru.windcorp.progressia.common.world.block.BlockFace; +import ru.windcorp.progressia.server.world.block.BlockLogic; + +public class TestBlockLogicGlass extends BlockLogic { + + public TestBlockLogicGlass(String id) { + super(id); + } + + @Override + public boolean isSolid(BlockFace face) { + return false; + } + + @Override + public boolean isTransparent() { + return true; + } + +} diff --git a/src/main/java/ru/windcorp/progressia/test/TestContent.java b/src/main/java/ru/windcorp/progressia/test/TestContent.java index ebb301a..2c114f4 100644 --- a/src/main/java/ru/windcorp/progressia/test/TestContent.java +++ b/src/main/java/ru/windcorp/progressia/test/TestContent.java @@ -73,57 +73,140 @@ public class TestContent { placeableBlacklist.add("Test:Air"); register(new BlockData("Test:Dirt")); - register(new BlockRenderOpaqueCube("Test:Dirt", getBlockTexture("dirt"))); + register(new BlockRenderOpaqueCube("Test:Dirt", getBlockTexture("Dirt"))); register(new BlockLogic("Test:Dirt")); register(new BlockData("Test:Stone")); - register(new BlockRenderOpaqueCube("Test:Stone", getBlockTexture("stone"))); + register(new BlockRenderOpaqueCube("Test:Stone", getBlockTexture("Stone"))); register(new BlockLogic("Test:Stone")); for (String type : new String[] {"Monolith", "Cracked", "Gravel"}) { String id = "Test:Granite" + type; register(new BlockData(id)); - register(new BlockRenderOpaqueCube(id, getBlockTexture("granite_" + type.toLowerCase()))); + register(new BlockRenderOpaqueCube(id, getBlockTexture("Granite" + type))); register(new BlockLogic(id)); } + 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("Test:Log", + getBlockTexture("LogTop"), + getBlockTexture("LogTop"), + getBlockTexture("LogSide"), + getBlockTexture("LogSide"), + getBlockTexture("LogSide"), + getBlockTexture("LogSide"))); + register(new BlockLogic("Test:Log")); + + register(new BlockData("Test:WoodenPlank")); + register(new BlockRenderOpaqueCube("Test:WoodenPlank", getBlockTexture("WoodenPlank"))); + register(new BlockLogic("Test:WoodenPlank")); + BlockDataRegistry.getInstance().values().forEach(PLACEABLE_BLOCKS::add); PLACEABLE_BLOCKS.removeIf(b -> placeableBlacklist.contains(b.getId())); PLACEABLE_BLOCKS.sort(Comparator.comparing(BlockData::getId)); + } private static void registerTiles() { Set placeableBlacklist = new HashSet<>(); register(new TileData("Test:Grass")); - register(new TileRenderGrass("Test:Grass", getTileTexture("grass_top"), getTileTexture("grass_side"))); + register(new TileRenderGrass("Test:Grass", getTileTexture("GrassTop"), getTileTexture("GrassSide"))); register(new TestTileLogicGrass("Test:Grass")); register(new TileData("Test:Stones")); - register(new TileRenderTransparentSurface("Test:Stones", getTileTexture("stones"))); + register(new TileRenderTransparentSurface("Test:Stones", getTileTexture("Stones"))); register(new HangingTileLogic("Test:Stones")); register(new TileData("Test:YellowFlowers")); - register(new TileRenderTransparentSurface("Test:YellowFlowers", getTileTexture("yellow_flowers"))); + register(new TileRenderTransparentSurface("Test:YellowFlowers", getTileTexture("YellowFlowers"))); register(new HangingTileLogic("Test:YellowFlowers")); register(new TileData("Test:Sand")); - register(new TileRenderTransparentSurface("Test:Sand", getTileTexture("sand"))); + register(new TileRenderTransparentSurface("Test:Sand", getTileTexture("Sand"))); register(new HangingTileLogic("Test:Sand")); register(new TileData("Test:SnowOpaque")); - register(new TileRenderOpaqueSurface("Test:SnowOpaque", getTileTexture("snow_opaque"))); + register(new TileRenderOpaqueSurface("Test:SnowOpaque", getTileTexture("SnowOpaque"))); register(new HangingTileLogic("Test:SnowOpaque")); register(new TileData("Test:SnowHalf")); - register(new TileRenderTransparentSurface("Test:SnowHalf", getTileTexture("snow_half"))); + register(new TileRenderTransparentSurface("Test:SnowHalf", getTileTexture("SnowHalf"))); register(new HangingTileLogic("Test:SnowHalf")); register(new TileData("Test:SnowQuarter")); - register(new TileRenderTransparentSurface("Test:SnowQuarter", getTileTexture("snow_quarter"))); + 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")); + TileDataRegistry.getInstance().values().forEach(PLACEABLE_TILES::add); PLACEABLE_TILES.removeIf(b -> placeableBlacklist.contains(b.getId())); PLACEABLE_TILES.sort(Comparator.comparing(TileData::getId)); diff --git a/src/main/java/ru/windcorp/progressia/test/TestWorldDiskIO.java b/src/main/java/ru/windcorp/progressia/test/TestWorldDiskIO.java index 61f9210..dd7c0e7 100644 --- a/src/main/java/ru/windcorp/progressia/test/TestWorldDiskIO.java +++ b/src/main/java/ru/windcorp/progressia/test/TestWorldDiskIO.java @@ -27,7 +27,7 @@ public class TestWorldDiskIO { private static final Path SAVE_DIR = Paths.get("tmp_world"); private static final Logger LOG = LogManager.getLogger("TestWorldDiskIO"); - private static final boolean ENABLE = true; + private static final boolean ENABLE = false; public static void saveChunk(ChunkData chunk, Server server) { if (!ENABLE) return; diff --git a/src/main/resources/assets/textures/blocks/Brick.png b/src/main/resources/assets/textures/blocks/Brick.png new file mode 100644 index 0000000..161ae4d Binary files /dev/null and b/src/main/resources/assets/textures/blocks/Brick.png differ diff --git a/src/main/resources/assets/textures/blocks/BrickWhite.png b/src/main/resources/assets/textures/blocks/BrickWhite.png new file mode 100644 index 0000000..acd5c82 Binary files /dev/null and b/src/main/resources/assets/textures/blocks/BrickWhite.png differ diff --git a/src/main/resources/assets/textures/blocks/ConcreteBlock.png b/src/main/resources/assets/textures/blocks/ConcreteBlock.png new file mode 100644 index 0000000..f8cdb78 Binary files /dev/null and b/src/main/resources/assets/textures/blocks/ConcreteBlock.png differ diff --git a/src/main/resources/assets/textures/blocks/dirt.png b/src/main/resources/assets/textures/blocks/Dirt.png similarity index 100% rename from src/main/resources/assets/textures/blocks/dirt.png rename to src/main/resources/assets/textures/blocks/Dirt.png diff --git a/src/main/resources/assets/textures/blocks/Glass.png b/src/main/resources/assets/textures/blocks/Glass.png new file mode 100644 index 0000000..c2a873e Binary files /dev/null and b/src/main/resources/assets/textures/blocks/Glass.png differ diff --git a/src/main/resources/assets/textures/blocks/granite_cracked.png b/src/main/resources/assets/textures/blocks/GraniteCracked.png similarity index 100% rename from src/main/resources/assets/textures/blocks/granite_cracked.png rename to src/main/resources/assets/textures/blocks/GraniteCracked.png diff --git a/src/main/resources/assets/textures/blocks/granite_gravel.png b/src/main/resources/assets/textures/blocks/GraniteGravel.png similarity index 100% rename from src/main/resources/assets/textures/blocks/granite_gravel.png rename to src/main/resources/assets/textures/blocks/GraniteGravel.png diff --git a/src/main/resources/assets/textures/blocks/granite_monolith.png b/src/main/resources/assets/textures/blocks/GraniteMonolith.png similarity index 100% rename from src/main/resources/assets/textures/blocks/granite_monolith.png rename to src/main/resources/assets/textures/blocks/GraniteMonolith.png diff --git a/src/main/resources/assets/textures/blocks/LogSide.png b/src/main/resources/assets/textures/blocks/LogSide.png new file mode 100644 index 0000000..e176519 Binary files /dev/null and b/src/main/resources/assets/textures/blocks/LogSide.png differ diff --git a/src/main/resources/assets/textures/blocks/LogTop.png b/src/main/resources/assets/textures/blocks/LogTop.png new file mode 100644 index 0000000..44d89fb Binary files /dev/null and b/src/main/resources/assets/textures/blocks/LogTop.png differ diff --git a/src/main/resources/assets/textures/blocks/Sand.png b/src/main/resources/assets/textures/blocks/Sand.png new file mode 100644 index 0000000..3520cb2 Binary files /dev/null and b/src/main/resources/assets/textures/blocks/Sand.png differ diff --git a/src/main/resources/assets/textures/blocks/stone.png b/src/main/resources/assets/textures/blocks/Stone.png similarity index 100% rename from src/main/resources/assets/textures/blocks/stone.png rename to src/main/resources/assets/textures/blocks/Stone.png diff --git a/src/main/resources/assets/textures/blocks/WoodenPlank.png b/src/main/resources/assets/textures/blocks/WoodenPlank.png new file mode 100644 index 0000000..16473d3 Binary files /dev/null and b/src/main/resources/assets/textures/blocks/WoodenPlank.png differ diff --git a/src/main/resources/assets/textures/tiles/CeilingTile1.png b/src/main/resources/assets/textures/tiles/CeilingTile1.png new file mode 100644 index 0000000..1359dad Binary files /dev/null and b/src/main/resources/assets/textures/tiles/CeilingTile1.png differ diff --git a/src/main/resources/assets/textures/tiles/CeilingTile2.png b/src/main/resources/assets/textures/tiles/CeilingTile2.png new file mode 100644 index 0000000..fdfc652 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/CeilingTile2.png differ diff --git a/src/main/resources/assets/textures/tiles/Clock.png b/src/main/resources/assets/textures/tiles/Clock.png new file mode 100644 index 0000000..4015068 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/Clock.png differ diff --git a/src/main/resources/assets/textures/tiles/DecorativeBricks.png b/src/main/resources/assets/textures/tiles/DecorativeBricks.png new file mode 100644 index 0000000..161ae4d Binary files /dev/null and b/src/main/resources/assets/textures/tiles/DecorativeBricks.png differ diff --git a/src/main/resources/assets/textures/tiles/grass_side.png b/src/main/resources/assets/textures/tiles/GrassSide.png similarity index 100% rename from src/main/resources/assets/textures/tiles/grass_side.png rename to src/main/resources/assets/textures/tiles/GrassSide.png diff --git a/src/main/resources/assets/textures/tiles/grass_top.png b/src/main/resources/assets/textures/tiles/GrassTop.png similarity index 100% rename from src/main/resources/assets/textures/tiles/grass_top.png rename to src/main/resources/assets/textures/tiles/GrassTop.png diff --git a/src/main/resources/assets/textures/tiles/Painting.png b/src/main/resources/assets/textures/tiles/Painting.png new file mode 100644 index 0000000..0ade232 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/Painting.png differ diff --git a/src/main/resources/assets/textures/tiles/ParquetFloor.png b/src/main/resources/assets/textures/tiles/ParquetFloor.png new file mode 100644 index 0000000..c5150c8 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/ParquetFloor.png differ diff --git a/src/main/resources/assets/textures/tiles/RoughPaint.png b/src/main/resources/assets/textures/tiles/RoughPaint.png new file mode 100644 index 0000000..d758aa3 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/RoughPaint.png differ diff --git a/src/main/resources/assets/textures/tiles/sand.png b/src/main/resources/assets/textures/tiles/Sand.png similarity index 100% rename from src/main/resources/assets/textures/tiles/sand.png rename to src/main/resources/assets/textures/tiles/Sand.png diff --git a/src/main/resources/assets/textures/tiles/snow_half.png b/src/main/resources/assets/textures/tiles/SnowHalf.png similarity index 100% rename from src/main/resources/assets/textures/tiles/snow_half.png rename to src/main/resources/assets/textures/tiles/SnowHalf.png diff --git a/src/main/resources/assets/textures/tiles/snow_opaque.png b/src/main/resources/assets/textures/tiles/SnowOpaque.png similarity index 100% rename from src/main/resources/assets/textures/tiles/snow_opaque.png rename to src/main/resources/assets/textures/tiles/SnowOpaque.png diff --git a/src/main/resources/assets/textures/tiles/snow_quarter.png b/src/main/resources/assets/textures/tiles/SnowQuarter.png similarity index 100% rename from src/main/resources/assets/textures/tiles/snow_quarter.png rename to src/main/resources/assets/textures/tiles/SnowQuarter.png diff --git a/src/main/resources/assets/textures/tiles/stones.png b/src/main/resources/assets/textures/tiles/Stones.png similarity index 100% rename from src/main/resources/assets/textures/tiles/stones.png rename to src/main/resources/assets/textures/tiles/Stones.png diff --git a/src/main/resources/assets/textures/tiles/TilesLarge.png b/src/main/resources/assets/textures/tiles/TilesLarge.png new file mode 100644 index 0000000..bd9e80a Binary files /dev/null and b/src/main/resources/assets/textures/tiles/TilesLarge.png differ diff --git a/src/main/resources/assets/textures/tiles/TilesSmall.png b/src/main/resources/assets/textures/tiles/TilesSmall.png new file mode 100644 index 0000000..99d80a8 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/TilesSmall.png differ diff --git a/src/main/resources/assets/textures/tiles/Wallpaper.png b/src/main/resources/assets/textures/tiles/Wallpaper.png new file mode 100644 index 0000000..b1b5ac0 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/Wallpaper.png differ diff --git a/src/main/resources/assets/textures/tiles/WhitePaint.png b/src/main/resources/assets/textures/tiles/WhitePaint.png new file mode 100644 index 0000000..f48b7db Binary files /dev/null and b/src/main/resources/assets/textures/tiles/WhitePaint.png differ diff --git a/src/main/resources/assets/textures/tiles/WoodenPlank.png b/src/main/resources/assets/textures/tiles/WoodenPlank.png new file mode 100644 index 0000000..16473d3 Binary files /dev/null and b/src/main/resources/assets/textures/tiles/WoodenPlank.png differ diff --git a/src/main/resources/assets/textures/tiles/yellow_flowers.png b/src/main/resources/assets/textures/tiles/YellowFlowers.png similarity index 100% rename from src/main/resources/assets/textures/tiles/yellow_flowers.png rename to src/main/resources/assets/textures/tiles/YellowFlowers.png