diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/world/LayerWorld.java b/src/main/java/ru/windcorp/progressia/client/graphics/world/LayerWorld.java index 22e1b9a..49e3585 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/world/LayerWorld.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/world/LayerWorld.java @@ -158,7 +158,7 @@ public class LayerWorld extends Layer { final float f = 1e-2f; final float scale = 1 - f/2; - final Vec4 color = new Vec4(1, 1, 1, 1).mul(0); + final Vec4 color = new Vec4(0, 0, 0, 1); for (float phi = 0; phi < 2*FloatMathUtils.PI_F; phi += FloatMathUtils.PI_F/2) { Mat4 rot = new Mat4().identity().rotateZ(phi).scale(scale); diff --git a/src/main/java/ru/windcorp/progressia/server/PlayerManager.java b/src/main/java/ru/windcorp/progressia/server/PlayerManager.java index 86e14ce..ec352b1 100644 --- a/src/main/java/ru/windcorp/progressia/server/PlayerManager.java +++ b/src/main/java/ru/windcorp/progressia/server/PlayerManager.java @@ -5,8 +5,6 @@ import java.util.Collection; import java.util.Collections; import glm.vec._2.Vec2; -import glm.vec._3.Vec3; -import glm.vec._3.i.Vec3i; import ru.windcorp.progressia.common.util.crash.CrashReports; import ru.windcorp.progressia.common.world.entity.EntityData; import ru.windcorp.progressia.common.world.entity.EntityDataRegistry; @@ -30,8 +28,6 @@ public class PlayerManager { this.players.add(player); } - private static final Vec3i SPAWN = new Vec3i(8, 8, 900); - public EntityData conjurePlayerEntity(String login) { // TODO Live up to the name if (TestContent.PLAYER_LOGIN.equals(login)) { @@ -46,7 +42,7 @@ public class PlayerManager { EntityData player = EntityDataRegistry.getInstance().create("Test:Player"); player.setEntityId(TestContent.PLAYER_ENTITY_ID); - player.setPosition(new Vec3(SPAWN.x, SPAWN.y, SPAWN.z)); + player.setPosition(TestContent.SPAWN); player.setDirection(new Vec2( Math.toRadians(40), Math.toRadians(10) )); diff --git a/src/main/java/ru/windcorp/progressia/test/TestContent.java b/src/main/java/ru/windcorp/progressia/test/TestContent.java index b29905b..9aff4f4 100644 --- a/src/main/java/ru/windcorp/progressia/test/TestContent.java +++ b/src/main/java/ru/windcorp/progressia/test/TestContent.java @@ -7,6 +7,7 @@ import java.util.function.Consumer; import org.lwjgl.glfw.GLFW; +import glm.vec._3.Vec3; import glm.vec._3.i.Vec3i; import ru.windcorp.progressia.client.ClientState; import ru.windcorp.progressia.client.audio.SoundEffect; @@ -36,6 +37,7 @@ public class TestContent { public static final String PLAYER_LOGIN = "Sasha"; public static final long PLAYER_ENTITY_ID = 0x42; public static final long STATIE_ENTITY_ID = 0xDEADBEEF; + public static final Vec3 SPAWN = new Vec3(8, 8, 880); public static void registerContent() { registerWorldContent(); diff --git a/src/main/java/ru/windcorp/progressia/test/TestPlayerControls.java b/src/main/java/ru/windcorp/progressia/test/TestPlayerControls.java index 8aea90f..58dcadb 100644 --- a/src/main/java/ru/windcorp/progressia/test/TestPlayerControls.java +++ b/src/main/java/ru/windcorp/progressia/test/TestPlayerControls.java @@ -30,7 +30,7 @@ public class TestPlayerControls { private TestPlayerControls() {} private static final double MODE_SWITCH_MAX_DELAY = 300 * Units.MILLISECONDS; - private static final double MIN_JUMP_DELAY = 400 * Units.MILLISECONDS; + private static final double MIN_JUMP_DELAY = 300 * Units.MILLISECONDS; // Horizontal and vertical max control speed when flying private static final float FLYING_SPEED = 6.0f * Units.METERS_PER_SECOND; @@ -107,10 +107,6 @@ public class TestPlayerControls { } public void handleInput(Input input) { - if (ClientState.getInstance() == null || !ClientState.getInstance().isReady()) { - return; - } - InputEvent event = input.getEvent(); if (event instanceof KeyEvent) { @@ -193,6 +189,10 @@ public class TestPlayerControls { } private void jump() { + if (ClientState.getInstance() == null || !ClientState.getInstance().isReady()) { + return; + } + getEntity().getVelocity().add(0, 0, JUMP_VELOCITY * (useMinecraftGravity ? 2 : 1)); } @@ -214,6 +214,10 @@ public class TestPlayerControls { } private void handleCameraMode() { + if (ClientState.getInstance() == null || !ClientState.getInstance().isReady()) { + return; + } + if (ClientState.getInstance().getCamera().hasAnchor()) { ClientState.getInstance().getCamera().selectNextMode(); updateGUI(); @@ -227,6 +231,10 @@ public class TestPlayerControls { private void onMouseMoved(CursorMoveEvent event) { if (!captureMouse) return; + + if (ClientState.getInstance() == null || !ClientState.getInstance().isReady()) { + return; + } final float yawScale = -0.002f; final float pitchScale = yawScale; diff --git a/src/main/resources/assets/textures/tiles/stones.png b/src/main/resources/assets/textures/tiles/stones.png index 29e5a8f..7ed0008 100644 Binary files a/src/main/resources/assets/textures/tiles/stones.png and b/src/main/resources/assets/textures/tiles/stones.png differ