diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2023-02-05 19:02:59 +0000 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2023-02-05 19:02:59 +0000 |
commit | 8fdd3461c14a70dd69b34ba7bb44130e3f3a8ef0 (patch) | |
tree | b82610c3a320bdcb8dd45197f7db309d7a3a7aa3 /src/main/java/net/tylermurphy/hideAndSeek/game/events | |
parent | Update 'README.md' (diff) | |
parent | 1.7.0 rc3 (diff) | |
download | kenshinshideandseek-8fdd3461c14a70dd69b34ba7bb44130e3f3a8ef0.tar.gz kenshinshideandseek-8fdd3461c14a70dd69b34ba7bb44130e3f3a8ef0.tar.bz2 kenshinshideandseek-8fdd3461c14a70dd69b34ba7bb44130e3f3a8ef0.zip |
Merge pull request '1.7.0 - Multi Map Support' (#4) from dev into main
Reviewed-on: https://g.tylerm.dev/tylermurphy534/KenshinsHideAndSeek/pulls/4
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/game/events')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java | 45 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java | 24 |
2 files changed, 31 insertions, 38 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java index 647c4b6..9f7b5bf 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java @@ -1,8 +1,7 @@ package net.tylermurphy.hideAndSeek.game.events; import net.tylermurphy.hideAndSeek.Main; -import org.bukkit.Bukkit; -import org.bukkit.World; +import net.tylermurphy.hideAndSeek.configuration.Map; import static net.tylermurphy.hideAndSeek.configuration.Config.*; import static net.tylermurphy.hideAndSeek.configuration.Localization.message; @@ -11,9 +10,13 @@ public class Border { private int delay; private boolean running; + private final Map map; + private int currentSize; - public Border() { - delay = 60 * worldBorderDelay; + public Border(Map map) { + this.map = map; + this.delay = (int) (60 * map.getWorldBorderData().getY()); + this.currentSize = (int) map.getWorldBorderData().getX(); } public void update() { @@ -21,7 +24,7 @@ public class Border { Main.getInstance().getGame().broadcastMessage(worldBorderPrefix + message("WORLDBORDER_WARN")); } else if (delay == 0) { if (running) { - delay = 60 * worldBorderDelay; + delay = (int) (60 * map.getWorldBorderData().getY()); running = false; } else decreaseWorldBorder(); @@ -30,34 +33,32 @@ public class Border { } private void decreaseWorldBorder() { - if (currentWorldborderSize == 100) return; - int change = worldBorderChange; - if (currentWorldborderSize-worldBorderChange < 100) { - change = currentWorldborderSize-100; + if (currentSize == 100) return; + if(map.getGameSpawn().load() == null) return; + int change = (int) map.getWorldBorderData().getZ(); + if (currentSize-change < 100) { + change = currentSize-100; } running = true; Main.getInstance().getGame().broadcastMessage(worldBorderPrefix + message("WORLDBORDER_DECREASING").addAmount(change)); - currentWorldborderSize -= worldBorderChange; - World world = Bukkit.getWorld(Main.getInstance().getGame().getGameWorld()); - assert world != null; - org.bukkit.WorldBorder border = world.getWorldBorder(); + currentSize -= map.getWorldBorderData().getZ(); + org.bukkit.WorldBorder border = map.getGameSpawn().load().getWorldBorder(); border.setSize(border.getSize()-change,30); delay = 30; } - public void resetWorldBorder(String worldName) { - World world = Bukkit.getWorld(worldName); - assert world != null; - org.bukkit.WorldBorder border = world.getWorldBorder(); - if (worldBorderEnabled) { - border.setSize(worldBorderSize); - border.setCenter(worldBorderPosition.getX(), worldBorderPosition.getZ()); - currentWorldborderSize = worldBorderSize; + public void resetWorldBorder() { + if(map.getGameSpawn().load() == null) return; + org.bukkit.WorldBorder border = map.getGameSpawn().load().getWorldBorder(); + if (map.isWorldBorderEnabled()) { + border.setSize(map.getWorldBorderData().getX()); + border.setCenter(map.getWorldBorderPos().getX(), map.getWorldBorderPos().getY()); + currentSize = (int) map.getWorldBorderData().getX(); } else { border.setSize(30000000); border.setCenter(0, 0); } - delay = 60 * worldBorderDelay; + delay = (int) (60 * map.getWorldBorderData().getY()); } public int getDelay() { diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java index 8631ef5..dec23d7 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java @@ -6,6 +6,7 @@ import com.comphenix.protocol.ProtocolManager; import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.wrappers.WrappedDataWatcher; import net.tylermurphy.hideAndSeek.Main; +import net.tylermurphy.hideAndSeek.util.packet.EntityMetadataPacket; import org.bukkit.entity.Player; import java.lang.reflect.InvocationTargetException; @@ -64,22 +65,13 @@ public class Glow { } public void setGlow(Player player, Player target, boolean glowing) { - PacketContainer packet = protocolManager.createPacket(PacketType.Play.Server.ENTITY_METADATA); - packet.getIntegers().write(0, target.getEntityId()); - WrappedDataWatcher watcher = new WrappedDataWatcher(); - WrappedDataWatcher.Serializer serializer = WrappedDataWatcher.Registry.get(Byte.class); - watcher.setEntity(target); - if (glowing) { - watcher.setObject(0, serializer, (byte) (0x40)); - } else { - watcher.setObject(0, serializer, (byte) (0x0)); - } - packet.getWatchableCollectionModifier().write(0, watcher.getWatchableObjects()); - try { - protocolManager.sendServerPacket(player, packet); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } + + EntityMetadataPacket packet = new EntityMetadataPacket(); + packet.setEntity(target); + packet.setGlow(glowing); + packet.writeMetadata(); + packet.send(player); + } } |