From b1d3abc8c87c59bcb5c40156302e89463532c90f Mon Sep 17 00:00:00 2001 From: Andrew Lalis Date: Thu, 21 Jul 2022 12:52:45 +0200 Subject: [PATCH] Added bullets! --- .../java/nl/andrewl/aos2_client/Client.java | 32 +++- .../aos2_client/config/ClientConfig.java | 4 +- .../aos2_client/render/GameRenderer.java | 12 ++ client/src/main/resources/model/bullet.mtl | 13 ++ client/src/main/resources/model/bullet.obj | 140 ++++++++++++++++++ client/src/main/resources/model/bullet.png | Bin 0 -> 133 bytes .../main/java/nl/andrewl/aos_core/Net.java | 1 + .../nl/andrewl/aos_core/model/Projectile.java | 35 +++++ .../aos_core/model/item/ItemTypes.java | 3 + .../andrewl/aos_core/model/item/gun/Ak47.java | 21 +++ .../andrewl/aos_core/model/world/Worlds.java | 3 +- .../net/client/ProjectileMessage.java | 16 ++ design/{ => gui}/bullet.svg | 0 design/{ => gui}/clip.svg | 0 design/{ => gui}/crosshair.svg | 0 design/{ => models}/block.blend | Bin design/{ => models}/block.blend1 | Bin design/models/bullet.blend | Bin 0 -> 601904 bytes design/models/bullet.blend1 | Bin 0 -> 599960 bytes design/{ => models}/player.blend | Bin design/{ => models}/player.blend1 | Bin design/{ => models}/player_simple.blend | Bin design/{ => models}/player_simple.blend1 | Bin design/{ => models}/rifle.blend | Bin design/{ => models}/rifle.blend1 | Bin .../ClientCommunicationHandler.java | 3 +- .../nl/andrewl/aos2_server/PlayerManager.java | 12 +- .../aos2_server/ProjectileManager.java | 58 ++++++++ .../java/nl/andrewl/aos2_server/Server.java | 31 ++-- .../nl/andrewl/aos2_server/TeamManager.java | 49 ++++++ .../logic/PlayerActionManager.java | 14 +- .../aos2_server/logic/WorldUpdater.java | 14 +- .../aos2_server/{ => model}/ServerPlayer.java | 7 +- .../aos2_server/model/ServerProjectile.java | 42 ++++++ 34 files changed, 468 insertions(+), 42 deletions(-) create mode 100644 client/src/main/resources/model/bullet.mtl create mode 100644 client/src/main/resources/model/bullet.obj create mode 100644 client/src/main/resources/model/bullet.png create mode 100644 core/src/main/java/nl/andrewl/aos_core/model/Projectile.java create mode 100644 core/src/main/java/nl/andrewl/aos_core/model/item/gun/Ak47.java create mode 100644 core/src/main/java/nl/andrewl/aos_core/net/client/ProjectileMessage.java rename design/{ => gui}/bullet.svg (100%) rename design/{ => gui}/clip.svg (100%) rename design/{ => gui}/crosshair.svg (100%) rename design/{ => models}/block.blend (100%) rename design/{ => models}/block.blend1 (100%) create mode 100644 design/models/bullet.blend create mode 100644 design/models/bullet.blend1 rename design/{ => models}/player.blend (100%) rename design/{ => models}/player.blend1 (100%) rename design/{ => models}/player_simple.blend (100%) rename design/{ => models}/player_simple.blend1 (100%) rename design/{ => models}/rifle.blend (100%) rename design/{ => models}/rifle.blend1 (100%) create mode 100644 server/src/main/java/nl/andrewl/aos2_server/ProjectileManager.java create mode 100644 server/src/main/java/nl/andrewl/aos2_server/TeamManager.java rename server/src/main/java/nl/andrewl/aos2_server/{ => model}/ServerPlayer.java (85%) create mode 100644 server/src/main/java/nl/andrewl/aos2_server/model/ServerProjectile.java diff --git a/client/src/main/java/nl/andrewl/aos2_client/Client.java b/client/src/main/java/nl/andrewl/aos2_client/Client.java index 7e3d748..de35b1e 100644 --- a/client/src/main/java/nl/andrewl/aos2_client/Client.java +++ b/client/src/main/java/nl/andrewl/aos2_client/Client.java @@ -12,6 +12,7 @@ import nl.andrewl.aos2_client.sound.SoundManager; import nl.andrewl.aos2_client.sound.SoundSource; import nl.andrewl.aos_core.config.Config; import nl.andrewl.aos_core.model.Player; +import nl.andrewl.aos_core.model.Projectile; import nl.andrewl.aos_core.model.Team; import nl.andrewl.aos_core.net.client.*; import nl.andrewl.aos_core.net.world.ChunkDataMessage; @@ -43,12 +44,14 @@ public class Client implements Runnable { private ClientWorld world; private ClientPlayer myPlayer; private final Map players; + private final Map projectiles; private Map teams; public Client(ClientConfig config) { this.config = config; this.players = new ConcurrentHashMap<>(); this.teams = new ConcurrentHashMap<>(); + this.projectiles = new ConcurrentHashMap<>(); this.communicationHandler = new CommunicationHandler(this); this.inputHandler = new InputHandler(this, communicationHandler); } @@ -96,6 +99,7 @@ public class Client implements Runnable { world.processQueuedChunkUpdates(); gameRenderer.getCamera().interpolatePosition(dt); interpolatePlayers(dt); + interpolateProjectiles(dt); gameRenderer.draw(); lastFrameAt = now; } @@ -120,7 +124,9 @@ public class Client implements Runnable { if (gameRenderer != null) { gameRenderer.getCamera().setToPlayer(myPlayer); } - soundManager.updateListener(myPlayer.getPosition(), myPlayer.getVelocity()); + if (soundManager != null) { + soundManager.updateListener(myPlayer.getPosition(), myPlayer.getVelocity()); + } lastPlayerUpdate = playerUpdate.timestamp(); } else { OtherPlayer p = players.get(playerUpdate.clientId()); @@ -151,6 +157,18 @@ public class Client implements Runnable { players.remove(leaveMessage.id()); } else if (msg instanceof SoundMessage soundMessage) { playerSource.play(soundManager.getSoundBuffer(soundMessage.name())); + } else if (msg instanceof ProjectileMessage pm) { + Projectile p = projectiles.get(pm.id()); + if (p == null && !pm.destroyed()) { + p = new Projectile(pm.id(), new Vector3f(pm.px(), pm.py(), pm.pz()), new Vector3f(pm.vx(), pm.vy(), pm.vz()), pm.type()); + projectiles.put(p.getId(), p); + } else if (p != null) { + p.getPosition().set(pm.px(), pm.py(), pm.pz()); // Don't update position, it's too short of a timeframe to matter. + p.getVelocity().set(pm.vx(), pm.vy(), pm.vz()); + if (pm.destroyed()) { + projectiles.remove(p.getId()); + } + } } } @@ -174,6 +192,10 @@ public class Client implements Runnable { return players; } + public Map getProjectiles() { + return projectiles; + } + public void interpolatePlayers(float dt) { Vector3f movement = new Vector3f(); for (var player : players.values()) { @@ -183,6 +205,14 @@ public class Client implements Runnable { } } + public void interpolateProjectiles(float dt) { + Vector3f movement = new Vector3f(); + for (var proj : projectiles.values()) { + movement.set(proj.getVelocity()).mul(dt); + proj.getPosition().add(movement); + } + } + public static void main(String[] args) throws IOException { List configPaths = Config.getCommonConfigPaths(); if (args.length > 0) { diff --git a/client/src/main/java/nl/andrewl/aos2_client/config/ClientConfig.java b/client/src/main/java/nl/andrewl/aos2_client/config/ClientConfig.java index 16b1b0b..b4021ee 100644 --- a/client/src/main/java/nl/andrewl/aos2_client/config/ClientConfig.java +++ b/client/src/main/java/nl/andrewl/aos2_client/config/ClientConfig.java @@ -12,8 +12,8 @@ public class ClientConfig { } public static class DisplayConfig { - public boolean fullscreen = true; - public boolean captureCursor = true; + public boolean fullscreen = false; + public boolean captureCursor = false; public float fov = 70; } } diff --git a/client/src/main/java/nl/andrewl/aos2_client/render/GameRenderer.java b/client/src/main/java/nl/andrewl/aos2_client/render/GameRenderer.java index 72e80b3..2e5b3f9 100644 --- a/client/src/main/java/nl/andrewl/aos2_client/render/GameRenderer.java +++ b/client/src/main/java/nl/andrewl/aos2_client/render/GameRenderer.java @@ -45,6 +45,7 @@ public class GameRenderer { private Model playerModel; private Model rifleModel; private Model blockModel; + private Model bulletModel; // Standard GUI textures. private GUITexture crosshairTexture; @@ -132,6 +133,7 @@ public class GameRenderer { playerModel = new Model("model/player_simple.obj", "model/simple_player.png"); rifleModel = new Model("model/rifle.obj", "model/rifle.png"); blockModel = new Model("model/block.obj", "model/block.png"); + bulletModel = new Model("model/bullet.obj", "model/bullet.png"); } catch (IOException e) { throw new RuntimeException(e); } @@ -216,6 +218,16 @@ public class GameRenderer { } blockModel.unbind(); + bulletModel.bind(); + Matrix4f projectileTransform = new Matrix4f(); + for (var projectile : client.getProjectiles().values()) { + projectileTransform.identity() + .translate(projectile.getPosition()) + .rotateTowards(projectile.getVelocity(), Camera.UP); + modelRenderer.render(bulletModel, projectileTransform); + } + bulletModel.unbind(); + modelRenderer.end(); // GUI rendering diff --git a/client/src/main/resources/model/bullet.mtl b/client/src/main/resources/model/bullet.mtl new file mode 100644 index 0000000..25f313e --- /dev/null +++ b/client/src/main/resources/model/bullet.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'bullet.blend' +# Material Count: 1 + +newmtl Material.001 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /home/andrew/Programming/github-andrewlalis/ace-of-shades-2/client/src/main/resources/model/bullet.png diff --git a/client/src/main/resources/model/bullet.obj b/client/src/main/resources/model/bullet.obj new file mode 100644 index 0000000..00c81e5 --- /dev/null +++ b/client/src/main/resources/model/bullet.obj @@ -0,0 +1,140 @@ +# Blender v2.82 (sub 7) OBJ File: 'bullet.blend' +# www.blender.org +mtllib bullet.mtl +o Cylinder +v 0.000000 0.020000 -0.033933 +v 0.000000 0.020000 0.029329 +v 0.017321 0.010000 -0.033933 +v 0.017321 0.010000 0.029329 +v 0.017321 -0.010000 -0.033933 +v 0.017321 -0.010000 0.029329 +v -0.000000 -0.020000 -0.033933 +v -0.000000 -0.020000 0.029329 +v -0.017321 -0.010000 -0.033933 +v -0.017321 -0.010000 0.029329 +v -0.017321 0.010000 -0.033933 +v -0.017321 0.010000 0.029329 +v -0.000000 0.015593 0.042620 +v 0.013504 0.007796 0.042620 +v 0.013504 -0.007796 0.042620 +v -0.000000 -0.015593 0.042620 +v -0.013504 -0.007796 0.042620 +v -0.013504 0.007796 0.042620 +v -0.000000 0.004471 0.055747 +v 0.003872 0.002236 0.055747 +v 0.003872 -0.002236 0.055747 +v -0.000000 -0.004471 0.055747 +v -0.003872 -0.002236 0.055747 +v -0.003872 0.002236 0.055747 +vt 0.436144 0.309159 +vt 0.610602 1.000000 +vt 0.436144 1.000000 +vt 0.610602 0.309159 +vt 0.697830 0.973380 +vt 0.348915 0.717461 +vt 0.261686 0.000000 +vt 0.348915 0.026620 +vt 0.261686 0.690841 +vt 0.087229 0.000000 +vt 0.242465 0.841851 +vt 0.087229 0.690841 +vt 0.000000 0.026620 +vt 0.348915 0.282539 +vt 0.348915 0.973380 +vt 1.000000 0.110280 +vt 0.848915 0.441121 +vt 0.697831 0.110280 +vt 0.815623 0.441121 +vt 0.849399 0.588424 +vt 0.815623 0.563770 +vt 0.455366 0.158149 +vt 0.106450 0.841851 +vt 0.659387 0.137395 +vt 0.697830 0.282539 +vt 0.038443 0.862605 +vt 0.000000 0.717461 +vt 0.591380 0.158149 +vt 0.781846 0.637733 +vt 0.781846 0.588424 +vt 0.697831 0.699058 +vt 0.815623 0.662388 +vt 0.815623 0.785037 +vt 0.697831 0.527100 +vt 0.503872 0.000000 +vt 0.542874 0.000000 +vt 0.849399 0.637733 +vt 0.933415 0.699058 +vt 0.154956 1.000000 +vt 0.310472 0.862605 +vt 0.848915 0.000000 +vt 1.000000 0.330840 +vt 0.697831 0.330840 +vt 0.933415 0.527100 +vt 0.387358 0.137395 +vt 0.193959 1.000000 +vn 0.5000 0.8660 -0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.4806 -0.8324 0.2760 +vn -1.0000 0.0000 0.0000 +vn -0.5000 0.8660 -0.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.8062 0.0000 0.5916 +vn -0.4806 0.8324 0.2760 +vn -0.4806 -0.8324 0.2760 +vn 0.9612 0.0000 0.2760 +vn -0.9612 0.0000 0.2760 +vn 0.4806 0.8324 0.2760 +vn 0.0000 0.0000 1.0000 +vn -0.8062 0.0000 0.5916 +vn 0.4031 -0.6982 0.5916 +vn 0.4031 0.6982 0.5916 +vn -0.4031 0.6982 0.5916 +vn -0.4031 -0.6982 0.5916 +usemtl Material.001 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 5/5/2 3/2/2 +f 6/6/3 7/7/3 5/8/3 +f 8/9/4 9/10/4 7/7/4 +f 6/6/5 16/11/5 8/9/5 +f 10/12/6 11/13/6 9/10/6 +f 12/14/7 1/3/7 11/15/7 +f 3/16/8 7/17/8 11/18/8 +f 15/19/9 20/20/9 21/21/9 +f 12/14/10 13/22/10 2/1/10 +f 8/9/11 17/23/11 10/12/11 +f 4/4/12 15/24/12 6/25/12 +f 10/12/13 18/26/13 12/27/13 +f 4/4/14 13/22/14 14/28/14 +f 23/29/15 22/30/15 21/21/15 +f 17/31/16 24/32/16 18/33/16 +f 16/34/17 21/21/17 22/30/17 +f 14/28/18 19/35/18 20/36/18 +f 18/33/19 19/37/19 13/38/19 +f 16/11/20 23/39/20 17/23/20 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 6/25/2 5/5/2 +f 6/6/3 8/9/3 7/7/3 +f 8/9/4 10/12/4 9/10/4 +f 6/6/5 15/40/5 16/11/5 +f 10/12/6 12/27/6 11/13/6 +f 12/14/7 2/1/7 1/3/7 +f 11/18/8 1/41/8 3/16/8 +f 3/16/8 5/42/8 7/17/8 +f 7/17/8 9/43/8 11/18/8 +f 15/19/9 14/44/9 20/20/9 +f 12/14/10 18/45/10 13/22/10 +f 8/9/11 16/11/11 17/23/11 +f 4/4/12 14/28/12 15/24/12 +f 10/12/13 17/23/13 18/26/13 +f 4/4/14 2/1/14 13/22/14 +f 21/21/15 20/20/15 23/29/15 +f 20/20/15 19/37/15 23/29/15 +f 19/37/15 24/32/15 23/29/15 +f 17/31/16 23/29/16 24/32/16 +f 16/34/17 15/19/17 21/21/17 +f 14/28/18 13/22/18 19/35/18 +f 18/33/19 24/32/19 19/37/19 +f 16/11/20 22/46/20 23/39/20 diff --git a/client/src/main/resources/model/bullet.png b/client/src/main/resources/model/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..56fb7bb6c9d790d136cbb7fe802c522a346f3132 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWNC}{5K z;usRa`SyY%FM|UI^TEe;Kdv{rc^Di_&q|oxx$aH*j`|z-wlK4B2q-u-FfcMf7zY@Z XU1s|7cD<%C&w^J2iFa+ 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 literal 0 HcmV?d00001 diff --git a/design/models/bullet.blend1 b/design/models/bullet.blend1 new file mode 100644 index 0000000000000000000000000000000000000000..56328be66e5b19f112cd83d7a13e855d217077de GIT binary patch literal 599960 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�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 z Objects.equals(p.getTeam(), team)) .count(); diff --git a/server/src/main/java/nl/andrewl/aos2_server/ProjectileManager.java b/server/src/main/java/nl/andrewl/aos2_server/ProjectileManager.java new file mode 100644 index 0000000..e149465 --- /dev/null +++ b/server/src/main/java/nl/andrewl/aos2_server/ProjectileManager.java @@ -0,0 +1,58 @@ +package nl.andrewl.aos2_server; + +import nl.andrewl.aos2_server.model.ServerPlayer; +import nl.andrewl.aos2_server.model.ServerProjectile; +import nl.andrewl.aos_core.model.Projectile; +import org.joml.Vector3f; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.Map; +import java.util.Queue; + +public class ProjectileManager { + private final Server server; + private int nextProjectileId = 1; + private final Map projectiles; + private final Queue removalQueue; + + public ProjectileManager(Server server) { + this.server = server; + this.projectiles = new HashMap<>(); + this.removalQueue = new LinkedList<>(); + } + + public void spawnBullet(ServerPlayer player) { + int id = nextProjectileId++; + if (nextProjectileId == Integer.MAX_VALUE) nextProjectileId = 1; + Vector3f pos = new Vector3f(player.getEyePosition()); + Vector3f vel = new Vector3f(player.getViewVector()).normalize().mul(300); + ServerProjectile bullet = new ServerProjectile(id, pos, vel, Projectile.Type.BULLET, player); + projectiles.put(bullet.getId(), bullet); + server.getPlayerManager().broadcastUdpMessage(bullet.toMessage(false)); + } + + public void tick(float dt) { + for (var projectile : projectiles.values()) { + tickProjectile(projectile, dt); + } + while (!removalQueue.isEmpty()) { + ServerProjectile projectile = removalQueue.remove(); + projectiles.remove(projectile.getId()); + } + } + + private void tickProjectile(ServerProjectile projectile, float dt) { + projectile.getVelocity().y -= server.getConfig().physics.gravity * dt; + // TODO: Check if bullet will hit anything, like blocks or players, if it follows current velocity. + Vector3f movement = new Vector3f(projectile.getVelocity()).mul(dt); + + projectile.getPosition().add(movement); + if (projectile.getDistanceTravelled() > 500) { + removalQueue.add(projectile); + server.getPlayerManager().broadcastUdpMessage(projectile.toMessage(true)); + } else { + server.getPlayerManager().broadcastUdpMessage(projectile.toMessage(false)); + } + } +} diff --git a/server/src/main/java/nl/andrewl/aos2_server/Server.java b/server/src/main/java/nl/andrewl/aos2_server/Server.java index 27fd364..ae07ccc 100644 --- a/server/src/main/java/nl/andrewl/aos2_server/Server.java +++ b/server/src/main/java/nl/andrewl/aos2_server/Server.java @@ -2,8 +2,8 @@ package nl.andrewl.aos2_server; import nl.andrewl.aos2_server.config.ServerConfig; import nl.andrewl.aos2_server.logic.WorldUpdater; +import nl.andrewl.aos2_server.model.ServerPlayer; import nl.andrewl.aos_core.config.Config; -import nl.andrewl.aos_core.model.Team; import nl.andrewl.aos_core.model.world.World; import nl.andrewl.aos_core.model.world.Worlds; import nl.andrewl.aos_core.net.UdpReceiver; @@ -18,7 +18,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.net.*; import java.nio.file.Path; -import java.util.*; +import java.util.List; import java.util.concurrent.ForkJoinPool; public class Server implements Runnable { @@ -29,8 +29,8 @@ public class Server implements Runnable { private volatile boolean running; private final ServerConfig config; private final PlayerManager playerManager; - private final Map teams; - private final Map teamSpawnPoints; + private final TeamManager teamManager; + private final ProjectileManager projectileManager; private final World world; private final WorldUpdater worldUpdater; @@ -41,13 +41,14 @@ public class Server implements Runnable { this.datagramSocket = new DatagramSocket(config.port); this.datagramSocket.setReuseAddress(true); this.playerManager = new PlayerManager(this); + this.teamManager = new TeamManager(this); + this.projectileManager = new ProjectileManager(this); this.worldUpdater = new WorldUpdater(this, config.ticksPerSecond); this.world = Worlds.testingWorld(); - this.teams = new HashMap<>(); - this.teamSpawnPoints = new HashMap<>(); - // TODO: Add some way to configure teams with config files. - teams.put(1, new Team(1, "Red", new Vector3f(0.8f, 0, 0), world.getSpawnPoint("first"))); - teams.put(2, new Team(2, "Blue", new Vector3f(0, 0, 0.8f), world.getSpawnPoint("first"))); + + // TODO: Add some way to configure teams with config files or commands. + teamManager.addTeam("Red", new Vector3f(0.8f, 0, 0), "A"); + teamManager.addTeam("Blue", new Vector3f(0, 0, 0.8f), "B"); } @Override @@ -121,16 +122,12 @@ public class Server implements Runnable { return playerManager; } - public Map getTeams() { - return teams; + public TeamManager getTeamManager() { + return teamManager; } - public String getSpawnPoint(Team team) { - return teamSpawnPoints.get(team); - } - - public Collection getPlayersInTeam(Team team) { - return playerManager.getPlayers().stream().filter(p -> Objects.equals(p.getTeam(), team)).toList(); + public ProjectileManager getProjectileManager() { + return projectileManager; } public static void main(String[] args) throws IOException { diff --git a/server/src/main/java/nl/andrewl/aos2_server/TeamManager.java b/server/src/main/java/nl/andrewl/aos2_server/TeamManager.java new file mode 100644 index 0000000..ff39c84 --- /dev/null +++ b/server/src/main/java/nl/andrewl/aos2_server/TeamManager.java @@ -0,0 +1,49 @@ +package nl.andrewl.aos2_server; + +import nl.andrewl.aos2_server.model.ServerPlayer; +import nl.andrewl.aos_core.model.Team; +import org.joml.Vector3f; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +/** + * Component that manages the teams on a server. + */ +public class TeamManager { + private int nextTeamId = 1; + private final Server server; + private final Map teams; + + public TeamManager(Server server) { + this.server = server; + this.teams = new HashMap<>(); + } + + public synchronized void addTeam(String name, Vector3f color, String spawnPoint) { + int id = nextTeamId++; + teams.put(id, new Team(id, name, color, server.getWorld().getSpawnPoint(spawnPoint))); + } + + public Team getTeam(int id) { + return teams.get(id); + } + + public Collection getTeams() { + return Collections.unmodifiableCollection(teams.values()); + } + + public Collection getPlayers(Team team) { + return server.getPlayerManager().getPlayers().stream() + .filter(p -> p.getTeam().equals(team)) + .toList(); + } + + public Collection getPlayers(int id) { + Team team = getTeam(id); + if (team == null) return Collections.emptyList(); + return getPlayers(team); + } +} diff --git a/server/src/main/java/nl/andrewl/aos2_server/logic/PlayerActionManager.java b/server/src/main/java/nl/andrewl/aos2_server/logic/PlayerActionManager.java index b3f484d..b2206b4 100644 --- a/server/src/main/java/nl/andrewl/aos2_server/logic/PlayerActionManager.java +++ b/server/src/main/java/nl/andrewl/aos2_server/logic/PlayerActionManager.java @@ -1,7 +1,7 @@ package nl.andrewl.aos2_server.logic; import nl.andrewl.aos2_server.Server; -import nl.andrewl.aos2_server.ServerPlayer; +import nl.andrewl.aos2_server.model.ServerPlayer; import nl.andrewl.aos2_server.config.ServerConfig; import nl.andrewl.aos_core.model.item.*; import nl.andrewl.aos_core.model.world.World; @@ -18,7 +18,7 @@ import org.joml.Vector3i; import java.util.ArrayList; import java.util.List; -import static nl.andrewl.aos2_server.ServerPlayer.*; +import static nl.andrewl.aos2_server.model.ServerPlayer.*; /** * Component that manages a server player's current actions and movement. @@ -62,9 +62,8 @@ public class PlayerActionManager { return updated; } - public void tick(float dt, World world, Server server) { + public void tick(long now, float dt, World world, Server server) { updated = false; // Reset the updated flag. This will be set to true if the player was updated in this tick. - long now = System.currentTimeMillis(); if (player.getInventory().getSelectedIndex() != lastInputState.selectedInventoryIndex()) { player.getInventory().setSelectedIndex(lastInputState.selectedInventoryIndex()); // Tell the client that their inventory slot has been updated properly. @@ -100,12 +99,7 @@ public class PlayerActionManager { now - gunLastShotAt > gun.getShotCooldownTime() * 1000 && (gun.isAutomatic() || !gunNeedsReCock) ) { - // TODO: trace a ray from gun to see if players intersect with it. - var hit = world.getLookingAtPos(player.getEyePosition(), player.getViewVector(), 100); - if (hit != null) { - world.setBlockAt(hit.pos().x, hit.pos().y, hit.pos().z, (byte) 0); - server.getPlayerManager().broadcastUdpMessage(ChunkUpdateMessage.fromWorld(hit.pos(), world)); - } + server.getProjectileManager().spawnBullet(player); g.setBulletCount(g.getBulletCount() - 1); gunLastShotAt = now; if (!gun.isAutomatic()) { diff --git a/server/src/main/java/nl/andrewl/aos2_server/logic/WorldUpdater.java b/server/src/main/java/nl/andrewl/aos2_server/logic/WorldUpdater.java index dc86d35..22470e4 100644 --- a/server/src/main/java/nl/andrewl/aos2_server/logic/WorldUpdater.java +++ b/server/src/main/java/nl/andrewl/aos2_server/logic/WorldUpdater.java @@ -52,12 +52,14 @@ public class WorldUpdater implements Runnable { } } + /** + * The main server update method, that runs once on each game tick, and + * performs all game state updates. + * @param currentTimeMillis The current timestamp for the tick. This may + * be needed for certain functions in logic. + */ private void tick(long currentTimeMillis) { - for (var player : server.getPlayerManager().getPlayers()) { - player.getActionManager().tick(secondsPerTick, server.getWorld(), server); - if (player.getActionManager().isUpdated()) { - server.getPlayerManager().broadcastUdpMessage(player.getUpdateMessage(currentTimeMillis)); - } - } + server.getPlayerManager().tick(currentTimeMillis, secondsPerTick); + server.getProjectileManager().tick(secondsPerTick); } } diff --git a/server/src/main/java/nl/andrewl/aos2_server/ServerPlayer.java b/server/src/main/java/nl/andrewl/aos2_server/model/ServerPlayer.java similarity index 85% rename from server/src/main/java/nl/andrewl/aos2_server/ServerPlayer.java rename to server/src/main/java/nl/andrewl/aos2_server/model/ServerPlayer.java index ea5a52e..f7a9f4b 100644 --- a/server/src/main/java/nl/andrewl/aos2_server/ServerPlayer.java +++ b/server/src/main/java/nl/andrewl/aos2_server/model/ServerPlayer.java @@ -1,4 +1,4 @@ -package nl.andrewl.aos2_server; +package nl.andrewl.aos2_server.model; import nl.andrewl.aos2_server.logic.PlayerActionManager; import nl.andrewl.aos_core.model.Player; @@ -26,8 +26,9 @@ public class ServerPlayer extends Player { super(id, username); this.inventory = new Inventory(new ArrayList<>(), 0); this.actionManager = new PlayerActionManager(this); - inventory.getItemStacks().add(new GunItemStack(ItemTypes.get("Rifle"))); - inventory.getItemStacks().add(new BlockItemStack(ItemTypes.get("Block"), 50, (byte) 1)); + inventory.getItemStacks().add(new GunItemStack(ItemTypes.RIFLE)); + inventory.getItemStacks().add(new BlockItemStack(ItemTypes.BLOCK, 50, (byte) 1)); + inventory.getItemStacks().add(new GunItemStack(ItemTypes.AK_47)); } public PlayerActionManager getActionManager() { diff --git a/server/src/main/java/nl/andrewl/aos2_server/model/ServerProjectile.java b/server/src/main/java/nl/andrewl/aos2_server/model/ServerProjectile.java new file mode 100644 index 0000000..a244c8e --- /dev/null +++ b/server/src/main/java/nl/andrewl/aos2_server/model/ServerProjectile.java @@ -0,0 +1,42 @@ +package nl.andrewl.aos2_server.model; + +import nl.andrewl.aos_core.model.Projectile; +import nl.andrewl.aos_core.net.client.ProjectileMessage; +import org.joml.Vector3f; + +/** + * A bullet with extra information about who shot it, and from where it was + * shot, so we can properly delete the bullet and know who is responsible + * for damage it causes. + */ +public class ServerProjectile extends Projectile { + private final ServerPlayer player; + private final Vector3f origin; + + public ServerProjectile(int id, Vector3f position, Vector3f velocity, Type type, ServerPlayer player) { + super(id, position, velocity, type); + this.player = player; + this.origin = new Vector3f(position); + } + + public ServerPlayer getPlayer() { + return player; + } + + public Vector3f getOrigin() { + return origin; + } + + public float getDistanceTravelled() { + return origin.distance(position); + } + + public ProjectileMessage toMessage(boolean destroyed) { + return new ProjectileMessage( + id, type, + position.x, position.y, position.z, + velocity.x, velocity.y, velocity.z, + destroyed + ); + } +}