diff --git a/Server/src/main/java/core/cache/def/impl/CS2Mapping.java b/Server/src/main/java/core/cache/def/impl/CS2Mapping.java index cc1914b50..b0f8ddafc 100644 --- a/Server/src/main/java/core/cache/def/impl/CS2Mapping.java +++ b/Server/src/main/java/core/cache/def/impl/CS2Mapping.java @@ -1,7 +1,6 @@ package core.cache.def.impl; import java.io.BufferedWriter; -import java.io.FileWriter; import java.nio.ByteBuffer; import java.nio.file.Files; import java.nio.file.Paths; @@ -10,7 +9,7 @@ import java.util.Map; import core.cache.Cache; import core.cache.misc.buffer.ByteBufferUtils; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * The CS2 mapping. @@ -66,33 +65,6 @@ public final class CS2Mapping { this.scriptId = scriptId; } - /** - * The main method. - * @param args The arguments cast on runtime. - * @throws Throwable When an exception occurs. - */ - public static void main(String... args) throws Throwable { - GameWorld.prompt(false); - BufferedWriter bw = Files.newBufferedWriter(Paths.get("./cs2.txt")); - for (int i = 0; i < 10000; i++) { - CS2Mapping mapping = forId(i); - if (mapping == null) { - continue; - } - if (mapping.map == null) { - continue; - } - bw.append("ScriptAPI - " + i + " ["); - for (int index : mapping.map.keySet()) { - bw.append(mapping.map.get(index) + ": " + index + " "); - } - bw.append("]"); - bw.newLine(); - } - bw.flush(); - bw.close(); - } - /** * Gets the mapping for the given script id. * @param scriptId The script id. diff --git a/Server/src/main/java/core/cache/def/impl/NPCDefinition.java b/Server/src/main/java/core/cache/def/impl/NPCDefinition.java index e2105888f..df0594c6b 100644 --- a/Server/src/main/java/core/cache/def/impl/NPCDefinition.java +++ b/Server/src/main/java/core/cache/def/impl/NPCDefinition.java @@ -11,7 +11,7 @@ import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.tools.StringUtils; import rs09.game.system.config.NPCConfigParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.nio.ByteBuffer; import java.util.HashMap; @@ -212,19 +212,6 @@ public final class NPCDefinition extends Definition { return def; } - public static void main(String... args) throws Throwable { - GameWorld.prompt(false); - System.out.println("Roar: " + NPCDefinition.forId(2329).standAnimation); - // for (int i = 0; i < 11000; i++) { - // ItemDefinition def = ItemDefinition.forId(i); - // if (def.getMaleWornModelId1() >= 1250 && def.getMaleWornModelId1() <= - // 1550) { - // System.out.println(def.getName() + " " + i + ": " + - // def.getMaleWornModelId1()); - // } - // } - } - /** * Gets the child object definitions. * @param player The player to get it for. diff --git a/Server/src/main/java/core/cache/def/impl/RenderAnimationDefinition.java b/Server/src/main/java/core/cache/def/impl/RenderAnimationDefinition.java index 08d1c97bc..c8f19e76d 100644 --- a/Server/src/main/java/core/cache/def/impl/RenderAnimationDefinition.java +++ b/Server/src/main/java/core/cache/def/impl/RenderAnimationDefinition.java @@ -2,7 +2,7 @@ package core.cache.def.impl; import core.cache.Cache; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.lang.reflect.Array; import java.lang.reflect.Field; @@ -287,42 +287,4 @@ public class RenderAnimationDefinition { anInt990 = -1; anInt993 = 0; } - - public static void main(String...args) throws Throwable { - GameWorld.prompt(false); - RenderAnimationDefinition def = RenderAnimationDefinition.forId(1426); - System.out.println("size: " + def.getClass().getDeclaredFields().length); - for (Field f : def.getClass().getDeclaredFields()) { - if (!Modifier.isStatic(f.getModifiers())) { - if (f.getType().isArray()) { - Object object = f.get(def); - if (object != null) { - int length = Array.getLength(object); - System.out.print(f.getName() + ", ["); - for (int i = 0; i < length; i++) { - System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]")); - } - continue; - } - } - System.out.println(f.getName() + ", " + f.get(def)); - } - } - for (Field f : def.getClass().getSuperclass().getDeclaredFields()) { - if (!Modifier.isStatic(f.getModifiers())) { - if (f.getType().isArray()) { - Object object = f.get(def); - if (object != null) { - int length = Array.getLength(object); - System.out.print(f.getName() + ", ["); - for (int i = 0; i < length; i++) { - System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]")); - } - continue; - } - } - System.out.println(f.getName() + ", " + f.get(def)); - } - } - } } diff --git a/Server/src/main/java/core/cache/def/impl/SceneryDefinition.java b/Server/src/main/java/core/cache/def/impl/SceneryDefinition.java index 155a22803..70284e0fd 100644 --- a/Server/src/main/java/core/cache/def/impl/SceneryDefinition.java +++ b/Server/src/main/java/core/cache/def/impl/SceneryDefinition.java @@ -7,7 +7,7 @@ import core.game.interaction.OptionHandler; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.nio.ByteBuffer; import java.util.HashMap; @@ -509,61 +509,6 @@ public class SceneryDefinition extends Definition { mapIcon = -1; } - /** - * Main method, used for debugging object definitions. - * @param args The arguments cast on runtime. - * @throws Throwable When an exception occurs. - */ - public static void main(String... args) throws Throwable { - GameWorld.prompt(false); - // if (true) { - // for (int id = 0; id <= 27325; id++) { - // ObjectDefinition def = ObjectDefinition.forId(id); - // if (def.mapIcon > 69) { - // System.out.println(id + " - " + def.getName() + " has map icon " + - // def.mapIcon); - // } - // } - // return; 2105 - // } - /*ObjectDefinition def = ObjectDefinition.forId(2105); - System.out.println("size: " + def.getClass().getDeclaredFields().length); - for (Field f : def.getClass().getDeclaredFields()) { - if (!Modifier.isStatic(f.getModifiers())) { - if (f.getType().isArray()) { - Object object = f.get(def); - if (object != null) { - int length = Array.getLength(object); - System.out.print(f.getName() + ", ["); - for (int i = 0; i < length; i++) { - System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]")); - } - System.out.println(); - continue; - } - } - System.out.println(f.getName() + ", " + f.get(def)); - } - } - for (Field f : def.getClass().getSuperclass().getDeclaredFields()) { - if (!Modifier.isStatic(f.getModifiers())) { - if (f.getType().isArray()) { - Object object = f.get(def); - if (object != null) { - int length = Array.getLength(object); - System.out.print(f.getName() + ", ["); - for (int i = 0; i < length; i++) { - System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]")); - } - System.out.println(); - continue; - } - } - System.out.println(f.getName() + ", " + f.get(def)); - } - }*/ - } - /** * Parses the definitions. * @throws Throwable the throwable. diff --git a/Server/src/main/java/core/cache/def/impl/VarbitDefinition.java b/Server/src/main/java/core/cache/def/impl/VarbitDefinition.java index 19361b4af..253b71add 100644 --- a/Server/src/main/java/core/cache/def/impl/VarbitDefinition.java +++ b/Server/src/main/java/core/cache/def/impl/VarbitDefinition.java @@ -2,8 +2,7 @@ package core.cache.def.impl; import core.cache.Cache; import core.game.node.entity.player.Player; -import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.nio.ByteBuffer; import java.util.HashMap; @@ -104,16 +103,6 @@ public final class VarbitDefinition { return def; } - public static void main(String... args) throws Throwable { - GameWorld.prompt(false); - for (int i = 0; i < 15000; i++) { - VarbitDefinition def = forObjectID(i); - if (def != null && def.configId == 33) { - System.out.println("Config file [id=" + i + ", shift=" + def.bitShift + "]!"); - } - } - } - /** * Gets the current config value for this file. * @param player The player. diff --git a/Server/src/main/java/core/game/container/impl/BankContainer.java b/Server/src/main/java/core/game/container/impl/BankContainer.java index 016dee8f9..df2bcb076 100644 --- a/Server/src/main/java/core/game/container/impl/BankContainer.java +++ b/Server/src/main/java/core/game/container/impl/BankContainer.java @@ -8,7 +8,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.IronmanMode; import core.game.node.item.Item; import rs09.game.system.config.ItemConfigParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.PacketRepository; import core.net.packet.context.ContainerContext; import core.net.packet.out.ContainerPacket; @@ -91,7 +91,7 @@ public final class BankContainer extends Container { if (player.getIronmanManager().checkRestriction(IronmanMode.ULTIMATE)) { return; } - if (!player.getBankPinManager().isUnlocked() && !GameWorld.getSettings().isDevMode()) { + if (!player.getBankPinManager().isUnlocked() && !World.getSettings().isDevMode()) { player.getBankPinManager().openType(1); return; } @@ -122,7 +122,7 @@ public final class BankContainer extends Container { if (player.getIronmanManager().checkRestriction(IronmanMode.ULTIMATE)) { return; } - if (!player.getBankPinManager().isUnlocked() && !GameWorld.getSettings().isDevMode()) { + if (!player.getBankPinManager().isUnlocked() && !World.getSettings().isDevMode()) { player.getBankPinManager().openType(1); return; } diff --git a/Server/src/main/java/core/game/content/activity/ActivityManager.java b/Server/src/main/java/core/game/content/activity/ActivityManager.java index 700a369d8..3c17e6101 100644 --- a/Server/src/main/java/core/game/content/activity/ActivityManager.java +++ b/Server/src/main/java/core/game/content/activity/ActivityManager.java @@ -2,7 +2,7 @@ package core.game.content.activity; import core.game.node.entity.player.Player; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.HashMap; import java.util.Map; @@ -49,7 +49,7 @@ public final class ActivityManager { public static boolean start(Player player, String name, boolean login, Object... args) { ActivityPlugin plugin = ACTIVITIES.get(name); if (plugin == null) { - if (GameWorld.getSettings().isDevMode()) { + if (World.getSettings().isDevMode()) { SystemLogger.logErr("Unhandled activity - " + name + "!"); } return false; @@ -61,7 +61,7 @@ public final class ActivityManager { return plugin.start(player, login, args); } catch (Throwable e) { e.printStackTrace(); - if (GameWorld.getSettings().isDevMode()) { + if (World.getSettings().isDevMode()) { player.getPacketDispatch().sendMessage("Error starting activity " + (plugin == null ? null : plugin.getName()) + "!"); } } diff --git a/Server/src/main/java/core/game/content/activity/CutscenePlugin.java b/Server/src/main/java/core/game/content/activity/CutscenePlugin.java index bc9a214a1..0fbaa202f 100644 --- a/Server/src/main/java/core/game/content/activity/CutscenePlugin.java +++ b/Server/src/main/java/core/game/content/activity/CutscenePlugin.java @@ -5,7 +5,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; import core.net.packet.PacketRepository; @@ -74,7 +74,7 @@ public abstract class CutscenePlugin extends ActivityPlugin { player.removeAttribute("real-end"); player.setAttribute("real-end", player.getLocation()); if (isFade()) { - GameWorld.getPulser().submit(getStartPulse()); + World.getPulser().submit(getStartPulse()); } else { PacketRepository.send(MinimapState.class, new MinimapStateContext(player, getMapState())); player.getInterfaceManager().hideTabs(getRemovedTabs()); @@ -118,7 +118,7 @@ public abstract class CutscenePlugin extends ActivityPlugin { */ public void stop(boolean fade) { if (fade) { - GameWorld.getPulser().submit(endPulse); + World.getPulser().submit(endPulse); } else { end(); } diff --git a/Server/src/main/java/core/game/content/activity/barrows/BarrowsActivityPlugin.java b/Server/src/main/java/core/game/content/activity/barrows/BarrowsActivityPlugin.java index be2820b4d..bf830d92d 100644 --- a/Server/src/main/java/core/game/content/activity/barrows/BarrowsActivityPlugin.java +++ b/Server/src/main/java/core/game/content/activity/barrows/BarrowsActivityPlugin.java @@ -31,7 +31,7 @@ import core.net.packet.out.MinimapState; import core.plugin.Initializable; import core.tools.RandomFunction; import rs09.game.content.activity.barrows.RewardChest; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.plugin.PluginManager; /** @@ -153,7 +153,7 @@ public final class BarrowsActivityPlugin extends ActivityPlugin { if (!PULSE.isRunning()) { PULSE.restart(); PULSE.start(); - GameWorld.getPulser().submit(PULSE); + World.getPulser().submit(PULSE); } } else { ((NPC) e).setAggressive(true); diff --git a/Server/src/main/java/core/game/content/activity/bountyhunter/BHOptionHandler.java b/Server/src/main/java/core/game/content/activity/bountyhunter/BHOptionHandler.java index a87e47002..e4887279b 100644 --- a/Server/src/main/java/core/game/content/activity/bountyhunter/BHOptionHandler.java +++ b/Server/src/main/java/core/game/content/activity/bountyhunter/BHOptionHandler.java @@ -7,7 +7,7 @@ import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -53,12 +53,12 @@ public final class BHOptionHandler extends OptionHandler { if (activity == null) { return false; } - if (player.getAttribute("exit_penalty", 0) > GameWorld.getTicks()) { + if (player.getAttribute("exit_penalty", 0) > World.getTicks()) { player.getPacketDispatch().sendMessage("You can't leave the crater until the exit penalty is over."); return true; } player.lock(2); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { player.getProperties().setTeleportLocation(activity.getType().getExitLocation()); diff --git a/Server/src/main/java/core/game/content/activity/bountyhunter/BountyEntry.java b/Server/src/main/java/core/game/content/activity/bountyhunter/BountyEntry.java index e92d7e1f1..2ea9b3e2c 100644 --- a/Server/src/main/java/core/game/content/activity/bountyhunter/BountyEntry.java +++ b/Server/src/main/java/core/game/content/activity/bountyhunter/BountyEntry.java @@ -1,7 +1,7 @@ package core.game.content.activity.bountyhunter; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Holds a player's bounty hunter data. @@ -49,21 +49,21 @@ public final class BountyEntry { public void updatePenalty(Player player, boolean unlock) { int penalty = player.getAttribute("pickup_penalty", 0); int child = -1; - if (GameWorld.getTicks() > penalty) { + if (World.getTicks() > penalty) { player.removeAttribute("pickup_penalty"); player.getPacketDispatch().sendInterfaceConfig(653, 8, true); } else if (penalty != 0) { child = 8; - int seconds = (int) Math.round((penalty - GameWorld.getTicks()) * 0.6); + int seconds = (int) Math.round((penalty - World.getTicks()) * 0.6); player.getPacketDispatch().sendString(seconds + " Sec", 653, 10); } penalty = player.getAttribute("exit_penalty", 0); - if (GameWorld.getTicks() > penalty) { + if (World.getTicks() > penalty) { player.removeAttribute("exit_penalty"); player.getPacketDispatch().sendInterfaceConfig(653, 11, true); } else if (penalty != 0) { child = 11; - int seconds = (int) Math.round((penalty - GameWorld.getTicks()) * 0.6); + int seconds = (int) Math.round((penalty - World.getTicks()) * 0.6); player.getPacketDispatch().sendString(seconds + " Sec", 653, 13); } if (unlock && child > -1) { diff --git a/Server/src/main/java/core/game/content/activity/bountyhunter/BountyHunterActivity.java b/Server/src/main/java/core/game/content/activity/bountyhunter/BountyHunterActivity.java index 5bce8f92c..2fa08c57e 100644 --- a/Server/src/main/java/core/game/content/activity/bountyhunter/BountyHunterActivity.java +++ b/Server/src/main/java/core/game/content/activity/bountyhunter/BountyHunterActivity.java @@ -18,7 +18,7 @@ import core.game.node.entity.player.link.prayer.PrayerType; import core.game.node.item.GroundItem; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.Point; import core.game.world.map.zone.ZoneBorders; @@ -237,10 +237,10 @@ public final class BountyHunterActivity extends ActivityPlugin { player.getInterfaceManager().openOverlay(GAME_OVERLAY); int penalty; if ((penalty = player.getAttribute("pickup_penalty", 0)) != 0) { - player.setAttribute("/save:pickup_penalty", GameWorld.getTicks() + penalty); + player.setAttribute("/save:pickup_penalty", World.getTicks() + penalty); } if ((penalty = player.getAttribute("exit_penalty", 0)) != 0) { - player.setAttribute("/save:exit_penalty", GameWorld.getTicks() + penalty); + player.setAttribute("/save:exit_penalty", World.getTicks() + penalty); if (player.getPrayer().get(PrayerType.PROTECT_ITEMS)) { player.getPrayer().toggle(PrayerType.PROTECT_ITEMS); } @@ -251,11 +251,11 @@ public final class BountyHunterActivity extends ActivityPlugin { player.getInteraction().remove(Option._P_ASSIST); player.getSkullManager().setSkullCheckDisabled(true); player.getSkullManager().setWilderness(true); - player.setAttribute("bh_joined", GameWorld.getTicks() + 10); + player.setAttribute("bh_joined", World.getTicks() + 10); updateSkull(player); if (!gamePulse.isRunning()) { gamePulse.start(); - GameWorld.getPulser().submit(gamePulse); + World.getPulser().submit(gamePulse); } } return super.enter(e); @@ -305,17 +305,17 @@ public final class BountyHunterActivity extends ActivityPlugin { public boolean actionButton(Player player, int interfaceId, int buttonId, int slot, int itemId, int opcode) { if (interfaceId == 192 && buttonId == 19) { BountyEntry entry = players.get(player); - if (entry != null && player.getAttribute("pickup_penalty", 0) > GameWorld.getTicks()) { + if (entry != null && player.getAttribute("pickup_penalty", 0) > World.getTicks()) { player.getPacketDispatch().sendMessage("You should not be picking up items. Now you must wait before you can leave."); player.removeAttribute("pickup_penalty"); - player.setAttribute("/save:exit_penalty", GameWorld.getTicks() + 300); + player.setAttribute("/save:exit_penalty", World.getTicks() + 300); entry.updatePenalty(player, true); if (player.getPrayer().get(PrayerType.PROTECT_ITEMS)) { player.getPrayer().toggle(PrayerType.PROTECT_ITEMS); } } } else if (interfaceId == 271 && buttonId == 25) { - if (player.getAttribute("exit_penalty", 0) > GameWorld.getTicks()) { + if (player.getAttribute("exit_penalty", 0) > World.getTicks()) { player.getPacketDispatch().sendMessage("You can't use the protect item prayer until your penalty has passed."); player.getConfigManager().send(PrayerType.PROTECT_ITEMS.getConfig(), 0); return true; @@ -327,7 +327,7 @@ public final class BountyHunterActivity extends ActivityPlugin { @Override public boolean continueAttack(Entity e, Node target, CombatStyle style, boolean message) { if (e instanceof Player && target instanceof Player) { - if (((Player) target).getAttribute("bh_joined", -1) > GameWorld.getTicks()) { + if (((Player) target).getAttribute("bh_joined", -1) > World.getTicks()) { ((Player) e).getPacketDispatch().sendMessage("This player has only just entered and is temporarily invulnerable to attacks."); return false; } @@ -432,13 +432,13 @@ public final class BountyHunterActivity extends ActivityPlugin { gamePulse.stop(); } int penalty; - if ((penalty = player.getAttribute("pickup_penalty", 0)) > GameWorld.getTicks()) { - player.setAttribute("/save:pickup_penalty", penalty - GameWorld.getTicks()); + if ((penalty = player.getAttribute("pickup_penalty", 0)) > World.getTicks()) { + player.setAttribute("/save:pickup_penalty", penalty - World.getTicks()); } else { player.removeAttribute("pickup_penalty"); } - if ((penalty = player.getAttribute("exit_penalty", 0)) > GameWorld.getTicks()) { - player.setAttribute("/save:exit_penalty", penalty - GameWorld.getTicks()); + if ((penalty = player.getAttribute("exit_penalty", 0)) > World.getTicks()) { + player.setAttribute("/save:exit_penalty", penalty - World.getTicks()); } else { player.removeAttribute("exit_penalty"); } @@ -464,7 +464,7 @@ public final class BountyHunterActivity extends ActivityPlugin { } if (!waitRoomPulse.isRunning()) { waitRoomPulse.start(); - GameWorld.getPulser().submit(waitRoomPulse); + World.getPulser().submit(waitRoomPulse); } } else if (waitingRoom.size() > MINIMUM_PLAYERS) { player.getPacketDispatch().sendString((int) Math.round(waitingTime * 0.6) + " Sec", 656, 10); @@ -540,7 +540,7 @@ public final class BountyHunterActivity extends ActivityPlugin { @Override public boolean canLogout(Player player) { - if (player.getAttribute("exit_penalty", 0) > GameWorld.getTicks()) { + if (player.getAttribute("exit_penalty", 0) > World.getTicks()) { player.getPacketDispatch().sendMessage("You can't logout until the exit penalty is over."); return false; } @@ -574,10 +574,10 @@ public final class BountyHunterActivity extends ActivityPlugin { } player.getHintIconManager().clear(); if (player.getAttribute("pickup_penalty", 0) != 0) { - player.setAttribute("pickup_penalty", GameWorld.getTicks() - 5); + player.setAttribute("pickup_penalty", World.getTicks() - 5); } if (player.getAttribute("exit_penalty", 0) != 0) { - player.setAttribute("exit_penalty", GameWorld.getTicks() - 5); + player.setAttribute("exit_penalty", World.getTicks() - 5); } entry.updatePenalty((Player) e, true); } @@ -596,7 +596,7 @@ public final class BountyHunterActivity extends ActivityPlugin { player.getPacketDispatch().sendMessage("This means you get the pick-up penalty: pick anything up and you can't leave!"); player.getSavedData().getActivityData().updateBountyRogueRate(1); BHScoreBoard.getRogues().check(player); - player.setAttribute("/save:pickup_penalty", GameWorld.getTicks() + 300); + player.setAttribute("/save:pickup_penalty", World.getTicks() + 300); entry.updatePenalty(player, true); } diff --git a/Server/src/main/java/core/game/content/activity/bountyhunter/BountyLocateSpell.java b/Server/src/main/java/core/game/content/activity/bountyhunter/BountyLocateSpell.java index 7007e1873..b0cb82f28 100644 --- a/Server/src/main/java/core/game/content/activity/bountyhunter/BountyLocateSpell.java +++ b/Server/src/main/java/core/game/content/activity/bountyhunter/BountyLocateSpell.java @@ -11,7 +11,7 @@ import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.entity.player.link.TeleportManager.TeleportType; import core.game.node.entity.state.EntityState; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.plugin.Plugin; @@ -83,7 +83,7 @@ public final class BountyLocateSpell extends MagicSpell { entity.getTeleporter().getCurrentTeleport().stop(); return false; } - entity.setAttribute("magic-delay", GameWorld.getTicks() + 5); + entity.setAttribute("magic-delay", World.getTicks() + 5); return true; } return false; diff --git a/Server/src/main/java/core/game/content/activity/clanwars/ClanWarsActivityPlugin.java b/Server/src/main/java/core/game/content/activity/clanwars/ClanWarsActivityPlugin.java index d154f5a48..0579eb76f 100644 --- a/Server/src/main/java/core/game/content/activity/clanwars/ClanWarsActivityPlugin.java +++ b/Server/src/main/java/core/game/content/activity/clanwars/ClanWarsActivityPlugin.java @@ -21,7 +21,7 @@ import core.game.node.scenery.SceneryBuilder; import core.game.system.communication.ClanEntry; import core.game.system.communication.ClanRepository; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.build.DynamicRegion; @@ -136,7 +136,7 @@ public final class ClanWarsActivityPlugin extends ActivityPlugin { offset = (offset + 1) % 3; SceneryBuilder.add(new Scenery(28174 + offset, base.transform(x, 64, 0))); } - GameWorld.getPulser().submit(pulse = new Pulse(200) { + World.getPulser().submit(pulse = new Pulse(200) { @Override public boolean pulse() { for (int x = 5; x < 54; x++) { @@ -148,7 +148,7 @@ public final class ClanWarsActivityPlugin extends ActivityPlugin { RegionManager.getRegionChunk(l).flag(new AnimateObjectUpdateFlag(anim)); } } - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { for (int x = 5; x < 54; x++) { diff --git a/Server/src/main/java/core/game/content/activity/duel/DuelArea.java b/Server/src/main/java/core/game/content/activity/duel/DuelArea.java index c315f5d80..0473a5dee 100644 --- a/Server/src/main/java/core/game/content/activity/duel/DuelArea.java +++ b/Server/src/main/java/core/game/content/activity/duel/DuelArea.java @@ -28,7 +28,7 @@ import core.plugin.Plugin; import core.tools.RandomFunction; import core.tools.StringUtils; import rs09.ServerConstants; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -126,7 +126,7 @@ public class DuelArea extends MapZone { session.getOther().setAttribute("duel:ammo", new ArrayList(100)); session.getPlayer().setAttribute("vengeance", false); session.getOther().setAttribute("vengeance", false); - GameWorld.getPulser().submit(new Pulse(4, session.getPlayer(), session.getOther()) { + World.getPulser().submit(new Pulse(4, session.getPlayer(), session.getOther()) { int count; @Override diff --git a/Server/src/main/java/core/game/content/activity/duel/DuelComponentPlugin.java b/Server/src/main/java/core/game/content/activity/duel/DuelComponentPlugin.java index 09deaee25..ee2729035 100644 --- a/Server/src/main/java/core/game/content/activity/duel/DuelComponentPlugin.java +++ b/Server/src/main/java/core/game/content/activity/duel/DuelComponentPlugin.java @@ -4,7 +4,7 @@ import core.game.component.Component; import core.game.component.ComponentDefinition; import core.game.component.ComponentPlugin; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Plugin; /** @@ -32,7 +32,7 @@ public class DuelComponentPlugin extends ComponentPlugin { player.getPacketDispatch().sendMessage("Other player is busy at the moment."); return true; } - if (player.getAttribute("duel:staked", false) && other.getIronmanManager().isIronman() && !GameWorld.getSettings().isDevMode()) { + if (player.getAttribute("duel:staked", false) && other.getIronmanManager().isIronman() && !World.getSettings().isDevMode()) { other.sendMessage("You can't accept a staked duel as an Ironman."); player.sendMessage("You can't duel Ironman players."); return true; diff --git a/Server/src/main/java/core/game/content/activity/gnomecopter/GnomeCopterActivity.java b/Server/src/main/java/core/game/content/activity/gnomecopter/GnomeCopterActivity.java index f942472d5..5c0938007 100644 --- a/Server/src/main/java/core/game/content/activity/gnomecopter/GnomeCopterActivity.java +++ b/Server/src/main/java/core/game/content/activity/gnomecopter/GnomeCopterActivity.java @@ -12,7 +12,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.zone.ZoneBorders; @@ -106,7 +106,7 @@ public final class GnomeCopterActivity extends ActivityPlugin { player.lock(); player.faceLocation(player.getLocation().transform(0, 3, 0)); object.setCharge(88); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int stage = 0; @Override @@ -161,7 +161,7 @@ public final class GnomeCopterActivity extends ActivityPlugin { final int pad = index; player.setDirection(Direction.SOUTH); player.getProperties().setTeleportLocation(Location.create(3162, 3352, 0)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int stage = 0; int tick = 0; diff --git a/Server/src/main/java/core/game/content/activity/gwd/GodWarsMinionNPC.java b/Server/src/main/java/core/game/content/activity/gwd/GodWarsMinionNPC.java index ca2e69964..24584b651 100644 --- a/Server/src/main/java/core/game/content/activity/gwd/GodWarsMinionNPC.java +++ b/Server/src/main/java/core/game/content/activity/gwd/GodWarsMinionNPC.java @@ -6,7 +6,7 @@ import core.game.node.entity.combat.DeathTask; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.map.Location; @@ -63,7 +63,7 @@ public final class GodWarsMinionNPC extends AbstractNPC { public void finalizeDeath(Entity killer) { super.finalizeDeath(killer); getProperties().getCombatPulse().stop(); - if (boss != null && boss.getRespawnTick() > GameWorld.getTicks()) { + if (boss != null && boss.getRespawnTick() > World.getTicks()) { setRespawnTick(boss.getRespawnTick()); } } diff --git a/Server/src/main/java/core/game/content/activity/gwd/GodwarsBossNPC.java b/Server/src/main/java/core/game/content/activity/gwd/GodwarsBossNPC.java index 99d92a8a9..a0b707fd0 100644 --- a/Server/src/main/java/core/game/content/activity/gwd/GodwarsBossNPC.java +++ b/Server/src/main/java/core/game/content/activity/gwd/GodwarsBossNPC.java @@ -17,7 +17,7 @@ import core.plugin.Initializable; import core.tools.RandomFunction; import rs09.game.node.entity.combat.CombatPulse; import rs09.game.node.entity.combat.CombatSwingHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles a god wars boss NPC. @@ -174,14 +174,14 @@ public final class GodwarsBossNPC extends AbstractNPC { if (!chamber.insideBorder(e.getLocation().getX(), e.getLocation().getY())) { getPulseManager().clear(); } - if (nextBattleCry < GameWorld.getTicks()) { + if (nextBattleCry < World.getTicks()) { String[] cries = BATTLE_CRIES[(getId() - 6203) >> 4]; sendChat(cries[RandomFunction.randomize(cries.length)]); - nextBattleCry = GameWorld.getTicks() + 7 + RandomFunction.randomize(20); + nextBattleCry = World.getTicks() + 7 + RandomFunction.randomize(20); } } super.tick(); - if (getRespawnTick() == GameWorld.getTicks() && minions != null) { + if (getRespawnTick() == World.getTicks() && minions != null) { for (NPC npc : minions) { npc.setRespawnTick(-1); } @@ -191,7 +191,7 @@ public final class GodwarsBossNPC extends AbstractNPC { @Override public void onImpact(final Entity entity, BattleState state) { if (targetFocus) { - if (getProperties().getCombatPulse().getNextAttack() < GameWorld.getTicks() - 3) { + if (getProperties().getCombatPulse().getNextAttack() < World.getTicks() - 3) { getProperties().getCombatPulse().attack(entity); return; } @@ -237,7 +237,7 @@ public final class GodwarsBossNPC extends AbstractNPC { return; } for (NPC minion : minions) { - if (minion.getRespawnTick() >= GameWorld.getTicks()) { + if (minion.getRespawnTick() >= World.getTicks()) { minion.setRespawnTick(getRespawnTick()); } } diff --git a/Server/src/main/java/core/game/content/activity/gwd/GodwarsEntranceHandler.java b/Server/src/main/java/core/game/content/activity/gwd/GodwarsEntranceHandler.java index 41534ca4d..9bda2151a 100644 --- a/Server/src/main/java/core/game/content/activity/gwd/GodwarsEntranceHandler.java +++ b/Server/src/main/java/core/game/content/activity/gwd/GodwarsEntranceHandler.java @@ -11,7 +11,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -57,7 +57,7 @@ public final class GodwarsEntranceHandler extends OptionHandler { player.lock(2); player.getPacketDispatch().sendMessage("You climb down the rope."); player.animate(Animation.create(828)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.getProperties().setTeleportLocation(Location.create(2882, 5311, 2)); @@ -76,7 +76,7 @@ public final class GodwarsEntranceHandler extends OptionHandler { } else { ForceMovement.run(player, Location.create(2898, 3719, 0), Location.create(2898, 3715, 0), new Animation(6979), 3); } - GameWorld.getPulser().submit(new Pulse(12, player) { + World.getPulser().submit(new Pulse(12, player) { @Override public boolean pulse() { player.getPacketDispatch().sendSceneryAnimation(RegionManager.getObject(0, 2898, 3716), Animation.create(6981)); diff --git a/Server/src/main/java/core/game/content/activity/gwd/GodwarsMapzone.java b/Server/src/main/java/core/game/content/activity/gwd/GodwarsMapzone.java index 4ab906656..1015bcae8 100644 --- a/Server/src/main/java/core/game/content/activity/gwd/GodwarsMapzone.java +++ b/Server/src/main/java/core/game/content/activity/gwd/GodwarsMapzone.java @@ -16,7 +16,7 @@ import core.game.node.entity.player.info.Rights; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; @@ -263,7 +263,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin { private void handleRopeClimb(final Player player, final Location destination) { player.lock(2); player.animate(Animation.create(828)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.getProperties().setTeleportLocation(destination); @@ -308,7 +308,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin { private void handleBigDoor(final Player player, final Scenery object, boolean checkLocation) { player.lock(4); if (checkLocation && player.getLocation().getX() > object.getLocation().getX()) { - GameWorld.getPulser().submit(new MovementPulse(player, object.getLocation()) { + World.getPulser().submit(new MovementPulse(player, object.getLocation()) { @Override public boolean pulse() { handleBigDoor(player, object, false); @@ -327,7 +327,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin { } player.getPacketDispatch().sendMessage("You bang on the big door."); player.animate(Animation.create(7002)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { object.getDefinition().getOptions()[1] = "open"; @@ -381,7 +381,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin { return; } player.lock(7); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.visualize(Animation.create(6988), Graphics.create(68)); @@ -392,7 +392,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin { player.getProperties().setTeleportLocation(player.getLocation().transform(0, diffY, 0)); player.getInterfaceManager().openOverlay(new Component(115)); player.setAttribute("cross_bridge_loc", player.getLocation()); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/activity/magearena/KolodionDialogue.java b/Server/src/main/java/core/game/content/activity/magearena/KolodionDialogue.java index 6e7ea0a43..b33e5126d 100644 --- a/Server/src/main/java/core/game/content/activity/magearena/KolodionDialogue.java +++ b/Server/src/main/java/core/game/content/activity/magearena/KolodionDialogue.java @@ -4,7 +4,7 @@ import core.game.content.dialogue.DialoguePlugin; import core.game.node.entity.skill.Skills; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -120,7 +120,7 @@ public final class KolodionDialogue extends DialoguePlugin { npc("Do not waste my time with trivial questions. I am the", "Great Kolodion, master of battle magic. I have an arena", "to run."); stage++; } else { - npc("I am the great Kolodion, master of battle magic, and", "this is my battle arena. Top wizards travel from all over", GameWorld.getSettings().getName() + " to fight here."); + npc("I am the great Kolodion, master of battle magic, and", "this is my battle arena. Top wizards travel from all over", World.getSettings().getName() + " to fight here."); stage = 4; } break; @@ -183,7 +183,7 @@ public final class KolodionDialogue extends DialoguePlugin { stage++; break; case 15: - npc("Remember, traveller - in my arena, hand-to-hand", "combat is useless. Your strength will diminish as you", "enter the arena, but the spells you can learn are", "amongst the most powerful in all of " + GameWorld.getSettings().getName() + "."); + npc("Remember, traveller - in my arena, hand-to-hand", "combat is useless. Your strength will diminish as you", "enter the arena, but the spells you can learn are", "amongst the most powerful in all of " + World.getSettings().getName() + "."); stage++; break; case 16: @@ -222,7 +222,7 @@ public final class KolodionDialogue extends DialoguePlugin { end(); break; case 20: - npc("They want to crown themselves the best", "mage in all of " + GameWorld.getSettings().getName() + "!"); + npc("They want to crown themselves the best", "mage in all of " + World.getSettings().getName() + "!"); stage = 30; break; case 30: diff --git a/Server/src/main/java/core/game/content/activity/magearena/KolodionNPC.java b/Server/src/main/java/core/game/content/activity/magearena/KolodionNPC.java index 98c808d5a..0ef16fa92 100644 --- a/Server/src/main/java/core/game/content/activity/magearena/KolodionNPC.java +++ b/Server/src/main/java/core/game/content/activity/magearena/KolodionNPC.java @@ -13,7 +13,7 @@ import core.game.world.update.flag.context.Animation; import core.tools.RandomFunction; import rs09.game.node.entity.combat.CombatSwingHandler; import rs09.game.node.entity.combat.handlers.MagicSwingHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the kolodion npc. @@ -254,7 +254,7 @@ public final class KolodionNPC extends AbstractNPC { player.lock(); } player.lock(2); - GameWorld.getPulser().submit(new Pulse(1, kolodion, player) { + World.getPulser().submit(new Pulse(1, kolodion, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/activity/magearena/KolodionSession.java b/Server/src/main/java/core/game/content/activity/magearena/KolodionSession.java index 1362b201d..e00c3e10b 100644 --- a/Server/src/main/java/core/game/content/activity/magearena/KolodionSession.java +++ b/Server/src/main/java/core/game/content/activity/magearena/KolodionSession.java @@ -3,7 +3,7 @@ package core.game.content.activity.magearena; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; /** @@ -56,7 +56,7 @@ public final class KolodionSession { player.getAnimator().reset(); return; } - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override diff --git a/Server/src/main/java/core/game/content/activity/magearena/LundailDialogue.java b/Server/src/main/java/core/game/content/activity/magearena/LundailDialogue.java index a2ad927fb..06ec29238 100644 --- a/Server/src/main/java/core/game/content/activity/magearena/LundailDialogue.java +++ b/Server/src/main/java/core/game/content/activity/magearena/LundailDialogue.java @@ -3,7 +3,7 @@ package core.game.content.activity.magearena; import core.game.content.dialogue.DialoguePlugin; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the lundail dialogue. @@ -73,7 +73,7 @@ public final class LundailDialogue extends DialoguePlugin { end(); break; case 20: - npc("That, my friend is the mage battle arena. Top mages", "come from all over " + GameWorld.getSettings().getName() + " to compete in the arena."); + npc("That, my friend is the mage battle arena. Top mages", "come from all over " + World.getSettings().getName() + " to compete in the arena."); stage++; break; case 21: diff --git a/Server/src/main/java/core/game/content/activity/magearena/MageArenaPlugin.java b/Server/src/main/java/core/game/content/activity/magearena/MageArenaPlugin.java index 7000ff01f..2ddf37862 100644 --- a/Server/src/main/java/core/game/content/activity/magearena/MageArenaPlugin.java +++ b/Server/src/main/java/core/game/content/activity/magearena/MageArenaPlugin.java @@ -19,7 +19,7 @@ import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.plugin.Plugin; import rs09.game.content.global.action.PickupHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.plugin.PluginManager; /** @@ -78,7 +78,7 @@ public final class MageArenaPlugin extends OptionHandler { return true; } player.lock(1); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { handlePool(player, false, destination, (Scenery) node); @@ -172,7 +172,7 @@ public final class MageArenaPlugin extends OptionHandler { final Location middle = object.getId() == 2879 ? Location.create(2509, 4687, 0) : Location.create(2542, 4720, 0); player.lock(); AgilityHandler.walk(player, -1, start, middle, new Animation(1426), 0.0, null); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -194,7 +194,7 @@ public final class MageArenaPlugin extends OptionHandler { } player.sendMessage("You step into the pool."); AgilityHandler.walk(player, -1, start, end, new Animation(1426), 0.0, "Your boots get wet."); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/content/activity/magearena/MageArenaZone.java b/Server/src/main/java/core/game/content/activity/magearena/MageArenaZone.java index bb274329b..277d9fae3 100644 --- a/Server/src/main/java/core/game/content/activity/magearena/MageArenaZone.java +++ b/Server/src/main/java/core/game/content/activity/magearena/MageArenaZone.java @@ -5,7 +5,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.combat.CombatStyle; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -48,7 +48,7 @@ public final class MageArenaZone extends MapZone implements Plugin { if (e instanceof Player) { final Player p = (Player) e; if (!logout) { - GameWorld.getPulser().submit(new Pulse(1, e) { + World.getPulser().submit(new Pulse(1, e) { @Override public boolean pulse() { if (!p.getZoneMonitor().isInZone("mage arena")) { diff --git a/Server/src/main/java/core/game/content/activity/mta/EntranceGuardianDialogue.java b/Server/src/main/java/core/game/content/activity/mta/EntranceGuardianDialogue.java index 7fe6a502b..6fcf52b88 100644 --- a/Server/src/main/java/core/game/content/activity/mta/EntranceGuardianDialogue.java +++ b/Server/src/main/java/core/game/content/activity/mta/EntranceGuardianDialogue.java @@ -2,7 +2,7 @@ package core.game.content.activity.mta; import core.game.content.dialogue.DialoguePlugin; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the entrance guardian dialogue. @@ -261,7 +261,7 @@ public class EntranceGuardianDialogue extends DialoguePlugin { stage++; break; case 73: - npc("arena and to help fund magic shops around " + GameWorld.getSettings().getName() + ".", "You will be rewarded with 1 Pizazz Point for every", "100 coins deposited and a percentage of the money you", "create. Keep in mind that you will not be able to take"); + npc("arena and to help fund magic shops around " + World.getSettings().getName() + ".", "You will be rewarded with 1 Pizazz Point for every", "100 coins deposited and a percentage of the money you", "create. Keep in mind that you will not be able to take"); stage++; break; case 74: diff --git a/Server/src/main/java/core/game/content/activity/mta/MTAShop.java b/Server/src/main/java/core/game/content/activity/mta/MTAShop.java index 4bafd5efe..0fcc48f03 100644 --- a/Server/src/main/java/core/game/content/activity/mta/MTAShop.java +++ b/Server/src/main/java/core/game/content/activity/mta/MTAShop.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; import core.plugin.Plugin; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -68,7 +68,7 @@ public class MTAShop { public MTAShop() { container.add(ITEMS); component.setPlugin(shopPlugin); - GameWorld.getPulser().submit(new Pulse(100) { + World.getPulser().submit(new Pulse(100) { @Override public boolean pulse() { for (int i = 0; i < container.toArray().length; i++) { @@ -98,7 +98,7 @@ public class MTAShop { player.getInterfaceManager().open(component); update(); updatePoints(player); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/content/activity/mta/TelekineticGrabSpell.java b/Server/src/main/java/core/game/content/activity/mta/TelekineticGrabSpell.java index 581341e25..3086e8c04 100644 --- a/Server/src/main/java/core/game/content/activity/mta/TelekineticGrabSpell.java +++ b/Server/src/main/java/core/game/content/activity/mta/TelekineticGrabSpell.java @@ -21,7 +21,7 @@ import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; import rs09.game.content.global.action.PickupHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the telekenitic grab spell. @@ -102,7 +102,7 @@ public final class TelekineticGrabSpell extends MagicSpell { } entity.lock(2); visualize(entity, target); - GameWorld.getPulser().submit(getGrabPulse(entity, ground)); + World.getPulser().submit(getGrabPulse(entity, ground)); return true; } diff --git a/Server/src/main/java/core/game/content/activity/mta/impl/AlchemistZone.java b/Server/src/main/java/core/game/content/activity/mta/impl/AlchemistZone.java index 1282754b9..bf3442cc4 100644 --- a/Server/src/main/java/core/game/content/activity/mta/impl/AlchemistZone.java +++ b/Server/src/main/java/core/game/content/activity/mta/impl/AlchemistZone.java @@ -15,7 +15,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.zone.ZoneBorders; @@ -59,7 +59,7 @@ public class AlchemistZone extends MTAZone { /** * The pulse. */ - private static final Pulse PULSE = new Pulse(GameWorld.getSettings().isDevMode() ? 15 : 53) { + private static final Pulse PULSE = new Pulse(World.getSettings().isDevMode() ? 15 : 53) { @Override public boolean pulse() { if (PLAYERS.isEmpty()) { @@ -123,7 +123,7 @@ public class AlchemistZone extends MTAZone { if (!PULSE.isRunning()) { PULSE.restart(); PULSE.start(); - GameWorld.getPulser().submit(PULSE); + World.getPulser().submit(PULSE); } e.asPlayer().removeAttribute("alch-earn"); setSession(e.asPlayer()); diff --git a/Server/src/main/java/core/game/content/activity/mta/impl/EnchantingZone.java b/Server/src/main/java/core/game/content/activity/mta/impl/EnchantingZone.java index a298f0f06..99e1ef9eb 100644 --- a/Server/src/main/java/core/game/content/activity/mta/impl/EnchantingZone.java +++ b/Server/src/main/java/core/game/content/activity/mta/impl/EnchantingZone.java @@ -15,7 +15,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.zone.ZoneBorders; @@ -126,7 +126,7 @@ public class EnchantingZone extends MTAZone { if (!PULSE.isRunning()) { PULSE.restart(); PULSE.start(); - GameWorld.getPulser().submit(PULSE); + World.getPulser().submit(PULSE); } createGroundSpawns(e.asPlayer()); BONUS_SHAPE.setAsBonus(e.asPlayer()); @@ -180,7 +180,7 @@ public class EnchantingZone extends MTAZone { @Override public void respawn() { - GameWorld.getPulser().submit(getRespawnPulse(this)); + World.getPulser().submit(getRespawnPulse(this)); } }; items.add(item); @@ -195,7 +195,7 @@ public class EnchantingZone extends MTAZone { * @return the pulse. */ public Pulse getRespawnPulse(final GroundItem item) { - return new Pulse(GameWorld.getSettings().isDevMode() ? 45 : RandomFunction.random(700, 800)) { + return new Pulse(World.getSettings().isDevMode() ? 45 : RandomFunction.random(700, 800)) { @Override public boolean pulse() { GroundItemManager.create(item); diff --git a/Server/src/main/java/core/game/content/activity/mta/impl/GraveyardZone.java b/Server/src/main/java/core/game/content/activity/mta/impl/GraveyardZone.java index 0e7e20ecb..6300bc0eb 100644 --- a/Server/src/main/java/core/game/content/activity/mta/impl/GraveyardZone.java +++ b/Server/src/main/java/core/game/content/activity/mta/impl/GraveyardZone.java @@ -13,7 +13,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.ZoneBorders; import core.game.world.update.flag.context.Animation; @@ -121,7 +121,7 @@ public class GraveyardZone extends MTAZone { if (!PULSE.isRunning()) { PULSE.restart(); PULSE.start(); - GameWorld.getPulser().submit(PULSE); + World.getPulser().submit(PULSE); } } return super.enter(e); diff --git a/Server/src/main/java/core/game/content/activity/mta/impl/TelekineticZone.java b/Server/src/main/java/core/game/content/activity/mta/impl/TelekineticZone.java index cd9e9ea6a..781e5b6e9 100644 --- a/Server/src/main/java/core/game/content/activity/mta/impl/TelekineticZone.java +++ b/Server/src/main/java/core/game/content/activity/mta/impl/TelekineticZone.java @@ -15,7 +15,7 @@ import core.game.node.item.GroundItem; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; @@ -295,7 +295,7 @@ public class TelekineticZone extends MTAZone { return; } player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { boolean win = false; @Override diff --git a/Server/src/main/java/core/game/content/activity/partyroom/BalloonManager.java b/Server/src/main/java/core/game/content/activity/partyroom/BalloonManager.java index 8bbd52077..7e0dfabef 100644 --- a/Server/src/main/java/core/game/content/activity/partyroom/BalloonManager.java +++ b/Server/src/main/java/core/game/content/activity/partyroom/BalloonManager.java @@ -15,7 +15,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -77,16 +77,16 @@ public final class BalloonManager extends OptionHandler { if (isCountingDown()) { return; } - countdown = GameWorld.getTicks() + getDropDelay(); + countdown = World.getTicks() + getDropDelay(); final NPC partyPete = RegionManager.getNpc(new Location(3052, 3373, 0), 659, 1); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { - int realCount = --countdown - GameWorld.getTicks(); + int realCount = --countdown - World.getTicks(); for (ChestViewer viewer : PartyRoomPlugin.getViewers().values()) { viewer.getPlayer().getConfigManager().set(1135, realCount); } - if (--realCount - GameWorld.getTicks() <= 0) { + if (--realCount - World.getTicks() <= 0) { drop(); return true; } @@ -105,7 +105,7 @@ public final class BalloonManager extends OptionHandler { PartyRoomPlugin.getPartyChest().addAll(PartyRoomPlugin.getChestQueue()); PartyRoomPlugin.getChestQueue().clear(); PartyRoomPlugin.update(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int waves; @Override @@ -181,7 +181,7 @@ public final class BalloonManager extends OptionHandler { * @return {@code True} if so. */ public boolean isCountingDown() { - return countdown > GameWorld.getTicks(); + return countdown > World.getTicks(); } /** @@ -247,7 +247,7 @@ public final class BalloonManager extends OptionHandler { // Pop a party balloon player.getAchievementDiaryManager().finishTask(player, DiaryType.FALADOR, 0, 12); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/activity/partyroom/PartyRoomPlugin.java b/Server/src/main/java/core/game/content/activity/partyroom/PartyRoomPlugin.java index a6ae4b2ee..4c03b75e8 100644 --- a/Server/src/main/java/core/game/content/activity/partyroom/PartyRoomPlugin.java +++ b/Server/src/main/java/core/game/content/activity/partyroom/PartyRoomPlugin.java @@ -22,7 +22,7 @@ import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; import kotlin.Unit; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -144,7 +144,7 @@ public final class PartyRoomPlugin extends OptionHandler { npc.init(); npcs.add(npc); } - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int count = 0; @Override diff --git a/Server/src/main/java/core/game/content/activity/pestcontrol/PCObjectHandler.java b/Server/src/main/java/core/game/content/activity/pestcontrol/PCObjectHandler.java index c7ae1396e..197688945 100644 --- a/Server/src/main/java/core/game/content/activity/pestcontrol/PCObjectHandler.java +++ b/Server/src/main/java/core/game/content/activity/pestcontrol/PCObjectHandler.java @@ -1,7 +1,7 @@ package core.game.content.activity.pestcontrol; import core.cache.def.impl.SceneryDefinition; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.content.activity.ActivityManager; import core.game.interaction.OptionHandler; import core.game.node.Node; @@ -102,8 +102,8 @@ public final class PCObjectHandler extends OptionHandler { } switch (object.getId()){ case 14315: // Novice - if (!GameWorld.getPCnBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with - GameWorld.setPCnBotsSpawned(true); + if (!World.getPCnBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with + World.setPCnBotsSpawned(true); for (pestBotsAmount = 0; pestBotsAmount <= 35; pestBotsAmount++) { PvMBotsBuilder.createPestControlTestBot(new Location(2657, 2640)); } @@ -115,8 +115,8 @@ public final class PCObjectHandler extends OptionHandler { startActivity(player, "pest control novice", Location.create(2661, 2639, 0)); return true; case 25631: // Intermediate - if (!GameWorld.getPCiBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with - GameWorld.setPCiBotsSpawned(true); + if (!World.getPCiBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with + World.setPCiBotsSpawned(true); for (pestBots2Amount = 0; pestBots2Amount <= 50; pestBots2Amount++ ) { PvMBotsBuilder.createPestControlTestBot2(new Location(2644, 2644)); } diff --git a/Server/src/main/java/core/game/content/activity/pestcontrol/PestControlActivityPlugin.java b/Server/src/main/java/core/game/content/activity/pestcontrol/PestControlActivityPlugin.java index af996fd2e..25c071a4b 100644 --- a/Server/src/main/java/core/game/content/activity/pestcontrol/PestControlActivityPlugin.java +++ b/Server/src/main/java/core/game/content/activity/pestcontrol/PestControlActivityPlugin.java @@ -18,8 +18,7 @@ import core.game.node.entity.state.EntityState; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.ai.AIPlayer; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; import core.game.world.map.zone.RegionZone; @@ -152,7 +151,7 @@ public final class PestControlActivityPlugin extends ActivityPlugin { p.getStateManager().remove(EntityState.POISONED); } PulseManager.cancelDeathTask(p); - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { p.getSkills().restore(); @@ -235,7 +234,7 @@ public final class PestControlActivityPlugin extends ActivityPlugin { ZoneBuilder.configure(new PCIslandZone()); } pulse.start(); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); } @Override diff --git a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCBrawlerNPC.java b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCBrawlerNPC.java index 830e3cca7..7c69a6797 100644 --- a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCBrawlerNPC.java +++ b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCBrawlerNPC.java @@ -4,23 +4,9 @@ import core.game.content.activity.pestcontrol.PestControlSession; import core.game.node.entity.Entity; import core.game.node.entity.combat.BattleState; import core.game.node.entity.combat.CombatStyle; -import core.game.node.entity.combat.InteractionType; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import core.game.system.task.Pulse; import core.game.world.map.Location; -import core.game.world.map.RegionManager; -import core.game.world.update.flag.context.Animation; -import core.game.world.update.flag.context.Graphics; -import core.tools.RandomFunction; -import rs09.game.node.entity.combat.CombatPulse; -import rs09.game.node.entity.combat.CombatSwingHandler; -import rs09.game.node.entity.combat.handlers.MeleeSwingHandler; -import rs09.game.world.GameWorld; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; /** * Handles the pest control brawler NPCs. diff --git a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCRavagerNPC.java b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCRavagerNPC.java index 000846402..79ebbf55c 100644 --- a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCRavagerNPC.java +++ b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCRavagerNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.MapDistance; import core.game.world.map.path.Pathfinder; @@ -98,7 +98,7 @@ public class PCRavagerNPC extends AbstractNPC { } else { if (!target.isActive() || !session.getBarricades().contains(target)) { attack(null); - } else if (nextAttack < GameWorld.getTicks() && getLocation().withinDistance(target.getLocation(), 1)) { + } else if (nextAttack < World.getTicks() && getLocation().withinDistance(target.getLocation(), 1)) { getPulseManager().clear(); setWalks(false); super.getWalkingQueue().reset(); @@ -110,7 +110,7 @@ public class PCRavagerNPC extends AbstractNPC { int type = destroyed ? 22 : target.getType(); final Scenery o = target; final Scenery newTarget = o.transform(newId, o.getRotation(), type); - GameWorld.getPulser().submit(new Pulse(1, this, o) { + World.getPulser().submit(new Pulse(1, this, o) { @Override public boolean pulse() { if (getViewport().getRegion().isActive() && session.getBarricades().remove(o)) { @@ -124,7 +124,7 @@ public class PCRavagerNPC extends AbstractNPC { if (destroyed) { attack(null); } - nextAttack = GameWorld.getTicks() + 5; + nextAttack = World.getTicks() + 5; } } } else { diff --git a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCShifterNPC.java b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCShifterNPC.java index 88a3a3261..3c936d11b 100644 --- a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCShifterNPC.java +++ b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCShifterNPC.java @@ -17,7 +17,7 @@ import core.tools.RandomFunction; import rs09.game.node.entity.combat.CombatPulse; import rs09.game.node.entity.combat.CombatSwingHandler; import rs09.game.node.entity.combat.handlers.MeleeSwingHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.Collections; @@ -149,7 +149,7 @@ public final class PCShifterNPC extends AbstractNPC { entity.getWalkingQueue().reset(); entity.getLocks().lockMovement(2); entity.lock(3); - GameWorld.getPulser().submit(new Pulse(1, entity) { + World.getPulser().submit(new Pulse(1, entity) { @Override public boolean pulse() { entity.animate(Animation.create(3904)); diff --git a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSpinnerNPC.java b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSpinnerNPC.java index 917b2dba2..26954f886 100644 --- a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSpinnerNPC.java +++ b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSpinnerNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.state.EntityState; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -102,7 +102,7 @@ public final class PCSpinnerNPC extends AbstractNPC { p.setAttribute("/save:poison_damage", 18); p.getStateManager().register(EntityState.POISONED, false, 18, this); } - GameWorld.getPulser().submit(new Pulse(1, this) { + World.getPulser().submit(new Pulse(1, this) { @Override public boolean pulse() { clear(); diff --git a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSplatterNPC.java b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSplatterNPC.java index a6eea8314..522207fe0 100644 --- a/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSplatterNPC.java +++ b/Server/src/main/java/core/game/content/activity/pestcontrol/monsters/PCSplatterNPC.java @@ -11,7 +11,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -99,7 +99,7 @@ public final class PCSplatterNPC extends AbstractNPC { public void commenceDeath(Entity killer) { exploding = true; visualize(new Animation(3888, Priority.VERY_HIGH), Graphics.create(649 + (getId() - 3727))); - GameWorld.getPulser().submit(new Pulse(1, this) { + World.getPulser().submit(new Pulse(1, this) { @Override public boolean pulse() { explode(); diff --git a/Server/src/main/java/core/game/content/activity/puropuro/ImpDefenderNPC.java b/Server/src/main/java/core/game/content/activity/puropuro/ImpDefenderNPC.java index 26288bb34..59b45e3d1 100644 --- a/Server/src/main/java/core/game/content/activity/puropuro/ImpDefenderNPC.java +++ b/Server/src/main/java/core/game/content/activity/puropuro/ImpDefenderNPC.java @@ -9,7 +9,7 @@ import core.game.node.entity.skill.hunter.bnet.ImplingNode; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.tools.RandomFunction; @@ -70,7 +70,7 @@ public final class ImpDefenderNPC extends AbstractNPC { faceTemporary(player, 1); sendChat("Be free!"); player.getInventory().remove(node.getReward()); - player.setAttribute("imp-steal", GameWorld.getTicks() + 500); + player.setAttribute("imp-steal", World.getTicks() + 500); } } @@ -80,7 +80,7 @@ public final class ImpDefenderNPC extends AbstractNPC { * @return {@code True} if so. */ private boolean canSteal(Player player) { - if (!GameWorld.getSettings().isDevMode() && player.getAttribute("imp-steal", 0) > GameWorld.getTicks()) { + if (!World.getSettings().isDevMode() && player.getAttribute("imp-steal", 0) > World.getTicks()) { return false; } int thievingLevel = player.getSkills().getLevel(Skills.THIEVING); diff --git a/Server/src/main/java/core/game/content/activity/puropuro/PuroPuroPlugin.java b/Server/src/main/java/core/game/content/activity/puropuro/PuroPuroPlugin.java index fede65a3f..e1ea78743 100644 --- a/Server/src/main/java/core/game/content/activity/puropuro/PuroPuroPlugin.java +++ b/Server/src/main/java/core/game/content/activity/puropuro/PuroPuroPlugin.java @@ -20,7 +20,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -97,7 +97,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin { spawnWheat(); PULSE.restart(); PULSE.start(); - GameWorld.getPulser().submit(PULSE); + World.getPulser().submit(PULSE); } return super.enter(e); } @@ -161,7 +161,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin { player.sendMessage("You use your strength to push through the wheat. It's hard work though."); } player.setAttribute("cantMove", true); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { ForceMovement.run(player, player.getLocation(), dest, Animation.create(6594), Animation.create(6594), Direction.getLogicalDirection(player.getLocation(), object.getLocation()), 3, 3); @@ -427,7 +427,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin { * Whilts the wheat. */ public void whilt() { - busyTicks = GameWorld.getTicks() + 5; + busyTicks = World.getTicks() + 5; for (Scenery object : objects) { if (object == null) { continue; @@ -455,7 +455,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin { * Sets the next whilt. */ public void setNextWhilt() { - this.nextWhilt = GameWorld.getTicks() + RandomFunction.random(40, 300); + this.nextWhilt = World.getTicks() + RandomFunction.random(40, 300); } /** @@ -463,7 +463,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin { * @return {@code True} if so. */ public boolean canWhilt() { - return GameWorld.getTicks() > nextWhilt && GameWorld.getTicks() > busyTicks; + return World.getTicks() > nextWhilt && World.getTicks() > busyTicks; } /** diff --git a/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderNPC.java b/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderNPC.java index 4b062cb62..a7c6695dc 100644 --- a/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderNPC.java +++ b/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderNPC.java @@ -5,7 +5,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.combat.CombatStyle; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.path.Pathfinder; @@ -56,7 +56,7 @@ public abstract class PyramidPlunderNPC extends AbstractNPC { public PyramidPlunderNPC(int id, Location location, Player player) { super(id, location); this.player = player; - this.endTime = (int) (GameWorld.getTicks() + (1000 / 0.6)); + this.endTime = (int) (World.getTicks() + (1000 / 0.6)); } @Override @@ -72,7 +72,7 @@ public abstract class PyramidPlunderNPC extends AbstractNPC { @Override public void handleTickActions() { - if (GameWorld.getTicks() > endTime) { + if (World.getTicks() > endTime) { clear(); } if (!getLocks().isMovementLocked()) { @@ -87,11 +87,11 @@ public abstract class PyramidPlunderNPC extends AbstractNPC { startFollowing(); } if (quotes != null) { - if (nextSpeech < GameWorld.getTicks() && this.getDialoguePlayer() == null && !this.getLocks().isMovementLocked()) { + if (nextSpeech < World.getTicks() && this.getDialoguePlayer() == null && !this.getLocks().isMovementLocked()) { if (count > quotes.length - 1) { return; } - nextSpeech = (int) (GameWorld.getTicks() + (20 / 0.5)); + nextSpeech = (int) (World.getTicks() + (20 / 0.5)); if (++count >= quotes.length) { setTimeUp(true); handleTimeUp(); diff --git a/Server/src/main/java/core/game/content/activity/stronghold/StrongHoldSecurityPlugin.java b/Server/src/main/java/core/game/content/activity/stronghold/StrongHoldSecurityPlugin.java index 50227a414..92f17ae80 100644 --- a/Server/src/main/java/core/game/content/activity/stronghold/StrongHoldSecurityPlugin.java +++ b/Server/src/main/java/core/game/content/activity/stronghold/StrongHoldSecurityPlugin.java @@ -17,7 +17,7 @@ import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -218,7 +218,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Pluginentering the training centre."); } else { - npc("In your travels around " + GameWorld.getSettings().getName() + ", should you find a", "player who acts in a way that breaks on of our rules,", "you should report them."); + npc("In your travels around " + World.getSettings().getName() + ", should you find a", "player who acts in a way that breaks on of our rules,", "you should report them."); } increment(); break; @@ -74,7 +74,7 @@ public class GuardDialoguePlugin extends DialoguePlugin { stage = read ? 10 : stage + 1; break; case 5: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Each of these gublinches have been caught breaking the", "Rules of " + GameWorld.getSettings().getName() + ". You should read the plaques on", "each of their cells to learn what they did wrong."); + interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Each of these gublinches have been caught breaking the", "Rules of " + World.getSettings().getName() + ". You should read the plaques on", "each of their cells to learn what they did wrong."); increment(); break; case 6: @@ -97,7 +97,7 @@ public class GuardDialoguePlugin extends DialoguePlugin { case 10: if (read) { player.getInterfaceManager().open(new Component(700)); - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightCavesPlugin.java b/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightCavesPlugin.java index 55d058535..e051073c3 100644 --- a/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightCavesPlugin.java +++ b/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightCavesPlugin.java @@ -19,7 +19,7 @@ import core.game.world.map.build.DynamicRegion; import core.game.world.map.zone.ZoneRestriction; import core.plugin.Initializable; import core.tools.RandomFunction; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import java.util.ArrayList; @@ -129,7 +129,7 @@ public final class TzhaarFightCavesPlugin extends ActivityPlugin { }; } player.setAttribute("fc:pulse", pulse); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); return true; } @@ -222,7 +222,7 @@ public final class TzhaarFightCavesPlugin extends ActivityPlugin { } }; player.setAttribute("fc:pulse", pulse); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); } } } diff --git a/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightPitsPlugin.java b/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightPitsPlugin.java index 06f651c79..be84826f6 100644 --- a/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightPitsPlugin.java +++ b/Server/src/main/java/core/game/content/activity/tzhaar/TzhaarFightPitsPlugin.java @@ -24,7 +24,7 @@ import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.zone.ZoneBorders; @@ -279,7 +279,7 @@ public final class TzhaarFightPitsPlugin extends ActivityPlugin { public void configure() { register(new ZoneBorders(2368, 5120, 2420, 5176)); PULSE.start(); - GameWorld.getPulser().submit(PULSE); + World.getPulser().submit(PULSE); } @Override @@ -329,7 +329,7 @@ public final class TzhaarFightPitsPlugin extends ActivityPlugin { } }; p.setAttribute("fp_pulse", pl); - GameWorld.getPulser().submit(pl); + World.getPulser().submit(pl); } break; } diff --git a/Server/src/main/java/core/game/content/activity/wguild/animator/AnimationRoom.java b/Server/src/main/java/core/game/content/activity/wguild/animator/AnimationRoom.java index 67fbb13fe..bdf4e466b 100644 --- a/Server/src/main/java/core/game/content/activity/wguild/animator/AnimationRoom.java +++ b/Server/src/main/java/core/game/content/activity/wguild/animator/AnimationRoom.java @@ -11,7 +11,7 @@ import core.game.node.scenery.Scenery; import core.game.system.task.ItemLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -122,7 +122,7 @@ public final class AnimationRoom extends MapZone implements Plugin { player.lock(10); player.animate(Animation.create(827)); player.getDialogueInterpreter().sendPlainMessage(true, "You place your armour on the platform where it", "disappears..."); - GameWorld.getPulser().submit(new Pulse(5, player) { + World.getPulser().submit(new Pulse(5, player) { boolean spawn; @Override diff --git a/Server/src/main/java/core/game/content/activity/wguild/barrel/BarrelRoom.java b/Server/src/main/java/core/game/content/activity/wguild/barrel/BarrelRoom.java index 50b3eaa64..98b6a63d6 100644 --- a/Server/src/main/java/core/game/content/activity/wguild/barrel/BarrelRoom.java +++ b/Server/src/main/java/core/game/content/activity/wguild/barrel/BarrelRoom.java @@ -15,7 +15,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; import core.game.world.map.zone.ZoneBuilder; @@ -118,7 +118,7 @@ public final class BarrelRoom extends MapZone implements Plugin { lock.lock(); player.getLocks().setEquipmentLock(lock); player.getPacketDispatch().sendMessage("You pick up the keg and balance it on your head carefully."); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.getEquipment().replace(new Item(barrelId), EquipmentContainer.SLOT_HAT); @@ -133,7 +133,7 @@ public final class BarrelRoom extends MapZone implements Plugin { if (!pulse.isRunning()) { pulse.restart(); pulse.start(); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); } } return true; diff --git a/Server/src/main/java/core/game/content/activity/wguild/catapult/CatapultRoom.java b/Server/src/main/java/core/game/content/activity/wguild/catapult/CatapultRoom.java index c19811a5b..5c82ac64f 100644 --- a/Server/src/main/java/core/game/content/activity/wguild/catapult/CatapultRoom.java +++ b/Server/src/main/java/core/game/content/activity/wguild/catapult/CatapultRoom.java @@ -22,7 +22,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.zone.MapZone; @@ -115,7 +115,7 @@ public final class CatapultRoom extends MapZone implements Plugin { @Override public boolean pulse() { attack = RandomFunction.getRandomElement(CatapultAttack.values()); - GameWorld.getPulser().submit(new Pulse(7) { + World.getPulser().submit(new Pulse(7) { @Override public boolean pulse() { for (Player p : players) { @@ -235,7 +235,7 @@ public final class CatapultRoom extends MapZone implements Plugin { if (!pulse.isRunning()) { pulse.restart(); pulse.start(); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); } } return super.enter(e); diff --git a/Server/src/main/java/core/game/content/activity/wguild/cyclopes/CyclopesRoom.java b/Server/src/main/java/core/game/content/activity/wguild/cyclopes/CyclopesRoom.java index 4ef808d96..3c94540a9 100644 --- a/Server/src/main/java/core/game/content/activity/wguild/cyclopes/CyclopesRoom.java +++ b/Server/src/main/java/core/game/content/activity/wguild/cyclopes/CyclopesRoom.java @@ -19,7 +19,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.path.Pathfinder; @@ -197,7 +197,7 @@ public final class CyclopesRoom extends MapZone implements Plugin { if (!PULSE.isRunning()) { PULSE.restart(); PULSE.start(); - GameWorld.getPulser().submit(PULSE); + World.getPulser().submit(PULSE); } } diff --git a/Server/src/main/java/core/game/content/activity/wguild/dummy/DummyRoom.java b/Server/src/main/java/core/game/content/activity/wguild/dummy/DummyRoom.java index 060e58927..e96a22d0e 100644 --- a/Server/src/main/java/core/game/content/activity/wguild/dummy/DummyRoom.java +++ b/Server/src/main/java/core/game/content/activity/wguild/dummy/DummyRoom.java @@ -11,7 +11,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.chunk.AnimateObjectUpdateFlag; @@ -101,7 +101,7 @@ public final class DummyRoom extends OptionHandler { for (Dummy dummy : Dummy.values()) { SceneryDefinition.forId(dummy.getObject().getId()).getHandlers().put("option:hit", this); } - GameWorld.getPulser().submit(new Pulse(10) { + World.getPulser().submit(new Pulse(10) { boolean activeDummy; Scenery controlled; @@ -109,7 +109,7 @@ public final class DummyRoom extends OptionHandler { public boolean pulse() { if (!activeDummy) { setDelay(10); - timeStamp = GameWorld.getTicks(); + timeStamp = World.getTicks(); dummy = RandomFunction.getRandomElement(Dummy.values()); SceneryBuilder.replace(RegionManager.getObject(dummy.getObject().getLocation()), dummy.getObject(), 11); activeDummy = true; diff --git a/Server/src/main/java/core/game/content/activity/wguild/shot/ShotPutRoom.java b/Server/src/main/java/core/game/content/activity/wguild/shot/ShotPutRoom.java index 8504dc572..a48215ec8 100644 --- a/Server/src/main/java/core/game/content/activity/wguild/shot/ShotPutRoom.java +++ b/Server/src/main/java/core/game/content/activity/wguild/shot/ShotPutRoom.java @@ -18,7 +18,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -52,7 +52,7 @@ public final class ShotPutRoom extends DialoguePlugin { } player.lock(4); player.animate(Animation.create(827)); - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { player.faceLocation(player.getLocation().transform(3, 0, 0)); @@ -158,7 +158,7 @@ public final class ShotPutRoom extends DialoguePlugin { final boolean failed = distance < 2; final int tiles = distance; player.getPacketDispatch().sendMessage("You take a deep breath and prepare yourself."); - GameWorld.getPulser().submit(new Pulse(delay, player) { + World.getPulser().submit(new Pulse(delay, player) { Location loc = player.getLocation(); boolean thrown; diff --git a/Server/src/main/java/core/game/content/consumable/effects/SetAttributeEffect.java b/Server/src/main/java/core/game/content/consumable/effects/SetAttributeEffect.java index 6a2b6776c..8c6182d0f 100644 --- a/Server/src/main/java/core/game/content/consumable/effects/SetAttributeEffect.java +++ b/Server/src/main/java/core/game/content/consumable/effects/SetAttributeEffect.java @@ -1,7 +1,7 @@ package core.game.content.consumable.effects; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.content.consumable.ConsumableEffect; public class SetAttributeEffect extends ConsumableEffect { @@ -28,7 +28,7 @@ public class SetAttributeEffect extends ConsumableEffect { @Override public void activate(Player p) { if(isTicks){ - int val = (Integer) attrValue + GameWorld.getTicks(); + int val = (Integer) attrValue + World.getTicks(); p.setAttribute(attrString,val); return; } diff --git a/Server/src/main/java/core/game/content/cutscene/DBRCutscenePlugin.java b/Server/src/main/java/core/game/content/cutscene/DBRCutscenePlugin.java index df29bf950..110338553 100644 --- a/Server/src/main/java/core/game/content/cutscene/DBRCutscenePlugin.java +++ b/Server/src/main/java/core/game/content/cutscene/DBRCutscenePlugin.java @@ -22,7 +22,7 @@ import core.game.node.item.ItemPlugin; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -209,7 +209,7 @@ public final class DBRCutscenePlugin extends CutscenePlugin { @Override public void open() { setNpcs(); - GameWorld.getPulser().submit(recordingPulse); + World.getPulser().submit(recordingPulse); player.lock(); player.getLocks().lockMovement(10000000); camera(27, 45, -14, 2, 700, 100); @@ -459,7 +459,7 @@ public final class DBRCutscenePlugin extends CutscenePlugin { * Method used to clear all the npcs. */ private void clearNpcs() { - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { for (NPC n : region.getPlanes()[0].getNpcs()) { diff --git a/Server/src/main/java/core/game/content/cutscene/GECutscenePlugin.java b/Server/src/main/java/core/game/content/cutscene/GECutscenePlugin.java index 0106ab8f3..d7163c540 100644 --- a/Server/src/main/java/core/game/content/cutscene/GECutscenePlugin.java +++ b/Server/src/main/java/core/game/content/cutscene/GECutscenePlugin.java @@ -11,7 +11,7 @@ import core.game.ge.GEGuidePrice; import core.game.ge.GEGuidePrice.GuideType; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.net.packet.PacketRepository; import core.net.packet.context.CameraContext; @@ -222,7 +222,7 @@ public final class GECutscenePlugin extends CutscenePlugin { case 100: close(); camera(player, 3149, 3470, 1, 1, 870, 10); - GameWorld.getPulser().submit(new Pulse(16, player) { + World.getPulser().submit(new Pulse(16, player) { @Override public boolean pulse() { npc("Welcome, my friend to the Grand Exchange! From", "here you can simply tell us what you want to buy or", "sell and for how much, and we'll pair you up with", "another player and make the trade!"); @@ -450,7 +450,7 @@ public final class GECutscenePlugin extends CutscenePlugin { stage = 252; break; case 252: - npc("So, in the end, I decided why not make this a " + GameWorld.getSettings().getName() + "-", "wide phenomenon? Make it public and allow anyone to join", "in. Up to this point, it catered for people buying and selling", "large quantities, but I knew it would work on a smaller"); + npc("So, in the end, I decided why not make this a " + World.getSettings().getName() + "-", "wide phenomenon? Make it public and allow anyone to join", "in. Up to this point, it catered for people buying and selling", "large quantities, but I knew it would work on a smaller"); stage = 253; break; case 253: @@ -458,7 +458,7 @@ public final class GECutscenePlugin extends CutscenePlugin { stage = 254; break; case 254: - npc("And I was also in for a bit of luck. You see, one of the", "initial patrons had deep connections to the banks of", "" + GameWorld.getSettings().getName() + ". Together, I think you'll agree we have a most", "friendly system."); + npc("And I was also in for a bit of luck. You see, one of the", "initial patrons had deep connections to the banks of", "" + World.getSettings().getName() + ". Together, I think you'll agree we have a most", "friendly system."); stage = 255; break; case 255: @@ -543,7 +543,7 @@ public final class GECutscenePlugin extends CutscenePlugin { case 13: player.getInterfaceManager().close(); player.setAttribute("ge-stage", 5); - player.getDialogueInterpreter().sendDialogues(6522, null, "Step 5: When the trade is complete, we will let you", "know with a message and you can pick up your", "winnings by talking to the clerks or by visiting any", "banker in " + GameWorld.getSettings().getName() + "."); + player.getDialogueInterpreter().sendDialogues(6522, null, "Step 5: When the trade is complete, we will let you", "know with a message and you can pick up your", "winnings by talking to the clerks or by visiting any", "banker in " + World.getSettings().getName() + "."); break; } break; diff --git a/Server/src/main/java/core/game/content/cutscene/JulietDialogue.java b/Server/src/main/java/core/game/content/cutscene/JulietDialogue.java index e78cd5112..6dba3fec0 100644 --- a/Server/src/main/java/core/game/content/cutscene/JulietDialogue.java +++ b/Server/src/main/java/core/game/content/cutscene/JulietDialogue.java @@ -10,7 +10,7 @@ import core.game.node.item.GroundItem; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.path.Path; import core.game.world.map.path.Pathfinder; import rs09.game.world.repository.Repository; @@ -141,7 +141,7 @@ public final class JulietDialogue extends DialoguePlugin { break; case 2003: close(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override @@ -163,7 +163,7 @@ public final class JulietDialogue extends DialoguePlugin { case 2004: close(); npc.animate(new Animation(836)); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/cutscene/OrganCutScene.java b/Server/src/main/java/core/game/content/cutscene/OrganCutScene.java index 61427a5c5..25edf8d9a 100644 --- a/Server/src/main/java/core/game/content/cutscene/OrganCutScene.java +++ b/Server/src/main/java/core/game/content/cutscene/OrganCutScene.java @@ -7,7 +7,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.build.DynamicRegion; @@ -50,7 +50,7 @@ public final class OrganCutScene extends CutscenePlugin { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.POSITION, player.getLocation().getX() + 2, player.getLocation().getY() - 7, 405, 1, 100)); PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.ROTATION, player.getLocation().getX() + 1, player.getLocation().getY(), 405, 1, 100)); player.lock(); - GameWorld.getPulser().submit(new Pulse(3) { + World.getPulser().submit(new Pulse(3) { @Override public boolean pulse() { player.getPacketDispatch().sendSceneryAnimation(RegionManager.getObject(base.transform(42, 14, 0)), new Animation(9841)); @@ -59,7 +59,7 @@ public final class OrganCutScene extends CutscenePlugin { return true; } }); - GameWorld.getPulser().submit(new Pulse(30) { + World.getPulser().submit(new Pulse(30) { @Override public boolean pulse() { unpause(); diff --git a/Server/src/main/java/core/game/content/cutscene/RJCutscenePlugin.java b/Server/src/main/java/core/game/content/cutscene/RJCutscenePlugin.java index ed94f6b8a..f9d9ebb29 100644 --- a/Server/src/main/java/core/game/content/cutscene/RJCutscenePlugin.java +++ b/Server/src/main/java/core/game/content/cutscene/RJCutscenePlugin.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; @@ -677,7 +677,7 @@ public final class RJCutscenePlugin extends CutscenePlugin { rot = new CameraContext(player, CameraType.ROTATION, x - 1, y - 2, height, other, speed); PacketRepository.send(CameraViewPacket.class, pos); PacketRepository.send(CameraViewPacket.class, rot); - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { int x = player.getLocation().getX(); @@ -715,7 +715,7 @@ public final class RJCutscenePlugin extends CutscenePlugin { close(); npc.getWalkingQueue().reset(); npc.getWalkingQueue().addPath(cutscene.getBase().transform(19, 35, 0).getX(), cutscene.getBase().transform(19, 35, 0).getY()); - GameWorld.getPulser().submit(new Pulse(12) { + World.getPulser().submit(new Pulse(12) { @Override public boolean pulse() { interpreter.sendDialogues(npc, null, "Hey...Juliet..."); diff --git a/Server/src/main/java/core/game/content/dialogue/AablaDialogue.java b/Server/src/main/java/core/game/content/dialogue/AablaDialogue.java index 5f85a8244..5a91a60d0 100644 --- a/Server/src/main/java/core/game/content/dialogue/AablaDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/AablaDialogue.java @@ -4,7 +4,7 @@ import core.game.node.entity.skill.Skills; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.update.flag.context.Animation; @@ -87,7 +87,7 @@ public final class AablaDialogue extends DialoguePlugin { npc.animate(ANIMATION); player.lock(4); close(); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { if (player.getSkills().getLifepoints() == player.getSkills().getStaticLevel(Skills.HITPOINTS)) { diff --git a/Server/src/main/java/core/game/content/dialogue/CaptainBentleyDialogue.java b/Server/src/main/java/core/game/content/dialogue/CaptainBentleyDialogue.java index 9ba748def..b932cff81 100644 --- a/Server/src/main/java/core/game/content/dialogue/CaptainBentleyDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/CaptainBentleyDialogue.java @@ -4,7 +4,7 @@ import core.game.component.Component; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.net.packet.PacketRepository; import core.net.packet.context.MinimapStateContext; @@ -79,7 +79,7 @@ public class CaptainBentleyDialogue extends DialoguePlugin { */ private void travel(final Player player, final Location location) { player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/dialogue/DonieDialogue.java b/Server/src/main/java/core/game/content/dialogue/DonieDialogue.java index 6ce8ea051..2f0d486ee 100644 --- a/Server/src/main/java/core/game/content/dialogue/DonieDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/DonieDialogue.java @@ -3,7 +3,7 @@ package core.game.content.dialogue; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the dialogue plugin used for the donie npc. @@ -75,7 +75,7 @@ public final class DonieDialogue extends DialoguePlugin { stage = 1; break; case 20: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Aye, not too bad thank you. Lovely weather in", "" + GameWorld.getSettings().getName() + " this fine day."); + interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Aye, not too bad thank you. Lovely weather in", "" + World.getSettings().getName() + " this fine day."); stage = 21; break; case 21: diff --git a/Server/src/main/java/core/game/content/dialogue/DoricDialogue.java b/Server/src/main/java/core/game/content/dialogue/DoricDialogue.java index c5601462a..4e82a70f0 100644 --- a/Server/src/main/java/core/game/content/dialogue/DoricDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/DoricDialogue.java @@ -6,7 +6,7 @@ import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the dialogue plugin used for the doric npc. @@ -165,7 +165,7 @@ public final class DoricDialogue extends DialoguePlugin { end(); break; case 50: - interpreter.sendDialogues(npc, FacialExpression.OLD_NORMAL, "I make pickaxes. I am the best maker of pickaxes in the", "whole of " + GameWorld.getSettings().getName() + "."); + interpreter.sendDialogues(npc, FacialExpression.OLD_NORMAL, "I make pickaxes. I am the best maker of pickaxes in the", "whole of " + World.getSettings().getName() + "."); stage = 51; break; case 51: diff --git a/Server/src/main/java/core/game/content/dialogue/FaladorSquireDialogue.java b/Server/src/main/java/core/game/content/dialogue/FaladorSquireDialogue.java index d5d97c6b8..d050f136a 100644 --- a/Server/src/main/java/core/game/content/dialogue/FaladorSquireDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/FaladorSquireDialogue.java @@ -8,7 +8,7 @@ import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the falador squire dialogue plugin. @@ -521,7 +521,7 @@ public final class FaladorSquireDialogue extends DialoguePlugin { } break; case 160: - npc("I'm not a hundred percent sure the Imcando tribe", "exists anymore. I should think Reldo, the palace", "librarian in Varrock, will know; he has done a lot of", "research on the races of " + GameWorld.getSettings().getName() + "."); + npc("I'm not a hundred percent sure the Imcando tribe", "exists anymore. I should think Reldo, the palace", "librarian in Varrock, will know; he has done a lot of", "research on the races of " + World.getSettings().getName() + "."); stage = 161; break; case 161: diff --git a/Server/src/main/java/core/game/content/dialogue/GertrudesCatDialogue.java b/Server/src/main/java/core/game/content/dialogue/GertrudesCatDialogue.java index f9a8f35d0..4bbd2064b 100644 --- a/Server/src/main/java/core/game/content/dialogue/GertrudesCatDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/GertrudesCatDialogue.java @@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.update.flag.context.Animation; @@ -144,7 +144,7 @@ public final class GertrudesCatDialogue extends DialoguePlugin { if (quest.getStage(player) == 40) { return true; } - GameWorld.getPulser().submit(new Pulse(7, player) { + World.getPulser().submit(new Pulse(7, player) { @Override public boolean pulse() { end(); diff --git a/Server/src/main/java/core/game/content/dialogue/GnomeSpiritTreeDialogue.java b/Server/src/main/java/core/game/content/dialogue/GnomeSpiritTreeDialogue.java index 403cca888..e9d25f2d4 100644 --- a/Server/src/main/java/core/game/content/dialogue/GnomeSpiritTreeDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/GnomeSpiritTreeDialogue.java @@ -3,7 +3,7 @@ package core.game.content.dialogue; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -104,7 +104,7 @@ public final class GnomeSpiritTreeDialogue extends DialoguePlugin { */ private void sendTeleport(final Player player, final Location location) { end(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int loop; @Override diff --git a/Server/src/main/java/core/game/content/dialogue/GrandExchangeTutor.java b/Server/src/main/java/core/game/content/dialogue/GrandExchangeTutor.java index 63ff47cf7..3fd7c3957 100644 --- a/Server/src/main/java/core/game/content/dialogue/GrandExchangeTutor.java +++ b/Server/src/main/java/core/game/content/dialogue/GrandExchangeTutor.java @@ -3,7 +3,7 @@ package core.game.content.dialogue; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the dialogue plugin used for the grand exchange tutor. @@ -95,7 +95,7 @@ public final class GrandExchangeTutor extends DialoguePlugin { stage = 17; break; case 17: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, getRed() + "Step 4: When the trade is complete, we will send you a", "message. You can collect your stuff by talking to the", "clerks or by visiting any banker in " + GameWorld.getSettings().getName() + "."); + interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, getRed() + "Step 4: When the trade is complete, we will send you a", "message. You can collect your stuff by talking to the", "clerks or by visiting any banker in " + World.getSettings().getName() + "."); stage = 18; break; case 18: diff --git a/Server/src/main/java/core/game/content/dialogue/IgnatiusVulcanDialogue.java b/Server/src/main/java/core/game/content/dialogue/IgnatiusVulcanDialogue.java index aec85e33c..bd84d7569 100644 --- a/Server/src/main/java/core/game/content/dialogue/IgnatiusVulcanDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/IgnatiusVulcanDialogue.java @@ -8,7 +8,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -233,9 +233,9 @@ public final class IgnatiusVulcanDialogue extends DialoguePlugin { @Override public void tick() { - if (lastFire < GameWorld.getTicks()) { + if (lastFire < World.getTicks()) { createFire(this, getLocation()); - lastFire = GameWorld.getTicks() + RandomFunction.random(50, 200); + lastFire = World.getTicks() + RandomFunction.random(50, 200); } super.tick(); } diff --git a/Server/src/main/java/core/game/content/dialogue/InformationclerkMuseumDialogue.java b/Server/src/main/java/core/game/content/dialogue/InformationclerkMuseumDialogue.java index 8ec9f2258..060eeb86d 100644 --- a/Server/src/main/java/core/game/content/dialogue/InformationclerkMuseumDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/InformationclerkMuseumDialogue.java @@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import org.rs09.consts.Items; /** @@ -110,7 +110,7 @@ public final class InformationclerkMuseumDialogue extends DialoguePlugin { stage = 153; break; case 180: - npc("Why, yes. The Natural History exhibit has displays of", "various creatures you can find around " + GameWorld.getSettings().getName() + "."); + npc("Why, yes. The Natural History exhibit has displays of", "various creatures you can find around " + World.getSettings().getName() + "."); stage = 181; break; case 181: diff --git a/Server/src/main/java/core/game/content/dialogue/KittenInteractDialogue.java b/Server/src/main/java/core/game/content/dialogue/KittenInteractDialogue.java index f9b024785..f500c30fe 100644 --- a/Server/src/main/java/core/game/content/dialogue/KittenInteractDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/KittenInteractDialogue.java @@ -3,7 +3,7 @@ package core.game.content.dialogue; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.map.path.Path; import core.game.world.map.path.Pathfinder; @@ -88,7 +88,7 @@ public final class KittenInteractDialogue extends DialoguePlugin { final Path path = Pathfinder.find(player.getFamiliarManager().getFamiliar(), rat); path.walk(player.getFamiliarManager().getFamiliar()); rat.sendChat("Eeek!"); - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/content/dialogue/LokarSearunnerDialogue.java b/Server/src/main/java/core/game/content/dialogue/LokarSearunnerDialogue.java index 0a1271b41..63f39df0d 100644 --- a/Server/src/main/java/core/game/content/dialogue/LokarSearunnerDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/LokarSearunnerDialogue.java @@ -4,7 +4,7 @@ import core.game.component.Component; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.net.packet.PacketRepository; import core.net.packet.context.MinimapStateContext; @@ -109,7 +109,7 @@ public class LokarSearunnerDialogue extends DialoguePlugin { */ private void travel(final Player player, final Location location) { player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/dialogue/LumbridgeGuideDialogue.java b/Server/src/main/java/core/game/content/dialogue/LumbridgeGuideDialogue.java index 8bea22676..727796251 100644 --- a/Server/src/main/java/core/game/content/dialogue/LumbridgeGuideDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/LumbridgeGuideDialogue.java @@ -6,9 +6,9 @@ import core.game.node.entity.player.info.Rights; import core.game.node.entity.player.link.IronmanMode; import core.game.node.entity.player.link.diary.DiaryType; import core.game.world.map.zone.impl.ModeratorZone; -import core.net.amsc.MSPacketRepository; +import core.net.ms.MSPacketRepository; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -149,7 +149,7 @@ public final class LumbridgeGuideDialogue extends DialoguePlugin { end(); break; case 100: - npc("First I must warn you to take every precaution to", "keep your " + GameWorld.getSettings().getName() + " password and PIN secure. The", "most important thing to remember is to never give your", "password to, or share you account with, anyone."); + npc("First I must warn you to take every precaution to", "keep your " + World.getSettings().getName() + " password and PIN secure. The", "most important thing to remember is to never give your", "password to, or share you account with, anyone."); stage = 101; break; case 101: diff --git a/Server/src/main/java/core/game/content/dialogue/MithrilSeedsDialogue.java b/Server/src/main/java/core/game/content/dialogue/MithrilSeedsDialogue.java index 5e5a95020..0e8f6a1f3 100644 --- a/Server/src/main/java/core/game/content/dialogue/MithrilSeedsDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/MithrilSeedsDialogue.java @@ -5,7 +5,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.game.world.update.flag.player.FaceLocationFlag; @@ -65,7 +65,7 @@ public final class MithrilSeedsDialogue extends DialoguePlugin { player.lock(2); player.faceLocation(FaceLocationFlag.getFaceLocation(player, flower)); player.animate(ANIMATION); - GameWorld.getPulser().submit(new Pulse(2, player, flower) { + World.getPulser().submit(new Pulse(2, player, flower) { @Override public boolean pulse() { Item reward = new Item(2460 + ((flower.getId() - 2980) << 1)); diff --git a/Server/src/main/java/core/game/content/dialogue/MithrilSeedsPlugin.java b/Server/src/main/java/core/game/content/dialogue/MithrilSeedsPlugin.java index a9a300f21..b2f1c63fd 100644 --- a/Server/src/main/java/core/game/content/dialogue/MithrilSeedsPlugin.java +++ b/Server/src/main/java/core/game/content/dialogue/MithrilSeedsPlugin.java @@ -8,7 +8,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.player.FaceLocationFlag; @@ -52,7 +52,7 @@ public final class MithrilSeedsPlugin extends OptionHandler { @Override public boolean handle(final Player player, Node node, String option) { - if (player.getAttribute("delay:plant", -1) > GameWorld.getTicks()) { + if (player.getAttribute("delay:plant", -1) > World.getTicks()) { return true; } if (RegionManager.getObject(player.getLocation()) != null) { @@ -72,7 +72,7 @@ public final class MithrilSeedsPlugin extends OptionHandler { return true; } }); - player.setAttribute("delay:plant", GameWorld.getTicks() + 3); + player.setAttribute("delay:plant", World.getTicks() + 3); player.getPacketDispatch().sendMessage("You open the small mithril case and drop a seed by your feet."); return true; } diff --git a/Server/src/main/java/core/game/content/dialogue/PartyPeteDialoguePlugin.java b/Server/src/main/java/core/game/content/dialogue/PartyPeteDialoguePlugin.java index c42a8e77a..8443a69a2 100644 --- a/Server/src/main/java/core/game/content/dialogue/PartyPeteDialoguePlugin.java +++ b/Server/src/main/java/core/game/content/dialogue/PartyPeteDialoguePlugin.java @@ -2,7 +2,7 @@ package core.game.content.dialogue; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.update.flag.context.Animation; @@ -88,7 +88,7 @@ public class PartyPeteDialoguePlugin extends DialoguePlugin { stage = 51; break; case 51: - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How do you have a party in " + GameWorld.getSettings().getName() + "?"); + interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How do you have a party in " + World.getSettings().getName() + "?"); stage = 52; break; case 52: diff --git a/Server/src/main/java/core/game/content/dialogue/PrinceAliDialogue.java b/Server/src/main/java/core/game/content/dialogue/PrinceAliDialogue.java index 4d6fdfcba..c271280ee 100644 --- a/Server/src/main/java/core/game/content/dialogue/PrinceAliDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/PrinceAliDialogue.java @@ -6,7 +6,7 @@ import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the dialogue used to handle the Pricne Ali NPC. @@ -106,7 +106,7 @@ public class PrinceAliDialogue extends DialoguePlugin { case 4: // NPC 921 start dialogue.921 npc.transform(921); - GameWorld.getPulser().submit(new Pulse(50) { + World.getPulser().submit(new Pulse(50) { @Override public boolean pulse() { npc.transform(920); @@ -122,7 +122,7 @@ public class PrinceAliDialogue extends DialoguePlugin { break; case 6: npc.setInvisible(true); - GameWorld.getPulser().submit(new Pulse(20) { + World.getPulser().submit(new Pulse(20) { @Override public boolean pulse() { npc.transform(920); diff --git a/Server/src/main/java/core/game/content/dialogue/ProfessorOddensteinPlugin.java b/Server/src/main/java/core/game/content/dialogue/ProfessorOddensteinPlugin.java index 55f3866b8..b01ff74d8 100644 --- a/Server/src/main/java/core/game/content/dialogue/ProfessorOddensteinPlugin.java +++ b/Server/src/main/java/core/game/content/dialogue/ProfessorOddensteinPlugin.java @@ -6,7 +6,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import rs09.game.world.repository.Repository; import core.game.world.update.flag.context.Animation; @@ -262,7 +262,7 @@ public class ProfessorOddensteinPlugin extends DialoguePlugin { player.getPacketDispatch().sendMessage("and a can of oil to the professor."); player.getPacketDispatch().sendMessage("Oddenstein starts up the machine."); final NPC chicken = Repository.findNPC(288); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/dialogue/ResearcherDialogue.java b/Server/src/main/java/core/game/content/dialogue/ResearcherDialogue.java index e106c720b..1583b1c93 100644 --- a/Server/src/main/java/core/game/content/dialogue/ResearcherDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/ResearcherDialogue.java @@ -3,7 +3,7 @@ package core.game.content.dialogue; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the dialogue plugin for the new Researcher NPC that sells unobtainable items. @@ -51,7 +51,7 @@ public final class ResearcherDialogue extends DialoguePlugin { stage = 1; break; case 1: - npc("I am indeed. I am a traveling researcher studying the", "lands of "+GameWorld.getSettings().getName()+"."); + npc("I am indeed. I am a traveling researcher studying the", "lands of "+ World.getSettings().getName()+"."); stage = 2; break; case 2: diff --git a/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java b/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java index 23ce43b07..aa4ced91b 100644 --- a/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/RugMerchantDialogue.java @@ -13,7 +13,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; import kotlin.Unit; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -283,7 +283,7 @@ public final class RugMerchantDialogue extends DialoguePlugin { public void travel(final RugDestination current, final Player player) { player.lock(); player.getConfigManager().set(499, 0); - player.getImpactHandler().setDisabledTicks(GameWorld.getTicks() + 200); + player.getImpactHandler().setDisabledTicks(World.getTicks() + 200); player.getInterfaceManager().hideTabs(0,1,2,3,4,5,6,7,8,9,10,11,12,13); player.getEquipment().replace(new Item(Items.MAGIC_CARPET_5614),EquipmentContainer.SLOT_WEAPON); player.getPacketDispatch().sendInterfaceConfig(548,69,true); @@ -293,7 +293,7 @@ public final class RugMerchantDialogue extends DialoguePlugin { return Unit.INSTANCE; }); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; int index; Location[] locs = getLocData(); diff --git a/Server/src/main/java/core/game/content/dialogue/ShantayDialogue.java b/Server/src/main/java/core/game/content/dialogue/ShantayDialogue.java index bcd5dcfa2..b38d22e17 100644 --- a/Server/src/main/java/core/game/content/dialogue/ShantayDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/ShantayDialogue.java @@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.map.Location; @@ -161,7 +161,7 @@ public final class ShantayDialogue extends DialoguePlugin { player.getPacketDispatch().sendMessage("The guards arrest you and place you in the jail."); close(); player.lock(10); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.setAttribute("/save:shantay-jail", true); diff --git a/Server/src/main/java/core/game/content/dialogue/ShantayGuard.java b/Server/src/main/java/core/game/content/dialogue/ShantayGuard.java index 1e35e76ab..ea3023bba 100644 --- a/Server/src/main/java/core/game/content/dialogue/ShantayGuard.java +++ b/Server/src/main/java/core/game/content/dialogue/ShantayGuard.java @@ -6,7 +6,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.path.Pathfinder; import rs09.game.world.repository.Repository; @@ -122,7 +122,7 @@ public final class ShantayGuard extends DialoguePlugin { final Location dest = player.getLocation().getY() < 3304 ? Location.create(3303, 3117, 0) : Location.create(3305, 3117, 0); Pathfinder.find(player, dest).walk(player); player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { if (player.getLocation().equals(dest)) { diff --git a/Server/src/main/java/core/game/content/dialogue/SilkMerchantPlugin.java b/Server/src/main/java/core/game/content/dialogue/SilkMerchantPlugin.java index 7e358127a..092bcc2a3 100644 --- a/Server/src/main/java/core/game/content/dialogue/SilkMerchantPlugin.java +++ b/Server/src/main/java/core/game/content/dialogue/SilkMerchantPlugin.java @@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.map.RegionManager; @@ -193,7 +193,7 @@ public class SilkMerchantPlugin extends DialoguePlugin { break; } } - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int count = 0; @Override diff --git a/Server/src/main/java/core/game/content/dialogue/SorcceresDialouge.java b/Server/src/main/java/core/game/content/dialogue/SorcceresDialouge.java index 439fc9acf..1cc1aad25 100644 --- a/Server/src/main/java/core/game/content/dialogue/SorcceresDialouge.java +++ b/Server/src/main/java/core/game/content/dialogue/SorcceresDialouge.java @@ -3,7 +3,7 @@ package core.game.content.dialogue; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.map.Location; @@ -132,7 +132,7 @@ public class SorcceresDialouge extends DialoguePlugin { public void tele() { npc.sendChat("Be gone intruder!"); player.lock(); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player.unlock(); diff --git a/Server/src/main/java/core/game/content/dialogue/TownCrierDialogue.java b/Server/src/main/java/core/game/content/dialogue/TownCrierDialogue.java index 821533502..495fb4606 100644 --- a/Server/src/main/java/core/game/content/dialogue/TownCrierDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/TownCrierDialogue.java @@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.tools.RandomFunction; @@ -41,7 +41,7 @@ public final class TownCrierDialogue extends DialoguePlugin { @Override public boolean open(Object... args) { npc = (NPC) args[0]; - npc("Hear ye! Hear ye! Player Moderators massive help to ", GameWorld.getSettings().getName().substring(0, GameWorld.getSettings().getName().length() - 3) + "-"); + npc("Hear ye! Hear ye! Player Moderators massive help to ", World.getSettings().getName().substring(0, World.getSettings().getName().length() - 3) + "-"); stage = 1; return true; } @@ -55,7 +55,7 @@ public final class TownCrierDialogue extends DialoguePlugin { stage = 2; break; case 2: - options("Tell me about Player Moderators.", "Tell me about the Rules of " + GameWorld.getSettings().getName() + ".", "Can you give me a handy tip please?", "Bye!"); + options("Tell me about Player Moderators.", "Tell me about the Rules of " + World.getSettings().getName() + ".", "Can you give me a handy tip please?", "Bye!"); stage = 3; break; case 3: @@ -65,7 +65,7 @@ public final class TownCrierDialogue extends DialoguePlugin { stage = 50; break; case 2: - player("Tell me about the Rules of " + GameWorld.getSettings().getName() + "."); + player("Tell me about the Rules of " + World.getSettings().getName() + "."); stage = 70; break; case 3: @@ -118,7 +118,7 @@ public final class TownCrierDialogue extends DialoguePlugin { player.lock(4); npc("At once. Take a look at my book here."); npc.animate(new Animation(6866)); - GameWorld.getPulser().submit(new Pulse(4) { + World.getPulser().submit(new Pulse(4) { @Override public boolean pulse() { //player.getDialogueInterpreter().open(496107759); // TODO rulebook broken @@ -155,7 +155,7 @@ public final class TownCrierDialogue extends DialoguePlugin { stage = 2; break; default: - npc("" + GameWorld.getSettings().getName() + " will never email you asking for your log-in details."); + npc("" + World.getSettings().getName() + " will never email you asking for your log-in details."); stage = 2; break; } @@ -181,15 +181,15 @@ public final class TownCrierDialogue extends DialoguePlugin { stage = 51; break; case 160: - npc("Player Moderators, or 'P-mods', have the ability to mute", "rule breakers and " + GameWorld.getSettings().getName() + " view their reports as a priority so", "that reward is taken as quickly as possible. P-Mods also", "have acces to the Player Moderator Centre. Within the"); + npc("Player Moderators, or 'P-mods', have the ability to mute", "rule breakers and " + World.getSettings().getName() + " view their reports as a priority so", "that reward is taken as quickly as possible. P-Mods also", "have acces to the Player Moderator Centre. Within the"); stage = 161; break; case 161: - npc("Centre are tools to help them Moderate " + GameWorld.getSettings().getName() + ".", "These tools include dedicated forums, the Player", "Moderator Guidelines and the Player Moderator Code of", "Conduct."); + npc("Centre are tools to help them Moderate " + World.getSettings().getName() + ".", "These tools include dedicated forums, the Player", "Moderator Guidelines and the Player Moderator Code of", "Conduct."); stage = 153; break; case 170: - npc("" + GameWorld.getSettings().getName() + " picks players who spend their time and effort to", "help better the " + GameWorld.getSettings().getName() + " community. To increase your", "chances of becoming a Player Moderator:"); + npc("" + World.getSettings().getName() + " picks players who spend their time and effort to", "help better the " + World.getSettings().getName() + " community. To increase your", "chances of becoming a Player Moderator:"); stage = 171; break; case 171: @@ -197,11 +197,11 @@ public final class TownCrierDialogue extends DialoguePlugin { stage = 173; break; case 173: - npc("Play by the rules! The rules of " + GameWorld.getSettings().getName() + " are enforced", "for a reason, to make the game a fair and enjoyable", "environment for all."); + npc("Play by the rules! The rules of " + World.getSettings().getName() + " are enforced", "for a reason, to make the game a fair and enjoyable", "environment for all."); stage = 174; break; case 174: - npc("Report accuratley! When " + GameWorld.getSettings().getName() + " consider an account for", "review they look for quality, not quantity. Ensure your", "reports are of a high quality by following the report", "guidelines."); + npc("Report accuratley! When " + World.getSettings().getName() + " consider an account for", "review they look for quality, not quantity. Ensure your", "reports are of a high quality by following the report", "guidelines."); stage = 175; break; case 175: @@ -209,15 +209,15 @@ public final class TownCrierDialogue extends DialoguePlugin { stage = 153; break; case 180: - npc("P-Mods cannot ban your account - they can only report", "offences. " + GameWorld.getSettings().getName() + " then take reward based on the evidence", "received. If you lose your password or get scamme dby", "another player, P_Mods cannot help you get your account"); + npc("P-Mods cannot ban your account - they can only report", "offences. " + World.getSettings().getName() + " then take reward based on the evidence", "received. If you lose your password or get scamme dby", "another player, P_Mods cannot help you get your account"); stage = 181; break; case 181: - npc("back. All they can do is recommend you to go to Player", "Support. They cannot retrieve any items you may have", "lost and they certainly do not recieve any free items", "from " + GameWorld.getSettings().getName() + " for moderating the game. They are players"); + npc("back. All they can do is recommend you to go to Player", "Support. They cannot retrieve any items you may have", "lost and they certainly do not recieve any free items", "from " + World.getSettings().getName() + " for moderating the game. They are players"); stage = 182; break; case 182: - npc("who give their all to help the community, out of the", "goodness of their hearts! P-mods do not work for " + GameWorld.getSettings().getName() + "", "and so cannot make you a Moderator, or recommend", "other accounts to become Moderators. If you wish yo"); + npc("who give their all to help the community, out of the", "goodness of their hearts! P-mods do not work for " + World.getSettings().getName() + "", "and so cannot make you a Moderator, or recommend", "other accounts to become Moderators. If you wish yo"); stage = 183; break; case 183: diff --git a/Server/src/main/java/core/game/content/dialogue/TraibornDialogue.java b/Server/src/main/java/core/game/content/dialogue/TraibornDialogue.java index d4c89c195..c5da291eb 100644 --- a/Server/src/main/java/core/game/content/dialogue/TraibornDialogue.java +++ b/Server/src/main/java/core/game/content/dialogue/TraibornDialogue.java @@ -7,7 +7,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -215,7 +215,7 @@ public class TraibornDialogue extends DialoguePlugin { interpreter.sendItemMessage(DemonSlayer.THIRD_KEY.getId(), "Traiborn hands you a key."); stage = 387; } - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/dialogue/book/SecurityBookPlugin.java b/Server/src/main/java/core/game/content/dialogue/book/SecurityBookPlugin.java index 7dae0c0eb..f7fbbdfff 100644 --- a/Server/src/main/java/core/game/content/dialogue/book/SecurityBookPlugin.java +++ b/Server/src/main/java/core/game/content/dialogue/book/SecurityBookPlugin.java @@ -4,7 +4,7 @@ import core.game.component.Component; import core.game.content.dialogue.DialoguePlugin; import core.game.node.entity.player.Player; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the strong hold of security book. @@ -27,13 +27,13 @@ public final class SecurityBookPlugin extends Book { /** * Represents the array of pages for this book. */ - private static final PageSet[] PAGES = new PageSet[] { new PageSet(new Page(new BookLine("Chapters", 102), new BookLine("

" + BLUE + "Password Tips

", 74), new BookLine("

" + BLUE + "Recovery Questions

", 75), new BookLine("

" + BLUE + "Password Tips

", 74), new BookLine("

" + BLUE + "Recovery Questions

", 75), new BookLine("

" + BLUE + "Other Security Tips

", 76), new BookLine("

" + BLUE + "Stringhold of Security

", 77)), new Page(new BookLine("

" + BLUE + "Password Tips

", 87), new BookLine("A good password should be", 88), new BookLine("easily remembered by", 89), new BookLine("yourself but not easily", 90), new BookLine("guessed by anyone else.", 91), new BookLine("Choose a password that has", 93), new BookLine("both letters and numbers in", 94), new BookLine("it for the best security but", 95), new BookLine("don't make it so hard that", 96), new BookLine("you'll forget it!", 97), new BookLine("Never write your password", 99), new BookLine("down or leave it in a text file", 100), new BookLine("on your computer, someone", 101))), new PageSet(new Page(new BookLine("could find it easily!", 102), new BookLine("Never tell anyone your", 74), new BookLine("password in " + GameWorld.getSettings().getName() + ", not", 75), new BookLine("even a Moderator of any", 76), new BookLine("kind.", 77)), new Page(new BookLine("

" + BLUE + "Recovery Questions

", 87), new BookLine("Ideally your recovery", 88), new BookLine("questions should be easily", 89), new BookLine("remembered by you but not", 90), new BookLine("guessable by anyone who", 91), new BookLine("may know you or given", 92), new BookLine("away in conversation. Choose", 93), new BookLine("things that do not change,", 94), new BookLine("like dates or names but don't", 95), new BookLine("choose obvious ones like your", 96), new BookLine("birthday and your sister or", 97), new BookLine("bother's name because lots", 98), new BookLine("of people will know that.", 99))), new PageSet(new Page(new BookLine("

" + BLUE + "Recovery Questions

", 102), new BookLine("Bear in mind that recovery", 73), new BookLine("questions will take 14 days to", 74), new BookLine("become active after you have", 75), new BookLine("applied for them to be", 76), new BookLine("changed. This is to protect", 77), new BookLine("your account from hijackers", 78), new BookLine("who may change them.", 79), new BookLine("Never give your password to", 81), new BookLine("ANYONE. This includes", 82), new BookLine("your friends, family, and", 83), new BookLine("moderators in game.", 84), new BookLine("Never leave your account", 86)), new Page(new BookLine("logged on if you are away", 87), new BookLine("from the computer, it only", 88), new BookLine("takes 5 seconds to steal your", 89), new BookLine("account!", 90))), new PageSet(new Page(new BookLine("

" + BLUE + "Stronghold of Security

", 102), new BookLine("Location: The Stronghold of", 73), new BookLine("Security, as we call it, is", 74), new BookLine("located under the village filled", 75), new BookLine("with Barbarians. It was", 76), new BookLine("found after they moved their", 77), new BookLine("mining operations and a", 78), new BookLine("miner fell through. The", 79), new BookLine("Stronghold contains many", 80), new BookLine("challenges. Both for those", 81), new BookLine("who enjoy combat and those", 82), new BookLine("who enjoy challenges of the", 83), new BookLine("mind. This book will be very", 84), new BookLine("useful to you in your travels", 85), new BookLine("there.", 86)), new Page(new BookLine("You can find the Stronghold", 87), new BookLine("of Security by looking for a", 88), new BookLine("hole in Barbarian Village.", 89), new BookLine("Be sure to take your combat", 90), new BookLine("equipment though!", 91))) }; + private static final PageSet[] PAGES = new PageSet[] { new PageSet(new Page(new BookLine("Chapters", 102), new BookLine("

" + BLUE + "Password Tips

", 74), new BookLine("

" + BLUE + "Recovery Questions

", 75), new BookLine("

" + BLUE + "Password Tips

", 74), new BookLine("

" + BLUE + "Recovery Questions

", 75), new BookLine("

" + BLUE + "Other Security Tips

", 76), new BookLine("

" + BLUE + "Stringhold of Security

", 77)), new Page(new BookLine("

" + BLUE + "Password Tips

", 87), new BookLine("A good password should be", 88), new BookLine("easily remembered by", 89), new BookLine("yourself but not easily", 90), new BookLine("guessed by anyone else.", 91), new BookLine("Choose a password that has", 93), new BookLine("both letters and numbers in", 94), new BookLine("it for the best security but", 95), new BookLine("don't make it so hard that", 96), new BookLine("you'll forget it!", 97), new BookLine("Never write your password", 99), new BookLine("down or leave it in a text file", 100), new BookLine("on your computer, someone", 101))), new PageSet(new Page(new BookLine("could find it easily!", 102), new BookLine("Never tell anyone your", 74), new BookLine("password in " + World.getSettings().getName() + ", not", 75), new BookLine("even a Moderator of any", 76), new BookLine("kind.", 77)), new Page(new BookLine("

" + BLUE + "Recovery Questions

", 87), new BookLine("Ideally your recovery", 88), new BookLine("questions should be easily", 89), new BookLine("remembered by you but not", 90), new BookLine("guessable by anyone who", 91), new BookLine("may know you or given", 92), new BookLine("away in conversation. Choose", 93), new BookLine("things that do not change,", 94), new BookLine("like dates or names but don't", 95), new BookLine("choose obvious ones like your", 96), new BookLine("birthday and your sister or", 97), new BookLine("bother's name because lots", 98), new BookLine("of people will know that.", 99))), new PageSet(new Page(new BookLine("

" + BLUE + "Recovery Questions

", 102), new BookLine("Bear in mind that recovery", 73), new BookLine("questions will take 14 days to", 74), new BookLine("become active after you have", 75), new BookLine("applied for them to be", 76), new BookLine("changed. This is to protect", 77), new BookLine("your account from hijackers", 78), new BookLine("who may change them.", 79), new BookLine("Never give your password to", 81), new BookLine("ANYONE. This includes", 82), new BookLine("your friends, family, and", 83), new BookLine("moderators in game.", 84), new BookLine("Never leave your account", 86)), new Page(new BookLine("logged on if you are away", 87), new BookLine("from the computer, it only", 88), new BookLine("takes 5 seconds to steal your", 89), new BookLine("account!", 90))), new PageSet(new Page(new BookLine("

" + BLUE + "Stronghold of Security

", 102), new BookLine("Location: The Stronghold of", 73), new BookLine("Security, as we call it, is", 74), new BookLine("located under the village filled", 75), new BookLine("with Barbarians. It was", 76), new BookLine("found after they moved their", 77), new BookLine("mining operations and a", 78), new BookLine("miner fell through. The", 79), new BookLine("Stronghold contains many", 80), new BookLine("challenges. Both for those", 81), new BookLine("who enjoy combat and those", 82), new BookLine("who enjoy challenges of the", 83), new BookLine("mind. This book will be very", 84), new BookLine("useful to you in your travels", 85), new BookLine("there.", 86)), new Page(new BookLine("You can find the Stronghold", 87), new BookLine("of Security by looking for a", 88), new BookLine("hole in Barbarian Village.", 89), new BookLine("Be sure to take your combat", 90), new BookLine("equipment though!", 91))) }; /** * Constructs a new {@code ShieldofArravBook} {@code Object}. */ public SecurityBookPlugin(final Player player) { - super(player, "" + GameWorld.getSettings().getName() + " Account Security", 9003, PAGES); + super(player, "" + World.getSettings().getName() + " Account Security", 9003, PAGES); } /** diff --git a/Server/src/main/java/core/game/content/global/EnchantedJewellery.java b/Server/src/main/java/core/game/content/global/EnchantedJewellery.java index b00c4d6d5..109e59cf8 100644 --- a/Server/src/main/java/core/game/content/global/EnchantedJewellery.java +++ b/Server/src/main/java/core/game/content/global/EnchantedJewellery.java @@ -4,7 +4,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -164,7 +164,7 @@ public enum EnchantedJewellery { player.visualize(ANIMATION, GRAPHICS); player.getAudioManager().send(200); player.getImpactHandler().setDisabledTicks(4); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { @Override public boolean pulse() { player.unlock(); diff --git a/Server/src/main/java/core/game/content/global/GodType.java b/Server/src/main/java/core/game/content/global/GodType.java index e202c34e4..165e8e088 100644 --- a/Server/src/main/java/core/game/content/global/GodType.java +++ b/Server/src/main/java/core/game/content/global/GodType.java @@ -7,7 +7,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.tools.StringUtils; @@ -77,7 +77,7 @@ public enum GodType { public void handle(final Player player, int buttonId) { player.lock(); player.animate(Animation.create(645)); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { Location loc = statue.getLocation().transform(0, -1, 0); diff --git a/Server/src/main/java/core/game/content/global/action/ClimbActionHandler.java b/Server/src/main/java/core/game/content/global/action/ClimbActionHandler.java index 8e2d403fa..d3707c0d4 100644 --- a/Server/src/main/java/core/game/content/global/action/ClimbActionHandler.java +++ b/Server/src/main/java/core/game/content/global/action/ClimbActionHandler.java @@ -7,7 +7,7 @@ import core.game.content.dialogue.DialoguePlugin; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -191,7 +191,7 @@ public final class ClimbActionHandler { public static void climb(final Player player, Animation animation, final Location destination, final String... messages) { player.lock(2); player.animate(animation); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { player.getProperties().setTeleportLocation(destination); @@ -359,7 +359,7 @@ public final class ClimbActionHandler { switch (buttonId) { case 1: player.lock(1); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { climbLadder(player, object, "climb-up"); @@ -370,7 +370,7 @@ public final class ClimbActionHandler { break; case 2: player.lock(1); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { climbLadder(player, object, "climb-down"); diff --git a/Server/src/main/java/core/game/content/global/action/DigSpadeHandler.java b/Server/src/main/java/core/game/content/global/action/DigSpadeHandler.java index 4ea41bdd3..a88c10639 100644 --- a/Server/src/main/java/core/game/content/global/action/DigSpadeHandler.java +++ b/Server/src/main/java/core/game/content/global/action/DigSpadeHandler.java @@ -4,7 +4,7 @@ import core.game.node.entity.player.Player; import rs09.game.interaction.SpadeDigListener; import rs09.game.system.SystemLogger; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -42,7 +42,7 @@ public final class DigSpadeHandler { } if (action != null) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { action.run(player); diff --git a/Server/src/main/java/core/game/content/global/action/DoorActionHandler.java b/Server/src/main/java/core/game/content/global/action/DoorActionHandler.java index 47202eb02..d2ed74c89 100644 --- a/Server/src/main/java/core/game/content/global/action/DoorActionHandler.java +++ b/Server/src/main/java/core/game/content/global/action/DoorActionHandler.java @@ -15,7 +15,7 @@ import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.path.Pathfinder; import rs09.game.system.config.DoorConfigLoader; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.awt.*; @@ -105,7 +105,7 @@ public final class DoorActionHandler { if (entity instanceof Player) { ((Player) entity).getAudioManager().send(new Audio(3419)); } - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { boolean opened = false; @Override @@ -378,7 +378,7 @@ public final class DoorActionHandler { entity.addExtension(LogoutTask.class, new LocationLogoutTask(4, loc)); object.setCharge(IN_USE_CHARGE); second.setCharge(IN_USE_CHARGE); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { boolean opened = false; @Override diff --git a/Server/src/main/java/core/game/content/global/action/DropItemHandler.java b/Server/src/main/java/core/game/content/global/action/DropItemHandler.java index 5b6da8cc9..44d4c9bcb 100644 --- a/Server/src/main/java/core/game/content/global/action/DropItemHandler.java +++ b/Server/src/main/java/core/game/content/global/action/DropItemHandler.java @@ -8,7 +8,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import rs09.game.system.SystemLogger; import rs09.game.system.config.ItemConfigParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the dropping of an item. @@ -42,7 +42,7 @@ public final class DropItemHandler { player.getDialogueInterpreter().open(9878, item); return true; } - if (player.getAttribute("equipLock:" + item.getId(), 0) > GameWorld.getTicks()) { + if (player.getAttribute("equipLock:" + item.getId(), 0) > World.getTicks()) { SystemLogger.logAlert(player + ", tried to do the drop & equip dupe."); return true; } @@ -52,7 +52,7 @@ public final class DropItemHandler { GroundItemManager.create(item, player.getLocation(), player); PlayerParser.save(player); } - player.setAttribute("droppedItem:" + item.getId(), GameWorld.getTicks() + 2); + player.setAttribute("droppedItem:" + item.getId(), World.getTicks() + 2); return true; } return false; diff --git a/Server/src/main/java/core/game/content/global/shop/Shop.kt b/Server/src/main/java/core/game/content/global/shop/Shop.kt index 08034c357..dac28ee95 100644 --- a/Server/src/main/java/core/game/content/global/shop/Shop.kt +++ b/Server/src/main/java/core/game/content/global/shop/Shop.kt @@ -1,6 +1,6 @@ package core.game.content.global.shop -import rs09.game.world.GameWorld.ticks +import rs09.game.world.World.ticks import api.ContentAPI.amountInInventory import rs09.game.system.SystemLogger.logInfo import core.game.node.entity.player.link.diary.DiaryType diff --git a/Server/src/main/java/core/game/content/global/travel/ship/ShipCharter.java b/Server/src/main/java/core/game/content/global/travel/ship/ShipCharter.java index 26f26c878..47b09c617 100644 --- a/Server/src/main/java/core/game/content/global/travel/ship/ShipCharter.java +++ b/Server/src/main/java/core/game/content/global/travel/ship/ShipCharter.java @@ -5,7 +5,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import rs09.game.world.repository.Repository; import core.net.packet.PacketRepository; @@ -300,7 +300,7 @@ public final class ShipCharter { public void sail(final Player player) { player.lock(7); Location start = player.getLocation(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int count = 0; @Override diff --git a/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardHandler.java b/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardHandler.java index d2c011b97..0f4a21303 100644 --- a/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardHandler.java +++ b/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardHandler.java @@ -4,7 +4,7 @@ import core.cache.def.impl.SceneryDefinition; import core.game.interaction.OptionHandler; import core.game.node.Node; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Plugin; public class ScoreboardHandler extends OptionHandler { @@ -13,7 +13,7 @@ public class ScoreboardHandler extends OptionHandler { @Override public boolean handle(Player player, Node node, String option) { ScoreboardManager.getEntries().forEach(e -> { - player.getPacketDispatch().sendString("" + Math.floor(((GameWorld.getTicks() - e.time) / 0.6) / 60) + " minutes ago",ifaceid,index + 6); + player.getPacketDispatch().sendString("" + Math.floor(((World.getTicks() - e.time) / 0.6) / 60) + " minutes ago",ifaceid,index + 6); player.getPacketDispatch().sendString(e.playerName,ifaceid,index + 11); index++; }); diff --git a/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardManager.java b/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardManager.java index 86d8f7099..36c562dcf 100644 --- a/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardManager.java +++ b/Server/src/main/java/core/game/content/global/worldevents/shootingstar/ScoreboardManager.java @@ -1,8 +1,7 @@ package core.game.content.global.worldevents.shootingstar; import core.game.node.entity.player.Player; -import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -14,7 +13,7 @@ public class ScoreboardManager { if(entries.size() == 5){ entries.remove(0); } - entries.add(new ScoreboardEntry(player.getUsername(), GameWorld.getTicks())); + entries.add(new ScoreboardEntry(player.getUsername(), World.getTicks())); } public static List getEntries(){ diff --git a/Server/src/main/java/core/game/content/holiday/HolidayItem.java b/Server/src/main/java/core/game/content/holiday/HolidayItem.java index b39a1d28b..728d704e6 100644 --- a/Server/src/main/java/core/game/content/holiday/HolidayItem.java +++ b/Server/src/main/java/core/game/content/holiday/HolidayItem.java @@ -4,7 +4,7 @@ import core.game.node.item.GroundItem; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; @@ -39,7 +39,7 @@ public final class HolidayItem extends GroundItem { * @param spawnLocations The spawn locations. */ public static void startRandomSpawn(final Item spawn, int interval, final Location... spawnLocations) { - GameWorld.getPulser().submit(new Pulse(interval) { + World.getPulser().submit(new Pulse(interval) { GroundItem item; int lastIndex = -1; diff --git a/Server/src/main/java/core/game/content/holiday/christmas/ChristmasEvent.java b/Server/src/main/java/core/game/content/holiday/christmas/ChristmasEvent.java index 8415797b4..f53c1c40d 100644 --- a/Server/src/main/java/core/game/content/holiday/christmas/ChristmasEvent.java +++ b/Server/src/main/java/core/game/content/holiday/christmas/ChristmasEvent.java @@ -33,7 +33,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import rs09.game.world.repository.Repository; @@ -310,7 +310,7 @@ public class ChristmasEvent extends HolidayEvent { player.lock(16); player.animate(Animation.create(7535)); player.sendMessage("You shake the snow globe."); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int ticks; @Override public boolean pulse() { @@ -376,7 +376,7 @@ public class ChristmasEvent extends HolidayEvent { int distance = (int) Location.getDistance(player.getLocation(), target.getLocation()); int projectileSpeed = delay + speed + distance * 5; double hitDelay = projectileSpeed * .02857; - GameWorld.getPulser().submit(new Pulse((int) hitDelay, target) { + World.getPulser().submit(new Pulse((int) hitDelay, target) { @Override public boolean pulse() { target.getImpactHandler().manualHit(player, node instanceof NPC ? 1 : 0, HitsplatType.MISS); @@ -448,7 +448,7 @@ public class ChristmasEvent extends HolidayEvent { HolidayEvent.getCurrent().setStage(player, 2); } if (!weapon) { - GameWorld.getPulser().submit(new Pulse(200) { + World.getPulser().submit(new Pulse(200) { @Override public boolean pulse() { snowman.clear(); diff --git a/Server/src/main/java/core/game/content/holiday/easter/BasketofEggsEvent.java b/Server/src/main/java/core/game/content/holiday/easter/BasketofEggsEvent.java index 17d616ae8..d16ecac68 100644 --- a/Server/src/main/java/core/game/content/holiday/easter/BasketofEggsEvent.java +++ b/Server/src/main/java/core/game/content/holiday/easter/BasketofEggsEvent.java @@ -18,7 +18,7 @@ import core.game.node.entity.player.link.emote.Emotes; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import rs09.game.world.repository.Repository; import core.game.world.update.flag.context.Animation; @@ -216,7 +216,7 @@ public class BasketofEggsEvent extends HolidayEvent { stage = 10; break; case 2: - npc("I am the easter bunny, and since it is easter", "I must begin handing out chocolate eggs to all", "of " + GameWorld.getSettings().getName() + "."); + npc("I am the easter bunny, and since it is easter", "I must begin handing out chocolate eggs to all", "of " + World.getSettings().getName() + "."); stage = 20; break; case 3: @@ -230,7 +230,7 @@ public class BasketofEggsEvent extends HolidayEvent { } break; case 10: - npc("Being the easter bunny is no simple task and", "I have found myself very overwhelmed this year.", "I have no clue how I must deliver all of these basket", "of eggs to all the people of " + GameWorld.getSettings().getName() + "."); + npc("Being the easter bunny is no simple task and", "I have found myself very overwhelmed this year.", "I have no clue how I must deliver all of these basket", "of eggs to all the people of " + World.getSettings().getName() + "."); stage = 21; break; case 20: @@ -287,7 +287,7 @@ public class BasketofEggsEvent extends HolidayEvent { } }; player.setAttribute("egg-pulse", pulse); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); break; case 30: npc("No you fool! I am an easter bunny!!"); @@ -342,7 +342,7 @@ public class BasketofEggsEvent extends HolidayEvent { } }; player.setAttribute("egg-pulse", pulse); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); break; case 4: end(); @@ -399,7 +399,7 @@ public class BasketofEggsEvent extends HolidayEvent { return true; } Player target = node.asPlayer(); - if (getEggs(target) >= 4 && !GameWorld.getSettings().isDevMode()) { + if (getEggs(target) >= 4 && !World.getSettings().isDevMode()) { player.sendMessage("That player already has enough chocolate eggs."); return true; } @@ -481,10 +481,10 @@ public class BasketofEggsEvent extends HolidayEvent { return true; case "dance": case "operate": - if (player.getAttribute("chicken-delay", 0) > GameWorld.getTicks()) { + if (player.getAttribute("chicken-delay", 0) > World.getTicks()) { return true; } - player.setAttribute("chicken-delay", GameWorld.getTicks() + 8); + player.setAttribute("chicken-delay", World.getTicks() + 8); player.animate(Animation.create(1835)); return true; } diff --git a/Server/src/main/java/core/game/content/holiday/halloween/DeathMansionEvent.java b/Server/src/main/java/core/game/content/holiday/halloween/DeathMansionEvent.java index ad87fe745..42a93e918 100644 --- a/Server/src/main/java/core/game/content/holiday/halloween/DeathMansionEvent.java +++ b/Server/src/main/java/core/game/content/holiday/halloween/DeathMansionEvent.java @@ -37,7 +37,7 @@ import core.game.node.scenery.Scenery; import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -169,7 +169,7 @@ public class DeathMansionEvent extends HolidayEvent { if (e instanceof Player) { Player player = e.asPlayer(); if (!logout) { - if (player.getAttribute("grimDis", 0) > GameWorld.getTicks()) { + if (player.getAttribute("grimDis", 0) > World.getTicks()) { return super.leave(player, logout); } int stage = getStage(player); @@ -231,7 +231,7 @@ public class DeathMansionEvent extends HolidayEvent { case 27242: case 27243: if (getStage(player) >= 6) { - player.setAttribute("grimDis", GameWorld.getTicks() + 2); + player.setAttribute("grimDis", World.getTicks() + 2); player.teleport(target.getId() == 27243 ? Location.create(1703, 4826, 0) : Location.create(1639, 4835, 0)); return true; } @@ -339,7 +339,7 @@ public class DeathMansionEvent extends HolidayEvent { player.lock(3); if (target.getLocation().equals(1624, 4822, 0)) { player.sendChat("Weeeeee"); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { @@ -361,7 +361,7 @@ public class DeathMansionEvent extends HolidayEvent { } player.getPacketDispatch().sendSceneryAnimation(target.asScenery(), Animation.create(7296)); AgilityHandler.walk(player, -1, player.getLocation(), target.getLocation(), null, 0.0, null); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { @@ -386,7 +386,7 @@ public class DeathMansionEvent extends HolidayEvent { player.lock(10); Location strt = player.getLocation().transform(0, -1, 0); AgilityHandler.forceWalk(player, -1, player.getLocation(), strt, Animation.create(7274), 5, 0.0, null); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int ticks; int x = 1636; int y = 4829; @@ -455,7 +455,7 @@ public class DeathMansionEvent extends HolidayEvent { p.getWalkingQueue().reset(); p.getLocks().lock(); p.sendMessage("You accidentally trigger a trap."); - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { int ticks; @Override @@ -617,7 +617,7 @@ public class DeathMansionEvent extends HolidayEvent { player.getPacketDispatch().sendSceneryAnimation(second, Animation.create(7285)); } player.sendMessage("You fail to pass through the gargoyles' judgement"); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.getImpactHandler().manualHit(player, player.getSkills().getLifepoints(), HitsplatType.NORMAL); @@ -650,10 +650,10 @@ public class DeathMansionEvent extends HolidayEvent { if (skill <= Skills.MAGIC && skill != Skills.PRAYER) { return; } - if (GameWorld.getTicks() - lastPumpkinReward < 1000 && RandomFunction.random(2500) == 0 && ItemLimitation.getAmountLeft(pumpkin.getId()) > 0) { + if (World.getTicks() - lastPumpkinReward < 1000 && RandomFunction.random(2500) == 0 && ItemLimitation.getAmountLeft(pumpkin.getId()) > 0) { if (player.getInventory().add(pumpkin)) { player.getPacketDispatch().sendMessage("You found a pumpkin!"); - lastPumpkinReward = GameWorld.getTicks(); + lastPumpkinReward = World.getTicks(); ItemLimitation.decreaseAmount(pumpkin.getId()); } } @@ -677,7 +677,7 @@ public class DeathMansionEvent extends HolidayEvent { reaper.setAggressive(false); reaper.animate(Animation.create(392)); reaper.sendChat(RandomFunction.getRandomElement(GRIM_CHATS).replace("@name", player.getUsername())); - GameWorld.getPulser().submit(new Pulse(4, reaper) { + World.getPulser().submit(new Pulse(4, reaper) { @Override public boolean pulse() { reaper.clear(); @@ -1354,7 +1354,7 @@ public class DeathMansionEvent extends HolidayEvent { player.getImpactHandler().manualHit(player, player.getSkills().getLifepoints(), HitsplatType.NORMAL); close(); player.setAttribute("lo", true); - GameWorld.getPulser().submit(new Pulse(5, player) { + World.getPulser().submit(new Pulse(5, player) { @Override public boolean pulse() { player.setAttribute("lo", true); @@ -1543,7 +1543,7 @@ public class DeathMansionEvent extends HolidayEvent { switch (stage) { case 0: player.teleport(START); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { @@ -1673,7 +1673,7 @@ public class DeathMansionEvent extends HolidayEvent { player.lock(a.getDuration()); npc.faceTemporary(player, 2); npc.animate(Animation.create(6578)); - GameWorld.getPulser().submit(new Pulse(a.getDuration(), player) { + World.getPulser().submit(new Pulse(a.getDuration(), player) { @Override public boolean pulse() { player("Okay, touching him seems to be a bad idea."); @@ -1686,7 +1686,7 @@ public class DeathMansionEvent extends HolidayEvent { Animation anim = new Animation(866); player.animate(anim); player.lock(anim.getDuration()); - GameWorld.getPulser().submit(new Pulse(anim.getDuration(), player) { + World.getPulser().submit(new Pulse(anim.getDuration(), player) { @Override public boolean pulse() { player("If it's possible for a skeletal dog to smile, I think he", "would be now."); @@ -1699,7 +1699,7 @@ public class DeathMansionEvent extends HolidayEvent { player.animate(Animation.create(2110)); npc.faceTemporary(player, 3); player.lock(4); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { npc.animate(Animation.create(6579)); diff --git a/Server/src/main/java/core/game/content/quest/free/blackknightsfortress/BKFortressPlugin.java b/Server/src/main/java/core/game/content/quest/free/blackknightsfortress/BKFortressPlugin.java index 3311d3adb..cb3cf90d3 100644 --- a/Server/src/main/java/core/game/content/quest/free/blackknightsfortress/BKFortressPlugin.java +++ b/Server/src/main/java/core/game/content/quest/free/blackknightsfortress/BKFortressPlugin.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import rs09.game.world.repository.Repository; import core.game.world.update.flag.context.Animation; @@ -72,7 +72,7 @@ public final class BKFortressPlugin extends OptionHandler { switch (id) { case 2342:// listen at grill. player.animate(LISTEN_ANIM); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player.animate(LOWER_ANIM); @@ -150,7 +150,7 @@ public final class BKFortressPlugin extends OptionHandler { case "read":// 4549, 4551 if (player.getInventory().remove((Item) node)) { player.lock(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/quest/free/demonslayer/DemonSlayerCutscene.java b/Server/src/main/java/core/game/content/quest/free/demonslayer/DemonSlayerCutscene.java index 6de56ef71..6d6dad798 100644 --- a/Server/src/main/java/core/game/content/quest/free/demonslayer/DemonSlayerCutscene.java +++ b/Server/src/main/java/core/game/content/quest/free/demonslayer/DemonSlayerCutscene.java @@ -16,7 +16,7 @@ import core.game.node.entity.player.link.quest.Quest; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; import core.game.world.map.path.Path; @@ -412,7 +412,7 @@ public final class DemonSlayerCutscene extends CutscenePlugin { interpreter.sendPlainMessage(true, "Delrith is sucked into the vortex..."); cutscene.delrith.animate(new Animation(4624)); player.lock(); - GameWorld.getPulser().submit(new Pulse(10) { + World.getPulser().submit(new Pulse(10) { @Override public boolean pulse() { cutscene.delrith.clear(); @@ -503,7 +503,7 @@ public final class DemonSlayerCutscene extends CutscenePlugin { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.POSITION, player.getLocation().getX() - 1, player.getLocation().getY() + 2, 380, 1, 98)); PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.ROTATION, player.getLocation().getX() + 19, player.getLocation().getY() - 55, 380, 1, 98)); interpreter.sendPlainMessage(true, "The wizards cast an evil spell..."); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 0; @SuppressWarnings("deprecation") diff --git a/Server/src/main/java/core/game/content/quest/free/demonslayer/GypsyArisDialogue.java b/Server/src/main/java/core/game/content/quest/free/demonslayer/GypsyArisDialogue.java index 5c4d4aa4a..6f45fbdfa 100644 --- a/Server/src/main/java/core/game/content/quest/free/demonslayer/GypsyArisDialogue.java +++ b/Server/src/main/java/core/game/content/quest/free/demonslayer/GypsyArisDialogue.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.update.flag.context.Animation; import core.net.packet.PacketRepository; @@ -602,7 +602,7 @@ public final class GypsyArisDialogue extends DialoguePlugin { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.POSITION, player.getLocation().getX() + 2, player.getLocation().getY() + 2, 260, 1, 10)); PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.ROTATION, player.getLocation().getX() + 190, player.getLocation().getY() + 14, 260, 1, 10)); interpreter.sendDialogues(wally, FacialExpression.FURIOUS, "Die, foul demon!"); - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { wally.animate(new Animation(4603)); @@ -622,7 +622,7 @@ public final class GypsyArisDialogue extends DialoguePlugin { case 203: close(); player.getInterfaceManager().openOverlay(new Component(115)); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/quest/free/demonslayer/SirPyrsinDialogue.java b/Server/src/main/java/core/game/content/quest/free/demonslayer/SirPyrsinDialogue.java index 059c66caf..9b25915ec 100644 --- a/Server/src/main/java/core/game/content/quest/free/demonslayer/SirPyrsinDialogue.java +++ b/Server/src/main/java/core/game/content/quest/free/demonslayer/SirPyrsinDialogue.java @@ -5,7 +5,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -175,7 +175,7 @@ public class SirPyrsinDialogue extends DialoguePlugin { } close(); player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/quest/free/demonslayer/TraibornDialogue.java b/Server/src/main/java/core/game/content/quest/free/demonslayer/TraibornDialogue.java index db54f8923..406cd0bb2 100644 --- a/Server/src/main/java/core/game/content/quest/free/demonslayer/TraibornDialogue.java +++ b/Server/src/main/java/core/game/content/quest/free/demonslayer/TraibornDialogue.java @@ -9,7 +9,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -209,7 +209,7 @@ public class TraibornDialogue extends DialoguePlugin { interpreter.sendItemMessage(DemonSlayer.THIRD_KEY.getId(), "Traiborn hands you a key."); stage = 387; } - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayer.java b/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayer.java index 439f10329..46d8058a8 100644 --- a/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayer.java +++ b/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayer.java @@ -14,7 +14,7 @@ import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import rs09.game.content.dialogue.DukeHoracioDialogue; import rs09.game.content.quest.free.dragonslayer.NedDialogue; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.plugin.PluginManager; /** @@ -327,7 +327,7 @@ public final class DragonSlayer extends Quest { final Scenery object = RegionManager.getObject(new Location(3050, 9839, 0)); player.faceLocation(object.getLocation()); player.getPacketDispatch().sendSceneryAnimation(object, new Animation(6636)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayerCutscene.java b/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayerCutscene.java index 0c86708bf..98e55f320 100644 --- a/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayerCutscene.java +++ b/Server/src/main/java/core/game/content/quest/free/dragonslayer/DragonSlayerCutscene.java @@ -14,7 +14,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; import core.game.world.update.flag.context.Animation; @@ -124,7 +124,7 @@ public final class DragonSlayerCutscene extends CutscenePlugin { PacketRepository.send(CameraViewPacket.class, position); PacketRepository.send(CameraViewPacket.class, rotation); if (bobinPulse.position == null || bobinPulse.rotation == null) { - GameWorld.getPulser().submit(bobinPulse); + World.getPulser().submit(bobinPulse); } bobinPulse.position = position; bobinPulse.rotation = rotation; @@ -341,7 +341,7 @@ public final class DragonSlayerCutscene extends CutscenePlugin { case 503: player.getInterfaceManager().open(new Component(543)); interpreter.sendPlainMessage(true, "Clouds surround the ship."); - GameWorld.getPulser().submit(new Pulse(6, player) { + World.getPulser().submit(new Pulse(6, player) { @Override public boolean pulse() { player.getInterfaceManager().close(); @@ -361,7 +361,7 @@ public final class DragonSlayerCutscene extends CutscenePlugin { break; case 505: player.getInterfaceManager().open(new Component(545)); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player("Did you see that?"); @@ -387,7 +387,7 @@ public final class DragonSlayerCutscene extends CutscenePlugin { player.getPacketDispatch().sendPositionedGraphic(446, 70, 1, cutscene.getBase().transform(37, 5, 1)); player.getPacketDispatch().sendPositionedGraphic(446, 70, 2, cutscene.getBase().transform(36, 5, 1)); player.getPacketDispatch().sendPositionedGraphic(446, 70, 3, cutscene.getBase().transform(35, 5, 1)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { @@ -412,7 +412,7 @@ public final class DragonSlayerCutscene extends CutscenePlugin { case 509: close(); player.getInterfaceManager().open(new Component(546)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 0; @Override @@ -504,7 +504,7 @@ public final class DragonSlayerCutscene extends CutscenePlugin { case 10: end(); Ships.PORT_SARIM_TO_CRANDOR.sail(player); - GameWorld.getPulser().submit(new Pulse(17) { + World.getPulser().submit(new Pulse(17) { @Override public boolean pulse() { player.getInterfaceManager().open(new Component(317)); @@ -536,7 +536,7 @@ public final class DragonSlayerCutscene extends CutscenePlugin { for (Location fire : fires) { player.getPacketDispatch().sendPositionedGraphic(453, 0, 1, fire); } - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { for (Location fire : fires) { diff --git a/Server/src/main/java/core/game/content/quest/free/dragonslayer/ElvargNPC.java b/Server/src/main/java/core/game/content/quest/free/dragonslayer/ElvargNPC.java index c8f108ff2..dbc786a90 100644 --- a/Server/src/main/java/core/game/content/quest/free/dragonslayer/ElvargNPC.java +++ b/Server/src/main/java/core/game/content/quest/free/dragonslayer/ElvargNPC.java @@ -15,7 +15,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -69,7 +69,7 @@ public final class ElvargNPC extends AbstractNPC { @Override public void commenceDeath(Entity killer) { final Direction direction = Direction.getLogicalDirection(getLocation(), killer.getLocation()); - GameWorld.getPulser().submit(new Pulse(1, this) { + World.getPulser().submit(new Pulse(1, this) { @Override public boolean pulse() { faceLocation(getCenterLocation().transform(direction.getStepX() * 3, direction.getStepY() * 3, 0)); @@ -86,7 +86,7 @@ public final class ElvargNPC extends AbstractNPC { SceneryBuilder.add(object); killer.faceLocation(object.getCenterLocation()); killer.lock(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GDiplomacyCutscene.java b/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GDiplomacyCutscene.java index 14975a07c..5d16d1645 100644 --- a/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GDiplomacyCutscene.java +++ b/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GDiplomacyCutscene.java @@ -11,7 +11,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -646,7 +646,7 @@ public final class GDiplomacyCutscene extends CutscenePlugin { */ public void sendGrubFoot(final GrubFoot grubFoot, final int endStage) { Pathfinder.find(grubfoot, grubfoot.getLocation().transform(-4, 0, 0)).walk(grubfoot); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GoblinDiplomacyPlugin.java b/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GoblinDiplomacyPlugin.java index 807c401af..f0a76049c 100644 --- a/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GoblinDiplomacyPlugin.java +++ b/Server/src/main/java/core/game/content/quest/free/goblindiplomacy/GoblinDiplomacyPlugin.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.node.scenery.Scenery; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Plugin; import rs09.plugin.PluginManager; import core.tools.StringUtils; @@ -59,8 +59,8 @@ public final class GoblinDiplomacyPlugin extends OptionHandler { case 16557: case 16561: case 16560: - if (player.getAttribute("crate:" + id, 0) < GameWorld.getTicks()) { - player.setAttribute("crate:" + id, GameWorld.getTicks() + 500); + if (player.getAttribute("crate:" + id, 0) < World.getTicks()) { + player.setAttribute("crate:" + id, World.getTicks() + 500); if (!player.getInventory().add(GOBLIN_MAIL)) { GroundItemManager.create(GOBLIN_MAIL, player); } diff --git a/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliDialogue.java b/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliDialogue.java index 0284cc9a6..accef4b4d 100644 --- a/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliDialogue.java +++ b/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliDialogue.java @@ -8,7 +8,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; /** @@ -90,13 +90,13 @@ public final class LadyKeliDialogue extends DialoguePlugin { stage = 1; break; case 1: - interpreter.sendOptions("Select an Option", "Heard of you? You are famous in " + GameWorld.getSettings().getName() + "!", "I have heard a little, but I think Katrine is tougher.", "I have heard rumours that you kill people.", "No I have never really heard of you."); + interpreter.sendOptions("Select an Option", "Heard of you? You are famous in " + World.getSettings().getName() + "!", "I have heard a little, but I think Katrine is tougher.", "I have heard rumours that you kill people.", "No I have never really heard of you."); stage = 2; break; case 2: switch (buttonId) { case 1: - interpreter.sendDialogues(player, null, "The great Lady Keli, of course I have heard of you.", "You are famous in " + GameWorld.getSettings().getName() + "!"); + interpreter.sendDialogues(player, null, "The great Lady Keli, of course I have heard of you.", "You are famous in " + World.getSettings().getName() + "!"); stage = 10; break; case 2: diff --git a/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliNPC.java b/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliNPC.java index 47f0cb6a0..e561d1cfa 100644 --- a/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliNPC.java +++ b/Server/src/main/java/core/game/content/quest/free/princealirescue/LadyKeliNPC.java @@ -2,7 +2,7 @@ package core.game.content.quest.free.princealirescue; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; /** @@ -40,7 +40,7 @@ public final class LadyKeliNPC extends AbstractNPC { @Override public boolean isHidden(final Player player) { - return player.getAttribute("keli-gone", 0) > GameWorld.getTicks(); + return player.getAttribute("keli-gone", 0) > World.getTicks(); } @Override diff --git a/Server/src/main/java/core/game/content/quest/free/princealirescue/PrinceAliRescuePlugin.java b/Server/src/main/java/core/game/content/quest/free/princealirescue/PrinceAliRescuePlugin.java index 146b02a1a..97cc399c4 100644 --- a/Server/src/main/java/core/game/content/quest/free/princealirescue/PrinceAliRescuePlugin.java +++ b/Server/src/main/java/core/game/content/quest/free/princealirescue/PrinceAliRescuePlugin.java @@ -9,7 +9,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.scenery.Scenery; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.plugin.Initializable; import core.plugin.Plugin; @@ -47,7 +47,7 @@ public class PrinceAliRescuePlugin extends OptionHandler { DoorActionHandler.handleAutowalkDoor(player, (Scenery) node); break; case 50: - if (player.getAttribute("keli-gone", 0) > GameWorld.getTicks()) { + if (player.getAttribute("keli-gone", 0) > World.getTicks()) { if (player.getInventory().contains(2418, 1)) { player.getPacketDispatch().sendMessage("You unlock the door."); DoorActionHandler.handleAutowalkDoor(player, (Scenery) node); diff --git a/Server/src/main/java/core/game/content/quest/free/therestlessghost/RestlessGhostPlugin.java b/Server/src/main/java/core/game/content/quest/free/therestlessghost/RestlessGhostPlugin.java index 61f9b54de..4bd488913 100644 --- a/Server/src/main/java/core/game/content/quest/free/therestlessghost/RestlessGhostPlugin.java +++ b/Server/src/main/java/core/game/content/quest/free/therestlessghost/RestlessGhostPlugin.java @@ -13,7 +13,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -142,7 +142,7 @@ public final class RestlessGhostPlugin extends OptionHandler { return; } GHOST.setInvisible(false); - GameWorld.getPulser().submit(new Pulse(100, GHOST) { + World.getPulser().submit(new Pulse(100, GHOST) { @Override public boolean pulse() { GHOST.setInvisible(true); @@ -253,7 +253,7 @@ public final class RestlessGhostPlugin extends OptionHandler { @Override public boolean isHidden(final Player player) { final Player pl = getAttribute("player", null); - if (this.getRespawnTick() > GameWorld.getTicks()) { + if (this.getRespawnTick() > World.getTicks()) { return true; } return player.getQuestRepository().isComplete(RestlessGhost.NAME) || (pl != null && player != pl); diff --git a/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AliceHusbandDialogue.java b/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AliceHusbandDialogue.java index d2efe20e5..5c5eea7c8 100644 --- a/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AliceHusbandDialogue.java +++ b/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AliceHusbandDialogue.java @@ -12,7 +12,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; import core.game.world.map.path.Pathfinder; @@ -411,7 +411,7 @@ public final class AliceHusbandDialogue extends DialoguePlugin { player.face(scene.chicken); scene.walk(scene.husband, 46, 9); scene.walk(scene.chicken, 46, 9); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -440,7 +440,7 @@ public final class AliceHusbandDialogue extends DialoguePlugin { scene.husband.getAnimator().forceAnimation(new Animation(5377, Priority.HIGH)); scene.walk(scene.husband, 51, 8); scene.walk(scene.chicken, 45, 10); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -479,7 +479,7 @@ public final class AliceHusbandDialogue extends DialoguePlugin { scene.walk(scene.cowKiller, 46, 9); scene.walk(scene.cow, 46, 10); scene.walk(scene.husband, 44, 10); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -524,7 +524,7 @@ public final class AliceHusbandDialogue extends DialoguePlugin { stage++; scene.allice.face(scene.husband); scene.walk(scene.cowKiller, 46, 10); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override @@ -558,7 +558,7 @@ public final class AliceHusbandDialogue extends DialoguePlugin { case 23: close(); stage++; - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -663,7 +663,7 @@ public final class AliceHusbandDialogue extends DialoguePlugin { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.POSITION, loc.getX() + 2, loc.getY() + 3, height, 1, 100)); PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.ROTATION, loc.getX() + xRot, loc.getY() + yRot, height, 1, 100)); player.faceTemporary(chicken, 1); - player.getLocks().lockMovement(GameWorld.getTicks() + 1000000); + player.getLocks().lockMovement(World.getTicks() + 1000000); player.getDialogueInterpreter().sendDialogues(5202, null, "Here, chicky chicky!"); } diff --git a/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AnimalMagnetismPlugin.java b/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AnimalMagnetismPlugin.java index 83750c71f..034a6c62f 100644 --- a/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AnimalMagnetismPlugin.java +++ b/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AnimalMagnetismPlugin.java @@ -23,7 +23,7 @@ import core.game.node.entity.player.link.TeleportManager.TeleportType; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; @@ -178,7 +178,7 @@ public final class AnimalMagnetismPlugin extends OptionHandler { final Player player = event.getPlayer(); player.animate(ANIMATION); player.lock(ANIMATION.getDefinition().getDurationTicks()); - GameWorld.getPulser().submit(new Pulse(ANIMATION.getDefinition().getDurationTicks(), player) { + World.getPulser().submit(new Pulse(ANIMATION.getDefinition().getDurationTicks(), player) { @Override public boolean pulse() { if (!player.getZoneMonitor().isInZone("rimmington mine")) { diff --git a/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AvaDialogue.java b/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AvaDialogue.java index a5023701d..2563cc8e5 100644 --- a/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AvaDialogue.java +++ b/Server/src/main/java/core/game/content/quest/members/animalmagnetism/AvaDialogue.java @@ -10,7 +10,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the ava npc dialogue. @@ -230,7 +230,7 @@ public final class AvaDialogue extends DialoguePlugin { stage++; break; case 5: - player("Obvious, yes, but why on " + GameWorld.getSettings().getName() + " would you need", "an undead chicken when there are perfectly good live", "chickens just down the road?"); + player("Obvious, yes, but why on " + World.getSettings().getName() + " would you need", "an undead chicken when there are perfectly good live", "chickens just down the road?"); stage++; break; case 6: @@ -250,7 +250,7 @@ public final class AvaDialogue extends DialoguePlugin { stage++; break; case 10: - npc("We'll need a magnet next, one with purely natural", "fields and made from a carefully selected iron bar. A", "firm impact when the iron is parallel to " + GameWorld.getSettings().getName() + "'s", "field will stabilise this field in the rod."); + npc("We'll need a magnet next, one with purely natural", "fields and made from a carefully selected iron bar. A", "firm impact when the iron is parallel to " + World.getSettings().getName() + "'s", "field will stabilise this field in the rod."); stage++; break; case 11: @@ -302,7 +302,7 @@ public final class AvaDialogue extends DialoguePlugin { stage++; break; case 5: - npc("The plan is that the chicken will operate the magnet to", "attract bits of iron and steel, maybe even your own", "recently fired arrows. There are plenty of totally lost", "arrowheads lying about in the Fields of " + GameWorld.getSettings().getName() + ", I"); + npc("The plan is that the chicken will operate the magnet to", "attract bits of iron and steel, maybe even your own", "recently fired arrows. There are plenty of totally lost", "arrowheads lying about in the Fields of " + World.getSettings().getName() + ", I"); stage++; break; case 6: diff --git a/Server/src/main/java/core/game/content/quest/members/dwarfcannon/DwarfCannonPlugin.java b/Server/src/main/java/core/game/content/quest/members/dwarfcannon/DwarfCannonPlugin.java index 6a9646129..f7e48a88d 100644 --- a/Server/src/main/java/core/game/content/quest/members/dwarfcannon/DwarfCannonPlugin.java +++ b/Server/src/main/java/core/game/content/quest/members/dwarfcannon/DwarfCannonPlugin.java @@ -18,7 +18,7 @@ import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import rs09.game.system.SystemLogger; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -217,7 +217,7 @@ public class DwarfCannonPlugin extends OptionHandler { player.sendMessages("You search the crate...", "Inside you see a dwarf child, tied up!", "You untie the child."); lollk.setInvisible(false); lollk.sendChat("Hooray!"); - GameWorld.getPulser().submit(new Pulse(150, lollk) { + World.getPulser().submit(new Pulse(150, lollk) { @Override public boolean pulse() { @@ -304,7 +304,7 @@ public class DwarfCannonPlugin extends OptionHandler { player.getConfigManager().set(0, 8, true); player.getQuestRepository().getQuest(DwarfCannon.NAME).setStage(player, 60); player.sendMessage("Well done! You've fixed the cannon! Better go and tell Captain Lawgof."); - GameWorld.getPulser().submit(new Pulse(5, player) { + World.getPulser().submit(new Pulse(5, player) { @Override public boolean pulse() { player.getInterfaceManager().close(); diff --git a/Server/src/main/java/core/game/content/quest/members/fishingcontest/FenceInteraction.java b/Server/src/main/java/core/game/content/quest/members/fishingcontest/FenceInteraction.java index 649a16186..82f0d9fb6 100644 --- a/Server/src/main/java/core/game/content/quest/members/fishingcontest/FenceInteraction.java +++ b/Server/src/main/java/core/game/content/quest/members/fishingcontest/FenceInteraction.java @@ -4,7 +4,7 @@ import core.game.interaction.MovementPulse; import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -26,7 +26,7 @@ public class FenceInteraction extends PluginInteraction { player.getPulseManager().run(new MovementPulse(player, node.asScenery().getLocation().transform(player.getLocation().getX() == node.getLocation().getX() ? 0 : -1, 0, 0)) { @Override public boolean pulse() { - GameWorld.getPulser().submit(new SqueezePulse(player)); + World.getPulser().submit(new SqueezePulse(player)); return true; } }, "movement"); diff --git a/Server/src/main/java/core/game/content/quest/members/fishingcontest/FishingContestCutscene.java b/Server/src/main/java/core/game/content/quest/members/fishingcontest/FishingContestCutscene.java index e85409c21..b424d6003 100644 --- a/Server/src/main/java/core/game/content/quest/members/fishingcontest/FishingContestCutscene.java +++ b/Server/src/main/java/core/game/content/quest/members/fishingcontest/FishingContestCutscene.java @@ -5,7 +5,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; @@ -66,9 +66,9 @@ public class FishingContestCutscene extends CutscenePlugin { if(player.getAttribute("fishing_contest:garlic",false)){ NPC stranger = npcs.get(2); stranger.sendChat("What is this smell??"); - GameWorld.getPulser().submit(new SwitchPulse()); + World.getPulser().submit(new SwitchPulse()); } else { - GameWorld.getPulser().submit(new FishingPulse()); + World.getPulser().submit(new FishingPulse()); } player.lock(); } @@ -93,10 +93,10 @@ public class FishingContestCutscene extends CutscenePlugin { player.setAttribute("/save:fishing_contest:won",true); player.getWalkingQueue().setRunDisabled(false); } - GameWorld.getPulser().submit(getEndPulse()); + World.getPulser().submit(getEndPulse()); break; case 15: - GameWorld.getPulser().submit(new Pulse(){ + World.getPulser().submit(new Pulse(){ int counter = 0; @Override public boolean pulse() { @@ -161,7 +161,7 @@ public class FishingContestCutscene extends CutscenePlugin { return true; } }, "movement"); - GameWorld.getPulser().submit(new FishingPulse()); + World.getPulser().submit(new FishingPulse()); return true; } return false; diff --git a/Server/src/main/java/core/game/content/quest/members/lostcity/LostCityPlugin.java b/Server/src/main/java/core/game/content/quest/members/lostcity/LostCityPlugin.java index d26823730..182ad57ad 100644 --- a/Server/src/main/java/core/game/content/quest/members/lostcity/LostCityPlugin.java +++ b/Server/src/main/java/core/game/content/quest/members/lostcity/LostCityPlugin.java @@ -18,7 +18,7 @@ import core.game.system.task.Pulse; import core.game.world.map.Location; import core.plugin.Plugin; import rs09.game.interaction.InteractionListeners; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the lost city quest. @@ -128,7 +128,7 @@ public final class LostCityPlugin extends OptionHandler { } SHAMUS.setInvisible(false); SHAMUS.getProperties().setTeleportLocation(SHAMUS.getProperties().getSpawnLocation()); - GameWorld.getPulser().submit(new Pulse(100, SHAMUS) { + World.getPulser().submit(new Pulse(100, SHAMUS) { @Override public boolean pulse() { if (SHAMUS.getDialoguePlayer() != null) { diff --git a/Server/src/main/java/core/game/content/quest/members/merlinscrystal/MerlinCrystalPlugin.java b/Server/src/main/java/core/game/content/quest/members/merlinscrystal/MerlinCrystalPlugin.java index af194ccbc..5a5556c90 100644 --- a/Server/src/main/java/core/game/content/quest/members/merlinscrystal/MerlinCrystalPlugin.java +++ b/Server/src/main/java/core/game/content/quest/members/merlinscrystal/MerlinCrystalPlugin.java @@ -23,7 +23,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -87,7 +87,7 @@ public final class MerlinCrystalPlugin extends OptionHandler { final NPC merlin = NPC.create(249, Location.create(2767, 3493, 2)); merlin.init(); player.getDialogueInterpreter().open(merlin.getId(), merlin); - GameWorld.getPulser().submit(new Pulse(100, player, merlin) { + World.getPulser().submit(new Pulse(100, player, merlin) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/content/quest/members/merlinscrystal/SirMordredNPC.java b/Server/src/main/java/core/game/content/quest/members/merlinscrystal/SirMordredNPC.java index d49803fa0..91c9c4099 100644 --- a/Server/src/main/java/core/game/content/quest/members/merlinscrystal/SirMordredNPC.java +++ b/Server/src/main/java/core/game/content/quest/members/merlinscrystal/SirMordredNPC.java @@ -6,7 +6,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Graphics; @@ -61,7 +61,7 @@ public class SirMordredNPC extends AbstractNPC { npc.graphics(Graphics.create(86)); npc.moveStep(); npc.face(p); - GameWorld.getPulser().submit(new Pulse(100, p, npc) { + World.getPulser().submit(new Pulse(100, p, npc) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/content/quest/members/rovingelves/RovingElvesPlugin.java b/Server/src/main/java/core/game/content/quest/members/rovingelves/RovingElvesPlugin.java index c04388c8c..a7100d635 100644 --- a/Server/src/main/java/core/game/content/quest/members/rovingelves/RovingElvesPlugin.java +++ b/Server/src/main/java/core/game/content/quest/members/rovingelves/RovingElvesPlugin.java @@ -8,7 +8,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -55,7 +55,7 @@ public final class RovingElvesPlugin extends OptionHandler { } else { player.animate(ANIMATION_DIG); player.getPacketDispatch().sendMessage("You dig a small hole with your spade."); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/quest/members/sheepherder/HerderSheepNPC.java b/Server/src/main/java/core/game/content/quest/members/sheepherder/HerderSheepNPC.java index ddd2368ab..1bac2e1f0 100644 --- a/Server/src/main/java/core/game/content/quest/members/sheepherder/HerderSheepNPC.java +++ b/Server/src/main/java/core/game/content/quest/members/sheepherder/HerderSheepNPC.java @@ -3,7 +3,7 @@ package core.game.content.quest.members.sheepherder; import core.game.interaction.MovementPulse; import core.game.node.entity.Entity; import core.game.node.entity.npc.NPC; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.path.Pathfinder; @@ -25,7 +25,7 @@ public class HerderSheepNPC extends NPC { if(getLocation().withinDistance(Location.create(2593, 3362, 0),2)){ getProperties().setTeleportLocation(Location.create(2599, 3360, 0)); } - if (ticksTilReturn < GameWorld.getTicks()) { + if (ticksTilReturn < World.getTicks()) { sendChat("Baa"); this.getPulseManager().run(new MovementPulse(this, spawnLocation) { @Override @@ -36,7 +36,7 @@ public class HerderSheepNPC extends NPC { this.removeAttribute("recently-prodded"); } } else { - if(nextWalk < GameWorld.getTicks() && !getPulseManager().hasPulseRunning()){ + if(nextWalk < World.getTicks() && !getPulseManager().hasPulseRunning()){ setNextWalk(); Location to = getMovementDestination(); if (canMove(to)) { @@ -57,7 +57,7 @@ public class HerderSheepNPC extends NPC { @Override public void finalizeDeath(Entity killer) { - this.setRespawnTick(GameWorld.getTicks() + 100); + this.setRespawnTick(World.getTicks() + 100); super.finalizeDeath(killer); } } \ No newline at end of file diff --git a/Server/src/main/java/core/game/content/quest/members/sheepherder/ProdActionHandler.java b/Server/src/main/java/core/game/content/quest/members/sheepherder/ProdActionHandler.java index 24e27750e..33969c413 100644 --- a/Server/src/main/java/core/game/content/quest/members/sheepherder/ProdActionHandler.java +++ b/Server/src/main/java/core/game/content/quest/members/sheepherder/ProdActionHandler.java @@ -6,9 +6,8 @@ import core.game.interaction.Option; import core.game.node.Node; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.system.SystemLogger; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -55,7 +54,7 @@ public class ProdActionHandler extends PluginInteraction { n.sendChat("BAAAAA!"); n.moveTo(destination); n.setAttribute("recently-prodded",true); - n.ticksTilReturn = GameWorld.getTicks() + 20; + n.ticksTilReturn = World.getTicks() + 20; return true; } else { p.sendMessage("You can't prod a sheep with your bare hands."); diff --git a/Server/src/main/java/core/game/content/quest/members/sheepherder/SheepPoisonHandler.java b/Server/src/main/java/core/game/content/quest/members/sheepherder/SheepPoisonHandler.java index 147f16a92..2b52547e0 100644 --- a/Server/src/main/java/core/game/content/quest/members/sheepherder/SheepPoisonHandler.java +++ b/Server/src/main/java/core/game/content/quest/members/sheepherder/SheepPoisonHandler.java @@ -6,9 +6,8 @@ import core.game.interaction.NodeUsageEvent; import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.node.item.GroundItemManager; -import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -68,7 +67,7 @@ public class SheepPoisonHandler extends PluginInteraction { @Override public boolean pulse() { p.faceLocation(n.getLocation()); - GameWorld.getPulser().submit(deathPulse); + World.getPulser().submit(deathPulse); return true; } }); diff --git a/Server/src/main/java/core/game/content/quest/members/thetouristrap/AnaDialogue.java b/Server/src/main/java/core/game/content/quest/members/thetouristrap/AnaDialogue.java index ec03928ef..8f0b6d5f6 100644 --- a/Server/src/main/java/core/game/content/quest/members/thetouristrap/AnaDialogue.java +++ b/Server/src/main/java/core/game/content/quest/members/thetouristrap/AnaDialogue.java @@ -8,7 +8,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.plugin.Plugin; @@ -194,7 +194,7 @@ public final class AnaDialogue extends DialoguePlugin { player.getInventory().add(TouristTrap.ANNA_BARREL); close(); player.lock(3); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { interpreter.sendDialogues(823, null, "-- You manage to squeeze Ana into the barrel, --", "-- despite her many complaints. --", "I djont fit in dis bawwel... Wet me out!!"); diff --git a/Server/src/main/java/core/game/content/quest/members/thetouristrap/DesertGuardDialogue.java b/Server/src/main/java/core/game/content/quest/members/thetouristrap/DesertGuardDialogue.java index 927f2ef5d..0629f722a 100644 --- a/Server/src/main/java/core/game/content/quest/members/thetouristrap/DesertGuardDialogue.java +++ b/Server/src/main/java/core/game/content/quest/members/thetouristrap/DesertGuardDialogue.java @@ -8,7 +8,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import rs09.plugin.PluginManager; @@ -293,8 +293,8 @@ public final class DesertGuardDialogue extends DialoguePlugin { @Override public void tick() { - if (lastCheck < GameWorld.getTicks()) { - lastCheck = GameWorld.getTicks() + RandomFunction.random(50, 150); + if (lastCheck < World.getTicks()) { + lastCheck = World.getTicks() + RandomFunction.random(50, 150); if (!inCombat()) { warn(); } @@ -308,16 +308,16 @@ public final class DesertGuardDialogue extends DialoguePlugin { private void warn() { final List players = RegionManager.getLocalPlayers(this); for (final Player player : players) { - if (player.getAttribute("guard-warning", 0) > GameWorld.getTicks() || !player.getZoneMonitor().isInZone("mining camp") || player.inCombat() || !player.getLocation().withinDistance(this.getLocation(), 8)) { + if (player.getAttribute("guard-warning", 0) > World.getTicks() || !player.getZoneMonitor().isInZone("mining camp") || player.inCombat() || !player.getLocation().withinDistance(this.getLocation(), 8)) { continue; } if (TouristTrap.inJail(player)) { continue; } if (!TouristTrap.hasSlaveClothes(player)) { - player.setAttribute("guard-warning", GameWorld.getTicks() + 300); + player.setAttribute("guard-warning", World.getTicks() + 300); player.lock(); - GameWorld.getPulser().submit(new Pulse(1, this, player) { + World.getPulser().submit(new Pulse(1, this, player) { int count; @Override diff --git a/Server/src/main/java/core/game/content/quest/members/thetouristrap/MaleSlaveDialogue.java b/Server/src/main/java/core/game/content/quest/members/thetouristrap/MaleSlaveDialogue.java index 3aa5ab409..ee803b135 100644 --- a/Server/src/main/java/core/game/content/quest/members/thetouristrap/MaleSlaveDialogue.java +++ b/Server/src/main/java/core/game/content/quest/members/thetouristrap/MaleSlaveDialogue.java @@ -6,7 +6,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.tools.RandomFunction; @@ -257,7 +257,7 @@ public final class MaleSlaveDialogue extends DialoguePlugin { case 24: player.lock(); interpreter.sendDialogues(getIds()[0], null, true, "Oh oh!"); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/quest/members/thetouristrap/MineSlaveNPC.java b/Server/src/main/java/core/game/content/quest/members/thetouristrap/MineSlaveNPC.java index e9cbaf1b4..b323ab04b 100644 --- a/Server/src/main/java/core/game/content/quest/members/thetouristrap/MineSlaveNPC.java +++ b/Server/src/main/java/core/game/content/quest/members/thetouristrap/MineSlaveNPC.java @@ -1,7 +1,7 @@ package core.game.content.quest.members.thetouristrap; import core.game.node.entity.npc.AbstractNPC; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.tools.RandomFunction; @@ -35,7 +35,7 @@ public final class MineSlaveNPC extends AbstractNPC { */ public MineSlaveNPC(int id, Location location) { super(id, location); - delay = GameWorld.getTicks() + RandomFunction.random(20, 100); + delay = World.getTicks() + RandomFunction.random(20, 100); } @Override @@ -45,9 +45,9 @@ public final class MineSlaveNPC extends AbstractNPC { @Override public void tick() { - if (delay < GameWorld.getTicks()) { + if (delay < World.getTicks()) { sendChat(CHATS[RandomFunction.random(CHATS.length)]); - delay = GameWorld.getTicks() + RandomFunction.random(20, 100); + delay = World.getTicks() + RandomFunction.random(20, 100); } super.tick(); } diff --git a/Server/src/main/java/core/game/content/quest/members/thetouristrap/MiningCampZone.java b/Server/src/main/java/core/game/content/quest/members/thetouristrap/MiningCampZone.java index b569aeceb..ea2347b12 100644 --- a/Server/src/main/java/core/game/content/quest/members/thetouristrap/MiningCampZone.java +++ b/Server/src/main/java/core/game/content/quest/members/thetouristrap/MiningCampZone.java @@ -6,7 +6,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -54,7 +54,7 @@ public final class MiningCampZone extends MapZone implements Plugin { case "Equip": case "Wear": final Player player = (Player) e; - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { if (TouristTrap.isJailable(player)) { @@ -84,7 +84,7 @@ public final class MiningCampZone extends MapZone implements Plugin { */ public boolean checkAnna(final Player p) { final Quest quest = p.getQuestRepository().getQuest(TouristTrap.NAME); - if (p.getAttribute("ana-delay", 0) > GameWorld.getTicks()) { + if (p.getAttribute("ana-delay", 0) > World.getTicks()) { return false; } if (quest.getStage(p) > 60 && quest.getStage(p) < 95 && p.getInventory().containsItem(TouristTrap.ANNA_BARREL)) { diff --git a/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrap.java b/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrap.java index 6c68c59e2..d85590579 100644 --- a/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrap.java +++ b/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrap.java @@ -7,7 +7,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.ZoneBorders; import core.plugin.Initializable; @@ -198,7 +198,7 @@ public final class TouristTrap extends Quest { public static void jail(final Player player, String dialogue) { player.getDialogueInterpreter().sendDialogues(4999, null, dialogue); player.lock(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrapPlugin.java b/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrapPlugin.java index a87caed01..4b7063aa1 100644 --- a/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrapPlugin.java +++ b/Server/src/main/java/core/game/content/quest/members/thetouristrap/TouristTrapPlugin.java @@ -26,7 +26,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.build.DynamicRegion; @@ -194,7 +194,7 @@ public final class TouristTrapPlugin extends OptionHandler { if (quest.getStage(player) <= 54 && quest.getStage(player) != 53) { player.getPacketDispatch().sendMessage("The captain spots you before you manage to open the chest..."); player.lock(3); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player.getDialogueInterpreter().open(831, RegionManager.getNpc(player, 831)); @@ -210,7 +210,7 @@ public final class TouristTrapPlugin extends OptionHandler { break; case 2690: case 2691: - player.setAttribute("ana-delay", GameWorld.getTicks() + 2); + player.setAttribute("ana-delay", World.getTicks() + 2); player.getProperties().setTeleportLocation(Location.create(3301, 3035, 0)); break; case 2676: @@ -219,7 +219,7 @@ public final class TouristTrapPlugin extends OptionHandler { player.getDialogueInterpreter().sendDialogues(4997, null, "Watch it! Only slaves can travel into the mine."); break; } - player.setAttribute("ana-delay", GameWorld.getTicks() + 2); + player.setAttribute("ana-delay", World.getTicks() + 2); player.getProperties().setTeleportLocation(Location.create(3278, 9427, 0)); player.getDialogueInterpreter().sendDialogue("The huge doors open into a dark, dank and smelly tunnel. The", "associated smells of a hundred sweaty miners greets your nostrils.", "And your ears ring with the 'CLANG CLANG CLANG' as metal hits", "rock."); break; @@ -228,7 +228,7 @@ public final class TouristTrapPlugin extends OptionHandler { if (quest.getStage(player) > 60 && quest.getStage(player) < 98 && player.getInventory().containsItem(TouristTrap.ANNA_BARREL)) { player.lock(); player.getDialogueInterpreter().sendDialogues(4999, null, true, "Would you like me to take that heavy barrel", "for you?"); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { int counter; @Override @@ -425,7 +425,7 @@ public final class TouristTrapPlugin extends OptionHandler { break; case "bend": player.animate(Animation.create(5037)); - GameWorld.getPulser().submit(new Pulse(5, player) { + World.getPulser().submit(new Pulse(5, player) { @Override public boolean pulse() { player.getPacketDispatch().sendMessage("You bend the bars back."); @@ -441,7 +441,7 @@ public final class TouristTrapPlugin extends OptionHandler { case "climb": player.getPacketDispatch().sendMessage("You scrape your hands and knees as you climb up."); AgilityHandler.forceWalk(player, 0, player.getLocation(), Location.create(3279, 3037, 0), Animation.create(5041), 10, 0, null); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.getAnimator().reset(); @@ -455,7 +455,7 @@ public final class TouristTrapPlugin extends OptionHandler { return true; } player.animate(Animation.create(5039)); - GameWorld.getPulser().submit(new Pulse(6, player) { + World.getPulser().submit(new Pulse(6, player) { @Override public boolean pulse() { player.getAnimator().reset(); @@ -471,7 +471,7 @@ public final class TouristTrapPlugin extends OptionHandler { return true; } AgilityHandler.forceWalk(player, 0, player.getLocation(), Location.create(3270, 3039, 0), Animation.create(5040), 20, 0, null); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.getAnimator().reset(); @@ -697,7 +697,7 @@ public final class TouristTrapPlugin extends OptionHandler { if (quest.getStage(player) == 72) { player.lock(4); player.animate(Animation.create(5050)); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.getInventory().remove(event.getUsedItem()); @@ -717,7 +717,7 @@ public final class TouristTrapPlugin extends OptionHandler { return false; } player.getDialogueInterpreter().sendDialogue("You carefully place Ana in the barrel into the mine", "cart. Soon the cart moves out of sight and then it", "returns."); - player.setAttribute("ana-delay", GameWorld.getTicks() + 100000000); + player.setAttribute("ana-delay", World.getTicks() + 100000000); ActivityManager.start(player, "ana cart", false); return true; } @@ -755,9 +755,9 @@ public final class TouristTrapPlugin extends OptionHandler { @Override public void open() { super.open(); - player.setAttribute("ana-delay", GameWorld.getTicks() + 100000000); + player.setAttribute("ana-delay", World.getTicks() + 100000000); player.faceLocation(base.transform(54, 22, 0)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; NPC cart; @@ -882,7 +882,7 @@ public final class TouristTrapPlugin extends OptionHandler { case 2: player.lock(); player.animate(ClimbActionHandler.CLIMB_UP); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -1024,7 +1024,7 @@ public final class TouristTrapPlugin extends OptionHandler { player.getImpactHandler().manualHit(player, 2, HitsplatType.NORMAL); player.getPacketDispatch().sendMessages("You fail to fit yourself into the cart in time before it starts its journey.", "You bang your head on the cart as you try to jump in."); } else { - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.animate(JUMP_ANIMATION); @@ -1088,7 +1088,7 @@ public final class TouristTrapPlugin extends OptionHandler { Location loc = base.transform(l.getLocalX(), l.getLocalY(), 0); player.getWalkingQueue().addPath(loc.getX(), loc.getY(), true); } - GameWorld.getPulser().submit(new Pulse(22, player) { + World.getPulser().submit(new Pulse(22, player) { @Override public boolean pulse() { player.setAttribute("real-end", index == 0 ? Location.create(3319, 9431, 0) : Location.create(3303, 9416, 0)); @@ -1191,7 +1191,7 @@ public final class TouristTrapPlugin extends OptionHandler { player.getPacketDispatch().sendMessage("You try to operate the winch."); player.faceLocation(base.transform(15, 9, 0)); player.animate(Animation.create(5054)); - GameWorld.getPulser().submit(new Pulse(AnimationDefinition.forId(5054).getDurationTicks(), player) { + World.getPulser().submit(new Pulse(AnimationDefinition.forId(5054).getDurationTicks(), player) { @Override public boolean pulse() { TouristTrap.addConfig(player, 2048 + (1 << 4)); @@ -1348,7 +1348,7 @@ public final class TouristTrapPlugin extends OptionHandler { end(); player.getInventory().add(TouristTrap.BARREL, player); SceneryBuilder.remove(barrel); - GameWorld.getPulser().submit(new Pulse(40) { + World.getPulser().submit(new Pulse(40) { @Override public boolean pulse() { SceneryBuilder.add(barrel); diff --git a/Server/src/main/java/core/game/content/quest/members/waterfallquest/HadleyDialogue.java b/Server/src/main/java/core/game/content/quest/members/waterfallquest/HadleyDialogue.java index d3a51e5e3..44ae4ace9 100644 --- a/Server/src/main/java/core/game/content/quest/members/waterfallquest/HadleyDialogue.java +++ b/Server/src/main/java/core/game/content/quest/members/waterfallquest/HadleyDialogue.java @@ -4,7 +4,7 @@ import core.game.content.dialogue.DialogueInterpreter; import core.game.content.dialogue.DialoguePlugin; import core.game.content.dialogue.FacialExpression; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles Almera's Dialogue for the Waterfall Quest. @@ -38,7 +38,7 @@ public class HadleyDialogue extends DialoguePlugin { interpreter.sendDialogues(302, FacialExpression.HALF_GUILTY, "I hope you're enjoying your stay, there should be lots", "of useful information in that book: places to go, people to", "see."); stage = 100; } else { - interpreter.sendDialogues(302, FacialExpression.HALF_GUILTY, "Are you on holiday? If so you've come to the right", "place. I'm Hadley the tourist guide, anything you need", "to know just ask me. We have some of the most unspoilt", "wildlife and scenery in " + GameWorld.getSettings().getName() + "."); + interpreter.sendDialogues(302, FacialExpression.HALF_GUILTY, "Are you on holiday? If so you've come to the right", "place. I'm Hadley the tourist guide, anything you need", "to know just ask me. We have some of the most unspoilt", "wildlife and scenery in " + World.getSettings().getName() + "."); stage = 1; } break; diff --git a/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowCutscene.java b/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowCutscene.java index e26b29980..a2acc57da 100644 --- a/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowCutscene.java +++ b/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowCutscene.java @@ -12,7 +12,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.build.DynamicRegion; @@ -94,7 +94,7 @@ public class WLBelowCutscene extends CutscenePlugin { king.sendChat("What's going on?", 6); king.sendChat("I...must...kill..." + player.getUsername() + "!!", 9); player.sendChat("Uh oh! King Roald looks evil!", 13); - GameWorld.getPulser().submit(new Pulse(13) { + World.getPulser().submit(new Pulse(13) { @Override public boolean pulse() { reset(); @@ -133,7 +133,7 @@ public class WLBelowCutscene extends CutscenePlugin { player.sendMessage("Surok looks like he's trying to teleport away!"); zaff.sendChat("Stop!!", 3); surok.sendChat("Nooooooooooooo!", 6); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { @@ -144,7 +144,7 @@ public class WLBelowCutscene extends CutscenePlugin { } }); - GameWorld.getPulser().submit(new Pulse(9, player) { + World.getPulser().submit(new Pulse(9, player) { @Override public boolean pulse() { @@ -210,7 +210,7 @@ public class WLBelowCutscene extends CutscenePlugin { zaff.graphics(Graphics.create(108), 3); king.graphics(Graphics.create(110), 8); king.sendChat("Wh...!", 7); - GameWorld.getPulser().submit(new Pulse(9, player) { + World.getPulser().submit(new Pulse(9, player) { @Override public boolean pulse() { @@ -235,7 +235,7 @@ public class WLBelowCutscene extends CutscenePlugin { * @param ticks the ticks. */ public void sendCamera(final int x1, final int y1, final int x2, final int y2, final int height, final int speed, int ticks) { - GameWorld.getPulser().submit(new Pulse(ticks, player) { + World.getPulser().submit(new Pulse(ticks, player) { @Override public boolean pulse() { @@ -261,7 +261,7 @@ public class WLBelowCutscene extends CutscenePlugin { * @param ticks the ticks. */ public void reset(int ticks) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowPlugin.java b/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowPlugin.java index 664683215..3852a18d0 100644 --- a/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowPlugin.java +++ b/Server/src/main/java/core/game/content/quest/members/whatliesbelow/WLBelowPlugin.java @@ -15,7 +15,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -97,7 +97,7 @@ public class WLBelowPlugin extends OptionHandler { } player.lock(); player.animate(tool.getAnimation()); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override diff --git a/Server/src/main/java/core/game/content/quest/members/witchshouse/MouseNPC.java b/Server/src/main/java/core/game/content/quest/members/witchshouse/MouseNPC.java index 3bd8fdee2..8d175b96b 100644 --- a/Server/src/main/java/core/game/content/quest/members/witchshouse/MouseNPC.java +++ b/Server/src/main/java/core/game/content/quest/members/witchshouse/MouseNPC.java @@ -2,7 +2,7 @@ package core.game.content.quest.members.witchshouse; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; /** @@ -43,7 +43,7 @@ public class MouseNPC extends AbstractNPC { */ private MouseNPC(int id, Location location) { super(id, location); - this.endTime = (int) (GameWorld.getTicks() + (4 / 0.6)); + this.endTime = (int) (World.getTicks() + (4 / 0.6)); } @Override @@ -57,7 +57,7 @@ public class MouseNPC extends AbstractNPC { if (player.getAttribute("mouse_out") == null) { clear(); } - if (GameWorld.getTicks() > endTime) { + if (World.getTicks() > endTime) { clear(); } if (!player.isActive() || player.getLocation().getDistance(getLocation()) > 8) { diff --git a/Server/src/main/java/core/game/content/quest/members/witchshouse/NoraTHaggNPC.java b/Server/src/main/java/core/game/content/quest/members/witchshouse/NoraTHaggNPC.java index b9395c572..033d5bfb6 100644 --- a/Server/src/main/java/core/game/content/quest/members/witchshouse/NoraTHaggNPC.java +++ b/Server/src/main/java/core/game/content/quest/members/witchshouse/NoraTHaggNPC.java @@ -6,7 +6,7 @@ import core.game.node.entity.combat.DeathTask; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -90,7 +90,7 @@ public class NoraTHaggNPC extends AbstractNPC { private void sendTeleport(final Player player) { player.lock(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int delay = 0; @Override diff --git a/Server/src/main/java/core/game/content/quest/members/witchshouse/WitchsExperimentNPC.java b/Server/src/main/java/core/game/content/quest/members/witchshouse/WitchsExperimentNPC.java index e2c6de9cf..37b7cf491 100644 --- a/Server/src/main/java/core/game/content/quest/members/witchshouse/WitchsExperimentNPC.java +++ b/Server/src/main/java/core/game/content/quest/members/witchshouse/WitchsExperimentNPC.java @@ -5,7 +5,7 @@ import core.game.node.entity.combat.CombatStyle; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.plugin.Initializable; @@ -119,7 +119,7 @@ public class WitchsExperimentNPC extends AbstractNPC { npc.getPulseManager().clear(); npc.getWalkingQueue().reset(); player.setAttribute("/save:witchs_house:experiment_id",this.id); - GameWorld.getPulser().submit(new Pulse(1, npc, player) { + World.getPulser().submit(new Pulse(1, npc, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlDialogue.java b/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlDialogue.java index 891d7e2e8..b7aa9b61f 100644 --- a/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlDialogue.java +++ b/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlDialogue.java @@ -3,7 +3,7 @@ package core.game.content.quest.miniquest.barcrawl; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.content.dialogue.DialogueInterpreter; import core.game.content.dialogue.DialoguePlugin; @@ -75,7 +75,7 @@ public final class BarcrawlDialogue extends DialoguePlugin { player.getInventory().remove(type.getCoins()); player.getBarcrawlManager().complete(type.ordinal()); player.lock(6); - GameWorld.getPulser().submit(new Pulse(6, player) { + World.getPulser().submit(new Pulse(6, player) { @Override public boolean pulse() { type.message(player, false); diff --git a/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlType.java b/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlType.java index 8573d9b54..358d831e7 100644 --- a/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlType.java +++ b/Server/src/main/java/core/game/content/quest/miniquest/barcrawl/BarcrawlType.java @@ -9,7 +9,7 @@ import core.net.packet.PacketRepository; import core.net.packet.context.CameraContext; import core.net.packet.out.CameraViewPacket; import core.tools.StringUtils; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * A barcrawl type npc. @@ -162,7 +162,7 @@ public enum BarcrawlType { player.getPacketDispatch().sendMessages("The barmaid giggles.", "The barmaid signs your card."); } else { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraContext.CameraType.SHAKE, 4, 4, 1, 4, 4)); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraContext.CameraType.RESET, 4, 4, 1, 4, 4)); diff --git a/Server/src/main/java/core/game/content/quest/tutorials/learningtheropes/LTRDragonFightCutscene.java b/Server/src/main/java/core/game/content/quest/tutorials/learningtheropes/LTRDragonFightCutscene.java index 2eb5f557a..dd7507666 100644 --- a/Server/src/main/java/core/game/content/quest/tutorials/learningtheropes/LTRDragonFightCutscene.java +++ b/Server/src/main/java/core/game/content/quest/tutorials/learningtheropes/LTRDragonFightCutscene.java @@ -9,7 +9,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.state.EntityState; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; @@ -96,7 +96,7 @@ public class LTRDragonFightCutscene extends CutscenePlugin { public void open() { ZoneBuilder.configure(CellarMapZone.get()); setNpcs(); - GameWorld.getPulser().submit(fightPulse); + World.getPulser().submit(fightPulse); player.lock(); player.getLocks().lockMovement(1000000); camera(31, 12, -45, 0, 300, 95); @@ -310,7 +310,7 @@ public class LTRDragonFightCutscene extends CutscenePlugin { * Method used to clear all the npcs. */ private void clearNpcs() { - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { for (NPC n : region.getPlanes()[0].getNpcs()) { diff --git a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/CharacterDesign.java b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/CharacterDesign.java index 0220dd4f0..ef13303ed 100644 --- a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/CharacterDesign.java +++ b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/CharacterDesign.java @@ -7,9 +7,8 @@ import core.game.node.entity.player.link.appearance.Gender; import core.game.node.entity.player.link.music.MusicEntry; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import rs09.game.world.World; +import core.net.ms.MSPacketRepository; import core.tools.RandomFunction; /** @@ -327,17 +326,15 @@ public final class CharacterDesign { if (player.getIronmanManager().isIronman() && player.getSettings().isAcceptAid()) { player.getSettings().toggleAcceptAid(); } - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendInfoUpdate(player); - } + MSPacketRepository.sendInfoUpdate(player); //This overwrites the stuck dialogue after teleporting to Lumbridge for some reason //Dialogue from 2007 or thereabouts //Original is five lines, but if the same is done here it will break. Need to find another way of showing all this information. //player.getDialogueInterpreter().sendDialogue("Welcome to Lumbridge! To get more help, simply click on the", "Lumbridge Guide or one of the Tutors - these can be found by looking", "for the question mark icon on your mini-map. If you find you are", "lost at any time, look for a signpost or use the Lumbridge Home Port Spell."); - player.getDialogueInterpreter().sendPlaneMessageWithBlueTitle("Welcome to " + GameWorld.getSettings().getName() + "!","Hans at the castle in Lumbridge can","enable ironman mode, modify xp rate settings,","toggle random events, and more!","Use the ladder to leave."); + player.getDialogueInterpreter().sendPlaneMessageWithBlueTitle("Welcome to " + World.getSettings().getName() + "!","Hans at the castle in Lumbridge can","enable ironman mode, modify xp rate settings,","toggle random events, and more!","Use the ladder to leave."); //Appending the welcome message and some other stuff - player.getPacketDispatch().sendMessage("Welcome to " + GameWorld.getSettings().getName() + "."); + player.getPacketDispatch().sendMessage("Welcome to " + World.getSettings().getName() + "."); return true; } }); diff --git a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/FinancialAdvisorDialogue.java b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/FinancialAdvisorDialogue.java index 598329829..6e690132c 100644 --- a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/FinancialAdvisorDialogue.java +++ b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/FinancialAdvisorDialogue.java @@ -3,7 +3,7 @@ package core.game.content.quest.tutorials.tutorialisland; import core.game.content.dialogue.DialoguePlugin; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; /** @@ -73,7 +73,7 @@ public final class FinancialAdvisorDialogue extends DialoguePlugin { stage = 5; break; case 5: - interpreter.sendDialogues(npc, null, "Now, the next way to earn money quickly is by quests", "Many people on " + GameWorld.getSettings().getName() + " have things they need", "doing, which they will reward you for."); + interpreter.sendDialogues(npc, null, "Now, the next way to earn money quickly is by quests", "Many people on " + World.getSettings().getName() + " have things they need", "doing, which they will reward you for."); stage = 6; break; case 6: diff --git a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/RSGuideDialogue.java b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/RSGuideDialogue.java index f4d67ffa1..f40328ea3 100644 --- a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/RSGuideDialogue.java +++ b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/RSGuideDialogue.java @@ -5,7 +5,7 @@ import core.game.content.dialogue.DialoguePlugin; import core.game.content.dialogue.FacialExpression; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; /** @@ -52,9 +52,9 @@ public class RSGuideDialogue extends DialoguePlugin { } } else { if(player.getSkills().getTotalLevel() < 300){ - interpreter.sendDialogues(npc, null, "Greetings, "+player.getUsername()+". Welcome to "+GameWorld.getSettings().getName()+".", "The flashing icon above my head will disappear once", "you've reached a total level of three hundred."); + interpreter.sendDialogues(npc, null, "Greetings, "+player.getUsername()+". Welcome to "+ World.getSettings().getName()+".", "The flashing icon above my head will disappear once", "you've reached a total level of three hundred."); } else { - interpreter.sendDialogues(npc, null, "Greetings, "+player.getUsername()+". Welcome to "+GameWorld.getSettings().getName()+"."); + interpreter.sendDialogues(npc, null, "Greetings, "+player.getUsername()+". Welcome to "+ World.getSettings().getName()+"."); } stage = 10; } @@ -117,7 +117,7 @@ public class RSGuideDialogue extends DialoguePlugin { } else { switch(stage){ case 10: - interpreter.sendDialogues(npc, null, "I am the "+GameWorld.getSettings().getName()+" guide. I offer free and helpful assistance", "for newcomers. What would you like to ask about?"); + interpreter.sendDialogues(npc, null, "I am the "+ World.getSettings().getName()+" guide. I offer free and helpful assistance", "for newcomers. What would you like to ask about?"); stage++; break; case 11: @@ -131,17 +131,17 @@ public class RSGuideDialogue extends DialoguePlugin { stage = 13; break; case 2: - interpreter.sendDialogues(player, null, "I'd like to know how to get around on "+GameWorld.getSettings().getName()+"."); + interpreter.sendDialogues(player, null, "I'd like to know how to get around on "+ World.getSettings().getName()+"."); stage = 18; break; case 3: - interpreter.sendDialogues(player, null, "I'd like to know about all the content in "+GameWorld.getSettings().getName()+"."); + interpreter.sendDialogues(player, null, "I'd like to know about all the content in "+ World.getSettings().getName()+"."); stage = 25; break; } break; case 13: - interpreter.sendDialogues(npc, null, "That is one of the most commonly asked questions.", "First of all, there are many different ways to make large", "amounts of coins in "+GameWorld.getSettings().getName()+". There's hundreds", "of hours of emulated content awaiting you."); + interpreter.sendDialogues(npc, null, "That is one of the most commonly asked questions.", "First of all, there are many different ways to make large", "amounts of coins in "+ World.getSettings().getName()+". There's hundreds", "of hours of emulated content awaiting you."); stage = 14; break; case 14: @@ -157,11 +157,11 @@ public class RSGuideDialogue extends DialoguePlugin { stage = 17; break; case 17: - interpreter.sendDialogues(npc, null, GameWorld.getSettings().getName()+" is an economy-driven server. All gathering skills", "are highly profitable and sought after. Herblore and", "Farming, for example, are guaranteed to make you", "profit."); + interpreter.sendDialogues(npc, null, World.getSettings().getName()+" is an economy-driven server. All gathering skills", "are highly profitable and sought after. Herblore and", "Farming, for example, are guaranteed to make you", "profit."); stage = 11; break; case 18: - interpreter.sendDialogues(npc, null, "A good question indeed. Traveling is the key to"," experiencing all the game content that "+GameWorld.getSettings().getName()+" has to offer."); + interpreter.sendDialogues(npc, null, "A good question indeed. Traveling is the key to"," experiencing all the game content that "+ World.getSettings().getName()+" has to offer."); stage = 19; break; case 19: @@ -181,11 +181,11 @@ public class RSGuideDialogue extends DialoguePlugin { stage = 23; break; case 23: - interpreter.sendDialogues(npc, null, "We also have the convenient Gnome glider system.", "The friendly Gnomes of "+GameWorld.getSettings().getName()+" offer their services","completely free of charge."); + interpreter.sendDialogues(npc, null, "We also have the convenient Gnome glider system.", "The friendly Gnomes of "+ World.getSettings().getName()+" offer their services","completely free of charge."); stage = 24; break; case 24: - interpreter.sendDialogues(npc, null, "Finally, we have the green teleporter located in the", "Grand Exchange and Fairy rings.", "All of these teleportation methods should assist you", "in traveling the wide-open world of "+GameWorld.getSettings().getName()+"."); + interpreter.sendDialogues(npc, null, "Finally, we have the green teleporter located in the", "Grand Exchange and Fairy rings.", "All of these teleportation methods should assist you", "in traveling the wide-open world of "+ World.getSettings().getName()+"."); stage = 50; break; case 25: diff --git a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialCompletionDialogue.java b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialCompletionDialogue.java index e090ad81c..3d294e018 100644 --- a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialCompletionDialogue.java +++ b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialCompletionDialogue.java @@ -8,10 +8,9 @@ import core.game.node.entity.player.link.HintIconManager; import core.game.node.entity.player.link.IronmanMode; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import core.net.ms.MSPacketRepository; import core.plugin.Initializable; /** @@ -273,14 +272,14 @@ public class TutorialCompletionDialogue extends DialoguePlugin { stage++; break; case 1203: - interpreter.sendDialogues(npc, FacialExpression.NEUTRAL, "If all else fails, visit the "+ GameWorld.getSettings().getName()+ " website for a whole","chestload of information on quests, skills, and minigames","as well as a very good starter's guide."); + interpreter.sendDialogues(npc, FacialExpression.NEUTRAL, "If all else fails, visit the "+ World.getSettings().getName()+ " website for a whole","chestload of information on quests, skills, and minigames","as well as a very good starter's guide."); stage++; break; //Final words, if using Skippy it should go straight to this //Could be removed to try and keep the 'nostalgic' feeling of Tutorial Island. case 1204: - npc("Keep in mind: our server has more content than any other", "server ever released. There's hundreds of hours of", "exciting and flawless gameplay awaiting you, "+player.getUsername()+".", "Enjoy your time playing "+GameWorld.getSettings().getName()+"!"); + npc("Keep in mind: our server has more content than any other", "server ever released. There's hundreds of hours of", "exciting and flawless gameplay awaiting you, "+player.getUsername()+".", "Enjoy your time playing "+ World.getSettings().getName()+"!"); stage++; break; @@ -310,7 +309,7 @@ public class TutorialCompletionDialogue extends DialoguePlugin { interpreter.sendDialogue("Welcome to Lumbridge! To get more help, simply click on the","Lumbridge Guide or one of the Tutors - these can be found by looking","for the question mark icon on your mini-map. If you find you are","lost at any time, look for a signpost or use the Lumbridge Home Port Spell."); //Appending the welcome message and some other stuff - player.getPacketDispatch().sendMessage("Welcome to " + GameWorld.getSettings().getName() + "."); + player.getPacketDispatch().sendMessage("Welcome to " + World.getSettings().getName() + "."); @@ -319,9 +318,7 @@ public class TutorialCompletionDialogue extends DialoguePlugin { if (player.getIronmanManager().isIronman() && player.getSettings().isAcceptAid()) { player.getSettings().toggleAcceptAid(); } - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendInfoUpdate(player); - } + MSPacketRepository.sendInfoUpdate(player); int slot = player.getAttribute("tut-island:hi_slot", -1); if (slot < 0 || slot >= HintIconManager.MAXIMUM_SIZE) { break; diff --git a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialSession.java b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialSession.java index 58267a6a0..c20bffe68 100644 --- a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialSession.java +++ b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialSession.java @@ -2,7 +2,7 @@ package core.game.content.quest.tutorials.tutorialisland; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.PacketRepository; import core.net.packet.context.InterfaceConfigContext; import core.net.packet.out.InterfaceConfig; @@ -160,7 +160,7 @@ public final class TutorialSession { @Override public boolean pulse() { - if (delay < GameWorld.getTicks()) { + if (delay < World.getTicks()) { show(); } return false; @@ -170,7 +170,7 @@ public final class TutorialSession { * Method used to reset the delay. */ public void reset() { - delay = GameWorld.getTicks() + 20000; + delay = World.getTicks() + 20000; } /** diff --git a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialStage.java b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialStage.java index 3fdf4f662..ab5e72559 100644 --- a/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialStage.java +++ b/Server/src/main/java/core/game/content/quest/tutorials/tutorialisland/TutorialStage.java @@ -7,7 +7,7 @@ import core.game.node.entity.player.link.HintIconManager; import core.game.node.scenery.Scenery; import rs09.game.system.SystemLogger; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import rs09.game.world.repository.Repository; @@ -28,7 +28,7 @@ public enum TutorialStage { // player.getProperties().setTeleportLocation(Location.create(3094, 3107, 0)); player.getProperties().setTeleportLocation(Location.create(2524, 5002, 0)); // Since tutorial is disabled... player.getInterfaceManager().hideTabs(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13); - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { CharacterDesign.open(player); @@ -59,7 +59,7 @@ public enum TutorialStage { player.getConfigManager().set(1021, 0); } player.setAttribute("tut-island:hi_slot", HintIconManager.registerHintIcon(player, Repository.findNPC(945))); - Component.setUnclosable(player, player.getDialogueInterpreter().sendScrollMessageWithBlueTitle("Player controls", "On the side panel you can now see a variety of options from", "changing the brightness of the screen and the volume of", "music, to selecting whether your player should accept help", "from other players. Don't worry about these too much for now,", "they will become clearer as you explore the game. Talk to the", GameWorld.getSettings().getName() + " Guide to continue.")); + Component.setUnclosable(player, player.getDialogueInterpreter().sendScrollMessageWithBlueTitle("Player controls", "On the side panel you can now see a variety of options from", "changing the brightness of the screen and the volume of", "music, to selecting whether your player should accept help", "from other players. Don't worry about these too much for now,", "they will become clearer as you explore the game. Talk to the", World.getSettings().getName() + " Guide to continue.")); } }, STAGE_3(3) { @@ -231,7 +231,7 @@ public enum TutorialStage { player.getConfigManager().set(406, 3); } player.setAttribute("tut-island:hi_slot", HintIconManager.registerHintIcon(player, Location.create(3089, 3091, 0), 1, -1, player.getHintIconManager().freeSlot(), 75, 4)); - Component.setUnclosable(player, player.getDialogueInterpreter().sendPlaneMessageWithBlueTitle("Well done, you've just cooked your first " + GameWorld.getSettings().getName() + " meal.", "If you'd like a recap on anything you've learnt so far, speak to", "the Survival Expert. You can now move on to the next", "instructor. Click on the gate shown and follow the path.", "Remember, you can move the camera with the arrow keys.")); + Component.setUnclosable(player, player.getDialogueInterpreter().sendPlaneMessageWithBlueTitle("Well done, you've just cooked your first " + World.getSettings().getName() + " meal.", "If you'd like a recap on anything you've learnt so far, speak to", "the Survival Expert. You can now move on to the next", "instructor. Click on the gate shown and follow the path.", "Remember, you can move the camera with the arrow keys.")); } }, STAGE_17(17) { @@ -320,7 +320,7 @@ public enum TutorialStage { player.getInterfaceManager().openTab(new Component(464)); } player.getWalkingQueue().reset(); - player.getLocks().lockMovement(GameWorld.getTicks() + 100000); + player.getLocks().lockMovement(World.getTicks() + 100000); player.getConfigManager().set(406, 6); player.getConfigManager().set(1021, 13); Component.setUnclosable(player, player.getDialogueInterpreter().sendPlaneMessageWithBlueTitle("Emotes", "Now how about showing some feelings? You will see a flashing icon in", "the shape of a person. Click on that to acces your emotes.", "", "")); @@ -739,7 +739,7 @@ public enum TutorialStage { } player.getConfigManager().set(406, 14); player.setAttribute("tut-island:hi_slot", HintIconManager.registerHintIcon(player, RegionManager.getObject(Location.create(3122, 3124, 0)))); - Component.setUnclosable(player, player.getDialogueInterpreter().sendPlaneMessageWithBlueTitle("Banking.", "Follow the path and you will come to the front of a building.", "This is the 'Bank of " + GameWorld.getSettings().getName() + "' where you can store all your", "most valued items. To open your bank box just right click on an", "open booth indicated and select use.")); + Component.setUnclosable(player, player.getDialogueInterpreter().sendPlaneMessageWithBlueTitle("Banking.", "Follow the path and you will come to the front of a building.", "This is the 'Bank of " + World.getSettings().getName() + "' where you can store all your", "most valued items. To open your bank box just right click on an", "open booth indicated and select use.")); } }, STAGE_57(57) { diff --git a/Server/src/main/java/core/game/content/ttrail/ClueLevel.java b/Server/src/main/java/core/game/content/ttrail/ClueLevel.java index 85a8a76b9..cfc4eb7f7 100644 --- a/Server/src/main/java/core/game/content/ttrail/ClueLevel.java +++ b/Server/src/main/java/core/game/content/ttrail/ClueLevel.java @@ -9,7 +9,7 @@ import core.game.node.item.ChanceItem; import core.game.node.item.Item; import core.game.node.item.WeightedChanceItem; import org.rs09.consts.Items; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.tools.RandomFunction; import java.text.NumberFormat; @@ -496,7 +496,7 @@ public enum ClueLevel { return; } } - if (player.getTreasureTrailManager().isCompleted() || GameWorld.getSettings().isDevMode()) { + if (player.getTreasureTrailManager().isCompleted() || World.getSettings().isDevMode()) { final List rewards = getLoot(player); player.getInterfaceManager().open(new Component(364).setCloseEvent(new CloseEvent() { private boolean given; diff --git a/Server/src/main/java/core/game/content/zone/ChaosTunnelZone.java b/Server/src/main/java/core/game/content/zone/ChaosTunnelZone.java index db69d4241..4bb6775ac 100644 --- a/Server/src/main/java/core/game/content/zone/ChaosTunnelZone.java +++ b/Server/src/main/java/core/game/content/zone/ChaosTunnelZone.java @@ -15,7 +15,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import org.json.simple.JSONObject; import rs09.ServerStore; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -263,7 +263,7 @@ public final class ChaosTunnelZone extends MapZone implements Plugin { * @param player The player. */ private void commenceBorkBattle(Player player) { - if (ServerStore.getBoolean(getStoreFile(), player.getUsername().toLowerCase()) && GameWorld.getSettings().isHosted()) { + if (ServerStore.getBoolean(getStoreFile(), player.getUsername().toLowerCase()) && World.getSettings().isHosted()) { player.getPacketDispatch().sendMessage("The portal's magic is too weak to teleport you right now."); return; } @@ -287,7 +287,7 @@ public final class ChaosTunnelZone extends MapZone implements Plugin { * @return {@code True} if so. */ private boolean isStained(Scenery object) { - return getStainedTime(object) > GameWorld.getTicks(); + return getStainedTime(object) > World.getTicks(); } /** @@ -295,7 +295,7 @@ public final class ChaosTunnelZone extends MapZone implements Plugin { * @param object the object. */ private void setStainedTime(Scenery object) { - object.getAttributes().setAttribute("stained", (int) GameWorld.getTicks() + RandomFunction.random(50, 150)); + object.getAttributes().setAttribute("stained", (int) World.getTicks() + RandomFunction.random(50, 150)); } /** diff --git a/Server/src/main/java/core/game/content/zone/DesertZone.java b/Server/src/main/java/core/game/content/zone/DesertZone.java index 6e0f6b1de..04f236cc3 100644 --- a/Server/src/main/java/core/game/content/zone/DesertZone.java +++ b/Server/src/main/java/core/game/content/zone/DesertZone.java @@ -10,7 +10,7 @@ import core.game.node.entity.combat.ImpactHandler.HitsplatType; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; import core.game.world.map.zone.ZoneBuilder; @@ -58,7 +58,7 @@ public final class DesertZone extends MapZone implements Plugin { if (player.getInterfaceManager().isOpened() || player.getInterfaceManager().hasChatbox() || player.getLocks().isMovementLocked()) { continue; } - if (player.getAttribute("desert-delay", -1) < GameWorld.getTicks()) { + if (player.getAttribute("desert-delay", -1) < World.getTicks()) { effect(player); } } @@ -71,7 +71,7 @@ public final class DesertZone extends MapZone implements Plugin { * @param p the Player. */ private static void effect(Player p) { - p.setAttribute("desert-delay", GameWorld.getTicks() + getDelay(p)); + p.setAttribute("desert-delay", World.getTicks() + getDelay(p)); evaporate(p); if (drink(p)) { return; @@ -181,12 +181,12 @@ public final class DesertZone extends MapZone implements Plugin { if (TutorialSession.getExtension(p).getStage() < TutorialSession.MAX_STAGE) { return true; } - p.setAttribute("desert-delay", GameWorld.getTicks() + getDelay(p)); + p.setAttribute("desert-delay", World.getTicks() + getDelay(p)); PLAYERS.add(p); if (!pulse.isRunning()) { pulse.restart(); pulse.start(); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); } } return true; diff --git a/Server/src/main/java/core/game/content/zone/IcePathZone.java b/Server/src/main/java/core/game/content/zone/IcePathZone.java index 3d8e1ad20..2012716a7 100644 --- a/Server/src/main/java/core/game/content/zone/IcePathZone.java +++ b/Server/src/main/java/core/game/content/zone/IcePathZone.java @@ -5,7 +5,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.combat.ImpactHandler.HitsplatType; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; import core.game.world.map.zone.ZoneBuilder; @@ -60,7 +60,7 @@ public final class IcePathZone extends MapZone implements Plugin { } }; player.setAttribute("ice_path_pulse", pulse); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); } return true; } diff --git a/Server/src/main/java/core/game/content/zone/WildernessAreaZone.java b/Server/src/main/java/core/game/content/zone/WildernessAreaZone.java index 118076c52..86fca47a0 100644 --- a/Server/src/main/java/core/game/content/zone/WildernessAreaZone.java +++ b/Server/src/main/java/core/game/content/zone/WildernessAreaZone.java @@ -20,7 +20,7 @@ import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -233,7 +233,7 @@ public class WildernessAreaZone extends MapZone implements Plugin { return false; } node.transform(8667); - node.setAttribute("reward-tick", GameWorld.getTicks() + resource.getRespawnDuration()); + node.setAttribute("reward-tick", World.getTicks() + resource.getRespawnDuration()); final Item item = new Item(resource.getReward()); player.getInventory().add(item); player.getSkills().addExperience(resource.getSkillId(), resource.getExperience(), true); @@ -306,13 +306,13 @@ public class WildernessAreaZone extends MapZone implements Plugin { if (isAggressive()) { setAggressive(false); } - if (respawn != -1 && respawn < GameWorld.getTicks() && getId() > 8664) { + if (respawn != -1 && respawn < World.getTicks() && getId() > 8664) { transform(8664); unlock(); } if (getId() == 8667) { int rewardTick = getAttribute("reward-tick", -1); - if (rewardTick != -1 && rewardTick < GameWorld.getTicks()) { + if (rewardTick != -1 && rewardTick < World.getTicks()) { transform(8666); } } @@ -320,7 +320,7 @@ public class WildernessAreaZone extends MapZone implements Plugin { @Override public void finalizeDeath(Entity killer) { - respawn = GameWorld.getTicks() + 500; + respawn = World.getTicks() + 500; fullRestore(); getProperties().setTeleportLocation(getLocation()); setRespawnTick(0); diff --git a/Server/src/main/java/core/game/content/zone/YanilleAgilityDungeon.java b/Server/src/main/java/core/game/content/zone/YanilleAgilityDungeon.java index 68efb361a..fe9624089 100644 --- a/Server/src/main/java/core/game/content/zone/YanilleAgilityDungeon.java +++ b/Server/src/main/java/core/game/content/zone/YanilleAgilityDungeon.java @@ -16,7 +16,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; @@ -132,7 +132,7 @@ public class YanilleAgilityDungeon extends MapZone implements Plugin { double xp = 0.0; if (AgilityHandler.hasFailed(player, 40, 0.01)) { player.lock(3); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { AgilityHandler.fail(player, 1, new Location(2572, 9570, 0), Animation.create(761 - diff), RandomFunction.random(1, 3), "You lost your balance!"); diff --git a/Server/src/main/java/core/game/content/zone/rellekka/JarvaldDialogue.java b/Server/src/main/java/core/game/content/zone/rellekka/JarvaldDialogue.java index 332cb603a..d6166ce8a 100644 --- a/Server/src/main/java/core/game/content/zone/rellekka/JarvaldDialogue.java +++ b/Server/src/main/java/core/game/content/zone/rellekka/JarvaldDialogue.java @@ -8,7 +8,7 @@ import core.game.node.item.Item; import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; /** @@ -200,7 +200,7 @@ public final class JarvaldDialogue extends DialoguePlugin { player.lock(); player.getInterfaceManager().open(new Component(224)); player.addExtension(LogoutTask.class, new LocationLogoutTask(5, to ? Location.create(2544, 3759, 0) : Location.create(2620, 3685, 0))); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override diff --git a/Server/src/main/java/core/game/content/zone/wbisland/WaterBirthDungeonZone.java b/Server/src/main/java/core/game/content/zone/wbisland/WaterBirthDungeonZone.java index eeea49007..9a25007f4 100644 --- a/Server/src/main/java/core/game/content/zone/wbisland/WaterBirthDungeonZone.java +++ b/Server/src/main/java/core/game/content/zone/wbisland/WaterBirthDungeonZone.java @@ -19,7 +19,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.zone.MapZone; @@ -100,12 +100,12 @@ public final class WaterBirthDungeonZone extends MapZone implements Plugin GameWorld.getTicks()) { + if (npc.getAttribute("transforming", 0) > World.getTicks()) { return true; } - npc.setAttribute("transforming", GameWorld.getTicks() + 3); + npc.setAttribute("transforming", World.getTicks() + 3); } - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter; @Override @@ -128,7 +128,7 @@ public final class WaterBirthDungeonZone extends MapZone implements PluginKnock knock..."); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { interpreter.sendDialogues(npcId, null, "Who's there?"); diff --git a/Server/src/main/java/core/game/interaction/city/WizardTowerPlugin.java b/Server/src/main/java/core/game/interaction/city/WizardTowerPlugin.java index c4093c1a5..a3f3f47f0 100644 --- a/Server/src/main/java/core/game/interaction/city/WizardTowerPlugin.java +++ b/Server/src/main/java/core/game/interaction/city/WizardTowerPlugin.java @@ -37,7 +37,7 @@ import core.tools.RandomFunction; import core.tools.StringUtils; import kotlin.Unit; import rs09.game.content.global.travel.EssenceTeleport; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.plugin.PluginManager; /** @@ -477,7 +477,7 @@ public final class WizardTowerPlugin extends OptionHandler { player.lock(7); npc.faceLocation(Location.create(3102, 3163, 2)); npc.animate(ANIMATION); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { quest.finish(player); @@ -1272,7 +1272,7 @@ public final class WizardTowerPlugin extends OptionHandler { close(); npc.graphics(GRAPHIC); player.lock(3); - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { npc("Ok, I have retrieved it. Luckily it doesn't appear to", "have been damaged. Now please take it to Aubury, ", "and try not to lose it again."); diff --git a/Server/src/main/java/core/game/interaction/inter/ClanInterfacePlugin.java b/Server/src/main/java/core/game/interaction/inter/ClanInterfacePlugin.java index ceb3e8826..609d052e4 100644 --- a/Server/src/main/java/core/game/interaction/inter/ClanInterfacePlugin.java +++ b/Server/src/main/java/core/game/interaction/inter/ClanInterfacePlugin.java @@ -5,11 +5,9 @@ import core.game.component.Component; import core.game.component.ComponentDefinition; import core.game.component.ComponentPlugin; import core.game.node.entity.player.Player; -import core.game.node.entity.player.link.RunScript; import core.game.system.communication.ClanRank; import core.game.system.communication.ClanRepository; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import core.net.ms.MSPacketRepository; import core.plugin.Initializable; import core.plugin.Plugin; import core.tools.StringUtils; @@ -88,28 +86,14 @@ public final class ClanInterfacePlugin extends ComponentPlugin { clan.setName("Chat disabled"); player.getCommunication().setClanName(""); player.getPacketDispatch().sendString(clan.getName(), 590, 22); - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendClanRename(player, ""); - break; - } - clan.clean(true); + MSPacketRepository.sendClanRename(player, ""); break; default: ContentAPI.sendInputDialogue(player, false, "Enter clan prefix:", (value) -> { String name = StringUtils.formatDisplayName((String) value); ContentAPI.setInterfaceText(player, name, 590, 22); - if(WorldCommunicator.isEnabled()){ - MSPacketRepository.sendClanRename(player, name); - clan.setName(name); - return Unit.INSTANCE; - } - if (clan.getName().equals("Chat disabled")) { - player.getPacketDispatch().sendMessage("Your clan channel has now been enabled!"); - player.getPacketDispatch().sendMessage("Join your channel by clicking 'Join Chat' and typing: " + player.getUsername()); - } + MSPacketRepository.sendClanRename(player, name); clan.setName(name); - player.getCommunication().setClanName(name); - clan.update(); return Unit.INSTANCE; }); break; diff --git a/Server/src/main/java/core/game/interaction/inter/CombatTabInterface.java b/Server/src/main/java/core/game/interaction/inter/CombatTabInterface.java index 11e01665c..a3703ad53 100644 --- a/Server/src/main/java/core/game/interaction/inter/CombatTabInterface.java +++ b/Server/src/main/java/core/game/interaction/inter/CombatTabInterface.java @@ -9,7 +9,7 @@ import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.combat.equipment.WeaponInterface.WeaponInterfaces; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.plugin.Plugin; @@ -39,7 +39,7 @@ public class CombatTabInterface extends ComponentPlugin { case 24: case 26: case 27: - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { p.getSettings().toggleRetaliating(); @@ -51,7 +51,7 @@ public class CombatTabInterface extends ComponentPlugin { case 10: case 8: case 85: - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { WeaponInterface inter = p.getExtension(WeaponInterface.class); diff --git a/Server/src/main/java/core/game/interaction/inter/EquipmentInterface.java b/Server/src/main/java/core/game/interaction/inter/EquipmentInterface.java index 282bf3320..7a3ff6848 100644 --- a/Server/src/main/java/core/game/interaction/inter/EquipmentInterface.java +++ b/Server/src/main/java/core/game/interaction/inter/EquipmentInterface.java @@ -23,7 +23,7 @@ import core.plugin.Initializable; import core.plugin.Plugin; import rs09.game.content.global.action.EquipHandler; import rs09.game.interaction.InteractionListeners; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents the equipment interface. @@ -50,7 +50,7 @@ public final class EquipmentInterface extends ComponentPlugin { switch (opcode) { case 155: p.getPulseManager().clear(); - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { EquipHandler.unequip(p, slot, itemId); @@ -62,7 +62,7 @@ public final class EquipmentInterface extends ComponentPlugin { p.sendMessage(p.getEquipment().get(slot).getDefinition().getExamine()); return true; case 196: - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { operate(p, slot, itemId); @@ -78,7 +78,7 @@ public final class EquipmentInterface extends ComponentPlugin { case 155: p.getPulseManager().clear(); final Item item = p.getInventory().get(slot); - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { InteractionListeners.run(item.getId(),0,"equip",p, item); @@ -96,7 +96,7 @@ public final class EquipmentInterface extends ComponentPlugin { if (button != 28) { return false; } - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { operate(p, slot, itemId); @@ -128,7 +128,7 @@ public final class EquipmentInterface extends ComponentPlugin { case 28: if (opcode == 81) { p.getPulseManager().clear(); - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { EquipHandler.unequip(p, slot, itemId); diff --git a/Server/src/main/java/core/game/interaction/inter/GameInterface.java b/Server/src/main/java/core/game/interaction/inter/GameInterface.java index 8056a7524..e136211c4 100644 --- a/Server/src/main/java/core/game/interaction/inter/GameInterface.java +++ b/Server/src/main/java/core/game/interaction/inter/GameInterface.java @@ -10,7 +10,7 @@ import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.combat.equipment.WeaponInterface.WeaponInterfaces; import core.game.node.entity.player.Player; import core.game.node.entity.player.info.Rights; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.plugin.Plugin; @@ -41,10 +41,10 @@ public final class GameInterface extends ComponentPlugin { case 746: switch (button){ case 12: - player.getPacketDispatch().sendString("When you have finished playing " + GameWorld.getSettings().getName() + ", always use the button below to logout safely. ", 182, 0); + player.getPacketDispatch().sendString("When you have finished playing " + World.getSettings().getName() + ", always use the button below to logout safely. ", 182, 0); break; case 49: - player.getPacketDispatch().sendString("Friends List - " + GameWorld.getSettings().getName() + " " + GameWorld.getSettings().getWorldId(), 550, 3); + player.getPacketDispatch().sendString("Friends List - " + World.getSettings().getName() + " " + World.getSettings().getWorldId(), 550, 3); break; case 110: configureWorldMap(player); @@ -63,7 +63,7 @@ public final class GameInterface extends ComponentPlugin { player.getConfigManager().set(1021, 0); TutorialStage.load(player, 64, false); } - player.getPacketDispatch().sendString("Friends List -" + GameWorld.getSettings().getName() + " " + GameWorld.getSettings().getWorldId(), 550, 3); + player.getPacketDispatch().sendString("Friends List -" + World.getSettings().getName() + " " + World.getSettings().getWorldId(), 550, 3); break; case 22://Ignore Tab if (tut_stage == 64) { @@ -150,7 +150,7 @@ public final class GameInterface extends ComponentPlugin { configureWorldMap(player); break; case 69://Logout - player.getPacketDispatch().sendString("When you have finished playing " + GameWorld.getSettings().getName() + ", always use the button below to logout safely. ", 182, 0); + player.getPacketDispatch().sendString("When you have finished playing " + World.getSettings().getName() + ", always use the button below to logout safely. ", 182, 0); break; } return true; diff --git a/Server/src/main/java/core/game/interaction/inter/GrandExchangeInterface.java b/Server/src/main/java/core/game/interaction/inter/GrandExchangeInterface.java index 8ffe33bdf..2cb7fccc7 100644 --- a/Server/src/main/java/core/game/interaction/inter/GrandExchangeInterface.java +++ b/Server/src/main/java/core/game/interaction/inter/GrandExchangeInterface.java @@ -8,10 +8,8 @@ import core.game.component.ComponentDefinition; import core.game.component.ComponentPlugin; import core.game.ge.GEGuidePrice; import core.game.ge.GEItemSet; -import core.game.ge.GrandExchangeDatabase; import core.game.ge.OfferState; import core.game.node.entity.player.Player; -import core.game.node.entity.player.link.RunScript; import core.game.node.entity.player.link.audio.Audio; import core.game.node.item.Item; import core.game.system.task.Pulse; @@ -25,7 +23,7 @@ import rs09.game.ge.GrandExchangeOffer; import rs09.game.ge.OfferManager; import rs09.game.ge.PlayerGrandExchange; import rs09.game.interaction.npc.BogrogPouchSwapper; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the Grand Exchange interface options. @@ -83,7 +81,7 @@ public class GrandExchangeInterface extends ComponentPlugin { @Override public boolean handle(final Player player, final Component component, final int opcode, final int button, final int slot, final int itemId) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { switch (component.getId()) { diff --git a/Server/src/main/java/core/game/interaction/inter/LogoutInterface.java b/Server/src/main/java/core/game/interaction/inter/LogoutInterface.java index 9a37ab1e7..a0bf64cbe 100644 --- a/Server/src/main/java/core/game/interaction/inter/LogoutInterface.java +++ b/Server/src/main/java/core/game/interaction/inter/LogoutInterface.java @@ -4,7 +4,7 @@ import core.game.component.Component; import core.game.component.ComponentDefinition; import core.game.component.ComponentPlugin; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.plugin.Plugin; @@ -31,9 +31,9 @@ public final class LogoutInterface extends ComponentPlugin { player.getPacketDispatch().sendMessage("You can't log out until 10 seconds after the end of combat."); return true; } - if (player.getAttribute("logoutDelay", 0) < GameWorld.getTicks()) { + if (player.getAttribute("logoutDelay", 0) < World.getTicks()) { player.getPacketDispatch().sendLogout(); - player.setAttribute("logoutDelay", GameWorld.getTicks() + 3); + player.setAttribute("logoutDelay", World.getTicks() + 3); } return true; } diff --git a/Server/src/main/java/core/game/interaction/inter/MagicBookInterface.java b/Server/src/main/java/core/game/interaction/inter/MagicBookInterface.java index e032e92ff..d5027f84e 100644 --- a/Server/src/main/java/core/game/interaction/inter/MagicBookInterface.java +++ b/Server/src/main/java/core/game/interaction/inter/MagicBookInterface.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.link.SpellBookManager.SpellBook; import rs09.game.node.entity.skill.magic.SpellListener; import rs09.game.node.entity.skill.magic.SpellListeners; import rs09.game.node.entity.skill.magic.SpellUtils; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Plugin; /** @@ -31,7 +31,7 @@ public final class MagicBookInterface extends ComponentPlugin { @Override public boolean handle(final Player player, Component component, int opcode, int button, int slot, int itemId) { - if (GameWorld.getTicks() < player.getAttribute("magic:delay", -1)) { + if (World.getTicks() < player.getAttribute("magic:delay", -1)) { return true; } SpellListeners.run(button, SpellListener.NONE, SpellUtils.getBookFromInterface(component.getId()),player,null); diff --git a/Server/src/main/java/core/game/interaction/inter/SkillTabInterface.java b/Server/src/main/java/core/game/interaction/inter/SkillTabInterface.java index cead79835..97b3ebedc 100644 --- a/Server/src/main/java/core/game/interaction/inter/SkillTabInterface.java +++ b/Server/src/main/java/core/game/interaction/inter/SkillTabInterface.java @@ -1,14 +1,12 @@ package core.game.interaction.inter; -import api.ContentAPI; import core.game.component.Component; import core.game.component.ComponentDefinition; import core.game.component.ComponentPlugin; import core.game.node.entity.skill.LevelUp; import core.game.node.entity.skill.Skills; import core.game.node.entity.player.Player; -import core.game.node.entity.player.link.RunScript; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.plugin.Plugin; @@ -33,7 +31,7 @@ public final class SkillTabInterface extends ComponentPlugin { if (config == null) { return true; } - if (!GameWorld.getSettings().isPvp()) { + if (!World.getSettings().isPvp()) { if (p.getAttribute("levelup:" + config.getSkillId(), false)) { p.removeAttribute("levelup:" + config.getSkillId()); LevelUp.sendFlashingIcons(p, -1); diff --git a/Server/src/main/java/core/game/interaction/item/DragonfireShieldPlugin.java b/Server/src/main/java/core/game/interaction/item/DragonfireShieldPlugin.java index 35dbe93c1..2be611f31 100644 --- a/Server/src/main/java/core/game/interaction/item/DragonfireShieldPlugin.java +++ b/Server/src/main/java/core/game/interaction/item/DragonfireShieldPlugin.java @@ -18,7 +18,7 @@ import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable; import core.plugin.Plugin; import rs09.game.node.entity.combat.CombatPulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.plugin.PluginManager; import java.util.concurrent.TimeUnit; @@ -60,7 +60,7 @@ public final class DragonfireShieldPlugin extends OptionHandler { item.setCharge(1020); player.sendMessage("You use the power from the overcharge lords & charge your shield."); notCharged = false; - player.getSavedData().getGlobalData().setOverChargeDelay(System.currentTimeMillis() + (GameWorld.getSettings().isDevMode() ? TimeUnit.SECONDS.toMillis(10) : TimeUnit.MINUTES.toMicros(10))); + player.getSavedData().getGlobalData().setOverChargeDelay(System.currentTimeMillis() + (World.getSettings().isDevMode() ? TimeUnit.SECONDS.toMillis(10) : TimeUnit.MINUTES.toMicros(10))); } if (notCharged) { player.getPacketDispatch().sendMessage("Your shield has no charges left."); diff --git a/Server/src/main/java/core/game/interaction/item/FaladorShieldPlugin.java b/Server/src/main/java/core/game/interaction/item/FaladorShieldPlugin.java index 60fed09f0..d82eb3873 100644 --- a/Server/src/main/java/core/game/interaction/item/FaladorShieldPlugin.java +++ b/Server/src/main/java/core/game/interaction/item/FaladorShieldPlugin.java @@ -5,7 +5,7 @@ import java.util.concurrent.TimeUnit; import core.cache.def.impl.ItemDefinition; import core.game.node.entity.Entity; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.game.content.consumable.effects.PrayerEffect; @@ -58,7 +58,7 @@ public class FaladorShieldPlugin extends OptionHandler { } return true; case "operate": - GameWorld.getPulser().submit(getPulse(player, level)); + World.getPulser().submit(getPulse(player, level)); break; } return true; diff --git a/Server/src/main/java/core/game/interaction/item/GodBookPlugin.java b/Server/src/main/java/core/game/interaction/item/GodBookPlugin.java index 8f383e3e8..ba14d5cdd 100644 --- a/Server/src/main/java/core/game/interaction/item/GodBookPlugin.java +++ b/Server/src/main/java/core/game/interaction/item/GodBookPlugin.java @@ -1,8 +1,6 @@ package core.game.interaction.item; import core.game.content.dialogue.DialogueAction; -import core.game.content.dialogue.DialogueInterpreter; -import core.game.content.dialogue.DialoguePlugin; import core.game.content.global.GodBook; import core.game.node.entity.skill.Skills; import core.game.interaction.NodeUsageEvent; @@ -13,9 +11,6 @@ import core.game.node.entity.player.Player; import core.game.node.item.GroundItem; import core.game.node.item.Item; import core.game.node.item.ItemPlugin; -import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; -import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; import core.plugin.Initializable; import rs09.plugin.PluginManager; diff --git a/Server/src/main/java/core/game/interaction/item/MorphItemPlugin.java b/Server/src/main/java/core/game/interaction/item/MorphItemPlugin.java index eaa230697..9bce4484c 100644 --- a/Server/src/main/java/core/game/interaction/item/MorphItemPlugin.java +++ b/Server/src/main/java/core/game/interaction/item/MorphItemPlugin.java @@ -7,7 +7,7 @@ import core.game.component.ComponentDefinition; import core.game.component.ComponentPlugin; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.plugin.Plugin; import rs09.plugin.PluginManager; @@ -68,9 +68,9 @@ public class MorphItemPlugin implements Plugin { player.getInterfaceManager().close(); player.getAppearance().transformNPC(morphId); player.getInterfaceManager().hideTabs(0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14); - player.getLocks().lockMovement(GameWorld.getTicks() + 900000000); - player.getLocks().lockInteractions(GameWorld.getTicks() + 90000000); - player.getLocks().lockTeleport(GameWorld.getTicks() + 900000000); + player.getLocks().lockMovement(World.getTicks() + 900000000); + player.getLocks().lockInteractions(World.getTicks() + 90000000); + player.getLocks().lockTeleport(World.getTicks() + 900000000); player.getInterfaceManager().openSingleTab(COMPONENT); player.getAppearance().sync(); player.getWalkingQueue().reset(); diff --git a/Server/src/main/java/core/game/interaction/item/PharoahSceptre.java b/Server/src/main/java/core/game/interaction/item/PharoahSceptre.java index 00929d04f..7ece5b4d7 100644 --- a/Server/src/main/java/core/game/interaction/item/PharoahSceptre.java +++ b/Server/src/main/java/core/game/interaction/item/PharoahSceptre.java @@ -8,7 +8,7 @@ import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -73,7 +73,7 @@ public final class PharoahSceptre extends OptionHandler { player.lock(); player.visualize(ANIMATION, GRAPHICS); player.getImpactHandler().setDisabledTicks(4); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { @Override public boolean pulse() { player.unlock(); diff --git a/Server/src/main/java/core/game/interaction/item/withnpc/GertrudeCatUsePlugin.java b/Server/src/main/java/core/game/interaction/item/withnpc/GertrudeCatUsePlugin.java index 1275872c5..fe72548cb 100644 --- a/Server/src/main/java/core/game/interaction/item/withnpc/GertrudeCatUsePlugin.java +++ b/Server/src/main/java/core/game/interaction/item/withnpc/GertrudeCatUsePlugin.java @@ -7,7 +7,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.path.Path; import core.game.world.map.path.Pathfinder; @@ -70,7 +70,7 @@ public final class GertrudeCatUsePlugin extends UseWithHandler { if (player.getInventory().remove(event.getUsedItem())) { quest.setStage(player, 60); player.lock(5); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int count = 0; final NPC kitten = NPC.create(761, player.getLocation()); diff --git a/Server/src/main/java/core/game/interaction/item/withnpc/LadyKeliRopePlugin.java b/Server/src/main/java/core/game/interaction/item/withnpc/LadyKeliRopePlugin.java index ec0b56dec..0518eab4b 100644 --- a/Server/src/main/java/core/game/interaction/item/withnpc/LadyKeliRopePlugin.java +++ b/Server/src/main/java/core/game/interaction/item/withnpc/LadyKeliRopePlugin.java @@ -5,7 +5,7 @@ import core.game.interaction.UseWithHandler; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.plugin.Plugin; @@ -43,7 +43,7 @@ public final class LadyKeliRopePlugin extends UseWithHandler { if (player.getInventory().remove(ROPE)) { player.getDialogueInterpreter().sendDialogue("You overpower Keli, tie her up, and put her in a cupboard."); quest.setStage(player, 50); - player.setAttribute("keli-gone", GameWorld.getTicks() + 350); + player.setAttribute("keli-gone", World.getTicks() + 350); } } else { if (quest.getStage(player) == 40) { diff --git a/Server/src/main/java/core/game/interaction/item/withobject/EctophialFillPlugin.java b/Server/src/main/java/core/game/interaction/item/withobject/EctophialFillPlugin.java index 0cf49c711..34903996f 100644 --- a/Server/src/main/java/core/game/interaction/item/withobject/EctophialFillPlugin.java +++ b/Server/src/main/java/core/game/interaction/item/withobject/EctophialFillPlugin.java @@ -5,7 +5,7 @@ import core.game.interaction.UseWithHandler; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.plugin.Plugin; @@ -36,7 +36,7 @@ public class EctophialFillPlugin extends UseWithHandler { player.lock(3); player.animate(Animation.create(1652)); player.getAudioManager().send(1132); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { if (player.getInventory().remove(new Item(4252))) { diff --git a/Server/src/main/java/core/game/interaction/item/withobject/HairdresserCheesePlugin.java b/Server/src/main/java/core/game/interaction/item/withobject/HairdresserCheesePlugin.java index 66ebbd00b..c72d9efb7 100644 --- a/Server/src/main/java/core/game/interaction/item/withobject/HairdresserCheesePlugin.java +++ b/Server/src/main/java/core/game/interaction/item/withobject/HairdresserCheesePlugin.java @@ -8,7 +8,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Plugin; /** @@ -36,7 +36,7 @@ public class HairdresserCheesePlugin extends UseWithHandler { final Player player = event.getPlayer(); player.lock(3); //player.animate(Animation.create(1652)); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { if (player.getInventory().remove(new Item(Items.CHEESE_1985))) { diff --git a/Server/src/main/java/core/game/interaction/item/withobject/PoisonFountainPlugin.java b/Server/src/main/java/core/game/interaction/item/withobject/PoisonFountainPlugin.java index 6307f16b6..d45cd8a62 100644 --- a/Server/src/main/java/core/game/interaction/item/withobject/PoisonFountainPlugin.java +++ b/Server/src/main/java/core/game/interaction/item/withobject/PoisonFountainPlugin.java @@ -5,7 +5,7 @@ import core.game.interaction.UseWithHandler; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.plugin.Plugin; @@ -53,7 +53,7 @@ public class PoisonFountainPlugin extends UseWithHandler { player.setAttribute("/save:piranhas-killed", true); player.animate(SEARCH_ANIM); player.getPacketDispatch().sendMessage("You pour the poisoned fish food into the fountain."); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/interaction/item/withobject/TutorialItemHandler.java b/Server/src/main/java/core/game/interaction/item/withobject/TutorialItemHandler.java index 6d87919c9..b52820c01 100644 --- a/Server/src/main/java/core/game/interaction/item/withobject/TutorialItemHandler.java +++ b/Server/src/main/java/core/game/interaction/item/withobject/TutorialItemHandler.java @@ -10,7 +10,7 @@ import core.game.interaction.UseWithHandler; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -34,7 +34,7 @@ public class TutorialItemHandler extends UseWithHandler { final Player player = event.getPlayer(); if (player.getInventory().containItems(438, 436)) { player.animate(new Animation(833)); - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { player.getInventory().remove(new Item(438, 1)); diff --git a/Server/src/main/java/core/game/interaction/npc/BurthorpeTrainNPC.java b/Server/src/main/java/core/game/interaction/npc/BurthorpeTrainNPC.java index bff5a6a5e..2f9f21aaa 100644 --- a/Server/src/main/java/core/game/interaction/npc/BurthorpeTrainNPC.java +++ b/Server/src/main/java/core/game/interaction/npc/BurthorpeTrainNPC.java @@ -5,7 +5,7 @@ import java.util.List; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.npc.NPC; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -135,7 +135,7 @@ public class BurthorpeTrainNPC extends AbstractNPC { } } final NPC sol = soldier; - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { final NPC sold = sol; @Override public boolean pulse() { @@ -161,7 +161,7 @@ public class BurthorpeTrainNPC extends AbstractNPC { animate(animation); delay = System.currentTimeMillis() + 3500; faceLocation(getLocation().transform(0, -1, 0)); - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { final List soldiers = RegionManager.getLocalNpcs(BurthorpeTrainNPC.this, 12); diff --git a/Server/src/main/java/core/game/interaction/npc/CanafisWereWolfPlugin.java b/Server/src/main/java/core/game/interaction/npc/CanafisWereWolfPlugin.java index d0388a626..19ce7ed5f 100644 --- a/Server/src/main/java/core/game/interaction/npc/CanafisWereWolfPlugin.java +++ b/Server/src/main/java/core/game/interaction/npc/CanafisWereWolfPlugin.java @@ -6,7 +6,7 @@ import core.game.node.Node; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.plugin.Plugin; @@ -50,7 +50,7 @@ public final class CanafisWereWolfPlugin extends OptionHandler { newN.setRespawn(false); newN.setAttribute("original", n.getId()); newN.setAttribute("loc", n.getProperties().getSpawnLocation()); - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { newN.getProperties().getCombatPulse().attack(player); diff --git a/Server/src/main/java/core/game/interaction/npc/SheepShearPlugin.java b/Server/src/main/java/core/game/interaction/npc/SheepShearPlugin.java index 11e698970..6a4e26366 100644 --- a/Server/src/main/java/core/game/interaction/npc/SheepShearPlugin.java +++ b/Server/src/main/java/core/game/interaction/npc/SheepShearPlugin.java @@ -7,7 +7,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; import core.plugin.Initializable; @@ -63,7 +63,7 @@ public final class SheepShearPlugin extends OptionHandler { sheep.transform(5153); player.getPacketDispatch().sendMessage("You get some wool."); player.getInventory().add(new Item(1737, 1));// 5160 - GameWorld.getPulser().submit(new Pulse(80, sheep) { + World.getPulser().submit(new Pulse(80, sheep) { @Override public boolean pulse() { sheep.reTransform(); diff --git a/Server/src/main/java/core/game/interaction/npc/sorceress_app/SorceressApprenticeDialogue.java b/Server/src/main/java/core/game/interaction/npc/sorceress_app/SorceressApprenticeDialogue.java index 1a87a12ff..bff6d421a 100644 --- a/Server/src/main/java/core/game/interaction/npc/sorceress_app/SorceressApprenticeDialogue.java +++ b/Server/src/main/java/core/game/interaction/npc/sorceress_app/SorceressApprenticeDialogue.java @@ -6,7 +6,7 @@ import core.game.node.entity.impl.Projectile; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Graphics; @@ -241,7 +241,7 @@ public class SorceressApprenticeDialogue extends DialoguePlugin { player.lock(); Projectile.create(npc, player, 109).send(); npc.sendChat("Senventior Disthinte Molesko!"); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int counter = 0; @Override diff --git a/Server/src/main/java/core/game/interaction/object/BankingPlugin.java b/Server/src/main/java/core/game/interaction/object/BankingPlugin.java index e7bf7f8db..d129d418f 100644 --- a/Server/src/main/java/core/game/interaction/object/BankingPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/BankingPlugin.java @@ -32,7 +32,7 @@ import core.plugin.Plugin; import kotlin.Unit; import rs09.game.content.dialogue.DumpContainer; import rs09.game.ge.GrandExchangeOffer; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.text.NumberFormat; @@ -192,7 +192,7 @@ public final class BankingPlugin extends OptionHandler { stage = 10; break; case 1: - interpreter.sendDialogues(id, FacialExpression.HALF_GUILTY, "This is a branch of the Bank of " + GameWorld.getSettings().getName() + ". We have", "branches in many towns."); + interpreter.sendDialogues(id, FacialExpression.HALF_GUILTY, "This is a branch of the Bank of " + World.getSettings().getName() + ". We have", "branches in many towns."); stage = 2; break; case 2: @@ -398,7 +398,7 @@ public final class BankingPlugin extends OptionHandler { } if (amount > 0) { final int withdraw = amount; - GameWorld.getPulser().submit(new Pulse(1, p) { + World.getPulser().submit(new Pulse(1, p) { @Override public boolean pulse() { if (item == null) { diff --git a/Server/src/main/java/core/game/interaction/object/BarrowsBoatPlugin.java b/Server/src/main/java/core/game/interaction/object/BarrowsBoatPlugin.java index 16656b4d4..372d95dc9 100644 --- a/Server/src/main/java/core/game/interaction/object/BarrowsBoatPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/BarrowsBoatPlugin.java @@ -6,7 +6,7 @@ import core.game.interaction.OptionHandler; import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.plugin.Initializable; import core.plugin.Plugin; @@ -33,7 +33,7 @@ public class BarrowsBoatPlugin extends OptionHandler { final String name = node.getId() == 6970 ? "Mort'ton." : "the swamp"; player.lock(); player.getInterfaceManager().open(new Component(321)); - GameWorld.getPulser().submit(new Pulse(7, player) { + World.getPulser().submit(new Pulse(7, player) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/interaction/object/BeehivePlugin.java b/Server/src/main/java/core/game/interaction/object/BeehivePlugin.java index b2edb87a7..9a9444312 100644 --- a/Server/src/main/java/core/game/interaction/object/BeehivePlugin.java +++ b/Server/src/main/java/core/game/interaction/object/BeehivePlugin.java @@ -8,7 +8,7 @@ import core.game.node.entity.combat.ImpactHandler; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.plugin.Initializable; @@ -26,7 +26,7 @@ public class BeehivePlugin extends OptionHandler { if (!player.getInventory().containsItem(REPELLANT)) { player.getPacketDispatch().sendMessage("The bees fly out of the hive and sting you!"); player.getImpactHandler().manualHit(player, 2, ImpactHandler.HitsplatType.NORMAL, 1); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player.getPacketDispatch().sendMessage("Maybe you can clear them out somehow."); diff --git a/Server/src/main/java/core/game/interaction/object/BrokenCartBypass.java b/Server/src/main/java/core/game/interaction/object/BrokenCartBypass.java index 127b32b70..22aba3d74 100644 --- a/Server/src/main/java/core/game/interaction/object/BrokenCartBypass.java +++ b/Server/src/main/java/core/game/interaction/object/BrokenCartBypass.java @@ -5,7 +5,7 @@ import core.game.interaction.OptionHandler; import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -28,7 +28,7 @@ public class BrokenCartBypass extends OptionHandler { player.lock(); player.animate(new Animation(839)); player.getImpactHandler().setDisabledTicks(4); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.unlock(); diff --git a/Server/src/main/java/core/game/interaction/object/DropPartyLeverOptionPlugin.java b/Server/src/main/java/core/game/interaction/object/DropPartyLeverOptionPlugin.java index f8431a5e5..e97bce45f 100644 --- a/Server/src/main/java/core/game/interaction/object/DropPartyLeverOptionPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/DropPartyLeverOptionPlugin.java @@ -6,7 +6,7 @@ import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -31,13 +31,13 @@ public final class DropPartyLeverOptionPlugin extends OptionHandler { @Override public boolean handle(final Player player, Node node, String option) { final Scenery object = (Scenery) node; - if (player.getAttribute("delay:lever", -1) > GameWorld.getTicks()) + if (player.getAttribute("delay:lever", -1) > World.getTicks()) return true; - player.setAttribute("delay:picking", GameWorld.getTicks() + 3); + player.setAttribute("delay:picking", World.getTicks() + 3); player.lock(2); player.faceLocation(object.getLocation()); player.getDialogueInterpreter().open(1 << 16 | 2); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.animate(ANIMATION); diff --git a/Server/src/main/java/core/game/interaction/object/ErnestTheChickenPlugin.java b/Server/src/main/java/core/game/interaction/object/ErnestTheChickenPlugin.java index 63d6eb349..42ceef797 100644 --- a/Server/src/main/java/core/game/interaction/object/ErnestTheChickenPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/ErnestTheChickenPlugin.java @@ -13,7 +13,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBuilder; @@ -131,7 +131,7 @@ public final class ErnestTheChickenPlugin extends OptionHandler { final boolean up = isUp(lever); levers[lever.ordinal()] = !up; player.animate(!up ? UP_ANIMATION : DOWN_ANIMATION); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { updateConfigs(); @@ -156,7 +156,7 @@ public final class ErnestTheChickenPlugin extends OptionHandler { */ public final void walk(final Scenery object) { player.lock(4); - GameWorld.getPulser().submit(new Pulse(1, player, object) { + World.getPulser().submit(new Pulse(1, player, object) { @Override public boolean pulse() { Point p = (Point) getWalkData()[0]; diff --git a/Server/src/main/java/core/game/interaction/object/FieldPickingPlugin.java b/Server/src/main/java/core/game/interaction/object/FieldPickingPlugin.java index 551f64776..8901916ba 100644 --- a/Server/src/main/java/core/game/interaction/object/FieldPickingPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/FieldPickingPlugin.java @@ -11,7 +11,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; import core.plugin.Initializable; @@ -41,7 +41,7 @@ public final class FieldPickingPlugin extends OptionHandler { @Override public boolean handle(final Player player, Node node, String option) { - if (player.getAttribute("delay:picking", -1) > GameWorld.getTicks()) { + if (player.getAttribute("delay:picking", -1) > World.getTicks()) { return true; } final Scenery object = (Scenery) node; @@ -61,7 +61,7 @@ public final class FieldPickingPlugin extends OptionHandler { return true; } player.lock(1); - player.setAttribute("delay:picking", GameWorld.getTicks() + (plant == PickingPlant.FLAX ? 2 : 3)); + player.setAttribute("delay:picking", World.getTicks() + (plant == PickingPlant.FLAX ? 2 : 3)); player.animate(ANIMATION); if (plant.name().startsWith("NETTLES") && (player.getEquipment().get(EquipmentContainer.SLOT_HANDS) == null || player.getEquipment().get(EquipmentContainer.SLOT_HANDS) != null && !player.getEquipment().get(EquipmentContainer.SLOT_HANDS).getName().contains("glove"))) { player.getPacketDispatch().sendMessage("You have been stung by the nettles!"); @@ -71,7 +71,7 @@ public final class FieldPickingPlugin extends OptionHandler { if (plant.respawn != -1 && plant != PickingPlant.FLAX) { object.setActive(false); } - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { if (!player.getInventory().add(reward)) { diff --git a/Server/src/main/java/core/game/interaction/object/GrandExchangeShortcut.java b/Server/src/main/java/core/game/interaction/object/GrandExchangeShortcut.java index 6caff3adc..9381e7b46 100644 --- a/Server/src/main/java/core/game/interaction/object/GrandExchangeShortcut.java +++ b/Server/src/main/java/core/game/interaction/object/GrandExchangeShortcut.java @@ -10,7 +10,7 @@ import core.game.node.entity.impl.ForceMovement; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -55,7 +55,7 @@ public final class GrandExchangeShortcut extends OptionHandler { final Scenery o = (Scenery) node; if (o.getId() == 9311) { ForceMovement.run(player, Location.create(3138, 3516, 0), o.getLocation(), CLIMB_DOWN); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override @@ -76,7 +76,7 @@ public final class GrandExchangeShortcut extends OptionHandler { }); } else { ForceMovement.run(player, Location.create(3144, 3514, 0), o.getLocation(), CLIMB_DOWN); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override diff --git a/Server/src/main/java/core/game/interaction/object/KalphiteEntranceHandler.java b/Server/src/main/java/core/game/interaction/object/KalphiteEntranceHandler.java index 15b7c22cd..83be9470f 100644 --- a/Server/src/main/java/core/game/interaction/object/KalphiteEntranceHandler.java +++ b/Server/src/main/java/core/game/interaction/object/KalphiteEntranceHandler.java @@ -9,7 +9,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -72,7 +72,7 @@ public final class KalphiteEntranceHandler extends OptionHandler { final Location dest = destination; player.lock(2); player.animate(Animation.create(828)); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.getProperties().setTeleportLocation(dest); diff --git a/Server/src/main/java/core/game/interaction/object/LumbridgeBasementPlugin.java b/Server/src/main/java/core/game/interaction/object/LumbridgeBasementPlugin.java index b568be5c8..8dc5f2fbb 100644 --- a/Server/src/main/java/core/game/interaction/object/LumbridgeBasementPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/LumbridgeBasementPlugin.java @@ -13,7 +13,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.path.Pathfinder; @@ -91,7 +91,7 @@ public class LumbridgeBasementPlugin extends OptionHandler { final Location first = f; final Location second = s; player.lock(); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { int counter = 1; @Override @@ -240,7 +240,7 @@ public class LumbridgeBasementPlugin extends OptionHandler { @Override public void handleTickActions() { if (!getLocks().isMovementLocked()) { - if (isWalks() && !getPulseManager().hasPulseRunning() && nextWalk < GameWorld.getTicks()) { + if (isWalks() && !getPulseManager().hasPulseRunning() && nextWalk < World.getTicks()) { setNextWalk(); Location l = getLocation().transform(-5 + RandomFunction.random(getWalkRadius()), -5 + RandomFunction.random(getWalkRadius()), 0); if (canMove(l)) { diff --git a/Server/src/main/java/core/game/interaction/object/ProspectOrePlugin.java b/Server/src/main/java/core/game/interaction/object/ProspectOrePlugin.java index d2fc96923..96387db0e 100644 --- a/Server/src/main/java/core/game/interaction/object/ProspectOrePlugin.java +++ b/Server/src/main/java/core/game/interaction/object/ProspectOrePlugin.java @@ -11,7 +11,7 @@ import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Plugin; /** @@ -26,7 +26,7 @@ public class ProspectOrePlugin extends OptionHandler { final Scenery object = (Scenery) node; int tut_stage = TutorialSession.getExtension(player).getStage(); if (tut_stage == 31 && object.getId() == 3043) { - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int count = 0; @Override @@ -43,7 +43,7 @@ public class ProspectOrePlugin extends OptionHandler { }); } if (tut_stage == 33 && object.getId() == 3042) { - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int count = 0; @Override diff --git a/Server/src/main/java/core/game/interaction/object/PyreSitePlugin.java b/Server/src/main/java/core/game/interaction/object/PyreSitePlugin.java index d00c330dc..4823f1854 100644 --- a/Server/src/main/java/core/game/interaction/object/PyreSitePlugin.java +++ b/Server/src/main/java/core/game/interaction/object/PyreSitePlugin.java @@ -22,7 +22,7 @@ import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.plugin.Plugin; import core.tools.RandomFunction; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import rs09.plugin.PluginManager; @@ -112,7 +112,7 @@ public final class PyreSitePlugin extends OptionHandler { player.lock(); USED_LOCATIONS.add(object.getLocation()); player.faceLocation(object.getLocation()); - GameWorld.getPulser().submit(getPulse(player, object)); + World.getPulser().submit(getPulse(player, object)); } /** diff --git a/Server/src/main/java/core/game/interaction/object/ThievingGuidePlugin.java b/Server/src/main/java/core/game/interaction/object/ThievingGuidePlugin.java index 7323331f6..1588bae94 100644 --- a/Server/src/main/java/core/game/interaction/object/ThievingGuidePlugin.java +++ b/Server/src/main/java/core/game/interaction/object/ThievingGuidePlugin.java @@ -16,7 +16,7 @@ import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.plugin.Plugin; import core.tools.RandomFunction; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.Collections; @@ -93,7 +93,7 @@ public class ThievingGuidePlugin extends OptionHandler { player.lock(4); player.getPacketDispatch().sendMessage("You start cracking the safe."); player.animate(animations[success ? 1 : 0]); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { if (success) { @@ -105,7 +105,7 @@ public class ThievingGuidePlugin extends OptionHandler { player.getPacketDispatch().sendMessage("You slip and trigger a trap!"); player.animate(animations[2]); player.getImpactHandler().manualHit(player, RandomFunction.random(2, 6), HitsplatType.NORMAL); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { player.animate(new Animation(-1, Priority.HIGH)); diff --git a/Server/src/main/java/core/game/interaction/object/WildernessLeverPlugin.java b/Server/src/main/java/core/game/interaction/object/WildernessLeverPlugin.java index bb7330025..fa327dba1 100644 --- a/Server/src/main/java/core/game/interaction/object/WildernessLeverPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/WildernessLeverPlugin.java @@ -12,7 +12,7 @@ import core.game.node.entity.player.link.audio.Audio; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -65,7 +65,7 @@ public final class WildernessLeverPlugin extends OptionHandler { player.lock(2); player.animate(lever.getAnimation()); player.getAudioManager().send(new Audio(2400)); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { lever.message(player, index); diff --git a/Server/src/main/java/core/game/interaction/object/WildernessObeliskPlugin.java b/Server/src/main/java/core/game/interaction/object/WildernessObeliskPlugin.java index 75ea82f6e..7ed65cc3c 100644 --- a/Server/src/main/java/core/game/interaction/object/WildernessObeliskPlugin.java +++ b/Server/src/main/java/core/game/interaction/object/WildernessObeliskPlugin.java @@ -8,7 +8,7 @@ import core.game.node.entity.player.link.TeleportManager.TeleportType; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.chunk.GraphicUpdateFlag; @@ -71,7 +71,7 @@ public final class WildernessObeliskPlugin extends OptionHandler { } } player.getAudioManager().send(204); - GameWorld.getPulser().submit(new Pulse(6, player) { + World.getPulser().submit(new Pulse(6, player) { @Override public boolean pulse() { final Location center = stationObelisk.getLocation(); diff --git a/Server/src/main/java/core/game/interaction/object/dmc/DMCHandler.java b/Server/src/main/java/core/game/interaction/object/dmc/DMCHandler.java index 519b7c981..6d086f519 100644 --- a/Server/src/main/java/core/game/interaction/object/dmc/DMCHandler.java +++ b/Server/src/main/java/core/game/interaction/object/dmc/DMCHandler.java @@ -12,7 +12,7 @@ import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.LogoutTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -160,7 +160,7 @@ public final class DMCHandler { } firingPulse.restart(); firingPulse.start(); - GameWorld.getPulser().submit(firingPulse); + World.getPulser().submit(firingPulse); } /** @@ -200,7 +200,7 @@ public final class DMCHandler { player.getWalkingQueue().reset(); player.lock(9); player.faceLocation(spawn.transform(Direction.NORTH_EAST)); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { int count = 0; Scenery object = null; diff --git a/Server/src/main/java/core/game/interaction/object/sorceress/GardenObjectsPlugin.kt b/Server/src/main/java/core/game/interaction/object/sorceress/GardenObjectsPlugin.kt index b79512f50..ab56799a9 100644 --- a/Server/src/main/java/core/game/interaction/object/sorceress/GardenObjectsPlugin.kt +++ b/Server/src/main/java/core/game/interaction/object/sorceress/GardenObjectsPlugin.kt @@ -1,17 +1,12 @@ package core.game.interaction.`object`.sorceress -import rs09.plugin.PluginManager.definePlugin -import rs09.game.world.GameWorld.Pulser import core.plugin.Initializable -import core.game.interaction.OptionHandler import core.plugin.Plugin -import core.cache.def.impl.SceneryDefinition import core.game.component.Component import core.game.content.dialogue.DialoguePlugin import core.game.content.dialogue.FacialExpression import core.game.interaction.NodeUsageEvent import core.game.interaction.UseWithHandler -import core.game.node.Node import core.game.node.scenery.Scenery import core.game.node.entity.npc.NPC import core.game.node.entity.player.Player @@ -29,7 +24,7 @@ import core.net.packet.context.MinimapStateContext import core.net.packet.out.MinimapState import core.tools.RandomFunction import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.plugin.PluginManager @@ -54,7 +49,7 @@ class GardenObjectsPlugin : InteractionListener() { player.animate(PICK_FRUIT) player.skills.addExperience(Skills.THIEVING, def.exp, true) player.skills.addExperience(Skills.FARMING, def.farmExp, true) - GameWorld.Pulser.submit(object : Pulse(2, player) { + World.Pulser.submit(object : Pulse(2, player) { var counter = 0 override fun pulse(): Boolean { if (counter == 1) { @@ -82,7 +77,7 @@ class GardenObjectsPlugin : InteractionListener() { on(FOUNTAIN, SCENERY, "drink-from"){player, _ -> player.lock() - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var counter = 0 override fun pulse(): Boolean { when (counter++) { @@ -140,7 +135,7 @@ class GardenObjectsPlugin : InteractionListener() { player.addExtension(LogoutTask::class.java, LocationLogoutTask(99, herbDef.respawn)) player.animate(ANIMATION) player.skills.addExperience(Skills.FARMING, herbDef.exp, true) - GameWorld.Pulser.submit(object : Pulse(2, player) { + World.Pulser.submit(object : Pulse(2, player) { var counter = 0 override fun pulse(): Boolean { if (counter == 1) { diff --git a/Server/src/main/java/core/game/interaction/player/LoginValidationPlugin.java b/Server/src/main/java/core/game/interaction/player/LoginValidationPlugin.java index f152c354f..f654935d0 100644 --- a/Server/src/main/java/core/game/interaction/player/LoginValidationPlugin.java +++ b/Server/src/main/java/core/game/interaction/player/LoginValidationPlugin.java @@ -8,7 +8,7 @@ import core.plugin.Initializable; import core.plugin.Plugin; import core.plugin.PluginManifest; import core.plugin.PluginType; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.concurrent.TimeUnit; @@ -50,7 +50,7 @@ public final class LoginValidationPlugin implements Plugin { if (!SystemManager.getSystemConfig().validLogin(player)) { return this; } - if (GameWorld.getSettings().isDevMode()) { + if (World.getSettings().isDevMode()) { player.toggleDebug(); } if (player.getAttribute("fc_wave", -1) > -1) { diff --git a/Server/src/main/java/core/game/node/entity/Entity.java b/Server/src/main/java/core/game/node/entity/Entity.java index 95d947e59..0c1448442 100644 --- a/Server/src/main/java/core/game/node/entity/Entity.java +++ b/Server/src/main/java/core/game/node/entity/Entity.java @@ -17,7 +17,7 @@ import core.game.node.entity.skill.Skills; import core.game.node.entity.state.EntityState; import core.game.node.entity.state.StateManager; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.Viewport; import core.game.world.map.path.Path; @@ -260,8 +260,8 @@ public abstract class Entity extends Node { * Checks an impact before receiving it. */ public void checkImpact(BattleState state) { - getProperties().getCombatPulse().setLastReceivedAttack(GameWorld.getTicks()); - int ticks = GameWorld.getTicks() - getProperties().getCombatPulse().getLastSentAttack(); + getProperties().getCombatPulse().setLastReceivedAttack(World.getTicks()); + int ticks = World.getTicks() - getProperties().getCombatPulse().getLastSentAttack(); if (ticks > 10 && this instanceof NPC && ((NPC) this).getDefinition().getConfiguration("safespot", false)) { Pathfinder.find(state.getAttacker(), getLocation()).walk(state.getAttacker()); Pathfinder.find(state.getVictim(), state.getAttacker().getLocation()).walk(state.getVictim()); @@ -280,7 +280,7 @@ public abstract class Entity extends Node { * @param state The battle state. */ public void onImpact(final Entity entity, BattleState state) { - if (properties.isRetaliating() && !properties.getCombatPulse().isAttacking() && !getLocks().isInteractionLocked() && properties.getCombatPulse().getNextAttack() < GameWorld.getTicks()) { + if (properties.isRetaliating() && !properties.getCombatPulse().isAttacking() && !getLocks().isInteractionLocked() && properties.getCombatPulse().getNextAttack() < World.getTicks()) { if (!getWalkingQueue().hasPath() && !getPulseManager().isMovingPulse() || (this instanceof NPC)) { properties.getCombatPulse().attack(entity); } @@ -327,7 +327,7 @@ public abstract class Entity extends Node { * @param ticks the ticks. */ public void teleport(final Location location, int ticks) { - GameWorld.getPulser().submit(new Pulse(ticks, this) { + World.getPulser().submit(new Pulse(ticks, this) { @Override public boolean pulse() { teleport(location); @@ -413,7 +413,7 @@ public abstract class Entity extends Node { * @return {@code True} if so. */ public boolean graphics(final Graphics graphics, int delay) { - GameWorld.getPulser().submit(new Pulse(delay, this) { + World.getPulser().submit(new Pulse(delay, this) { @Override public boolean pulse() { graphics(graphics); @@ -440,7 +440,7 @@ public abstract class Entity extends Node { * @return {@code True} if succesful. */ public boolean animate(final Animation animation, int delay) { - GameWorld.getPulser().submit(new Pulse(delay, this) { + World.getPulser().submit(new Pulse(delay, this) { @Override public boolean pulse() { animate(animation); @@ -455,7 +455,7 @@ public abstract class Entity extends Node { * @param state the state. */ public void sendImpact(BattleState state) { - getProperties().getCombatPulse().setLastSentAttack(GameWorld.getTicks()); + getProperties().getCombatPulse().setLastSentAttack(World.getTicks()); } /** @@ -496,7 +496,7 @@ public abstract class Entity extends Node { */ public boolean faceTemporary(Entity entity, final Entity reset, int ticks) { if (face(entity)) { - GameWorld.getPulser().submit(new Pulse(ticks + 1, this) { + World.getPulser().submit(new Pulse(ticks + 1, this) { @Override public boolean pulse() { face(reset); @@ -603,7 +603,7 @@ public abstract class Entity extends Node { * @param ticks the ticks. */ public void sendChat(final String string, int ticks) { - GameWorld.getPulser().submit(new Pulse(ticks, this) { + World.getPulser().submit(new Pulse(ticks, this) { @Override public boolean pulse() { sendChat(string); @@ -848,7 +848,7 @@ public abstract class Entity extends Node { * @return {@code True} if so. */ public boolean hasFireResistance() { - return getAttribute("fire:immune",0) >= GameWorld.getTicks(); + return getAttribute("fire:immune",0) >= World.getTicks(); } /** diff --git a/Server/src/main/java/core/game/node/entity/combat/DeathTask.java b/Server/src/main/java/core/game/node/entity/combat/DeathTask.java index 83922c552..b07f55870 100644 --- a/Server/src/main/java/core/game/node/entity/combat/DeathTask.java +++ b/Server/src/main/java/core/game/node/entity/combat/DeathTask.java @@ -15,7 +15,7 @@ import core.game.node.entity.player.link.prayer.PrayerType; import core.game.node.item.Item; import core.game.system.task.NodeTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; /** @@ -41,7 +41,7 @@ public final class DeathTask extends NodeTask { Entity e = (Entity) node; e.getWalkingQueue().reset(); e.setAttribute("state:death", true); - e.setAttribute("tick:death", GameWorld.getTicks()); + e.setAttribute("tick:death", World.getTicks()); e.lock(50); e.face(null); Entity killer = n.length > 0 ? (Entity) n[0] : e; @@ -77,7 +77,7 @@ public final class DeathTask extends NodeTask { TutorialStage.load(((Player) node), 55, false); } } - return e.getAttribute("tick:death", -1) <= GameWorld.getTicks() - ticks; + return e.getAttribute("tick:death", -1) <= World.getTicks() - ticks; } @Override diff --git a/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java b/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java index 46fe57c21..0ef0f1806 100644 --- a/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java +++ b/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java @@ -12,7 +12,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.prayer.PrayerType; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.zone.ZoneType; import java.util.HashMap; @@ -80,7 +80,7 @@ public final class ImpactHandler { public Impact manualHit(final Entity source, int hit, final HitsplatType type, int ticks) { if (ticks > 0) { final int damage = hit; - GameWorld.getPulser().submit(new Pulse(ticks, entity) { + World.getPulser().submit(new Pulse(ticks, entity) { @Override public boolean pulse() { manualHit(source, damage, type); @@ -142,7 +142,7 @@ public final class ImpactHandler { if (fam) { source = ((Familiar) source).getOwner(); } - if (disabledTicks > GameWorld.getTicks()) { + if (disabledTicks > World.getTicks()) { return null; } if (entity instanceof Player && TutorialSession.getExtension((Player) entity).getStage() < TutorialSession.MAX_STAGE) { @@ -300,7 +300,7 @@ public final class ImpactHandler { * Sets the disabledTicks. */ public void setDisabledTicks(int ticks) { - this.disabledTicks = GameWorld.getTicks() + ticks; + this.disabledTicks = World.getTicks() + ticks; } /** diff --git a/Server/src/main/java/core/game/node/entity/combat/equipment/BoltEffect.java b/Server/src/main/java/core/game/node/entity/combat/equipment/BoltEffect.java index 7fe5fb221..62f47fd1f 100644 --- a/Server/src/main/java/core/game/node/entity/combat/equipment/BoltEffect.java +++ b/Server/src/main/java/core/game/node/entity/combat/equipment/BoltEffect.java @@ -8,7 +8,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.audio.Audio; import core.game.node.entity.state.EntityState; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; @@ -176,13 +176,13 @@ public enum BoltEffect { int newDamage = (int) (state.getEstimatedHit() * 0.25); state.setEstimatedHit(state.getEstimatedHit() + newDamage); state.getAttacker().getSkills().heal((int) (state.getEstimatedHit() * 0.25)); - state.getAttacker().setAttribute("onyx-effect", GameWorld.getTicks() + 12); + state.getAttacker().setAttribute("onyx-effect", World.getTicks() + 12); super.impact(state); } @Override public boolean canFire(BattleState state) { - if (state.getAttacker().getAttribute("onyx-effect", 0) > GameWorld.getTicks()) { + if (state.getAttacker().getAttribute("onyx-effect", 0) > World.getTicks()) { return false; } if (state.getVictim() instanceof NPC) { diff --git a/Server/src/main/java/core/game/node/entity/combat/handlers/DragonfireSwingHandler.java b/Server/src/main/java/core/game/node/entity/combat/handlers/DragonfireSwingHandler.java index 6ac038ad2..aa872b006 100644 --- a/Server/src/main/java/core/game/node/entity/combat/handlers/DragonfireSwingHandler.java +++ b/Server/src/main/java/core/game/node/entity/combat/handlers/DragonfireSwingHandler.java @@ -12,7 +12,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.state.EntityState; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; @@ -109,7 +109,7 @@ public class DragonfireSwingHandler extends CombatSwingHandler { return 1; } int ticks = 2 + (int) Math.floor(entity.getLocation().getDistance(victim.getLocation()) * 0.5); - entity.setAttribute("fireBreath", GameWorld.getTicks() + (ticks + 2)); + entity.setAttribute("fireBreath", World.getTicks() + (ticks + 2)); return ticks; } @@ -145,7 +145,7 @@ public class DragonfireSwingHandler extends CombatSwingHandler { return; } } - if (!fire && victim.getAttribute("freeze_immunity", -1) < GameWorld.getTicks() && RandomFunction.random(4) == 2) { + if (!fire && victim.getAttribute("freeze_immunity", -1) < World.getTicks() && RandomFunction.random(4) == 2) { victim.getStateManager().set(EntityState.FROZEN, 16); victim.graphics(Graphics.create(502)); } diff --git a/Server/src/main/java/core/game/node/entity/combat/special/ChainhitSpecialHandler.java b/Server/src/main/java/core/game/node/entity/combat/special/ChainhitSpecialHandler.java index e9794799d..f7dfd6acc 100644 --- a/Server/src/main/java/core/game/node/entity/combat/special/ChainhitSpecialHandler.java +++ b/Server/src/main/java/core/game/node/entity/combat/special/ChainhitSpecialHandler.java @@ -18,7 +18,7 @@ import core.plugin.Initializable; import core.plugin.Plugin; import core.tools.RandomFunction; import rs09.game.node.entity.combat.handlers.RangeSwingHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import java.util.Iterator; @@ -87,7 +87,7 @@ public final class ChainhitSpecialHandler extends RangeSwingHandler implements P int speed = (int) (32 + (victim.getLocation().getDistance(n.getLocation()) * 5)); Projectile.create(victim, n, 258, 40, 36, 32, speed, 5, 11).send(); n.getSkills().heal(100); - GameWorld.getPulser().submit(new Pulse(3) { + World.getPulser().submit(new Pulse(3) { @Override public boolean pulse() { @@ -128,7 +128,7 @@ public final class ChainhitSpecialHandler extends RangeSwingHandler implements P * @param state The battle state. */ public void handleHit(final Entity entity, final Entity victim, final Player player, final BattleState state) { - GameWorld.getPulser().submit(new Pulse(1, player, victim) { + World.getPulser().submit(new Pulse(1, player, victim) { @Override public boolean pulse() { ChainhitSpecialHandler.super.onImpact(player, victim, state); @@ -150,7 +150,7 @@ public final class ChainhitSpecialHandler extends RangeSwingHandler implements P double distance = victim.getLocation().getDistance(e.getLocation()); int speed = (int) (32 + (distance * 5)); Projectile.create(victim, e, 258, 40, 36, 32, speed, 5, 11).send(); - GameWorld.getPulser().submit(new Pulse((int) (distance / 3), entity, victim, e) { + World.getPulser().submit(new Pulse((int) (distance / 3), entity, victim, e) { @Override public boolean pulse() { BattleState bs = new BattleState(entity, e); diff --git a/Server/src/main/java/core/game/node/entity/combat/special/QuickSmashSpecialHandler.java b/Server/src/main/java/core/game/node/entity/combat/special/QuickSmashSpecialHandler.java index 2f110af06..2bdbf4aa9 100644 --- a/Server/src/main/java/core/game/node/entity/combat/special/QuickSmashSpecialHandler.java +++ b/Server/src/main/java/core/game/node/entity/combat/special/QuickSmashSpecialHandler.java @@ -7,7 +7,7 @@ import rs09.game.node.entity.combat.handlers.MeleeSwingHandler; import core.game.node.entity.impl.Animator.Priority; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.audio.Audio; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable; @@ -57,7 +57,7 @@ public final class QuickSmashSpecialHandler extends MeleeSwingHandler implements Player p = (Player) entity; if (victim == null) { victim = p.getProperties().getCombatPulse().getLastVictim(); - if (victim == null || GameWorld.getTicks() - p.getAttribute("combat-stop", -1) > 2 || !MeleeSwingHandler.Companion.canMelee(p, victim, 1)) { + if (victim == null || World.getTicks() - p.getAttribute("combat-stop", -1) > 2 || !MeleeSwingHandler.Companion.canMelee(p, victim, 1)) { p.getPacketDispatch().sendMessage("Warning: Since the maul's special is an instant attack, it will be wasted when used "); p.getPacketDispatch().sendMessage("on a first strike."); return -1; diff --git a/Server/src/main/java/core/game/node/entity/combat/special/SnapshotSpecialHandler.java b/Server/src/main/java/core/game/node/entity/combat/special/SnapshotSpecialHandler.java index b7fc1b0c3..df282944f 100644 --- a/Server/src/main/java/core/game/node/entity/combat/special/SnapshotSpecialHandler.java +++ b/Server/src/main/java/core/game/node/entity/combat/special/SnapshotSpecialHandler.java @@ -13,7 +13,7 @@ import core.plugin.Initializable; import core.plugin.Plugin; import core.tools.RandomFunction; import rs09.game.node.entity.combat.handlers.RangeSwingHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the magic shortbow special attack "Snapshot". @@ -88,7 +88,7 @@ public final class SnapshotSpecialHandler extends RangeSwingHandler implements P victim.getImpactHandler().handleImpact(entity, hitt, CombatStyle.RANGE, state); return; } - GameWorld.getPulser().submit(new Pulse(1, victim) { + World.getPulser().submit(new Pulse(1, victim) { @Override public boolean pulse() { victim.getImpactHandler().handleImpact(entity, hitt, CombatStyle.RANGE, state); diff --git a/Server/src/main/java/core/game/node/entity/combat/spell/BindSpell.java b/Server/src/main/java/core/game/node/entity/combat/spell/BindSpell.java index bbd7aa8c5..dfcc36d40 100644 --- a/Server/src/main/java/core/game/node/entity/combat/spell/BindSpell.java +++ b/Server/src/main/java/core/game/node/entity/combat/spell/BindSpell.java @@ -12,7 +12,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; @@ -124,7 +124,7 @@ public final class BindSpell extends CombatSpell { } victim.getWalkingQueue().reset(); victim.getLocks().lockMovement(tick); - entity.setAttribute("entangleDelay", GameWorld.getTicks() + tick + 2); + entity.setAttribute("entangleDelay", World.getTicks() + tick + 2); } @Override diff --git a/Server/src/main/java/core/game/node/entity/combat/spell/IceSpells.java b/Server/src/main/java/core/game/node/entity/combat/spell/IceSpells.java index 9f4e0b757..de0114781 100644 --- a/Server/src/main/java/core/game/node/entity/combat/spell/IceSpells.java +++ b/Server/src/main/java/core/game/node/entity/combat/spell/IceSpells.java @@ -14,7 +14,7 @@ import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.entity.player.link.audio.Audio; import core.game.node.entity.state.EntityState; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable; @@ -133,7 +133,7 @@ public final class IceSpells extends CombatSpell { } int ticks = (1 + (type.ordinal() - SpellType.RUSH.ordinal())) * 8; if (state.getEstimatedHit() > -1) { - if (victim.getAttribute("freeze_immunity", -1) < GameWorld.getTicks()) { + if (victim.getAttribute("freeze_immunity", -1) < World.getTicks()) { victim.getStateManager().set(EntityState.FROZEN, ticks); } else if (type == SpellType.BARRAGE) { state.setFrozen(true); diff --git a/Server/src/main/java/core/game/node/entity/combat/spell/MiasmicSpells.java b/Server/src/main/java/core/game/node/entity/combat/spell/MiasmicSpells.java index 5dbbe9df5..324e49a18 100644 --- a/Server/src/main/java/core/game/node/entity/combat/spell/MiasmicSpells.java +++ b/Server/src/main/java/core/game/node/entity/combat/spell/MiasmicSpells.java @@ -16,7 +16,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.entity.state.EntityState; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; @@ -119,7 +119,7 @@ public final class MiasmicSpells extends CombatSpell { @Override public void fireEffect(Entity entity, Entity victim, BattleState state) { - if (victim.getAttribute("miasmic_immunity", -1) < GameWorld.getTicks()) { + if (victim.getAttribute("miasmic_immunity", -1) < World.getTicks()) { victim.getStateManager().register(EntityState.MIASMIC, true, (getSpellId() - 15) * 20); } } @@ -140,7 +140,7 @@ public final class MiasmicSpells extends CombatSpell { @Override public boolean cast(Entity entity, Node target) { - if (!validStaffEquipped(entity) && !GameWorld.getSettings().isDevMode()) { + if (!validStaffEquipped(entity) && !World.getSettings().isDevMode()) { ((Player) entity).getPacketDispatch().sendMessage("You need to be wielding Zuriel's staff in order to cast this spell."); return false; } diff --git a/Server/src/main/java/core/game/node/entity/impl/Animator.java b/Server/src/main/java/core/game/node/entity/impl/Animator.java index 8bc30f93f..3eb1a493b 100644 --- a/Server/src/main/java/core/game/node/entity/impl/Animator.java +++ b/Server/src/main/java/core/game/node/entity/impl/Animator.java @@ -2,7 +2,7 @@ package core.game.node.entity.impl; import core.game.node.entity.Entity; import core.game.node.entity.npc.NPC; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.game.world.update.flag.npc.NPCAnimation; @@ -114,14 +114,14 @@ public final class Animator { */ public boolean animate(Animation animation, Graphics graphic) { if (animation != null) { - if (ticks > GameWorld.getTicks() && priority.ordinal() > animation.getPriority().ordinal()) { + if (ticks > World.getTicks() && priority.ordinal() > animation.getPriority().ordinal()) { return false; } if (animation.getId() == 0) { animation.setId(-1); } this.animation = animation; - ticks = GameWorld.getTicks() + animation.getDuration(); + ticks = World.getTicks() + animation.getDuration(); entity.getUpdateMasks().register(entity instanceof NPC ? new NPCAnimation(animation) : new AnimationFlag(animation)); priority = animation.getPriority(); } @@ -158,7 +158,7 @@ public final class Animator { * @return {@code True} if so. */ public boolean isAnimating() { - return animation != null && ticks > GameWorld.getTicks(); + return animation != null && ticks > World.getTicks(); } /** diff --git a/Server/src/main/java/core/game/node/entity/impl/ForceMovement.java b/Server/src/main/java/core/game/node/entity/impl/ForceMovement.java index db76cebf9..afcacfa74 100644 --- a/Server/src/main/java/core/game/node/entity/impl/ForceMovement.java +++ b/Server/src/main/java/core/game/node/entity/impl/ForceMovement.java @@ -3,7 +3,7 @@ package core.game.node.entity.impl; import core.game.node.entity.Entity; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -237,7 +237,7 @@ public class ForceMovement extends Pulse { ForceMovement fm = new ForceMovement(e, start, destination, startAnim, animation, direction, commenceSpeed, pathSpeed); fm.start(); e.lock(); - GameWorld.getPulser().submit(fm); + World.getPulser().submit(fm); return fm; } @@ -260,7 +260,7 @@ public class ForceMovement extends Pulse { this.commenceSpeed = commence; start(); e.lock(); - GameWorld.getPulser().submit(this); + World.getPulser().submit(this); } /** diff --git a/Server/src/main/java/core/game/node/entity/impl/PulseManager.java b/Server/src/main/java/core/game/node/entity/impl/PulseManager.java index f7cafd0cf..aa0c4e125 100644 --- a/Server/src/main/java/core/game/node/entity/impl/PulseManager.java +++ b/Server/src/main/java/core/game/node/entity/impl/PulseManager.java @@ -6,7 +6,7 @@ import core.game.node.entity.combat.DeathTask; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; import rs09.game.node.entity.combat.CombatPulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents an entity's pulse manager. @@ -35,9 +35,9 @@ public final class PulseManager { pulse.start(); if (pulse.isRunning()) { if (fast) { - GameWorld.getPulser().submit(current = pulse); + World.getPulser().submit(current = pulse); } else { - GameWorld.getPulser().submit(current = pulse); + World.getPulser().submit(current = pulse); } } } diff --git a/Server/src/main/java/core/game/node/entity/lock/ActionLocks.java b/Server/src/main/java/core/game/node/entity/lock/ActionLocks.java index f24ea9a9a..716c9eb87 100644 --- a/Server/src/main/java/core/game/node/entity/lock/ActionLocks.java +++ b/Server/src/main/java/core/game/node/entity/lock/ActionLocks.java @@ -1,7 +1,7 @@ package core.game.node.entity.lock; import core.game.node.Node; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.HashMap; import java.util.Map; @@ -55,7 +55,7 @@ public final class ActionLocks { * indefinite time. */ public void lock() { - lock(Integer.MAX_VALUE - GameWorld.getTicks()); + lock(Integer.MAX_VALUE - World.getTicks()); } /** diff --git a/Server/src/main/java/core/game/node/entity/lock/Lock.java b/Server/src/main/java/core/game/node/entity/lock/Lock.java index 005e55e64..3f07fda07 100644 --- a/Server/src/main/java/core/game/node/entity/lock/Lock.java +++ b/Server/src/main/java/core/game/node/entity/lock/Lock.java @@ -1,6 +1,6 @@ package core.game.node.entity.lock; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents a lock. @@ -43,7 +43,7 @@ public class Lock { * Locks for an indefinite time. */ public void lock() { - lock(Integer.MAX_VALUE - GameWorld.getTicks()); + lock(Integer.MAX_VALUE - World.getTicks()); } /** @@ -51,8 +51,8 @@ public class Lock { * @param ticks The amount of ticks to lock for. */ public void lock(int ticks) { - if (ticks > expiration - GameWorld.getTicks()) { - this.expiration = GameWorld.getTicks() + ticks; + if (ticks > expiration - World.getTicks()) { + this.expiration = World.getTicks() + ticks; } } @@ -68,7 +68,7 @@ public class Lock { * @return {@code True} if so. */ public boolean isLocked() { - return expiration > GameWorld.getTicks(); + return expiration > World.getTicks(); } /** diff --git a/Server/src/main/java/core/game/node/entity/npc/NPC.java b/Server/src/main/java/core/game/node/entity/npc/NPC.java index 3bd79964b..5b955b579 100644 --- a/Server/src/main/java/core/game/node/entity/npc/NPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/NPC.java @@ -36,11 +36,9 @@ import rs09.game.content.jobs.JobManager; import rs09.game.node.entity.combat.CombatSwingHandler; import rs09.game.system.config.NPCConfigParser; import rs09.game.system.config.ShopParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; -import java.util.Map; - import static rs09.game.node.entity.player.info.stats.StatAttributeKeysKt.STATS_BASE; import static rs09.game.node.entity.player.info.stats.StatAttributeKeysKt.STATS_ENEMIES_KILLED; @@ -347,7 +345,7 @@ public class NPC extends Entity { @Override public boolean isInvisible() { - if (!isActive() || getRespawnTick() > GameWorld.getTicks()) { + if (!isActive() || getRespawnTick() > World.getTicks()) { return true; } return super.isInvisible(); @@ -413,10 +411,10 @@ public class NPC extends Entity { onRegionInactivity(); return; } - if (respawnTick > GameWorld.getTicks()) { + if (respawnTick > World.getTicks()) { return; } - if (respawnTick == GameWorld.getTicks()) { + if (respawnTick == World.getTicks()) { onRespawn(); } handleTickActions(); @@ -449,7 +447,7 @@ public class NPC extends Entity { if (aggressiveHandler != null) { aggressiveHandler.setPauseTicks(walkRadius + 1); } - nextWalk = GameWorld.getTicks() + walkRadius + 1; + nextWalk = World.getTicks() + walkRadius + 1; return; } if (aggressive && aggressiveHandler != null && aggressiveHandler.selectTarget()) { @@ -462,7 +460,7 @@ public class NPC extends Entity { if (!getLocks().isMovementLocked()) { if (dialoguePlayer == null || !dialoguePlayer.isActive() || !dialoguePlayer.getInterfaceManager().hasChatbox()) { dialoguePlayer = null; - if (walks && !getPulseManager().hasPulseRunning() && !getProperties().getCombatPulse().isAttacking() && !getProperties().getCombatPulse().isInCombat() && nextWalk < GameWorld.getTicks()) { + if (walks && !getPulseManager().hasPulseRunning() && !getProperties().getCombatPulse().isAttacking() && !getProperties().getCombatPulse().isInCombat() && nextWalk < World.getTicks()) { setNextWalk(); Location l = getMovementDestination(); if (canMove(l)) { @@ -476,16 +474,16 @@ public class NPC extends Entity { } } if (shop != null) { - if (shop.getLastRestock() < GameWorld.getTicks()) { + if (shop.getLastRestock() < World.getTicks()) { if (shop.isRestock()) { shop.restock(); - shop.setLastRestock(GameWorld.getTicks() + 100); + shop.setLastRestock(World.getTicks() + 100); } } } - if (forceTalk != null && getAttribute("lastForceTalk", 0) < GameWorld.getTicks()) { + if (forceTalk != null && getAttribute("lastForceTalk", 0) < World.getTicks()) { sendChat(forceTalk); - setAttribute("lastForceTalk", GameWorld.getTicks() + RandomFunction.random(15, 30)); + setAttribute("lastForceTalk", World.getTicks() + RandomFunction.random(15, 30)); } } @@ -493,11 +491,11 @@ public class NPC extends Entity { * Sets the next walk. */ public void setNextWalk() { - nextWalk = GameWorld.getTicks() + 5 + RandomFunction.randomize(10); + nextWalk = World.getTicks() + 5 + RandomFunction.randomize(10); } public void resetWalk() { - nextWalk = GameWorld.getTicks() - 1; + nextWalk = World.getTicks() - 1; getWalkingQueue().reset(); } @@ -531,7 +529,7 @@ public class NPC extends Entity { if (killer instanceof Player && killer.getAttribute("jobs:id",null) != null) { JobManager.handleDeath(id,(Player) killer); } - setRespawnTick(GameWorld.getTicks() + definition.getConfiguration(NPCConfigParser.RESPAWN_DELAY, 17)); + setRespawnTick(World.getTicks() + definition.getConfiguration(NPCConfigParser.RESPAWN_DELAY, 17)); Player p = !(killer instanceof Player) ? null : (Player) killer; if (p != null) { p.incrementAttribute("/save:" + STATS_BASE + ":" + STATS_ENEMIES_KILLED); diff --git a/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveBehavior.java b/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveBehavior.java index 254926ad9..8d76c772f 100644 --- a/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveBehavior.java +++ b/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveBehavior.java @@ -4,7 +4,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.combat.DeathTask; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import java.util.ArrayList; @@ -75,9 +75,9 @@ public class AggressiveBehavior { if (RegionManager.forId(regionId).isTolerated(target.asPlayer())) { return false; } - int ticks = GameWorld.getTicks() - npc.getAggressiveHandler().getPlayerTolerance()[target.getIndex()]; + int ticks = World.getTicks() - npc.getAggressiveHandler().getPlayerTolerance()[target.getIndex()]; if (ticks > 3000) { - npc.getAggressiveHandler().getPlayerTolerance()[target.getIndex()] = GameWorld.getTicks(); + npc.getAggressiveHandler().getPlayerTolerance()[target.getIndex()] = World.getTicks(); } else if (ticks > 1500) { return false; } diff --git a/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveHandler.java b/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveHandler.java index 3d960d549..c1cd3399a 100644 --- a/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveHandler.java +++ b/Server/src/main/java/core/game/node/entity/npc/agg/AggressiveHandler.java @@ -5,7 +5,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.combat.DeathTask; import core.game.node.entity.player.Player; import core.game.node.entity.player.info.Rights; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.tools.RandomFunction; /** @@ -69,7 +69,7 @@ public final class AggressiveHandler { * @return {@code True} if the entity has selected a target. */ public boolean selectTarget() { - if (pauseTicks > GameWorld.getTicks() || entity.getLocks().isInteractionLocked()) { + if (pauseTicks > World.getTicks() || entity.getLocks().isInteractionLocked()) { return false; } if ((!targetSwitching && entity.getProperties().getCombatPulse().isAttacking()) || DeathTask.isDead(entity)) { @@ -139,7 +139,7 @@ public final class AggressiveHandler { * @param pauseTicks The amount of ticks to pause for. */ public void setPauseTicks(int pauseTicks) { - this.pauseTicks = GameWorld.getTicks() + pauseTicks; + this.pauseTicks = World.getTicks() + pauseTicks; } /** diff --git a/Server/src/main/java/core/game/node/entity/npc/bosses/GiantMoleNPC.java b/Server/src/main/java/core/game/node/entity/npc/bosses/GiantMoleNPC.java index 42f63420d..d8b88bf61 100644 --- a/Server/src/main/java/core/game/node/entity/npc/bosses/GiantMoleNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/bosses/GiantMoleNPC.java @@ -20,7 +20,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -120,7 +120,7 @@ public final class GiantMoleNPC extends AbstractNPC { dest = DIG_LOCATIONS[(index + 1) % DIG_LOCATIONS.length]; } final Location destination = dest; - GameWorld.getPulser().submit(new Pulse(1, this) { + World.getPulser().submit(new Pulse(1, this) { int count = 0; Location hole; @@ -280,7 +280,7 @@ public final class GiantMoleNPC extends AbstractNPC { public boolean handle(final Player player, Node node, String option) { player.animate(Animation.create(828)); player.lock(2); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.getProperties().setTeleportLocation(Location.create(2985, 3316, 0)); diff --git a/Server/src/main/java/core/game/node/entity/npc/bosses/KalphiteQueenNPC.java b/Server/src/main/java/core/game/node/entity/npc/bosses/KalphiteQueenNPC.java index e94be4859..bea06718f 100644 --- a/Server/src/main/java/core/game/node/entity/npc/bosses/KalphiteQueenNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/bosses/KalphiteQueenNPC.java @@ -16,7 +16,7 @@ import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -368,7 +368,7 @@ public final class KalphiteQueenNPC extends AbstractNPC { final int targetIndex = index; t.getVictim().graphics(MAGIC_END_GFX); Projectile.create(victim, t.getVictim(), 280, 41, 36, 0, 30, 15, 11).send(); - GameWorld.getPulser().submit(new Pulse(1, t.getVictim()) { + World.getPulser().submit(new Pulse(1, t.getVictim()) { @Override public boolean pulse() { handleMagicImpact(e, victim, t.getVictim(), targets, targetIndex); diff --git a/Server/src/main/java/core/game/node/entity/npc/bosses/corp/CorporealBeastNPC.java b/Server/src/main/java/core/game/node/entity/npc/bosses/corp/CorporealBeastNPC.java index cdb03ce13..9d474e888 100644 --- a/Server/src/main/java/core/game/node/entity/npc/bosses/corp/CorporealBeastNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/bosses/corp/CorporealBeastNPC.java @@ -21,7 +21,7 @@ import core.plugin.Plugin; import core.tools.RandomFunction; import rs09.game.node.entity.combat.CombatSwingHandler; import rs09.game.node.entity.combat.handlers.MultiSwingHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -192,7 +192,7 @@ public final class CorporealBeastNPC extends AbstractNPC { npc.darkEnergyCore = NPC.create(8127, l, npc); npc.darkEnergyCore.setActive(true); Projectile.create(npc.getLocation().transform(2, 2, 0), l, 1828, 60, 0, 0, 60, 20, 0).send(); - GameWorld.getPulser().submit(new Pulse(2, npc) { + World.getPulser().submit(new Pulse(2, npc) { @Override public boolean pulse() { npc.darkEnergyCore.init(); @@ -210,7 +210,7 @@ public final class CorporealBeastNPC extends AbstractNPC { entity.animate(getCurrent().getAnimation()); Projectile.create(entity, null, 1824, 60, 0, 41, 0).transform(entity, location, true, 46, 10).send(); int ticks = 1 + (int) Math.ceil(entity.getLocation().getDistance(location) * 0.5); - GameWorld.getPulser().submit(new Pulse(ticks) { + World.getPulser().submit(new Pulse(ticks) { boolean secondStage = false; List players = RegionManager.getLocalPlayers(entity); Location[] locations = null; diff --git a/Server/src/main/java/core/game/node/entity/npc/bosses/corp/DarkEnergyCoreNPC.java b/Server/src/main/java/core/game/node/entity/npc/bosses/corp/DarkEnergyCoreNPC.java index 0da933b84..2220c1172 100644 --- a/Server/src/main/java/core/game/node/entity/npc/bosses/corp/DarkEnergyCoreNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/bosses/corp/DarkEnergyCoreNPC.java @@ -8,7 +8,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.state.EntityState; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.plugin.Initializable; import core.tools.RandomFunction; @@ -106,7 +106,7 @@ public final class DarkEnergyCoreNPC extends AbstractNPC { private void jump(final Location location) { setInvisible(true); Projectile.create(getLocation(), location, 1828, 0, 0, 0, 60, 20, 0).send(); - GameWorld.getPulser().submit(new Pulse(2, this) { + World.getPulser().submit(new Pulse(2, this) { @Override public boolean pulse() { getProperties().setTeleportLocation(location); diff --git a/Server/src/main/java/core/game/node/entity/npc/city/pollnivneach/AliTheCamelHandler.java b/Server/src/main/java/core/game/node/entity/npc/city/pollnivneach/AliTheCamelHandler.java index f8a43b7cf..f9d51bce7 100644 --- a/Server/src/main/java/core/game/node/entity/npc/city/pollnivneach/AliTheCamelHandler.java +++ b/Server/src/main/java/core/game/node/entity/npc/city/pollnivneach/AliTheCamelHandler.java @@ -9,7 +9,7 @@ import core.game.node.Node; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; import core.tools.RandomFunction; @@ -70,7 +70,7 @@ public class AliTheCamelHandler extends OptionHandler { player.lock(); player.animate(new Animation(7299)); player.getImpactHandler().setDisabledTicks(3); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { @Override public boolean pulse() { player.unlock(); diff --git a/Server/src/main/java/core/game/node/entity/npc/city/sophanem/WallShortcut.java b/Server/src/main/java/core/game/node/entity/npc/city/sophanem/WallShortcut.java index 3a394d3ea..642d7ff8f 100644 --- a/Server/src/main/java/core/game/node/entity/npc/city/sophanem/WallShortcut.java +++ b/Server/src/main/java/core/game/node/entity/npc/city/sophanem/WallShortcut.java @@ -9,7 +9,7 @@ import core.game.node.entity.impl.ForceMovement; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -43,7 +43,7 @@ public final class WallShortcut extends OptionHandler { final Scenery o = (Scenery) node; if (o.getId() == 6620) { ForceMovement.run(player, Location.create(3320, 2796, 0), o.getLocation(), CLIMB_DOWN); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override diff --git a/Server/src/main/java/core/game/node/entity/npc/city/varrock/VarrockEastBartenderDialogue.java b/Server/src/main/java/core/game/node/entity/npc/city/varrock/VarrockEastBartenderDialogue.java index 586be5d82..830138684 100644 --- a/Server/src/main/java/core/game/node/entity/npc/city/varrock/VarrockEastBartenderDialogue.java +++ b/Server/src/main/java/core/game/node/entity/npc/city/varrock/VarrockEastBartenderDialogue.java @@ -6,7 +6,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.plugin.Initializable; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the VarrockEastBartenderDialogue dialogue. @@ -98,7 +98,7 @@ public class VarrockEastBartenderDialogue extends DialoguePlugin { break; case 160: - interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "This world around us... is a computer game.... called", "" + GameWorld.getSettings().getName() + "."); + interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "This world around us... is a computer game.... called", "" + World.getSettings().getName() + "."); stage = 161; break; case 161: diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/BeaverNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/BeaverNPC.java index aadf2cdbc..bd3efeb38 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/BeaverNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/BeaverNPC.java @@ -9,7 +9,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.path.Pathfinder; import core.game.world.update.flag.context.Animation; @@ -81,14 +81,14 @@ public class BeaverNPC extends Forager { owner.lock(ticks); multiChop = true; getPulseManager().clear(); - GameWorld.getPulser().submit(new Pulse(ticks, owner, this) { + World.getPulser().submit(new Pulse(ticks, owner, this) { @Override public boolean pulse() { lock(11); owner.lock(11); faceLocation(object.getLocation()); animate(Animation.create(7722)); - GameWorld.getPulser().submit(new Pulse(1, owner, BeaverNPC.this) { + World.getPulser().submit(new Pulse(1, owner, BeaverNPC.this) { int counter; boolean recieved = false; diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/BunyipNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/BunyipNPC.java index 34f2c8f28..31e645106 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/BunyipNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/BunyipNPC.java @@ -14,7 +14,7 @@ import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.impl.Projectile; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; @@ -64,7 +64,7 @@ public class BunyipNPC extends Familiar { @Override public void tick() { super.tick(); - if (lastHeal < GameWorld.getTicks()) { + if (lastHeal < World.getTicks()) { setLastHeal(); owner.graphics(Graphics.create(1507), 1); // Since https://runescape.wiki/w/Bunyip?oldid=391088 (2008-04-02) @@ -85,7 +85,7 @@ public class BunyipNPC extends Familiar { * Sets the last heal. */ public void setLastHeal() { - this.lastHeal = GameWorld.getTicks() + (int) (15 / 0.6); + this.lastHeal = World.getTicks() + (int) (15 / 0.6); } @Override diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/CockatriceFamiliarNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/CockatriceFamiliarNPC.java index 079d1d662..32a79ca23 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/CockatriceFamiliarNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/CockatriceFamiliarNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.impl.Projectile; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; @@ -58,7 +58,7 @@ public final class CockatriceFamiliarNPC implements Plugin { } familiar.faceTemporary(target, 2); familiar.visualize(Animation.create(7762), Graphics.create(1467)); - GameWorld.getPulser().submit(new Pulse(1, familiar.getOwner(), familiar, target) { + World.getPulser().submit(new Pulse(1, familiar.getOwner(), familiar, target) { @Override public boolean pulse() { target.getSkills().updateLevel(skill, -3, 0); diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/DesertWyrmNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/DesertWyrmNPC.java index 84dd26460..bd3952678 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/DesertWyrmNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/DesertWyrmNPC.java @@ -22,7 +22,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -107,7 +107,7 @@ public final class DesertWyrmNPC extends Forager { player.lock(9); familiar.lock(8); familiar.visualize(new Animation(7800), new Graphics(1412)); - GameWorld.getPulser().submit(new Pulse(1, player, familiar) { + World.getPulser().submit(new Pulse(1, player, familiar) { int counter; @Override diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/DreadfowlNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/DreadfowlNPC.java index 783dcd95f..2350d3e12 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/DreadfowlNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/DreadfowlNPC.java @@ -16,7 +16,7 @@ import core.game.node.entity.impl.Projectile; import core.game.node.entity.impl.Animator.Priority; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; @@ -93,7 +93,7 @@ public final class DreadfowlNPC extends Familiar { owner.getPacketDispatch().sendMessage("Your familiar can only attack when you're in combat."); return false; } - if (getProperties().getCombatPulse().getNextAttack() > GameWorld.getTicks() || CombatStyle.MAGIC.getSwingHandler().canSwing(this, target) == InteractionType.NO_INTERACT) { + if (getProperties().getCombatPulse().getNextAttack() > World.getTicks() || CombatStyle.MAGIC.getSwingHandler().canSwing(this, target) == InteractionType.NO_INTERACT) { specialMove = true; getProperties().getCombatPulse().attack(target); return true; @@ -102,7 +102,7 @@ public final class DreadfowlNPC extends Familiar { Projectile.magic(this, target, 1318, 40, 36, 51, 10).send(); int ticks = 2 + (int) Math.floor(getLocation().getDistance(target.getLocation()) * 0.5); getProperties().getCombatPulse().setNextAttack(4); - GameWorld.getPulser().submit(new Pulse(ticks, this, target) { + World.getPulser().submit(new Pulse(ticks, this, target) { @Override public boolean pulse() { BattleState state = new BattleState(DreadfowlNPC.this, target); diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/ForgeRegentNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/ForgeRegentNPC.java index 7b64dc9d4..0e7d3f8ac 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/ForgeRegentNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/ForgeRegentNPC.java @@ -9,7 +9,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.player.FaceLocationFlag; @@ -143,7 +143,7 @@ public class ForgeRegentNPC extends Familiar { familiar.animate(FIREMAKE_ANIMATION); if (player.getInventory().remove(event.getUsedItem())) { final GroundItem ground = GroundItemManager.create(event.getUsedItem(), familiar.getLocation(), player); - GameWorld.getPulser().submit(new Pulse(ticks, player, familiar) { + World.getPulser().submit(new Pulse(ticks, player, familiar) { @Override public boolean pulse() { if (!ground.isActive()) { diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/FruitBatNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/FruitBatNPC.java index 464b6f41f..e17d06d2b 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/FruitBatNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/FruitBatNPC.java @@ -8,7 +8,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable; @@ -92,7 +92,7 @@ public class FruitBatNPC extends Forager { */ @Override protected boolean specialMove(FamiliarSpecial special) { - if (owner.getAttribute("fruit-bat", 0) > GameWorld.getTicks()) { + if (owner.getAttribute("fruit-bat", 0) > World.getTicks()) { return false; } @@ -104,9 +104,9 @@ public class FruitBatNPC extends Forager { graphics(new Graphics(1332, 200)); animate(new Animation(8321), 3); // TODO - this animates the fruit bat with the splattering fruit animation, should do it for all falling fruits but Items are not Entities and therefore cannot animate graphics(new Graphics(1331), 4); - owner.setAttribute("fruit-bat", GameWorld.getTicks() + 5); + owner.setAttribute("fruit-bat", World.getTicks() + 5); lock(4); - GameWorld.getPulser().submit(new Pulse(4, this) { + World.getPulser().submit(new Pulse(4, this) { @Override public boolean pulse() { if (anyFruit){ diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/GiantChinchompaNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/GiantChinchompaNPC.java index 2d6e46a6d..14a963ff9 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/GiantChinchompaNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/GiantChinchompaNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.combat.ImpactHandler.HitsplatType; import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -64,7 +64,7 @@ public class GiantChinchompaNPC extends Familiar { sendChat("Squeak!"); animate(Animation.create(7758)); graphics(Graphics.create(1364)); - GameWorld.getPulser().submit(new Pulse(3, owner, this) { + World.getPulser().submit(new Pulse(3, owner, this) { @Override public boolean pulse() { for (Entity entity : entitys) { diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/IbisNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/IbisNPC.java index 0fe94ef0f..7bb2ea53d 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/IbisNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/IbisNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -73,7 +73,7 @@ public class IbisNPC extends Forager { @Override protected boolean specialMove(FamiliarSpecial special) { animate(Animation.create(8201)); - GameWorld.getPulser().submit(new Pulse(3, owner, this) { + World.getPulser().submit(new Pulse(3, owner, this) { @Override public boolean pulse() { Location loc = null; diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/MacawNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/MacawNPC.java index 8c54317cb..776100108 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/MacawNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/MacawNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; @@ -65,21 +65,21 @@ public class MacawNPC extends Forager { @Override protected boolean specialMove(FamiliarSpecial special) { - if (specialDelay > GameWorld.getTicks()) { + if (specialDelay > World.getTicks()) { owner.getPacketDispatch().sendMessage("You must wait one minute until using the macaws special again."); return false; } final Item herb = HERBS[RandomFunction.random(HERBS.length)]; animate(Animation.create(8013)); graphics(Graphics.create(1321), 2); - GameWorld.getPulser().submit(new Pulse(5, owner) { + World.getPulser().submit(new Pulse(5, owner) { @Override public boolean pulse() { GroundItemManager.create(herb, getLocation(), owner); return true; } }); - specialDelay = GameWorld.getTicks() + 100; + specialDelay = World.getTicks() + 100; return true; } diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/MinotaurFamiliarNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/MinotaurFamiliarNPC.java index 83b5222af..5092761e0 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/MinotaurFamiliarNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/MinotaurFamiliarNPC.java @@ -9,7 +9,7 @@ import core.game.node.entity.impl.Projectile; import core.game.node.entity.player.Player; import core.game.node.entity.state.EntityState; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; @@ -57,7 +57,7 @@ public final class MinotaurFamiliarNPC implements Plugin { familiar.visualize(Animation.create(8026), Graphics.create(1496)); if (!(familiar instanceof BronzeMinotaurNPC || familiar instanceof RuneMinotaurNPC) && RandomFunction.random(10) < 6) { final int ticks = 2 + (int) Math.floor(familiar.getLocation().getDistance(target.getLocation()) * 0.5); - GameWorld.getPulser().submit(new Pulse(ticks) { + World.getPulser().submit(new Pulse(ticks) { @Override public boolean pulse() { target.getStateManager().set(EntityState.STUNNED, 4); diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/PyreLordNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/PyreLordNPC.java index da1335864..ba326a784 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/PyreLordNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/PyreLordNPC.java @@ -18,7 +18,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -122,7 +122,7 @@ public class PyreLordNPC extends Familiar { familiar.animate(FIREMAKE_ANIMATION); if (player.getInventory().remove(event.getUsedItem())) { final GroundItem ground = GroundItemManager.create(event.getUsedItem(), familiar.getLocation(), player); - GameWorld.getPulser().submit(new Pulse(ticks, player, familiar) { + World.getPulser().submit(new Pulse(ticks, player, familiar) { @Override public boolean pulse() { if (!ground.isActive()) { diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritKalphiteNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritKalphiteNPC.java index 43f8caecd..7157814b0 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritKalphiteNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritKalphiteNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.impl.Projectile; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -52,7 +52,7 @@ public class SpiritKalphiteNPC extends BurdenBeast { } final List entitys = RegionManager.getLocalEntitys(owner, 6); visualize(Animation.create(8517), Graphics.create(1350)); - GameWorld.getPulser().submit(new Pulse(1, owner) { + World.getPulser().submit(new Pulse(1, owner) { @Override public boolean pulse() { int count = 0; diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritSpiderNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritSpiderNPC.java index 59e8f2404..3287bd5ce 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritSpiderNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritSpiderNPC.java @@ -7,7 +7,7 @@ import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.player.Player; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -29,7 +29,7 @@ public class SpiritSpiderNPC extends Familiar { /** * The delay until the next chance of random eggs. */ - private int eggDelay = GameWorld.getTicks() + 500; + private int eggDelay = World.getTicks() + 500; /** * Constructs a new {@code SpiritSpiderNPC} {@code Object}. @@ -50,11 +50,11 @@ public class SpiritSpiderNPC extends Familiar { @Override public void handleFamiliarTick() { super.handleFamiliarTick(); - if (eggDelay < GameWorld.getTicks()) { + if (eggDelay < World.getTicks()) { if (RandomFunction.random(25) == 5) { createEggs(); sendChat("Clicketyclack"); - eggDelay = GameWorld.getTicks() + 500; + eggDelay = World.getTicks() + 500; } } } diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritWolfNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritWolfNPC.java index a7d4897b8..f2450e34d 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritWolfNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/SpiritWolfNPC.java @@ -10,7 +10,7 @@ import core.game.node.entity.impl.Projectile; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.path.Path; @@ -111,7 +111,7 @@ public final class SpiritWolfNPC extends Familiar { faceTemporary(npc, owner, 2); super.visualize(Animation.create(8293), new Graphics(1334, 96)); Projectile.magic(this, npc, 1333, 40, 36, 50, 5).send(); - GameWorld.getPulser().submit(new Pulse(2, this, npc) { + World.getPulser().submit(new Pulse(2, this, npc) { @Override public boolean pulse() { npc.faceTemporary(SpiritWolfNPC.this, 2); diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/ThornySnailNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/ThornySnailNPC.java index 7c6b38c01..d9f22dfcc 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/ThornySnailNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/ThornySnailNPC.java @@ -11,7 +11,7 @@ import core.game.node.entity.impl.Projectile; import core.game.node.entity.impl.Animator.Priority; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; @@ -57,7 +57,7 @@ public class ThornySnailNPC extends BurdenBeast { int ticks = 2 + (int) Math.floor(getLocation().getDistance(target.getLocation()) * 0.5); getProperties().getCombatPulse().setNextAttack(4); faceTemporary(target, 2); - GameWorld.getPulser().submit(new Pulse(ticks, this, target) { + World.getPulser().submit(new Pulse(ticks, this, target) { @Override public boolean pulse() { BattleState state = new BattleState(ThornySnailNPC.this, target); diff --git a/Server/src/main/java/core/game/node/entity/npc/familiar/VoidFamiliarNPC.java b/Server/src/main/java/core/game/node/entity/npc/familiar/VoidFamiliarNPC.java index 255cd6c62..c56997e0d 100644 --- a/Server/src/main/java/core/game/node/entity/npc/familiar/VoidFamiliarNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/familiar/VoidFamiliarNPC.java @@ -13,7 +13,7 @@ import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -55,7 +55,7 @@ public final class VoidFamiliarNPC implements Plugin { public boolean callToArms(Familiar familiar, FamiliarSpecial special) { final Player owner = familiar.getOwner(); owner.lock(); - GameWorld.getPulser().submit(new Pulse(1, owner) { + World.getPulser().submit(new Pulse(1, owner) { int counter; @Override @@ -195,9 +195,9 @@ public final class VoidFamiliarNPC implements Plugin { @Override public void handleFamiliarTick() { super.handleFamiliarTick(); - if (healDelay < GameWorld.getTicks()) { + if (healDelay < World.getTicks()) { getSkills().heal(1); - healDelay = GameWorld.getTicks() + 25; + healDelay = World.getTicks() + 25; } } diff --git a/Server/src/main/java/core/game/node/entity/npc/other/ArmourSuitNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/ArmourSuitNPC.java index 013071479..423b5282c 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/ArmourSuitNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/ArmourSuitNPC.java @@ -4,7 +4,7 @@ import core.game.node.entity.npc.AbstractNPC; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.map.Location; @@ -36,7 +36,7 @@ public final class ArmourSuitNPC extends AbstractNPC { public void init() { super.init(); super.setRespawn(false); - GameWorld.getPulser().submit(new Pulse(50, this) { + World.getPulser().submit(new Pulse(50, this) { @Override public boolean pulse() { if (!getProperties().getCombatPulse().isAttacking() && !inCombat()) { diff --git a/Server/src/main/java/core/game/node/entity/npc/other/BorkNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/BorkNPC.java index c464ec4c0..f2a4b4aa0 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/BorkNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/BorkNPC.java @@ -14,7 +14,7 @@ import core.game.node.item.ChanceItem; import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; import core.game.world.update.flag.context.Animation; @@ -136,7 +136,7 @@ public class BorkNPC extends AbstractNPC { if (player.getDialogueInterpreter().getDialogue() != null) { player.getDialogueInterpreter().getDialogue().end(); } - GameWorld.getPulser().submit(new Pulse(10, player) { + World.getPulser().submit(new Pulse(10, player) { @Override public boolean pulse() { @@ -193,14 +193,14 @@ public class BorkNPC extends AbstractNPC { getProperties().getCombatPulse().stop(); player.getProperties().getCombatPulse().stop(); getAnimator().forceAnimation(Animation.create(8757)); - GameWorld.getPulser().submit(new Pulse(1, player, this) { + World.getPulser().submit(new Pulse(1, player, this) { @Override public boolean pulse() { getAnimator().forceAnimation(Animation.create(8757)); sendChat("Come to my aid, brothers!"); player.sendMessage("Bork strikes the ground with his axe."); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { @Override public boolean pulse() { @@ -209,7 +209,7 @@ public class BorkNPC extends AbstractNPC { } }); - GameWorld.getPulser().submit(new Pulse(13, player) { + World.getPulser().submit(new Pulse(13, player) { @Override public boolean pulse() { @@ -278,7 +278,7 @@ public class BorkNPC extends AbstractNPC { /** * The last talk. */ - private int lastTalk = GameWorld.getTicks() + 30; + private int lastTalk = World.getTicks() + 30; /** * Constructs a new {@Code OrkLegion} {@Code Object} @@ -303,9 +303,9 @@ public class BorkNPC extends AbstractNPC { return; } - if (lastTalk < GameWorld.getTicks()) { + if (lastTalk < World.getTicks()) { sendChat(LEGION_CHATS[RandomFunction.random(LEGION_CHATS.length)]); - lastTalk = GameWorld.getTicks() + 30; + lastTalk = World.getTicks() + 30; } } @@ -499,7 +499,7 @@ public class BorkNPC extends AbstractNPC { bork.cutscene.player = player; player.lock(); player.getInterfaceManager().open(new Component(692)); - GameWorld.getPulser().submit(new Pulse(13, player) { + World.getPulser().submit(new Pulse(13, player) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/node/entity/npc/other/DraynorTreeNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/DraynorTreeNPC.java index f136479ef..da2e97e35 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/DraynorTreeNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/DraynorTreeNPC.java @@ -6,7 +6,7 @@ import core.game.node.entity.combat.ImpactHandler.HitsplatType; import core.game.node.entity.impl.Animator.Priority; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -61,13 +61,13 @@ public final class DraynorTreeNPC extends AbstractNPC { public void tick() { final List players = RegionManager.getLocalPlayers(this, 1); if (players.size() != 0) { - if (attackDelay < GameWorld.getTicks()) { + if (attackDelay < World.getTicks()) { for (Player p : players) { faceTemporary(p, 2); getAnimator().forceAnimation(ANIMATION); int hit = RandomFunction.random(2); p.getImpactHandler().manualHit(this, hit, hit > 0 ? HitsplatType.NORMAL : HitsplatType.MISS); - attackDelay = GameWorld.getTicks() + 3; + attackDelay = World.getTicks() + 3; p.animate(p.getProperties().getDefenceAnimation()); return; } diff --git a/Server/src/main/java/core/game/node/entity/npc/other/ElementalWizardNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/ElementalWizardNPC.java index 1440c25df..85c59ac50 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/ElementalWizardNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/ElementalWizardNPC.java @@ -14,7 +14,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -307,7 +307,7 @@ public final class ElementalWizardNPC extends AbstractNPC { player.graphics(Graphics.create(453)); player.lock(8); player.getLocks().lockMovement(10000); - GameWorld.getPulser().submit(new Pulse(12) { + World.getPulser().submit(new Pulse(12) { @Override public boolean pulse() { player.getWalkingQueue().reset(); diff --git a/Server/src/main/java/core/game/node/entity/npc/other/FishingNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/FishingNPC.java index 88dcd7b75..8183ae285 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/FishingNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/FishingNPC.java @@ -2,7 +2,7 @@ package core.game.node.entity.npc.other; import core.game.node.entity.skill.fishing.FishSpots; import core.game.node.entity.npc.AbstractNPC; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.plugin.Initializable; @@ -54,7 +54,7 @@ public final class FishingNPC extends AbstractNPC { if (spot == null) { return; } - if (switchDelay < GameWorld.getTicks()) { + if (switchDelay < World.getTicks()) { moveSpot(); } } @@ -75,7 +75,7 @@ public final class FishingNPC extends AbstractNPC { } else { setInvisible(true); } - switchDelay = GameWorld.getTicks() + RandomFunction.random(200, 390); + switchDelay = World.getTicks() + RandomFunction.random(200, 390); return; } if (spot == FishSpots.TUTORIAL_ISLAND) { @@ -85,7 +85,7 @@ public final class FishingNPC extends AbstractNPC { if (RegionManager.getLocalNpcs(rand, 0).size() == 0) { getProperties().setTeleportLocation(rand); } - switchDelay = GameWorld.getTicks() + getRandomDelay(); + switchDelay = World.getTicks() + getRandomDelay(); } /** diff --git a/Server/src/main/java/core/game/node/entity/npc/other/GraveStoneNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/GraveStoneNPC.java index 774ac2807..ccf38df8f 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/GraveStoneNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/GraveStoneNPC.java @@ -15,7 +15,7 @@ import core.game.node.entity.player.link.HintIconManager; import core.game.node.entity.player.link.grave.GraveManager; import core.game.node.entity.player.link.grave.GraveType; import core.game.node.item.GroundItem; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import rs09.game.world.repository.Repository; import core.game.world.update.flag.context.Animation; @@ -95,7 +95,7 @@ public class GraveStoneNPC extends AbstractNPC { if (life == -1) { return; } - if (life < GameWorld.getTicks()) { + if (life < World.getTicks()) { clear(); message("Your gravestone has collapsed."); return; @@ -218,7 +218,7 @@ public class GraveStoneNPC extends AbstractNPC { int ticks = (1000 * seconds) / 600; reTransform(); updateItems(ticks); - setLife(GameWorld.getTicks() + ticks); + setLife(World.getTicks() + ticks); } /** @@ -248,7 +248,7 @@ public class GraveStoneNPC extends AbstractNPC { updateItems(6100); player.animate(Animation.create(645)); graphics(Graphics.create(1274)); - setLife(GameWorld.getTicks() + 6000); + setLife(World.getTicks() + 6000); message(player.getUsername() + " has blessed your grave, it will remain for another 60 minutes."); } @@ -298,7 +298,7 @@ public class GraveStoneNPC extends AbstractNPC { * @return the minutes. */ public int getMinutes() { - return (life - GameWorld.getTicks()) / 100; + return (life - World.getTicks()) / 100; } /** @@ -306,7 +306,7 @@ public class GraveStoneNPC extends AbstractNPC { * @return the seconds. */ public int getSeconds() { - return (life - GameWorld.getTicks()) * 600 / 1000; + return (life - World.getTicks()) * 600 / 1000; } /** diff --git a/Server/src/main/java/core/game/node/entity/npc/other/LumberKittenNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/LumberKittenNPC.java index 5d8d9d99e..7848b7856 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/LumberKittenNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/LumberKittenNPC.java @@ -3,7 +3,7 @@ package core.game.node.entity.npc.other; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.plugin.Initializable; import core.tools.RandomFunction; @@ -60,17 +60,17 @@ public final class LumberKittenNPC extends AbstractNPC { @Override public void tick() { - if (nextSpeak < GameWorld.getTicks()) { + if (nextSpeak < World.getTicks()) { hidden = false; - nextSpeak = GameWorld.getTicks() + RandomFunction.random(10, 40); - hideDelay = GameWorld.getTicks() + 4; + nextSpeak = World.getTicks() + RandomFunction.random(10, 40); + hideDelay = World.getTicks() + 4; sendChat("Mew!"); } - if (hideDelay < GameWorld.getTicks()) { + if (hideDelay < World.getTicks()) { hidden = true; int rand = RandomFunction.random(20, 40); - hideDelay = GameWorld.getTicks() + rand; - nextSpeak = GameWorld.getTicks() + rand; + hideDelay = World.getTicks() + rand; + nextSpeak = World.getTicks() + rand; } super.tick(); } diff --git a/Server/src/main/java/core/game/node/entity/npc/other/SorceressElementalNPC.java b/Server/src/main/java/core/game/node/entity/npc/other/SorceressElementalNPC.java index fb52bdb5f..08f3b3a16 100644 --- a/Server/src/main/java/core/game/node/entity/npc/other/SorceressElementalNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/other/SorceressElementalNPC.java @@ -9,7 +9,7 @@ import core.game.node.entity.combat.DeathTask; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -226,7 +226,7 @@ public final class SorceressElementalNPC extends AbstractNPC { */ public void sendTeleport(final Player player) { player.lock(); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int delay = 0; @Override diff --git a/Server/src/main/java/core/game/node/entity/npc/quest/pirates_treasure/GardenerNPC.java b/Server/src/main/java/core/game/node/entity/npc/quest/pirates_treasure/GardenerNPC.java index bca136edc..19646d755 100644 --- a/Server/src/main/java/core/game/node/entity/npc/quest/pirates_treasure/GardenerNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/quest/pirates_treasure/GardenerNPC.java @@ -5,7 +5,7 @@ import core.game.node.entity.combat.CombatStyle; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; import core.game.world.map.Location; @@ -52,7 +52,7 @@ public final class GardenerNPC extends AbstractNPC { getProperties().getCombatPulse().attack(target); } if (!target.isActive() || target.getLocation().getDistance(getLocation()) > 16) { - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { clear(); diff --git a/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantCombatHandler.java b/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantCombatHandler.java index e71a4883c..1f23b83e0 100644 --- a/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantCombatHandler.java +++ b/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantCombatHandler.java @@ -12,7 +12,7 @@ import core.game.world.map.zone.impl.WildernessZone; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import rs09.game.node.entity.combat.handlers.MultiSwingHandler; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the multi swing combat handler for revenants. @@ -55,7 +55,7 @@ public class RevenantCombatHandler extends MultiSwingHandler { if (victim instanceof Player) { SwitchAttack attack = getCurrent(); if (attack != null) { - if (attack.getStyle() == CombatStyle.RANGE && victim.getAttribute("freeze_immunity", -1) < GameWorld.getTicks()) { + if (attack.getStyle() == CombatStyle.RANGE && victim.getAttribute("freeze_immunity", -1) < World.getTicks()) { victim.getStateManager().set(EntityState.FROZEN, 16, "The icy darts freeze your muscles!"); victim.asPlayer().getAudioManager().send(4059, true); } else if (attack.getStyle() == CombatStyle.MAGIC) { diff --git a/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantNPC.java b/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantNPC.java index 2f03bcff0..72ae88134 100644 --- a/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantNPC.java +++ b/Server/src/main/java/core/game/node/entity/npc/revenant/RevenantNPC.java @@ -18,7 +18,7 @@ import core.game.world.update.flag.context.Animation; import core.tools.RandomFunction; import rs09.game.node.entity.combat.CombatSwingHandler; import rs09.game.system.config.NPCConfigParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles a revenant NPC. @@ -112,17 +112,17 @@ public class RevenantNPC extends AbstractNPC { @Override public void handleTickActions() { - if (!DeathTask.isDead(this) && getSkills().getLifepoints() <= (getSkills().getStaticLevel(Skills.HITPOINTS) / 2) && getAttribute("eat-delay", 0) < GameWorld.getTicks()) { + if (!DeathTask.isDead(this) && getSkills().getLifepoints() <= (getSkills().getStaticLevel(Skills.HITPOINTS) / 2) && getAttribute("eat-delay", 0) < World.getTicks()) { lock(3); getProperties().getCombatPulse().delayNextAttack(3); getSkills().heal(10); for (Player p : RegionManager.getLocalPlayers(this)) { p.getAudioManager().send(2393); } - setAttribute("eat-delay", GameWorld.getTicks() + 6); + setAttribute("eat-delay", World.getTicks() + 6); } if (!getLocks().isMovementLocked()) { - if (!getPulseManager().hasPulseRunning() && !getProperties().getCombatPulse().isAttacking() && !getProperties().getCombatPulse().isInCombat() && nextWalk < GameWorld.getTicks()) { + if (!getPulseManager().hasPulseRunning() && !getProperties().getCombatPulse().isAttacking() && !getProperties().getCombatPulse().isInCombat() && nextWalk < World.getTicks()) { setNextWalk(); Location l = getMovementDestination(); if (canMove(l)) { @@ -154,7 +154,7 @@ public class RevenantNPC extends AbstractNPC { @Override public void setNextWalk() { - nextWalk = GameWorld.getTicks() + RandomFunction.random(7, 15); + nextWalk = World.getTicks() + RandomFunction.random(7, 15); } @Override diff --git a/Server/src/main/java/core/game/node/entity/player/Player.java b/Server/src/main/java/core/game/node/entity/player/Player.java index 1f7ed0a44..78fc93e46 100644 --- a/Server/src/main/java/core/game/node/entity/player/Player.java +++ b/Server/src/main/java/core/game/node/entity/player/Player.java @@ -84,8 +84,7 @@ import rs09.game.node.entity.player.info.login.PlayerSaver; import rs09.game.node.entity.skill.runecrafting.PouchManager; import rs09.game.node.entity.state.newsys.State; import rs09.game.node.entity.state.newsys.StateRepository; -import rs09.game.world.GameWorld; -import rs09.game.world.repository.DisconnectionQueue; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import rs09.game.world.update.MapChunkRenderer; import rs09.game.world.update.NPCRenderer; @@ -462,7 +461,7 @@ public class Player extends Entity { } if(intoWardrobe){ packetDispatch.sendInterfaceConfig(548,69,true); - GameWorld.getPulser().submit(new wardrobePulse(this)); + World.getPulser().submit(new wardrobePulse(this)); inWardrobe = true; } else { inWardrobe = false; @@ -476,7 +475,7 @@ public class Player extends Entity { hunterManager.pulse(); musicPlayer.tick(); if(getAttribute("fire:immune",0) > 0){ - int time = getAttribute("fire:immune",0) - GameWorld.getTicks(); + int time = getAttribute("fire:immune",0) - World.getTicks(); if(time == TickUtilsKt.secondsToTicks(30)){ sendMessage(colorize("%RYou have 30 seconds remaining on your antifire potion.")); getAudioManager().send(3120); @@ -488,7 +487,7 @@ public class Player extends Entity { } } if(getAttribute("poison:immunity",0) > 0){ - int time = getAttribute("poison:immunity",0) - GameWorld.getTicks(); + int time = getAttribute("poison:immunity",0) - World.getTicks(); debug(time + ""); if(time == TickUtilsKt.secondsToTicks(30)){ sendMessage(colorize("%RYou have 30 seconds remaining on your antipoison potion.")); @@ -675,10 +674,10 @@ public class Player extends Entity { getPrayer().reset(); super.finalizeDeath(killer); appearance.sync(); - if (killer instanceof Player && !GameWorld.isEconomyWorld() && getSkullManager().isWilderness() && killer.asPlayer().getSkullManager().isWilderness()) { + if (killer instanceof Player && !World.isEconomyWorld() && getSkullManager().isWilderness() && killer.asPlayer().getSkullManager().isWilderness()) { killer.asPlayer().getSavedData().getSpawnData().onDeath(killer.asPlayer(), this); } - if (GameWorld.isEconomyWorld() && !getSavedData().getGlobalData().isDeathScreenDisabled()) { + if (World.isEconomyWorld() && !getSavedData().getGlobalData().isDeathScreenDisabled()) { getInterfaceManager().open(new Component(153)); } if (!getSavedData().getGlobalData().isDeathScreenDisabled()) { @@ -737,7 +736,7 @@ public class Player extends Entity { @Override public boolean isPoisonImmune() { - return getAttribute("poison:immunity", -1) > GameWorld.getTicks(); + return getAttribute("poison:immunity", -1) > World.getTicks(); } @Override diff --git a/Server/src/main/java/core/game/node/entity/player/info/login/LoginConfiguration.java b/Server/src/main/java/core/game/node/entity/player/info/login/LoginConfiguration.java index ee0dfa9e2..2304932d2 100644 --- a/Server/src/main/java/core/game/node/entity/player/info/login/LoginConfiguration.java +++ b/Server/src/main/java/core/game/node/entity/player/info/login/LoginConfiguration.java @@ -7,13 +7,12 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.emote.Emotes; import core.game.world.map.RegionManager; import core.game.world.update.flag.player.AppearanceFlag; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import core.net.ms.MSPacketRepository; import core.net.packet.PacketRepository; import core.net.packet.context.InterfaceContext; import core.net.packet.out.Interface; import core.plugin.Plugin; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import rs09.game.world.update.UpdateSequence; @@ -97,7 +96,7 @@ public final class LoginConfiguration { } Repository.getLobbyPlayers().add(player); player.getPacketDispatch().sendString(getLastLogin(player), 378, 116); - player.getPacketDispatch().sendString("Welcome to " + GameWorld.getSettings().getName(), 378, 115); + player.getPacketDispatch().sendString("Welcome to " + World.getSettings().getName(), 378, 115); player.getPacketDispatch().sendString(" ", 378, 37); player.getPacketDispatch().sendString("Want to stay up to date with the latest news and updates? Join our
discord by using the link below!", 378, 38); player.getPacketDispatch().sendString(" ", 378, 39); @@ -109,7 +108,7 @@ public final class LoginConfiguration { player.getPacketDispatch().sendString("Want to contribute to 2009scape?
Visit the github using the link below!", 378, 230); player.getPacketDispatch().sendString(" ", 378, 231); player.getPacketDispatch().sendString("Github", 378, 240); - player.getPacketDispatch().sendString(GameWorld.getSettings().getMessage_string(), messModel, getMessageChild(messModel)); + player.getPacketDispatch().sendString(World.getSettings().getMessage_string(), messModel, getMessageChild(messModel)); player.getPacketDispatch().sendString("You can gain more credits by voting, reporting bugs and various other methods of contribution.", 378, 93); player.getInterfaceManager().openWindowsPane(LOBBY_PANE); player.getInterfaceManager().setOpened(LOBBY_INTERFACE); @@ -168,9 +167,7 @@ public final class LoginConfiguration { } } player.getCommunication().sync(player); - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendInfoUpdate(player); - } + MSPacketRepository.sendInfoUpdate(player); } /** @@ -179,14 +176,14 @@ public final class LoginConfiguration { * @param player the player. Fullscreen mode Object id: */ public static final void welcome(final Player player) { - if (GameWorld.getSettings().isPvp()) { + if (World.getSettings().isPvp()) { player.getPacketDispatch().sendString("", 226, 0); } if (player.isArtificial()) { return; } - player.getPacketDispatch().sendMessage("Welcome to " + GameWorld.getSettings().getName() + "."); + player.getPacketDispatch().sendMessage("Welcome to " + World.getSettings().getName() + "."); //player.getPacketDispatch().sendMessage("You are currently playing in beta version 1.2"); if (player.getDetails().isMuted()) { player.getPacketDispatch().sendMessage("You are muted."); @@ -212,7 +209,7 @@ public final class LoginConfiguration { player.getFamiliarManager().login(); player.getInterfaceManager().openDefaultTabs(); player.getPlayerGrandExchange().init(); - player.getPacketDispatch().sendString("Friends List - World " + GameWorld.getSettings().getWorldId(), 550, 3); + player.getPacketDispatch().sendString("Friends List - World " + World.getSettings().getWorldId(), 550, 3); player.getConfigManager().init(); player.getAntiMacroHandler().init(); player.getQuestRepository().syncronizeTab(player); @@ -251,8 +248,8 @@ public final class LoginConfiguration { * Sets a random interface id for the "message of the week" models */ private final static int autoSelect() { - boolean contains = IntStream.of(MESSAGE_MODEL).anyMatch(x -> x == GameWorld.getSettings().getMessage_model()); - return contains ? GameWorld.getSettings().getMessage_model():MESSAGE_MODEL[new Random().nextInt(MESSAGE_MODEL.length)]; + boolean contains = IntStream.of(MESSAGE_MODEL).anyMatch(x -> x == World.getSettings().getMessage_model()); + return contains ? World.getSettings().getMessage_model():MESSAGE_MODEL[new Random().nextInt(MESSAGE_MODEL.length)]; } /** diff --git a/Server/src/main/java/core/game/node/entity/player/info/portal/PlayerSQLManager.java b/Server/src/main/java/core/game/node/entity/player/info/portal/PlayerSQLManager.java index 6e7256331..fa2205b7e 100644 --- a/Server/src/main/java/core/game/node/entity/player/info/portal/PlayerSQLManager.java +++ b/Server/src/main/java/core/game/node/entity/player/info/portal/PlayerSQLManager.java @@ -10,7 +10,6 @@ import core.game.system.mysql.SQLEntryHandler; import core.game.system.mysql.SQLManager; import core.game.system.mysql.SQLTable; import core.game.system.mysql.impl.PlayerSQLHandler; -import core.net.amsc.WorldCommunicator; import java.math.BigInteger; import java.sql.Connection; @@ -102,9 +101,6 @@ public final class PlayerSQLManager { * @param player The player instance. */ public void update(Player player) { - if (!WorldCommunicator.isEnabled()) { - details.getCommunication().save(table); - } table.getColumn("credits").updateValue(player.getDetails().credits); table.getColumn("bank").updateValue(player.getBank().format()); table.getColumn("lastLogin").updateValue(player.getDetails().getLastLogin()); diff --git a/Server/src/main/java/core/game/node/entity/player/link/BankPinManager.java b/Server/src/main/java/core/game/node/entity/player/link/BankPinManager.java index 8457e8f5f..f69f2f0ee 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/BankPinManager.java +++ b/Server/src/main/java/core/game/node/entity/player/link/BankPinManager.java @@ -1,11 +1,10 @@ package core.game.node.entity.player.link; -import core.cache.misc.buffer.ByteBufferUtils; import core.game.component.CloseEvent; import core.game.component.Component; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.PacketRepository; import core.net.packet.context.ChildPositionContext; import core.net.packet.context.StringContext; @@ -14,7 +13,6 @@ import core.net.packet.out.StringPacket; import core.tools.RandomFunction; import org.json.simple.JSONObject; -import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -309,7 +307,7 @@ public class BankPinManager { return; } tempPin = ""; - player.getPacketDispatch().sendString("Bank of " + GameWorld.getSettings().getName(), 13, 31); + player.getPacketDispatch().sendString("Bank of " + World.getSettings().getName(), 13, 31); if (!hasPin()) { player.getPacketDispatch().sendInterfaceConfig(13, 29, true); player.getPacketDispatch().sendString("Please choose a new FOUR DIGIT PIN using the buttons below.", 13, 28); @@ -452,7 +450,7 @@ public class BankPinManager { */ private void setPin() { status = PinStatus.PENDING; - pendingDelay = System.currentTimeMillis() + (GameWorld.getSettings().isDevMode() ? TimeUnit.SECONDS.toMillis(30) : TimeUnit.DAYS.toMillis(this.getRecoveryDelay())); + pendingDelay = System.currentTimeMillis() + (World.getSettings().isDevMode() ? TimeUnit.SECONDS.toMillis(30) : TimeUnit.DAYS.toMillis(this.getRecoveryDelay())); pin = new String(Arrays.copyOf(tempPin.toCharArray(), 4)); } @@ -524,7 +522,7 @@ public class BankPinManager { if (pendingDelay < System.currentTimeMillis()) { return 0; } - return (int) (pendingDelay - System.currentTimeMillis()) / (GameWorld.getSettings().isDevMode() ? 1000 : 86400000); + return (int) (pendingDelay - System.currentTimeMillis()) / (World.getSettings().isDevMode() ? 1000 : 86400000); } /** diff --git a/Server/src/main/java/core/game/node/entity/player/link/ConfigurationManager.java b/Server/src/main/java/core/game/node/entity/player/link/ConfigurationManager.java index 2f75f4f4d..2806bef19 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/ConfigurationManager.java +++ b/Server/src/main/java/core/game/node/entity/player/link/ConfigurationManager.java @@ -3,13 +3,11 @@ package core.game.node.entity.player.link; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.PacketRepository; import core.net.packet.context.ConfigContext; import core.net.packet.out.Config; -import java.nio.ByteBuffer; - /** * Manages a player's configurations. * @author Emperor @@ -125,7 +123,7 @@ public final class ConfigurationManager { public void set(final int id, final int value, int delay) { set(id, value); player.varpManager.get(id).setVarbit(0,value).send(player); - GameWorld.getPulser().submit(new Pulse(delay, player) { + World.getPulser().submit(new Pulse(delay, player) { @Override public boolean pulse() { player.varpManager.get(id).setVarbit(0,0).send(player); diff --git a/Server/src/main/java/core/game/node/entity/player/link/PacketDispatch.java b/Server/src/main/java/core/game/node/entity/player/link/PacketDispatch.java index 0f48882e5..d03d74795 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/PacketDispatch.java +++ b/Server/src/main/java/core/game/node/entity/player/link/PacketDispatch.java @@ -6,7 +6,7 @@ import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import rs09.game.system.SystemLogger; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.chunk.AnimateObjectUpdateFlag; @@ -87,7 +87,7 @@ public final class PacketDispatch { * @param ticks the ticks. */ public void sendMessage(final String message, int ticks) { - GameWorld.getPulser().submit(new Pulse(ticks, player) { + World.getPulser().submit(new Pulse(ticks, player) { @Override public boolean pulse() { sendMessage(message); diff --git a/Server/src/main/java/core/game/node/entity/player/link/Settings.java b/Server/src/main/java/core/game/node/entity/player/link/Settings.java index 6eeb661d6..1eec88088 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/Settings.java +++ b/Server/src/main/java/core/game/node/entity/player/link/Settings.java @@ -6,7 +6,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.communication.CommunicationInfo; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.IoBuffer; import java.nio.ByteBuffer; @@ -158,7 +158,7 @@ public final class Settings { } }; pulse.setTicksPassed(1); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); player.setAttribute("energy-restore", pulse); } } diff --git a/Server/src/main/java/core/game/node/entity/player/link/TeleportManager.java b/Server/src/main/java/core/game/node/entity/player/link/TeleportManager.java index 4e7b5750a..c2fcfbc3f 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/TeleportManager.java +++ b/Server/src/main/java/core/game/node/entity/player/link/TeleportManager.java @@ -7,7 +7,7 @@ import core.game.node.entity.impl.Animator.Priority; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.quest.Quest; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -119,7 +119,7 @@ public class TeleportManager { } else { entity.lock(12); entity.getImpactHandler().setDisabledTicks(teleportType == -1 ? 5 : 12); - GameWorld.getPulser().submit(currentTeleport); + World.getPulser().submit(currentTeleport); } if (entity instanceof Player) { ((Player) entity).getInterfaceManager().close(); diff --git a/Server/src/main/java/core/game/node/entity/player/link/emote/Emotes.java b/Server/src/main/java/core/game/node/entity/player/link/emote/Emotes.java index 2406f1925..16dfe8026 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/emote/Emotes.java +++ b/Server/src/main/java/core/game/node/entity/player/link/emote/Emotes.java @@ -12,7 +12,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -176,7 +176,7 @@ public enum Emotes { GIVE_THANKS(46, "This emote can be unlocked by playing a Thanksgiving holiday event.") { @Override public void play(final Player player) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override diff --git a/Server/src/main/java/core/game/node/entity/player/link/grave/GraveManager.java b/Server/src/main/java/core/game/node/entity/player/link/grave/GraveManager.java index 88720461d..74c724024 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/grave/GraveManager.java +++ b/Server/src/main/java/core/game/node/entity/player/link/grave/GraveManager.java @@ -8,9 +8,8 @@ import core.game.node.entity.player.info.Rights; import core.game.node.entity.player.link.HintIconManager; import core.game.node.entity.player.link.prayer.PrayerType; import core.game.node.item.GroundItem; -import rs09.game.world.GameWorld; +import rs09.game.world.World; -import java.nio.ByteBuffer; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -59,7 +58,7 @@ public class GraveManager { grave.clear(); player.sendMessage("Your previous gravestone has collapsed."); } - NPC npc = NPC.create(type.getNpcId(), player.getLocation(), player.getName(), GameWorld.getTicks() + ticks, items, type, player.getUsername()); + NPC npc = NPC.create(type.getNpcId(), player.getLocation(), player.getName(), World.getTicks() + ticks, items, type, player.getUsername()); npc.init(); setGrave(npc); } @@ -81,7 +80,7 @@ public class GraveManager { * @return {@code True} if so. */ public boolean generateable() { - if (player.getDetails().getRights() == Rights.ADMINISTRATOR && GameWorld.getSettings().isHosted()) { + if (player.getDetails().getRights() == Rights.ADMINISTRATOR && World.getSettings().isHosted()) { return false; } if (player.getSkullManager().isWilderness()) { diff --git a/Server/src/main/java/core/game/node/entity/player/link/music/MusicPlayer.java b/Server/src/main/java/core/game/node/entity/player/link/music/MusicPlayer.java index 54a3cdae8..5a90fce89 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/music/MusicPlayer.java +++ b/Server/src/main/java/core/game/node/entity/player/link/music/MusicPlayer.java @@ -3,14 +3,13 @@ package core.game.node.entity.player.link.music; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.emote.Emotes; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.PacketRepository; import core.net.packet.context.MusicContext; import core.net.packet.context.StringContext; import core.net.packet.out.MusicPacket; import core.net.packet.out.StringPacket; -import java.nio.ByteBuffer; import java.util.HashMap; import java.util.Map; import java.util.Random; @@ -211,7 +210,7 @@ public final class MusicPlayer { } public void tick(){ - if(GameWorld.getTicks() % 20 == 0){ + if(World.getTicks() % 20 == 0){ if(!isPlaying()){ try { play((MusicEntry) unlocked.values().toArray()[new Random().nextInt(unlocked.values().size())]); diff --git a/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java b/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java index b2718b75d..e90b707d7 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java +++ b/Server/src/main/java/core/game/node/entity/player/link/prayer/Prayer.java @@ -14,7 +14,7 @@ import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -69,7 +69,7 @@ public final class Prayer { } getActive().clear(); // Clear the overhead prayer icon a tick later - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { player.getAppearance().setHeadIcon(-1); diff --git a/Server/src/main/java/core/game/node/entity/player/link/request/RequestManager.java b/Server/src/main/java/core/game/node/entity/player/link/request/RequestManager.java index d6a6de116..88c3bda62 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/request/RequestManager.java +++ b/Server/src/main/java/core/game/node/entity/player/link/request/RequestManager.java @@ -2,7 +2,7 @@ package core.game.node.entity.player.link.request; import core.game.content.quest.tutorials.tutorialisland.TutorialSession; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents a managing class for requests of a player. @@ -69,7 +69,7 @@ public final class RequestManager { player.getPacketDispatch().sendMessage("Other player is busy at the moment."); return false; } - if (target.getAttribute("busy", 0) > GameWorld.getTicks() || player.getAttribute("busy", 0) > GameWorld.getTicks()) { + if (target.getAttribute("busy", 0) > World.getTicks() || player.getAttribute("busy", 0) > World.getTicks()) { player.getPacketDispatch().sendMessage("Other player is busy at the moment."); return false; } @@ -91,8 +91,8 @@ public final class RequestManager { close(player); clear(); target.getRequestManager().clear(); - player.setAttribute("busy", GameWorld.getTicks() + 2); - target.setAttribute("busy", GameWorld.getTicks() + 2); + player.setAttribute("busy", World.getTicks() + 2); + target.setAttribute("busy", World.getTicks() + 2); type.getModule().open(player, target); return true; } diff --git a/Server/src/main/java/core/game/node/entity/player/link/request/assist/AssistSession.java b/Server/src/main/java/core/game/node/entity/player/link/request/assist/AssistSession.java index e596895ad..d4bfc72e9 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/request/assist/AssistSession.java +++ b/Server/src/main/java/core/game/node/entity/player/link/request/assist/AssistSession.java @@ -6,7 +6,7 @@ import core.game.node.entity.skill.Skills; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.request.RequestModule; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -155,7 +155,7 @@ public final class AssistSession extends Pulse implements RequestModule { player.getAudioManager().send(4010); toggleIcon(player, false); toggleIcon(partener, false); - GameWorld.getPulser().submit(this); + World.getPulser().submit(this); refresh(); } diff --git a/Server/src/main/java/core/game/node/entity/player/link/request/trade/TradeContainer.java b/Server/src/main/java/core/game/node/entity/player/link/request/trade/TradeContainer.java index 0a62d001b..c9fa341e1 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/request/trade/TradeContainer.java +++ b/Server/src/main/java/core/game/node/entity/player/link/request/trade/TradeContainer.java @@ -6,7 +6,7 @@ import core.game.container.*; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.PacketRepository; import core.net.packet.context.ContainerContext; import core.net.packet.out.ContainerPacket; @@ -47,7 +47,7 @@ public final class TradeContainer extends Container { if (!validatedItem(item, slot, amount, player.getInventory())) { return; } - if (!tradeable(item) && !GameWorld.getSettings().isDevMode()) { + if (!tradeable(item) && !World.getSettings().isDevMode()) { player.getPacketDispatch().sendMessage("You can't trade this item."); return; } @@ -209,7 +209,7 @@ public final class TradeContainer extends Container { * @param save if we should cache the icon. */ private void alert(final int slot, final boolean save) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { if (TradeModule.getExtension(player) != null) { @@ -219,7 +219,7 @@ public final class TradeContainer extends Container { } }); if (save) { - player.setAttribute("alert", GameWorld.getTicks() + 8); + player.setAttribute("alert", World.getTicks() + 8); player.setAttribute("alertSlot", slot); } } @@ -228,7 +228,7 @@ public final class TradeContainer extends Container { * Method used to check the alert. */ private void checkAlert() { - if (player.getAttribute("alert", 0) > GameWorld.getTicks()) { + if (player.getAttribute("alert", 0) > World.getTicks()) { alert(player.getAttribute("alertSlot", 0), false); } } diff --git a/Server/src/main/java/core/game/node/entity/player/link/spawn/SpawnData.java b/Server/src/main/java/core/game/node/entity/player/link/spawn/SpawnData.java index e15ee014e..c07075c09 100644 --- a/Server/src/main/java/core/game/node/entity/player/link/spawn/SpawnData.java +++ b/Server/src/main/java/core/game/node/entity/player/link/spawn/SpawnData.java @@ -4,15 +4,13 @@ import core.game.component.Component; import core.game.node.entity.skill.Skills; import core.game.node.entity.player.Player; -import core.game.node.entity.player.link.SavedData; import core.game.node.entity.player.link.SpellBookManager; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import core.net.packet.PacketRepository; import core.net.packet.context.ChildPositionContext; import core.net.packet.out.RepositionChild; -import java.nio.ByteBuffer; import java.text.DecimalFormat; /** @@ -73,7 +71,7 @@ public class SpawnData { * @param player the player. */ public void drawStatsTab(Player player) { - if (GameWorld.isEconomyWorld()) { + if (World.isEconomyWorld()) { return; } player.getPacketDispatch().sendInterfaceConfig(274, 3, true); @@ -147,7 +145,7 @@ public class SpawnData { * @param button the button. */ public void handleButton(Player p, int button) { - if (GameWorld.isEconomyWorld()) { + if (World.isEconomyWorld()) { return; } drawStatsTab(p); @@ -416,7 +414,7 @@ public class SpawnData { * @param killed */ public void onDeath(Player killer, Player killed) { - if (GameWorld.isEconomyWorld()) { + if (World.isEconomyWorld()) { return; } if (killer.isArtificial() || killed.isArtificial() || killer.getDetails().getInfo().getIp().equals(killed.getDetails().getInfo().getIp()) || killed.getDetails().getInfo().getMac().equals(killer.getDetails().getInfo().getMac())) { diff --git a/Server/src/main/java/core/game/node/entity/skill/SkillRestoration.java b/Server/src/main/java/core/game/node/entity/skill/SkillRestoration.java index 460f10b5e..386a785af 100644 --- a/Server/src/main/java/core/game/node/entity/skill/SkillRestoration.java +++ b/Server/src/main/java/core/game/node/entity/skill/SkillRestoration.java @@ -4,7 +4,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.prayer.PrayerType; import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles the skill restoration data. @@ -44,7 +44,7 @@ public final class SkillRestoration { if(skillId == Skills.HITPOINTS && entity instanceof Player && SkillcapePerks.isActive(SkillcapePerks.DAMAGE_SPONG,entity.asPlayer())){ max = 110; } - if(hpSummPrayTick < GameWorld.getTicks()){ + if(hpSummPrayTick < World.getTicks()){ if(skillId == Skills.HITPOINTS || skillId == Skills.SUMMONING || skillId == Skills.PRAYER){ if(skillId == Skills.HITPOINTS){ if(skills.getLifepoints() >= max){ @@ -58,7 +58,7 @@ public final class SkillRestoration { restartHpSummPray(entity.asPlayer().getPrayer().getActive().contains(PrayerType.RAPID_HEAL)); } } - if(statTick < GameWorld.getTicks()) { + if(statTick < World.getTicks()) { if (skillId != Skills.HITPOINTS && skillId != Skills.SUMMONING && skillId != Skills.PRAYER) { int current = skills.getLevel(skillId); skills.updateLevel(skillId,current < max ? 1 : -1,max); @@ -100,7 +100,7 @@ public final class SkillRestoration { if(half){ ticks /= 2; } - this.hpSummPrayTick = GameWorld.getTicks() + ticks; + this.hpSummPrayTick = World.getTicks() + ticks; } public void restartStat(boolean half) { @@ -108,6 +108,6 @@ public final class SkillRestoration { if(half){ ticks /= 2; } - this.statTick = GameWorld.getTicks() + ticks; + this.statTick = World.getTicks() + ticks; } } \ No newline at end of file diff --git a/Server/src/main/java/core/game/node/entity/skill/Skills.java b/Server/src/main/java/core/game/node/entity/skill/Skills.java index 6835a1f11..9b82c7da8 100644 --- a/Server/src/main/java/core/game/node/entity/skill/Skills.java +++ b/Server/src/main/java/core/game/node/entity/skill/Skills.java @@ -15,7 +15,7 @@ import core.net.packet.out.SkillLevel; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import rs09.plugin.CorePluginTypes.XPGainPlugins; import org.rs09.consts.Items; @@ -419,8 +419,8 @@ public final class Skills { public void parseExpRate(ByteBuffer buffer) { experienceMutiplier = buffer.getDouble(); - if(GameWorld.getSettings().getDefault_xp_rate() != experienceMutiplier){ - experienceMutiplier = GameWorld.getSettings().getDefault_xp_rate(); + if(World.getSettings().getDefault_xp_rate() != experienceMutiplier){ + experienceMutiplier = World.getSettings().getDefault_xp_rate(); } } diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/AgilityHandler.java b/Server/src/main/java/core/game/node/entity/skill/agility/AgilityHandler.java index 4ccca3d9e..c8a8c0b90 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/AgilityHandler.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/AgilityHandler.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -70,7 +70,7 @@ public final class AgilityHandler { } movement.start(); movement.setDelay(delay); - GameWorld.getPulser().submit(movement); + World.getPulser().submit(movement); return movement; } @@ -152,7 +152,7 @@ public final class AgilityHandler { } }; movement.start(); - GameWorld.getPulser().submit(movement); + World.getPulser().submit(movement); return movement; } @@ -183,11 +183,11 @@ public final class AgilityHandler { setObstacleFlag(player, courseIndex); } }; - GameWorld.getPulser().submit(new Pulse(delay, player) { + World.getPulser().submit(new Pulse(delay, player) { @Override public boolean pulse() { movement.start(); - GameWorld.getPulser().submit(movement); + World.getPulser().submit(movement); return true; } }); @@ -217,7 +217,7 @@ public final class AgilityHandler { public static void climb(final Player player, final int courseIndex, Animation animation, final Location destination, final double experience, final String message, int delay) { player.lock(delay + 1); player.animate(animation); - GameWorld.getPulser().submit(new Pulse(delay) { + World.getPulser().submit(new Pulse(delay) { @Override public boolean pulse() { if (message != null) { @@ -272,7 +272,7 @@ public final class AgilityHandler { player.getAppearance().setAnimations(animation); } player.getSettings().setRunEnergy(100.0); - GameWorld.getPulser().submit(new Pulse(ticks, player) { + World.getPulser().submit(new Pulse(ticks, player) { @Override public boolean pulse() { if (animation != null) { diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BladeTrap.java b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BladeTrap.java index 02d6e6ca8..3ab68c003 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BladeTrap.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BladeTrap.java @@ -7,7 +7,7 @@ import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -27,7 +27,7 @@ public final class BladeTrap implements MovementHook { final Location start = l.transform(-dir.getStepX(), -dir.getStepY(), 0); e.lock(5); e.addExtension(LogoutTask.class, new LocationLogoutTask(5, start)); - GameWorld.getPulser().submit(new Pulse(2, e) { + World.getPulser().submit(new Pulse(2, e) { @Override public boolean pulse() { Direction direction = dir; diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenArena.java b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenArena.java index e11430740..c4053d811 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenArena.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenArena.java @@ -15,7 +15,7 @@ import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.*; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBuilder; @@ -227,14 +227,14 @@ public final class BrimhavenArena extends MapZone implements Plugin { DISPENSERS[index++] = Location.create(x, y, 3); } } - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { Region r = RegionManager.forId(11157); if (!r.isActive()) { return false; } - if (GameWorld.getTicks() % 100 == 0) { + if (World.getTicks() % 100 == 0) { for (RegionPlane plane : r.getPlanes()) { for (Player player : plane.getPlayers()) { setDispenser(player); @@ -243,7 +243,7 @@ public final class BrimhavenArena extends MapZone implements Plugin { handlePlankSwitching(); } int ticks = 3; - if (GameWorld.getTicks() % ticks == 0) { + if (World.getTicks() % ticks == 0) { sawBladeActive = !sawBladeActive; if (sawBladeActive) { Scenery object = RegionManager.getObject(3, 2788, 9579); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenCourse.java b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenCourse.java index 138941e50..f2162762c 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenCourse.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/BrimhavenCourse.java @@ -12,7 +12,7 @@ import core.game.node.scenery.Scenery; import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -40,7 +40,7 @@ public final class BrimhavenCourse extends OptionHandler { return true; } AgilityHandler.forceWalk(player, -1, start, end, Animation.create(751), 25, getExp(player, 20.0), null); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { boolean finish; @Override @@ -124,7 +124,7 @@ public final class BrimhavenCourse extends OptionHandler { player.getAppearance().sync(); AgilityHandler.climb(player, -1, new Animation(1117 + m), start.transform(dir), 0.0, null); player.addExtension(LogoutTask.class, new LocationLogoutTask(22, start)); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { Location last = start.transform(dir); int count; @@ -162,7 +162,7 @@ public final class BrimhavenCourse extends OptionHandler { if (failed) { Location end = player.getLocation().transform(dir); AgilityHandler.forceWalk(player, -1, player.getLocation(), end, Animation.create(762), 10, 0.0, null); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { Direction d = Direction.get((dir.toInteger() + 3) % 4); @@ -187,7 +187,7 @@ public final class BrimhavenCourse extends OptionHandler { final Location start = player.getLocation(); ForceMovement.run(player, start.transform(dir), start.transform(dir.getStepX() << 1, dir.getStepY() << 1, 0), Animation.create(742), Animation.create(744)); player.addExtension(LogoutTask.class, new LocationLogoutTask(5, start)); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { boolean failed; int count; @@ -230,7 +230,7 @@ public final class BrimhavenCourse extends OptionHandler { double xp = 0.0; if (AgilityHandler.hasFailed(player, 1, 0.15)) { player.lock(3); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { Direction d = Direction.get((dir.toInteger() + 1) % 4); @@ -258,7 +258,7 @@ public final class BrimhavenCourse extends OptionHandler { if (object.getCharge() == 500) { // Plank is broken player.lock(7); AgilityHandler.walk(player, -1, start, start.transform(dir.getStepX() * 2, dir.getStepY() * 2, 0), new Animation(1426), 0.0, null); - GameWorld.getPulser().submit(new Pulse(3) { + World.getPulser().submit(new Pulse(3) { boolean finish; @Override @@ -290,7 +290,7 @@ public final class BrimhavenCourse extends OptionHandler { final Location start = player.getLocation(); player.addExtension(LogoutTask.class, new LocationLogoutTask(12, start)); player.lock(12); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { int count = 0; @Override @@ -319,7 +319,7 @@ public final class BrimhavenCourse extends OptionHandler { if (failed) { Location end = player.getLocation().transform(dir); AgilityHandler.forceWalk(player, -1, player.getLocation(), end, Animation.create(762), 10, 0.0, null); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { Direction d = Direction.get((dir.toInteger() + 3) % 4); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/DartTrap.java b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/DartTrap.java index 9c92be1b4..dd678dfc8 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/DartTrap.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/DartTrap.java @@ -9,7 +9,7 @@ import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -33,7 +33,7 @@ public final class DartTrap implements MovementHook { e.lock(6); e.addExtension(LogoutTask.class, new LocationLogoutTask(13, start)); final Location startProj = l.transform(dir.getStepX() * 5, dir.getStepY() * 5, 0); - GameWorld.getPulser().submit(new Pulse(2, e) { + World.getPulser().submit(new Pulse(2, e) { boolean failed; int count; diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/FloorSpikes.java b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/FloorSpikes.java index 3fa6da42b..f0e8a3048 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/FloorSpikes.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/FloorSpikes.java @@ -8,7 +8,7 @@ import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -27,7 +27,7 @@ public final class FloorSpikes implements MovementHook { final Location start = l.transform(-dir.getStepX(), -dir.getStepY(), 0); e.lock(5); e.addExtension(LogoutTask.class, new LocationLogoutTask(5, start)); - GameWorld.getPulser().submit(new Pulse(3, e) { + World.getPulser().submit(new Pulse(3, e) { @Override public boolean pulse() { player.getPacketDispatch().sendSceneryAnimation(RegionManager.getObject(l), Animation.create(1111)); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/PressurePad.java b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/PressurePad.java index 239878227..f55c934bc 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/PressurePad.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/PressurePad.java @@ -8,7 +8,7 @@ import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -27,7 +27,7 @@ public final class PressurePad implements MovementHook { final Location start = dest.transform(-dir.getStepX(), -dir.getStepY(), 0); e.lock(5); e.addExtension(LogoutTask.class, new LocationLogoutTask(5, start)); - GameWorld.getPulser().submit(new Pulse(3, e) { + World.getPulser().submit(new Pulse(3, e) { @Override public boolean pulse() { Graphics.send(Graphics.create(271), dest); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/SpinningBlades.java b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/SpinningBlades.java index 673a3dfd7..cfd3e2dff 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/SpinningBlades.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/brimhaven/SpinningBlades.java @@ -8,7 +8,7 @@ import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -27,7 +27,7 @@ public final class SpinningBlades implements MovementHook { final Location start = l.transform(-dir.getStepX(), -dir.getStepY(), 0); e.lock(5); e.addExtension(LogoutTask.class, new LocationLogoutTask(5, start)); - GameWorld.getPulser().submit(new Pulse(3, e) { + World.getPulser().submit(new Pulse(3, e) { @Override public boolean pulse() { sendObjectAnimation(player, l); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/AgilityPyramidCourse.java b/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/AgilityPyramidCourse.java index 9dbf026c7..3817645ac 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/AgilityPyramidCourse.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/AgilityPyramidCourse.java @@ -13,7 +13,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -245,7 +245,7 @@ public final class AgilityPyramidCourse extends AgilityCourse { if (fail) { player.lock(4); AgilityHandler.walk(player, -1, player.getLocation(), end, Animation.create(157 - diff), 0.0, "You slip and fall to the level below."); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { Location dest = end; @@ -291,7 +291,7 @@ public final class AgilityPyramidCourse extends AgilityCourse { final Location end = object.getLocation().transform(object.getId() != 10868 ? dir : dir.getOpposite(), fail ? 2 : 5); AgilityHandler.walk(player, fail ? -1 : 1, player.getLocation(), end, Animation.create(155), fail ? 0.0 : 56.4, fail ? null : "You walk carefully across the slippery plank..."); if (fail) { - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { final Location dest = transformLevel(end.transform(!custom ? 2 : 0, custom ? -2 : 0, 0)); @@ -348,7 +348,7 @@ public final class AgilityPyramidCourse extends AgilityCourse { AgilityHandler.walk(player, -1, player.getLocation(), end, animation, 10, null); AgilityHandler.fail(player, 3, transformLevel(dest), null, 8, null); // player.animate(Animation.create(3056 - mod), 2); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.getAppearance().setDefaultAnimations(); @@ -372,7 +372,7 @@ public final class AgilityPyramidCourse extends AgilityCourse { return; } else { player.animate(Animation.create(3063)); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.getSkills().addExperience(Skills.AGILITY, 1000); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/MovingBlockNPC.java b/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/MovingBlockNPC.java index 6c96397ef..9a81f3878 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/MovingBlockNPC.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/MovingBlockNPC.java @@ -6,7 +6,7 @@ import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -53,7 +53,7 @@ public final class MovingBlockNPC extends AbstractNPC { @Override public void tick() { super.tick(); - if (nextMove < GameWorld.getTicks() && nextMove != -1) { + if (nextMove < World.getTicks() && nextMove != -1) { Direction dir = getId() == 3124 ? Direction.EAST : Direction.NORTH; Location loc = getLocation().transform(dir, 2); getWalkingQueue().reset(); @@ -62,7 +62,7 @@ public final class MovingBlockNPC extends AbstractNPC { checkBlock(p); } moving = true; - GameWorld.getPulser().submit(new Pulse(1, this) { + World.getPulser().submit(new Pulse(1, this) { int counter; @Override @@ -76,7 +76,7 @@ public final class MovingBlockNPC extends AbstractNPC { case 3: getWalkingQueue().reset(); getWalkingQueue().addPath(getProperties().getSpawnLocation().getX(), getProperties().getSpawnLocation().getY()); - nextMove = GameWorld.getTicks() + 13; + nextMove = World.getTicks() + 13; break; case 5: moving = false; @@ -108,13 +108,13 @@ public final class MovingBlockNPC extends AbstractNPC { * @param player the player. */ public void checkBlock(final Player player) { - if (player.getAttribute("block-move", -1) > GameWorld.getTicks()) { + if (player.getAttribute("block-move", -1) > World.getTicks()) { return; } Location[] locs = getTileLocations(); for (int i = 0; i < 4; i++) { if (locs[i].equals(player.getLocation())) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { boolean close = getProperties().getSpawnLocation().getDistance(player.getLocation()) > (getId() == 3124 ? 2 : 2.3); @@ -133,7 +133,7 @@ public final class MovingBlockNPC extends AbstractNPC { } } player.lock(4); - player.setAttribute("block-move", GameWorld.getTicks() + 4); + player.setAttribute("block-move", World.getTicks() + 4); if(dest != null) { AgilityHandler.failWalk(player, close ? 1 : 3, player.getLocation(), dest, AgilityPyramidCourse.transformLevel(dest), Animation.create(3066), 10, 8, null, getId() == 3124 ? Direction.WEST : Direction.SOUTH); } diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/RollingBlock.java b/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/RollingBlock.java index 82960b3da..47f78aa84 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/RollingBlock.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/pyramid/RollingBlock.java @@ -8,7 +8,7 @@ import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.MovementHook; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -32,7 +32,7 @@ public final class RollingBlock implements MovementHook { AgilityPyramidCourse.addConfig(player, stone, 1, false); e.addExtension(LogoutTask.class, new LocationLogoutTask(5, player.getLocation())); if (fail) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -57,7 +57,7 @@ public final class RollingBlock implements MovementHook { return false; } AgilityHandler.forceWalk(player, -1, dest, dest.transform(player.getDirection(), 2), Animation.create(1115), 20, 12, null); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { AgilityPyramidCourse.addConfig(player, stone, 0, true); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FaladorGrapplePlugin.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FaladorGrapplePlugin.java index a12ded1d0..3bd384571 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FaladorGrapplePlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FaladorGrapplePlugin.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -97,7 +97,7 @@ public final class FaladorGrapplePlugin extends OptionHandler { } player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 1; Component tab; diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FenceJumpShortcut.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FenceJumpShortcut.java index 072d3f0e6..b50bd1a2d 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FenceJumpShortcut.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/FenceJumpShortcut.java @@ -7,7 +7,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -45,7 +45,7 @@ public class FenceJumpShortcut extends AgilityShortcut { @Override public void run(final Player player, Scenery object, String option, boolean failed) { player.faceLocation(object.getLocation()); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player.animate(JUMP_ANIM); diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/KaramjaGrapple.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/KaramjaGrapple.java index b5658cc8a..975ace88a 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/KaramjaGrapple.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/KaramjaGrapple.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.RegionManager; @@ -92,7 +92,7 @@ public class KaramjaGrapple extends OptionHandler { } player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 1; Component tab; diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/MonkeyBarShortcut.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/MonkeyBarShortcut.java index b1a1014db..ec7f659a2 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/MonkeyBarShortcut.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/MonkeyBarShortcut.java @@ -10,7 +10,7 @@ import core.game.node.scenery.Scenery; import core.game.system.task.LocationLogoutTask; import core.game.system.task.LogoutTask; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -75,7 +75,7 @@ public class MonkeyBarShortcut extends AgilityShortcut { final Direction dir = direct; ForceMovement.run(player, start.transform(dir), start.transform(dir.getStepX() << 1, dir.getStepY() << 1, 0), Animation.create(742), Animation.create(744)); player.addExtension(LogoutTask.class, new LocationLogoutTask(5, start)); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { int count; boolean failed; diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StileShortcut.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StileShortcut.java index 01b87715b..92c5228e3 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StileShortcut.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StileShortcut.java @@ -8,7 +8,7 @@ import core.game.node.entity.impl.ForceMovement; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -50,7 +50,7 @@ public class StileShortcut extends AgilityShortcut { public static void climb(final Player player, final Scenery object) { player.lock(1); int delay = 0; - GameWorld.getPulser().submit(new Pulse(delay, player) { + World.getPulser().submit(new Pulse(delay, player) { @Override public boolean pulse() { ForceMovement movement = new ForceMovement(player, getLocation(player, object, true), getLocation(player, object, false), Animation.create(839)) { diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StrangeFloorShortcut.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StrangeFloorShortcut.java index 9a21ec827..eea643d75 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StrangeFloorShortcut.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/StrangeFloorShortcut.java @@ -9,7 +9,7 @@ import core.game.node.entity.impl.ForceMovement; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -40,14 +40,14 @@ public class StrangeFloorShortcut extends AgilityShortcut { @Override public void run(final Player player, Scenery object, String option, boolean failed) { - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.getAnimator().forceAnimation(JUMP_ANIM); return true; } }); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/TunnelShortcut.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/TunnelShortcut.java index 445854d4e..a60ec5a63 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/TunnelShortcut.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/TunnelShortcut.java @@ -7,7 +7,7 @@ import core.game.node.entity.impl.ForceMovement; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -78,7 +78,7 @@ public class TunnelShortcut extends AgilityShortcut { offset = 1; } ForceMovement.run(player, start, o.getLocation(), CLIMB_DOWN, 8); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/WaterOrbGrapple.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/WaterOrbGrapple.java index 5128206b3..10db2e70c 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/WaterOrbGrapple.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/WaterOrbGrapple.java @@ -11,7 +11,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -77,7 +77,7 @@ public class WaterOrbGrapple extends OptionHandler { } player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 1; Component tab; diff --git a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/YanilleGrapple.java b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/YanilleGrapple.java index 164dc4da5..3ea215e10 100644 --- a/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/YanilleGrapple.java +++ b/Server/src/main/java/core/game/node/entity/skill/agility/shortcuts/YanilleGrapple.java @@ -8,7 +8,7 @@ import core.game.node.entity.impl.ForceMovement; import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -80,7 +80,7 @@ public class YanilleGrapple extends OptionHandler { } player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter = 1; Component tab; diff --git a/Server/src/main/java/core/game/node/entity/skill/construction/ConstructionGuideBook.java b/Server/src/main/java/core/game/node/entity/skill/construction/ConstructionGuideBook.java index 02357da97..7567b491d 100644 --- a/Server/src/main/java/core/game/node/entity/skill/construction/ConstructionGuideBook.java +++ b/Server/src/main/java/core/game/node/entity/skill/construction/ConstructionGuideBook.java @@ -7,7 +7,7 @@ import core.game.content.dialogue.book.Book; import core.game.content.dialogue.book.Page; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Initializable; /** @@ -70,7 +70,7 @@ public class ConstructionGuideBook extends Book { @Override public boolean open(final Player player) { - if (GameWorld.getSettings().isDevMode() && GameWorld.getSettings().isBeta()) { + if (World.getSettings().isDevMode() && World.getSettings().isBeta()) { for (Item item : RESOURCES) { if (!player.getInventory().contains(item.getId(), item.getAmount())) { player.getInventory().add(item, player); diff --git a/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java b/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java index 9a33ee84f..693cc7bcf 100644 --- a/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java +++ b/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java @@ -19,7 +19,7 @@ import org.json.simple.JSONArray; import org.json.simple.JSONObject; import rs09.game.node.entity.skill.construction.Hotspot; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.awt.*; import java.nio.ByteBuffer; @@ -203,7 +203,7 @@ public final class HouseManager { player.getConfigManager().set(262, getRoomAmount()); player.getAudioManager().send(new Audio(984)); // player.getMusicPlayer().unlock(454, true); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { if (hasServant()){ diff --git a/Server/src/main/java/core/game/node/entity/skill/construction/decoration/FireplacePlugin.java b/Server/src/main/java/core/game/node/entity/skill/construction/decoration/FireplacePlugin.java index 4cbc250d2..d8b4c17cb 100644 --- a/Server/src/main/java/core/game/node/entity/skill/construction/decoration/FireplacePlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/construction/decoration/FireplacePlugin.java @@ -11,7 +11,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -45,7 +45,7 @@ public final class FireplacePlugin extends OptionHandler { final Scenery obj = (Scenery) node.asScenery(); player.lock(2); player.animate(ANIMATION); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { if (!obj.isActive()) { diff --git a/Server/src/main/java/core/game/node/entity/skill/construction/decoration/StaircasePlugin.java b/Server/src/main/java/core/game/node/entity/skill/construction/decoration/StaircasePlugin.java index d204bdcbc..400235717 100644 --- a/Server/src/main/java/core/game/node/entity/skill/construction/decoration/StaircasePlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/construction/decoration/StaircasePlugin.java @@ -18,7 +18,7 @@ import core.game.world.map.Location; import core.plugin.Initializable; import core.plugin.Plugin; import rs09.game.node.entity.skill.construction.Hotspot; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.plugin.PluginManager; /** @@ -199,7 +199,7 @@ public final class StaircasePlugin extends OptionHandler { switch (buttonId) { case 1: player.lock(1); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { climb(player, 1, house, ladder); @@ -210,7 +210,7 @@ public final class StaircasePlugin extends OptionHandler { break; case 2: player.lock(1); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { climb(player, -1, house, ladder); diff --git a/Server/src/main/java/core/game/node/entity/skill/construction/decoration/questhall/MountedGloryPlugin.java b/Server/src/main/java/core/game/node/entity/skill/construction/decoration/questhall/MountedGloryPlugin.java index bc41e7ec0..143d4333b 100644 --- a/Server/src/main/java/core/game/node/entity/skill/construction/decoration/questhall/MountedGloryPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/construction/decoration/questhall/MountedGloryPlugin.java @@ -8,7 +8,7 @@ import core.game.interaction.OptionHandler; import core.game.node.Node; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -80,7 +80,7 @@ public class MountedGloryPlugin extends OptionHandler { player.visualize(ANIMATION, GRAPHICS); player.getAudioManager().send(200); player.getImpactHandler().setDisabledTicks(4); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { @Override public boolean pulse() { player.unlock(); diff --git a/Server/src/main/java/core/game/node/entity/skill/construction/npc/HouseServantDialogue.java b/Server/src/main/java/core/game/node/entity/skill/construction/npc/HouseServantDialogue.java index d6b4727d7..ee4fb6cf5 100644 --- a/Server/src/main/java/core/game/node/entity/skill/construction/npc/HouseServantDialogue.java +++ b/Server/src/main/java/core/game/node/entity/skill/construction/npc/HouseServantDialogue.java @@ -13,7 +13,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.IronmanMode; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.path.Pathfinder; import core.game.interaction.inter.SawmillPlankInterface.Plank; @@ -481,7 +481,7 @@ public class HouseServantDialogue extends DialoguePlugin { manager.getServant().setItem(new Item(plank.getPlank().getId(), amt)); servant.setInvisible(true); servant.getLocks().lockMovement(100); - GameWorld.getPulser().submit(new Pulse((int) (type.getTimer() / 0.6)){ + World.getPulser().submit(new Pulse((int) (type.getTimer() / 0.6)){ @Override public boolean pulse() { @@ -519,7 +519,7 @@ public class HouseServantDialogue extends DialoguePlugin { end(); servant.setInvisible(true); servant.getLocks().lockMovement(100); - GameWorld.getPulser().submit(new Pulse((int) (type.getTimer() / 0.6)) { + World.getPulser().submit(new Pulse((int) (type.getTimer() / 0.6)) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/node/entity/skill/cooking/WineFermentPlugin.java b/Server/src/main/java/core/game/node/entity/skill/cooking/WineFermentPlugin.java index b9a8a3d80..c18e1ab55 100644 --- a/Server/src/main/java/core/game/node/entity/skill/cooking/WineFermentPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/cooking/WineFermentPlugin.java @@ -7,7 +7,7 @@ import core.game.interaction.NodeUsageEvent; import core.game.interaction.UseWithHandler; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.plugin.Plugin; /** @@ -55,7 +55,7 @@ public final class WineFermentPlugin extends UseWithHandler { } if (player.getInventory().remove(GRAPES, JUG_OF_WATER)) { player.getInventory().add(UNFERMENTED_WINE); - GameWorld.getPulser().submit(new WineFermentingPulse(1, player)); + World.getPulser().submit(new WineFermentingPulse(1, player)); } return true; } diff --git a/Server/src/main/java/core/game/node/entity/skill/firemaking/FireMakingPulse.java b/Server/src/main/java/core/game/node/entity/skill/firemaking/FireMakingPulse.java index e8dda160d..2da1f7486 100644 --- a/Server/src/main/java/core/game/node/entity/skill/firemaking/FireMakingPulse.java +++ b/Server/src/main/java/core/game/node/entity/skill/firemaking/FireMakingPulse.java @@ -12,7 +12,7 @@ import core.game.node.item.GroundItemManager; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.player.FaceLocationFlag; @@ -99,7 +99,7 @@ public final class FireMakingPulse extends SkillPulse { @Override public boolean reward() { - if (getLastFire() >= GameWorld.getTicks()) { + if (getLastFire() >= World.getTicks()) { createFire(); return true; } @@ -181,7 +181,7 @@ public final class FireMakingPulse extends SkillPulse { * Sets the last fire. */ public void setLastFire() { - player.setAttribute("last-firemake", GameWorld.getTicks() + 2); + player.setAttribute("last-firemake", World.getTicks() + 2); } /** diff --git a/Server/src/main/java/core/game/node/entity/skill/gather/GatheringSkillPulse.java b/Server/src/main/java/core/game/node/entity/skill/gather/GatheringSkillPulse.java index 2d6d03b06..2e4d3dd85 100644 --- a/Server/src/main/java/core/game/node/entity/skill/gather/GatheringSkillPulse.java +++ b/Server/src/main/java/core/game/node/entity/skill/gather/GatheringSkillPulse.java @@ -17,7 +17,7 @@ import core.game.node.scenery.SceneryBuilder; import core.game.world.map.Location; import core.tools.RandomFunction; import core.tools.StringUtils; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -168,7 +168,7 @@ public final class GatheringSkillPulse extends SkillPulse { // Calculate if the player should receive a bonus gem or bonus ore or both if (!isMiningEssence && isMining) { //check for bonus ore from shooting star buff - if(isMining && (player.getAttribute("SS Mining Bonus", GameWorld.getTicks()) > GameWorld.getTicks())){ + if(isMining && (player.getAttribute("SS Mining Bonus", World.getTicks()) > World.getTicks())){ if(RandomFunction.getRandom(7) == 5) { player.getPacketDispatch().sendMessage("...you manage to mine a second ore thanks to the Star Sprite."); player.getInventory().add(item); diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/HunterNPC.java b/Server/src/main/java/core/game/node/entity/skill/hunter/HunterNPC.java index e47ef4733..246f56973 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/HunterNPC.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/HunterNPC.java @@ -3,7 +3,7 @@ package core.game.node.entity.skill.hunter; import core.game.node.entity.Entity; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.tools.RandomFunction; @@ -77,7 +77,7 @@ public final class HunterNPC extends AbstractNPC { @Override public void handleDrops(Player p, Entity killer) { int ticks = getAttribute("hunter", 0); - if (ticks < GameWorld.getTicks()) { + if (ticks < World.getTicks()) { super.handleDrops(p, killer); } } diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/ImpetuousImpulses.java b/Server/src/main/java/core/game/node/entity/skill/hunter/ImpetuousImpulses.java index 782aa991d..97e08d87d 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/ImpetuousImpulses.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/ImpetuousImpulses.java @@ -2,7 +2,7 @@ package core.game.node.entity.skill.hunter; import core.game.node.entity.skill.hunter.bnet.BNetTypes; import core.game.node.entity.skill.hunter.bnet.ImplingNode; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.callback.CallBack; import core.game.world.map.Location; import core.tools.RandomFunction; @@ -139,7 +139,7 @@ public final class ImpetuousImpulses implements CallBack { npc.setAttribute("puroPuro", true); } else { npc = new ImplingNPC(impling.getNpcs()[0], LOCATIONS[RANDOM.nextInt(LOCATIONS.length)], impling); - npc.setAttribute("nextTeleport", GameWorld.getTicks() + 600); + npc.setAttribute("nextTeleport", World.getTicks() + 600); } npc.init(); } diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/ImplingNPC.java b/Server/src/main/java/core/game/node/entity/skill/hunter/ImplingNPC.java index e797ae9ea..404eebfbe 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/ImplingNPC.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/ImplingNPC.java @@ -12,7 +12,7 @@ import core.game.world.map.path.Pathfinder; import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; import rs09.game.system.config.NPCConfigParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles an impling npc. @@ -56,7 +56,7 @@ public final class ImplingNPC extends AbstractNPC { @Override public void handleTickActions() { if (!getLocks().isMovementLocked()) { - if (isWalks() && !getPulseManager().hasPulseRunning() && nextWalk < GameWorld.getTicks()) { + if (isWalks() && !getPulseManager().hasPulseRunning() && nextWalk < World.getTicks()) { setNextWalk(); Location l = getLocation().transform(-5 + RandomFunction.random(getWalkRadius()), -5 + RandomFunction.random(getWalkRadius()), 0); if (canMove(l)) { @@ -68,10 +68,10 @@ public final class ImplingNPC extends AbstractNPC { sendChat("Tee hee!"); } int nextTeleport = getAttribute("nextTeleport", -1); - if (nextTeleport > -1 && GameWorld.getTicks() > nextTeleport) { - setAttribute("nextTeleport", GameWorld.getTicks() + 600); + if (nextTeleport > -1 && World.getTicks() > nextTeleport) { + setAttribute("nextTeleport", World.getTicks() + 600); graphics(new Graphics(590)); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { teleport(ImpetuousImpulses.LOCATIONS[RandomFunction.random(ImpetuousImpulses.LOCATIONS.length)]); diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/TrapHook.java b/Server/src/main/java/core/game/node/entity/skill/hunter/TrapHook.java index 18a04d9fe..910837c50 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/TrapHook.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/TrapHook.java @@ -1,6 +1,6 @@ package core.game.node.entity.skill.hunter; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.tools.RandomFunction; @@ -37,7 +37,7 @@ public class TrapHook { public Location getChanceLocation() { final double chance = wrapper.getChanceRate(); final int roll = RandomFunction.random(99); - final double successChance = (GameWorld.getSettings().isDevMode() ? 100 : 55.0) + chance; + final double successChance = (World.getSettings().isDevMode() ? 100 : 55.0) + chance; if (successChance > roll) { return RandomFunction.getRandomElement(locations); } diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/TrapSetting.java b/Server/src/main/java/core/game/node/entity/skill/hunter/TrapSetting.java index c21cf0fda..e0381fc92 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/TrapSetting.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/TrapSetting.java @@ -11,7 +11,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.tools.RandomFunction; @@ -253,7 +253,7 @@ public class TrapSetting { npc.getWalkingQueue().reset(); npc.getPulseManager().clear(); wrapper.setTicks(wrapper.getTicks() + 4); - GameWorld.getPulser().submit(getCatchPulse(wrapper, node, npc, success)); + World.getPulser().submit(getCatchPulse(wrapper, node, npc, success)); } /** @@ -287,7 +287,7 @@ public class TrapSetting { handleCatch(counter, wrapper, node, npc, success); if (success) { int transformId = getTransformId(wrapper, node); - npc.setAttribute("hunter", GameWorld.getTicks() + 6); + npc.setAttribute("hunter", World.getTicks() + 6); npc.finalizeDeath(player); if (transformId != -1) { wrapper.setObject(getTransformId(wrapper, node)); @@ -301,7 +301,7 @@ public class TrapSetting { case 3: handleCatch(counter, wrapper, node, npc, success); if (success) { - wrapper.setTicks(GameWorld.getTicks() + 100); + wrapper.setTicks(World.getTicks() + 100); wrapper.setReward(node); wrapper.setObject(getFinalId(wrapper, node)); return true; diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/TrapWrapper.java b/Server/src/main/java/core/game/node/entity/skill/hunter/TrapWrapper.java index ccc0a930f..949040368 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/TrapWrapper.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/TrapWrapper.java @@ -5,7 +5,7 @@ import core.game.node.entity.player.Player; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; @@ -99,7 +99,7 @@ public final class TrapWrapper { this.type = type; this.object = object; this.originalId = object.getId(); - this.ticks = GameWorld.getTicks() + (100); + this.ticks = World.getTicks() + (100); this.object.getAttributes().setAttribute("trap-uid", player.getHunterManager().getUid()); } @@ -202,7 +202,7 @@ public final class TrapWrapper { * @return {@code True} if o. */ private boolean isTimeUp() { - return ticks < GameWorld.getTicks(); + return ticks < World.getTicks(); } /** @@ -331,7 +331,7 @@ public final class TrapWrapper { * @return {@code True} if so. */ public boolean isBusy() { - return getBusyTicks() > GameWorld.getTicks(); + return getBusyTicks() > World.getTicks(); } /** @@ -347,7 +347,7 @@ public final class TrapWrapper { * @param busyTicks The busyTicks to set. */ public void setBusyTicks(int busyTicks) { - this.busyTicks = GameWorld.getTicks() + busyTicks; + this.busyTicks = World.getTicks() + busyTicks; } /** diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/bnet/BNetPulse.java b/Server/src/main/java/core/game/node/entity/skill/hunter/bnet/BNetPulse.java index 638531490..056847f2f 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/bnet/BNetPulse.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/bnet/BNetPulse.java @@ -7,7 +7,7 @@ import core.game.node.entity.combat.DeathTask; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.tools.RandomFunction; import core.tools.StringUtils; @@ -106,14 +106,14 @@ public final class BNetPulse extends SkillPulse { if (++ticks % 2 != 0) { return false; } - if (node.getAttribute("dead", 0) > GameWorld.getTicks()) { + if (node.getAttribute("dead", 0) > World.getTicks()) { player.sendMessage("Ooops! It's gone."); return true; } if ((success = isSuccessful())) { node.finalizeDeath(player); type.reward(player, node); - node.setAttribute("dead", GameWorld.getTicks() + 10); + node.setAttribute("dead", World.getTicks() + 10); if (type == BNetTypes.ECLECTIC_IMPLING.getNode() || type == BNetTypes.ESSENCE_IMPLING.getNode() ) { updateLumbridgeImplingTask(player); } @@ -126,7 +126,7 @@ public final class BNetPulse extends SkillPulse { @Override public void message(int type) { if (type == 0) { - node.setAttribute("looting", GameWorld.getTicks() + (ANIMATION.getDuration() + 1)); + node.setAttribute("looting", World.getTicks() + (ANIMATION.getDuration() + 1)); player.lock(ANIMATION.getDuration()); } this.type.message(player, type, success); diff --git a/Server/src/main/java/core/game/node/entity/skill/hunter/falconry/FalconryCatchPulse.java b/Server/src/main/java/core/game/node/entity/skill/hunter/falconry/FalconryCatchPulse.java index d068f613a..0d1f33086 100644 --- a/Server/src/main/java/core/game/node/entity/skill/hunter/falconry/FalconryCatchPulse.java +++ b/Server/src/main/java/core/game/node/entity/skill/hunter/falconry/FalconryCatchPulse.java @@ -9,7 +9,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.HintIconManager; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import rs09.game.world.repository.Repository; import core.tools.RandomFunction; @@ -123,7 +123,7 @@ public final class FalconryCatchPulse extends SkillPulse { falcon.setAttribute("falcon:catch", falconCatch); falcon.init(); HintIconManager.registerHintIcon(player, falcon); - GameWorld.getPulser().submit(new Pulse(100, falcon) { + World.getPulser().submit(new Pulse(100, falcon) { @Override public boolean pulse() { if (!falcon.isActive()) { diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/HouseTeleportPlugin.java b/Server/src/main/java/core/game/node/entity/skill/magic/HouseTeleportPlugin.java index 7ba265bf8..44069dfed 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/HouseTeleportPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/HouseTeleportPlugin.java @@ -7,7 +7,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.entity.player.link.TeleportManager.TeleportType; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.plugin.Plugin; import core.tools.RandomFunction; @@ -43,7 +43,7 @@ public class HouseTeleportPlugin extends MagicSpell { } if (entity.getTeleporter().send(location.transform(0, RandomFunction.random(3), 0), TeleportType.NORMAL)) { entity.setAttribute("teleport:items", super.runes); - entity.setAttribute("magic-delay", GameWorld.getTicks() + 5); + entity.setAttribute("magic-delay", World.getTicks() + 5); ((Player) entity).getInventory().remove(super.runes); return true; } diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/MagicSpell.java b/Server/src/main/java/core/game/node/entity/skill/magic/MagicSpell.java index 987998ce7..2b1397653 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/MagicSpell.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/MagicSpell.java @@ -12,7 +12,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.entity.player.link.audio.Audio; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.MapDistance; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; @@ -101,7 +101,7 @@ public abstract class MagicSpell implements Plugin { * @param target The target. */ public static boolean castSpell(final Player p, SpellBook book, int spellId, Node target) { - if (p.getAttribute("magic-delay", 0) > GameWorld.getTicks()) { + if (p.getAttribute("magic-delay", 0) > World.getTicks()) { return false; } MagicSpell spell = book.getSpell(spellId); @@ -130,8 +130,8 @@ public abstract class MagicSpell implements Plugin { if (!combatSpell) { p.getSkills().addExperience(Skills.MAGIC, spell.getExperience(p), true); } - if (p.getAttribute("magic-delay", 0) <= GameWorld.getTicks()) { - p.setAttribute("magic-delay", GameWorld.getTicks() + spell.getDelay()); + if (p.getAttribute("magic-delay", 0) <= World.getTicks()) { + p.setAttribute("magic-delay", World.getTicks() + spell.getDelay()); } return true; } @@ -213,7 +213,7 @@ public abstract class MagicSpell implements Plugin { } } if((spellId == 12 || spellId == 30 || spellId == 56) && caster instanceof Player){ - if (caster.getAttribute("entangleDelay", 0) > GameWorld.getTicks()) { + if (caster.getAttribute("entangleDelay", 0) > World.getTicks()) { caster.asPlayer().sendMessage("You have recently cast a binding spell."); return false; } diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/ancient/AncientTeleportPlugin.java b/Server/src/main/java/core/game/node/entity/skill/magic/ancient/AncientTeleportPlugin.java index b05c1d9be..c7e729ad0 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/ancient/AncientTeleportPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/ancient/AncientTeleportPlugin.java @@ -9,7 +9,7 @@ import core.game.node.entity.combat.equipment.SpellType; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.entity.player.link.TeleportManager.TeleportType; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.plugin.Initializable; import core.plugin.Plugin; @@ -64,7 +64,7 @@ public final class AncientTeleportPlugin extends MagicSpell { entity.asPlayer().getAchievementDiaryManager().finishTask(entity.asPlayer(), DiaryType.VARROCK, 2, 11); } entity.setAttribute("teleport:items", super.runes); - entity.setAttribute("magic-delay", GameWorld.getTicks() + 5); + entity.setAttribute("magic-delay", World.getTicks() + 5); return true; } return false; diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/DreamSpell.java b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/DreamSpell.java index 3c41c39f9..29b73f35b 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/DreamSpell.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/DreamSpell.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable; @@ -69,7 +69,7 @@ public final class DreamSpell extends MagicSpell { } p.animate(START); p.lock(); - GameWorld.getPulser().submit(new Pulse(4, p) { + World.getPulser().submit(new Pulse(4, p) { @Override public boolean pulse() { p.animate(DREAMING); diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/MagicImbueSpell.java b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/MagicImbueSpell.java index 312467fea..5a0a55940 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/MagicImbueSpell.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/MagicImbueSpell.java @@ -9,7 +9,7 @@ import core.game.node.entity.combat.equipment.SpellType; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Plugin; @@ -50,14 +50,14 @@ public class MagicImbueSpell extends MagicSpell { if (player == null) { return false; } - if (player.getAttribute("spell:imbue", 0) > GameWorld.getTicks()) { + if (player.getAttribute("spell:imbue", 0) > World.getTicks()) { player.sendMessage("You already have this activated."); return false; } if (!super.meetsRequirements(player, true, true)) { return false; } - player.setAttribute("spell:imbue", GameWorld.getTicks() + 20); + player.setAttribute("spell:imbue", World.getTicks() + 20); player.lock(ANIMATION.getDuration() + 1); player.graphics(GRAPHIC); player.animate(ANIMATION); diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/SpellbookSwapSpell.java b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/SpellbookSwapSpell.java index 8e786c2eb..a87affc14 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/SpellbookSwapSpell.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/SpellbookSwapSpell.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable; @@ -59,7 +59,7 @@ public class SpellbookSwapSpell extends MagicSpell { player.getDialogueInterpreter().open(3264731); final int id = RandomFunction.random(1, 500000); player.setAttribute("spell:swap", id); - GameWorld.getPulser().submit(new Pulse(20, player) { + World.getPulser().submit(new Pulse(20, player) { @Override public boolean pulse() { if (player.getAttribute("spell:swap", 0) == id) { diff --git a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/VengeanceSpell.java b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/VengeanceSpell.java index 44579d70a..4806dd4be 100644 --- a/Server/src/main/java/core/game/node/entity/skill/magic/lunar/VengeanceSpell.java +++ b/Server/src/main/java/core/game/node/entity/skill/magic/lunar/VengeanceSpell.java @@ -8,7 +8,7 @@ import core.game.node.entity.combat.equipment.SpellType; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.SpellBookManager.SpellBook; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable; @@ -59,7 +59,7 @@ public final class VengeanceSpell extends MagicSpell { @Override public boolean cast(Entity entity, Node target) { - int ticks = GameWorld.getTicks(); + int ticks = World.getTicks(); boolean vengOther = spellId == 19; if (entity.getAttribute("vengeance_delay", -1) > ticks) { ((Player) entity).getPacketDispatch().sendMessage("You can only cast vengeance spells once every 30 seconds."); diff --git a/Server/src/main/java/core/game/node/entity/skill/prayer/BoneBuryingOptionPlugin.java b/Server/src/main/java/core/game/node/entity/skill/prayer/BoneBuryingOptionPlugin.java index cd2f0d833..0570cddf3 100644 --- a/Server/src/main/java/core/game/node/entity/skill/prayer/BoneBuryingOptionPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/prayer/BoneBuryingOptionPlugin.java @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.link.audio.Audio; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -33,10 +33,10 @@ public final class BoneBuryingOptionPlugin extends OptionHandler { @Override public boolean handle(final Player player, Node node, String option) { - if (player.getAttribute("delay:bury", -1) > GameWorld.getTicks()) { + if (player.getAttribute("delay:bury", -1) > World.getTicks()) { return true; } - player.setAttribute("delay:bury", GameWorld.getTicks() + 2); + player.setAttribute("delay:bury", World.getTicks() + 2); final Item item = (Item) node; Bones bone = Bones.forId(item.getId()); if (bone == null) { @@ -59,7 +59,7 @@ public final class BoneBuryingOptionPlugin extends OptionHandler { player.getPacketDispatch().sendMessage("You dig a hole in the ground..."); player.getAudioManager().send(SOUND); final Bones bonee = bone; - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player.getPacketDispatch().sendMessage("You bury the bones."); diff --git a/Server/src/main/java/core/game/node/entity/skill/runecrafting/MysteriousRuinPlugin.java b/Server/src/main/java/core/game/node/entity/skill/runecrafting/MysteriousRuinPlugin.java index 1a7795051..3440182cb 100644 --- a/Server/src/main/java/core/game/node/entity/skill/runecrafting/MysteriousRuinPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/runecrafting/MysteriousRuinPlugin.java @@ -7,7 +7,7 @@ import core.game.node.entity.player.info.Rights; import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Plugin; @@ -69,7 +69,7 @@ public final class MysteriousRuinPlugin extends UseWithHandler { player.animate(ANIMATION); player.getPacketDispatch().sendMessage("You hold the " + event.getUsedItem().getName() + " towards the mysterious ruins."); player.getPacketDispatch().sendMessage("You feel a powerful force take hold of you."); - GameWorld.getPulser().submit(new Pulse(3, player) { + World.getPulser().submit(new Pulse(3, player) { @Override public boolean pulse() { player.getProperties().setTeleportLocation(ruin.getEnd()); diff --git a/Server/src/main/java/core/game/node/entity/skill/runecrafting/RuneCraftPulse.java b/Server/src/main/java/core/game/node/entity/skill/runecrafting/RuneCraftPulse.java index 6485dc3ac..2756a7b44 100644 --- a/Server/src/main/java/core/game/node/entity/skill/runecrafting/RuneCraftPulse.java +++ b/Server/src/main/java/core/game/node/entity/skill/runecrafting/RuneCraftPulse.java @@ -12,7 +12,7 @@ import core.game.world.update.flag.context.Graphics; import core.tools.RandomFunction; import static rs09.game.node.entity.player.info.stats.StatAttributeKeysKt.STATS_BASE; import static rs09.game.node.entity.player.info.stats.StatAttributeKeysKt.STATS_RC; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.Arrays; @@ -261,7 +261,7 @@ public final class RuneCraftPulse extends SkillPulse { * @return {@code True} if so. */ private boolean hasSpellImbue() { - return player.getAttribute("spell:imbue", 0) > GameWorld.getTicks(); + return player.getAttribute("spell:imbue", 0) > World.getTicks(); } /** diff --git a/Server/src/main/java/core/game/node/entity/skill/runecrafting/RunecraftingPlugin.java b/Server/src/main/java/core/game/node/entity/skill/runecrafting/RunecraftingPlugin.java index 72e1a4d43..cc98d55e6 100644 --- a/Server/src/main/java/core/game/node/entity/skill/runecrafting/RunecraftingPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/runecrafting/RunecraftingPlugin.java @@ -21,7 +21,7 @@ import core.plugin.Initializable; import core.plugin.Plugin; import rs09.game.content.global.travel.EssenceTeleport; import rs09.game.node.entity.skill.runecrafting.RunePouchPlugin; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.plugin.PluginManager; /** @@ -66,7 +66,7 @@ public class RunecraftingPlugin extends OptionHandler { player.lock(4); player.getInterfaceManager().openOverlay(new Component(115)); PacketRepository.send(MinimapState.class, new MinimapStateContext(player, 1)); - GameWorld.getPulser().submit(new Pulse(4, player) { + World.getPulser().submit(new Pulse(4, player) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/BansheeNPC.java b/Server/src/main/java/core/game/node/entity/skill/slayer/BansheeNPC.java index b5ab44ff0..7847086eb 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/BansheeNPC.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/BansheeNPC.java @@ -11,7 +11,7 @@ import rs09.game.node.entity.combat.handlers.MeleeSwingHandler; import core.game.node.entity.impl.Animator.Priority; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.tools.RandomFunction; @@ -37,7 +37,7 @@ public final class BansheeNPC extends AbstractNPC { if (victim instanceof Player) { final Player player = (Player) victim; if (!hasEarMuffs(player)) { - if (RandomFunction.random(10) < 4 && player.getProperties().getCombatPulse().getNextAttack() <= GameWorld.getTicks()) { + if (RandomFunction.random(10) < 4 && player.getProperties().getCombatPulse().getNextAttack() <= World.getTicks()) { player.getWalkingQueue().reset(); player.getLocks().lockMovement(3); player.getProperties().getCombatPulse().setNextAttack(3); diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/FishingExplosivePlugin.java b/Server/src/main/java/core/game/node/entity/skill/slayer/FishingExplosivePlugin.java index 7f577e01d..56bc33b74 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/FishingExplosivePlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/FishingExplosivePlugin.java @@ -17,7 +17,7 @@ import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -117,7 +117,7 @@ public final class FishingExplosivePlugin extends OptionHandler { player.animate(ANIMATION); player.getPacketDispatch().sendMessage("You hurl the shuddering vial into the water..."); sendProjectile(player, (Scenery) event.getUsedWith()); - GameWorld.getPulser().submit(new Pulse(delay, player) { + World.getPulser().submit(new Pulse(delay, player) { @Override public boolean pulse() { Direction dir = event.getUsedWith().getDirection(); diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/NechryaelNPC.java b/Server/src/main/java/core/game/node/entity/skill/slayer/NechryaelNPC.java index 1ce0c8546..4a64251f9 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/NechryaelNPC.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/NechryaelNPC.java @@ -5,7 +5,7 @@ import core.game.node.entity.combat.BattleState; import core.game.node.entity.combat.CombatStyle; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -80,7 +80,7 @@ public final class NechryaelNPC extends AbstractNPC { * Sets the next spawn time. */ private void setSpawnTime() { - nextSpawn = GameWorld.getTicks() + 50; + nextSpawn = World.getTicks() + 50; } /** @@ -92,7 +92,7 @@ public final class NechryaelNPC extends AbstractNPC { setSpawnTime(); return false; } - return nextSpawn < GameWorld.getTicks(); + return nextSpawn < World.getTicks(); } @Override @@ -136,7 +136,7 @@ public final class NechryaelNPC extends AbstractNPC { this.player = player; this.parent = parent; this.setRespawn(false); - this.time = GameWorld.getTicks() + 120; + this.time = World.getTicks() + 120; } @Override @@ -145,7 +145,7 @@ public final class NechryaelNPC extends AbstractNPC { if (!inCombat() || !player.inCombat()) { getProperties().getCombatPulse().attack(player); } - if (time < GameWorld.getTicks() || !player.isActive() || player.getLocation().getDistance(getLocation()) > 15) { + if (time < World.getTicks() || !player.isActive() || player.getLocation().getDistance(getLocation()) > 15) { clear(); } } diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/SlayerMasterDialogue.java b/Server/src/main/java/core/game/node/entity/skill/slayer/SlayerMasterDialogue.java index ecb1aed5f..89b2c919d 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/SlayerMasterDialogue.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/SlayerMasterDialogue.java @@ -2,7 +2,7 @@ package core.game.node.entity.skill.slayer; import org.json.simple.JSONObject; import rs09.ServerStore; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.content.dialogue.DialoguePlugin; import core.game.content.dialogue.FacialExpression; import core.game.content.global.Skillcape; @@ -516,7 +516,7 @@ public final class SlayerMasterDialogue extends DialoguePlugin { } break; case 844: - if (GameWorld.getSettings().getAllow_slayer_reroll()) { + if (World.getSettings().getAllow_slayer_reroll()) { options("Got any tips for me?", "Okay, great!", "I'd like to re-roll that task."); } else { options("Got any tips for me?", "Okay, great!"); diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/AncientCavern.java b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/AncientCavern.java index 2e12a707a..49528d09d 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/AncientCavern.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/AncientCavern.java @@ -17,7 +17,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -70,7 +70,7 @@ public final class AncientCavern extends MapZone implements Plugin { public boolean handle(final Player player, Node node, String option) { ContentAPI.lock(player, 30); AgilityHandler.forceWalk(player, -1, player.getLocation(), player.getLocation().transform(0, -6, 0), Animation.create(6723), 10, 0.0, null); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override @@ -133,7 +133,7 @@ public final class AncientCavern extends MapZone implements Plugin { player.removeAttribute("canClose"); player.lock(14); player.getImpactHandler().setDisabledTicks(14); - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { int count = 0; @Override @@ -214,7 +214,7 @@ public final class AncientCavern extends MapZone implements Plugin { */ private void removeSkeleton(final Scenery object, final NPC spawn) { SceneryBuilder.remove(object); - GameWorld.getPulser().submit(new Pulse(200) { + World.getPulser().submit(new Pulse(200) { @Override public boolean pulse() { if (spawn != null && spawn.isActive()) { diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/FremennikDungeon.java b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/FremennikDungeon.java index d896511f3..46a5ef542 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/FremennikDungeon.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/FremennikDungeon.java @@ -10,7 +10,7 @@ import core.game.node.entity.combat.ImpactHandler.HitsplatType; import core.game.node.entity.player.Player; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; @@ -58,7 +58,7 @@ public final class FremennikDungeon extends MapZone implements Plugin { return true; } player.lock(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int count; @Override diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/LumbridgeDungeon.java b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/LumbridgeDungeon.java index cfca0ec06..610846b29 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/LumbridgeDungeon.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/LumbridgeDungeon.java @@ -9,7 +9,7 @@ import core.game.node.entity.combat.CombatStyle; import core.game.node.entity.npc.AbstractNPC; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; @@ -143,7 +143,7 @@ public final class LumbridgeDungeon extends MapZone implements Plugin { if (!isProtected) { animate(NPCDefinition.forId(7823).getCombatAnimation(3)); player.animate(Animation.create(1810)); - GameWorld.getPulser().submit(new Pulse(8, player) { + World.getPulser().submit(new Pulse(8, player) { @Override public boolean pulse() { getAnimator().reset(); diff --git a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/SmokeDungeon.java b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/SmokeDungeon.java index 875a6cded..59c89bf2d 100644 --- a/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/SmokeDungeon.java +++ b/Server/src/main/java/core/game/node/entity/skill/slayer/dungeon/SmokeDungeon.java @@ -9,7 +9,7 @@ import core.game.node.entity.Entity; import core.game.node.entity.combat.ImpactHandler.HitsplatType; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.zone.MapZone; import core.game.world.map.zone.ZoneBorders; @@ -54,7 +54,7 @@ public final class SmokeDungeon extends MapZone implements Plugin { if (player.getInterfaceManager().isOpened() || player.getInterfaceManager().hasChatbox() || player.getLocks().isMovementLocked()) { continue; } - if (SmokeDungeon.getDelay(player) < GameWorld.getTicks() && !isProtected(player)) { + if (SmokeDungeon.getDelay(player) < World.getTicks() && !isProtected(player)) { effect(player); } } @@ -109,7 +109,7 @@ public final class SmokeDungeon extends MapZone implements Plugin { if (!pulse.isRunning()) { pulse.restart(); pulse.start(); - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); } p.getInterfaceManager().openOverlay(new Component(118)); } @@ -146,7 +146,7 @@ public final class SmokeDungeon extends MapZone implements Plugin { * @param player the player. */ private static void setDelay(Player player) { - player.setAttribute("smoke-delay", GameWorld.getTicks() + DELAY); + player.setAttribute("smoke-delay", World.getTicks() + DELAY); } /** diff --git a/Server/src/main/java/core/game/node/entity/skill/smithing/FurnaceOptionPlugin.java b/Server/src/main/java/core/game/node/entity/skill/smithing/FurnaceOptionPlugin.java index 9a8433b6a..278196320 100644 --- a/Server/src/main/java/core/game/node/entity/skill/smithing/FurnaceOptionPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/smithing/FurnaceOptionPlugin.java @@ -14,7 +14,7 @@ import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; @@ -92,7 +92,7 @@ public final class FurnaceOptionPlugin extends OptionHandler { private final void handleTutorialIsland(final Player player) { if (player.getInventory().containItems(438, 436)) { player.animate(ANIMATION); - GameWorld.getPulser().submit(new Pulse(2, player) { + World.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { player.getInventory().remove(ITEMS); diff --git a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java index ec155c05c..bd32e4b89 100644 --- a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java +++ b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java @@ -18,7 +18,7 @@ import core.game.node.entity.player.link.quest.Quest; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.build.DynamicRegion; import core.game.world.map.path.Pathfinder; @@ -335,7 +335,7 @@ public final class SummoningTrainingRoom extends OptionHandler { switch (stage) { case 0: close(); - GameWorld.getPulser().submit(new Pulse(1, player, fluffy) { + World.getPulser().submit(new Pulse(1, player, fluffy) { int counter = 0; @Override @@ -374,7 +374,7 @@ public final class SummoningTrainingRoom extends OptionHandler { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.POSITION, x, y, height, 1, 100)); PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.ROTATION, x + 1000, y + 13, height, 1, 100)); player.faceLocation(cutscene.getBase().transform(44, 50, 1)); - GameWorld.getPulser().submit(new Pulse(1, player, fluffy) { + World.getPulser().submit(new Pulse(1, player, fluffy) { int counter = 0; @Override @@ -399,7 +399,7 @@ public final class SummoningTrainingRoom extends OptionHandler { break; case 6: close(); - GameWorld.getPulser().submit(new Pulse(1, player, fluffy) { + World.getPulser().submit(new Pulse(1, player, fluffy) { int counter = 0; @Override @@ -438,7 +438,7 @@ public final class SummoningTrainingRoom extends OptionHandler { break; case 8: end(); - GameWorld.getPulser().submit(new Pulse(2) { + World.getPulser().submit(new Pulse(2) { @Override public boolean pulse() { player.animate(Animation.create(827)); @@ -506,7 +506,7 @@ public final class SummoningTrainingRoom extends OptionHandler { PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.POSITION, x, y, height, 1, 95)); PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.ROTATION, x + 1000, y + 17, height, 1, 95)); wolf = player.getFamiliarManager().getFamiliar(); - GameWorld.getPulser().submit(new Pulse(1, player, fluffy) { + World.getPulser().submit(new Pulse(1, player, fluffy) { int counter; @Override @@ -535,7 +535,7 @@ public final class SummoningTrainingRoom extends OptionHandler { if (player.getInventory().remove(HOWL_SCROLL)) { player.getDialogueInterpreter().setDialogue(this); player.getDialogueInterpreter().getDialogue().setStage(8); - GameWorld.getPulser().submit(new Pulse(1, player, fluffy, wolf) { + World.getPulser().submit(new Pulse(1, player, fluffy, wolf) { int counter; @Override diff --git a/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Familiar.java b/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Familiar.java index 56b4998c2..f418ac465 100644 --- a/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Familiar.java +++ b/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Familiar.java @@ -26,7 +26,7 @@ import core.tools.RandomFunction; import rs09.game.node.entity.combat.CombatPulse; import rs09.game.node.entity.combat.CombatSwingHandler; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -346,7 +346,7 @@ public abstract class Familiar extends NPC implements Plugin { return; } if (specialMove(special)) { - setAttribute("special-delay", GameWorld.getTicks() + 3); + setAttribute("special-delay", World.getTicks() + 3); owner.getInventory().remove(new Item(scroll.getItemId())); owner.getAudioManager().send(4161); visualizeSpecialMove(); @@ -371,7 +371,7 @@ public abstract class Familiar extends NPC implements Plugin { public void sendFamiliarHit(final Entity target, final int maxHit, final Graphics graphics) { final int ticks = 2 + (int) Math.floor(getLocation().getDistance(target.getLocation()) * 0.5); getProperties().getCombatPulse().setNextAttack(4); - GameWorld.getPulser().submit(new Pulse(ticks, this, target) { + World.getPulser().submit(new Pulse(ticks, this, target) { @Override public boolean pulse() { BattleState state = new BattleState(Familiar.this, target); @@ -444,7 +444,7 @@ public abstract class Familiar extends NPC implements Plugin { if (!isOwnerAttackable()) { return false; } - if (getAttribute("special-delay", 0) > GameWorld.getTicks()) { + if (getAttribute("special-delay", 0) > World.getTicks()) { return false; } return true; diff --git a/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Forager.java b/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Forager.java index 82e62387e..fe769f068 100644 --- a/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Forager.java +++ b/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/Forager.java @@ -3,7 +3,7 @@ package core.game.node.entity.skill.summoning.familiar; import core.game.node.entity.combat.equipment.WeaponInterface; import core.game.node.entity.player.Player; import core.game.node.item.Item; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.tools.RandomFunction; /** @@ -51,7 +51,7 @@ public abstract class Forager extends BurdenBeast { @Override public void handleFamiliarTick() { super.handleFamiliarTick(); - if (items != null && items.length > 0 && passiveDelay < GameWorld.getTicks()) { + if (items != null && items.length > 0 && passiveDelay < World.getTicks()) { if (RandomFunction.random(getRandom()) < 4) { produceItem(items[RandomFunction.random(items.length)]); } @@ -103,6 +103,6 @@ public abstract class Forager extends BurdenBeast { * Sets a random passive delay. */ public void setRandomPassive() { - passiveDelay = GameWorld.getTicks() + RandomFunction.random(100, 440); + passiveDelay = World.getTicks() + RandomFunction.random(100, 440); } } diff --git a/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/RemoteViewer.java b/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/RemoteViewer.java index b30d66f85..43fc4ed10 100644 --- a/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/RemoteViewer.java +++ b/Server/src/main/java/core/game/node/entity/skill/summoning/familiar/RemoteViewer.java @@ -2,7 +2,7 @@ package core.game.node.entity.skill.summoning.familiar; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Direction; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -80,7 +80,7 @@ public final class RemoteViewer { player.lock(); familiar.animate(animation); player.getPacketDispatch().sendMessage("You send the " + familiar.getName().toLowerCase() + " to fly " + (type == ViewType.STRAIGHT_UP ? "directly up" : "to the " + type.name().toLowerCase()) + "..."); - GameWorld.getPulser().submit(new Pulse(5) { + World.getPulser().submit(new Pulse(5) { @Override public boolean pulse() { view(); @@ -97,7 +97,7 @@ public final class RemoteViewer { return; } sendCamera(type.getXOffset(), type.getYOffset(), type.getXRot(), type.getYRot()); - GameWorld.getPulser().submit(new Pulse(13) { + World.getPulser().submit(new Pulse(13) { @Override public boolean pulse() { reset(); diff --git a/Server/src/main/java/core/game/node/entity/skill/thieving/StallThiefPulse.java b/Server/src/main/java/core/game/node/entity/skill/thieving/StallThiefPulse.java index a50388546..f429a74ac 100644 --- a/Server/src/main/java/core/game/node/entity/skill/thieving/StallThiefPulse.java +++ b/Server/src/main/java/core/game/node/entity/skill/thieving/StallThiefPulse.java @@ -4,12 +4,10 @@ import core.game.node.entity.skill.SkillPulse; import core.game.node.entity.skill.Skills; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; -import core.game.node.entity.player.link.diary.DiaryType; import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; -import rs09.game.world.GameWorld; -import core.game.world.map.Location; +import rs09.game.world.World; import core.game.world.map.RegionManager; import core.game.world.update.flag.context.Animation; import core.tools.RandomFunction; @@ -49,7 +47,7 @@ public final class StallThiefPulse extends SkillPulse { @Override public void start() { - player.setAttribute("thieveDelay", GameWorld.getTicks()); + player.setAttribute("thieveDelay", World.getTicks()); super.start(); } @@ -75,7 +73,7 @@ public final class StallThiefPulse extends SkillPulse { @Override public boolean hasInactiveNode() { - if (player.getAttribute("thieveDelay", 0) <= GameWorld.getTicks()) { + if (player.getAttribute("thieveDelay", 0) <= World.getTicks()) { return false; } return super.hasInactiveNode(); diff --git a/Server/src/main/java/core/game/node/entity/skill/thieving/ThievableChestPlugin.java b/Server/src/main/java/core/game/node/entity/skill/thieving/ThievableChestPlugin.java index 8f99f1235..50df611b0 100644 --- a/Server/src/main/java/core/game/node/entity/skill/thieving/ThievableChestPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/thieving/ThievableChestPlugin.java @@ -10,7 +10,7 @@ import core.game.node.item.Item; import core.game.node.scenery.Scenery; import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.Animation; import core.plugin.Initializable; import core.plugin.Plugin; @@ -161,7 +161,7 @@ public final class ThievableChestPlugin extends OptionHandler { } player.sendMessage("You find a trap on the chest..."); player.getImpactHandler().setDisabledTicks(6); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { int counter; @Override @@ -196,7 +196,7 @@ public final class ThievableChestPlugin extends OptionHandler { * Sets the respawn delay. */ public void setRespawn() { - currentRespawn = GameWorld.getTicks() + (int) (respawn / 0.6); + currentRespawn = World.getTicks() + (int) (respawn / 0.6); } /** @@ -204,7 +204,7 @@ public final class ThievableChestPlugin extends OptionHandler { * @return {@code True} if so. */ public boolean isRespawning() { - return currentRespawn > GameWorld.getTicks(); + return currentRespawn > World.getTicks(); } /** diff --git a/Server/src/main/java/core/game/node/entity/state/StatePulse.java b/Server/src/main/java/core/game/node/entity/state/StatePulse.java index 21c3b55d7..2841a3f34 100644 --- a/Server/src/main/java/core/game/node/entity/state/StatePulse.java +++ b/Server/src/main/java/core/game/node/entity/state/StatePulse.java @@ -2,7 +2,7 @@ package core.game.node.entity.state; import core.game.node.entity.Entity; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.nio.ByteBuffer; @@ -83,7 +83,7 @@ public abstract class StatePulse extends Pulse { } restart(); start(); - GameWorld.getPulser().submit(this); + World.getPulser().submit(this); } } \ No newline at end of file diff --git a/Server/src/main/java/core/game/node/entity/state/impl/FireResistantPulse.java b/Server/src/main/java/core/game/node/entity/state/impl/FireResistantPulse.java index e99a0de1a..78d4584de 100644 --- a/Server/src/main/java/core/game/node/entity/state/impl/FireResistantPulse.java +++ b/Server/src/main/java/core/game/node/entity/state/impl/FireResistantPulse.java @@ -3,7 +3,7 @@ package core.game.node.entity.state.impl; import core.game.node.entity.Entity; import core.game.node.entity.player.Player; import core.game.node.entity.state.StatePulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.nio.ByteBuffer; @@ -16,7 +16,7 @@ public class FireResistantPulse extends StatePulse { /** * The time to finish. */ - private static int END_TIME = GameWorld.getSettings().isDevMode() ? 30 : 600; + private static int END_TIME = World.getSettings().isDevMode() ? 30 : 600; /** * The current tick. diff --git a/Server/src/main/java/core/game/node/entity/state/impl/FrozenStatePulse.java b/Server/src/main/java/core/game/node/entity/state/impl/FrozenStatePulse.java index d2467002e..4405606d4 100644 --- a/Server/src/main/java/core/game/node/entity/state/impl/FrozenStatePulse.java +++ b/Server/src/main/java/core/game/node/entity/state/impl/FrozenStatePulse.java @@ -3,7 +3,7 @@ package core.game.node.entity.state.impl; import core.game.node.entity.Entity; import core.game.node.entity.player.Player; import core.game.node.entity.state.StatePulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.nio.ByteBuffer; @@ -44,7 +44,7 @@ public final class FrozenStatePulse extends StatePulse { @Override public boolean canRun(Entity entity) { - return entity.getAttribute("freeze_immunity", -1) < GameWorld.getTicks(); + return entity.getAttribute("freeze_immunity", -1) < World.getTicks(); } @Override @@ -55,7 +55,7 @@ public final class FrozenStatePulse extends StatePulse { } entity.getWalkingQueue().reset(); entity.getLocks().lockMovement(getDelay()); - entity.setAttribute("freeze_immunity", GameWorld.getTicks() + getDelay() + IMMUNITY_TICK); + entity.setAttribute("freeze_immunity", World.getTicks() + getDelay() + IMMUNITY_TICK); if (entity instanceof Player) { ((Player) entity).getPacketDispatch().sendMessage(message); } diff --git a/Server/src/main/java/core/game/node/entity/state/impl/MiasmicStatePulse.java b/Server/src/main/java/core/game/node/entity/state/impl/MiasmicStatePulse.java index 0a4c629f4..f8b1f0c63 100644 --- a/Server/src/main/java/core/game/node/entity/state/impl/MiasmicStatePulse.java +++ b/Server/src/main/java/core/game/node/entity/state/impl/MiasmicStatePulse.java @@ -3,7 +3,7 @@ package core.game.node.entity.state.impl; import core.game.node.entity.Entity; import core.game.node.entity.player.Player; import core.game.node.entity.state.StatePulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.nio.ByteBuffer; @@ -44,13 +44,13 @@ public final class MiasmicStatePulse extends StatePulse { @Override public boolean canRun(Entity entity) { - return entity.getAttribute("miasmic_immunity", -1) < GameWorld.getTicks(); + return entity.getAttribute("miasmic_immunity", -1) < World.getTicks(); } @Override public void start() { super.start(); - entity.setAttribute("miasmic_immunity", GameWorld.getTicks() + getDelay() + IMMUNITY_TICK); + entity.setAttribute("miasmic_immunity", World.getTicks() + getDelay() + IMMUNITY_TICK); if (entity instanceof Player) { ((Player) entity).getPacketDispatch().sendMessage(message); } diff --git a/Server/src/main/java/core/game/node/item/GroundItem.java b/Server/src/main/java/core/game/node/item/GroundItem.java index c67501267..4c776dece 100644 --- a/Server/src/main/java/core/game/node/item/GroundItem.java +++ b/Server/src/main/java/core/game/node/item/GroundItem.java @@ -1,7 +1,7 @@ package core.game.node.item; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; /** @@ -74,7 +74,7 @@ public class GroundItem extends Item { super.index = -1; super.interaction.setDefault(); this.dropper = player; - this.ticks = GameWorld.getTicks(); + this.ticks = World.getTicks(); this.decayTime = ticks + decay; } @@ -90,12 +90,12 @@ public class GroundItem extends Item { * @return {@code True} if so. */ public boolean isPrivate() { - return remainPrivate || (decayTime - GameWorld.getTicks() > 100); + return remainPrivate || (decayTime - World.getTicks() > 100); } @Override public boolean isActive() { - return removed || GameWorld.getTicks() < decayTime; + return removed || World.getTicks() < decayTime; } /** @@ -148,7 +148,7 @@ public class GroundItem extends Item { * @param decayTime The decayTime to set. */ public void setDecayTime(int decayTime) { - this.decayTime = GameWorld.getTicks() + decayTime; + this.decayTime = World.getTicks() + decayTime; } /** diff --git a/Server/src/main/java/core/game/node/item/GroundItemManager.java b/Server/src/main/java/core/game/node/item/GroundItemManager.java index fc5d797ad..bd69a7398 100644 --- a/Server/src/main/java/core/game/node/item/GroundItemManager.java +++ b/Server/src/main/java/core/game/node/item/GroundItemManager.java @@ -1,7 +1,7 @@ package core.game.node.item; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.update.flag.chunk.ItemUpdateFlag; @@ -153,7 +153,7 @@ public final class GroundItemManager { if (!item.isRemoved()) { RegionManager.getRegionPlane(item.getLocation()).remove(item); } - } else if (!item.isRemainPrivate() && item.getDecayTime() - GameWorld.getTicks() == 100) { + } else if (!item.isRemainPrivate() && item.getDecayTime() - World.getTicks() == 100) { RegionManager.getRegionChunk(item.getLocation()).flag(new ItemUpdateFlag(item, ItemUpdateFlag.CONSTRUCT_TYPE)); } } diff --git a/Server/src/main/java/core/game/node/scenery/SceneryBuilder.java b/Server/src/main/java/core/game/node/scenery/SceneryBuilder.java index eb97c1ab6..60c93f644 100644 --- a/Server/src/main/java/core/game/node/scenery/SceneryBuilder.java +++ b/Server/src/main/java/core/game/node/scenery/SceneryBuilder.java @@ -4,7 +4,7 @@ import core.game.node.item.GroundItem; import core.game.node.item.GroundItemManager; import rs09.game.system.SystemLogger; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import core.game.world.map.build.LandscapeParser; @@ -43,7 +43,7 @@ public final class SceneryBuilder { remove = remove.getWrapper(); Scenery current = LandscapeParser.removeScenery(remove); if (current == null) { - if (GameWorld.getSettings().isDevMode()) { + if (World.getSettings().isDevMode()) { SystemLogger.logErr("Object could not be replaced - object to remove is invalid."); } return false; @@ -81,7 +81,7 @@ public final class SceneryBuilder { RegionManager.getRegionChunk(remove.getLocation()).flag(new ObjectUpdateFlag(remove, true)); RegionManager.getRegionChunk(construct.getLocation()).flag(new ObjectUpdateFlag(construct, false)); if (restoreTicks > 0) { - GameWorld.getPulser().submit(new Pulse(restoreTicks) { + World.getPulser().submit(new Pulse(restoreTicks) { @Override public boolean pulse() { return replaceClientSide(construct, remove, -1); @@ -118,7 +118,7 @@ public final class SceneryBuilder { remove = remove.getWrapper(); Scenery current = LandscapeParser.removeScenery(remove); if (current == null) { - if (GameWorld.getSettings().isDevMode()) { + if (World.getSettings().isDevMode()) { SystemLogger.logErr("Object could not be replaced - object to remove is invalid."); } return false; @@ -148,7 +148,7 @@ public final class SceneryBuilder { return true; } }); - GameWorld.getPulser().submit(constructed.getRestorePulse()); + World.getPulser().submit(constructed.getRestorePulse()); return true; } @@ -176,7 +176,7 @@ public final class SceneryBuilder { LandscapeParser.addScenery(constructed); update(constructed); if (ticks > -1) { - GameWorld.getPulser().submit(new Pulse(ticks, object) { + World.getPulser().submit(new Pulse(ticks, object) { @Override public boolean pulse() { remove(constructed); @@ -243,7 +243,7 @@ public final class SceneryBuilder { */ public static boolean remove(final Scenery object, int respawnTicks) { if (remove(object)) { - GameWorld.getPulser().submit(new Pulse(respawnTicks) { + World.getPulser().submit(new Pulse(respawnTicks) { @Override public boolean pulse() { diff --git a/Server/src/main/java/core/game/system/SystemManager.java b/Server/src/main/java/core/game/system/SystemManager.java index 67c942e5d..74c4523a2 100644 --- a/Server/src/main/java/core/game/system/SystemManager.java +++ b/Server/src/main/java/core/game/system/SystemManager.java @@ -1,8 +1,7 @@ package core.game.system; import core.game.system.security.EncryptionManager; -import gui.ServerMonitor; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Manages the "game system" states, such as updating or terminating. @@ -56,8 +55,8 @@ public final class SystemManager { switch (state) { case ACTIVE: case PRIVATE: - GameWorld.getMajorUpdateWorker().setStarted(false); - GameWorld.getMajorUpdateWorker().start(); + World.getClock().setStarted(false); + World.getClock().start(); break; case UPDATING: UPDATER.schedule(); diff --git a/Server/src/main/java/core/game/system/SystemTermination.java b/Server/src/main/java/core/game/system/SystemTermination.java index 1ce55219b..3a89f0ffe 100644 --- a/Server/src/main/java/core/game/system/SystemTermination.java +++ b/Server/src/main/java/core/game/system/SystemTermination.java @@ -6,6 +6,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.info.login.PlayerParser; import rs09.Server; import rs09.ServerConstants; +import rs09.ServerState; import rs09.ServerStore; import rs09.game.content.global.GlobalKillCounter; import rs09.game.ge.OfferManager; @@ -37,15 +38,13 @@ public final class SystemTermination { public void terminate() { SystemLogger.logInfo("[SystemTerminator] Initializing termination sequence - do not shutdown!"); try { - Server.setRunning(false); for(Player player : Repository.getPlayers()){ DMCHandler dmc = player.getAttribute("dmc",null); if(dmc != null){ dmc.clear(false); } } - if(ServerConstants.DATA_PATH != null) - save(ServerConstants.DATA_PATH); + Server.setState(ServerState.SHUTDOWN); } catch (Throwable e) { e.printStackTrace(); } @@ -62,7 +61,6 @@ public final class SystemTermination { if (!file.isDirectory()) { file.mkdirs(); } - Server.getReactor().terminate(); for (Iterator it = Repository.getPlayers().iterator(); it.hasNext();) { try { Player p = it.next(); diff --git a/Server/src/main/java/core/game/system/SystemUpdate.java b/Server/src/main/java/core/game/system/SystemUpdate.java index 9df42b872..1ad2275f4 100644 --- a/Server/src/main/java/core/game/system/SystemUpdate.java +++ b/Server/src/main/java/core/game/system/SystemUpdate.java @@ -3,7 +3,7 @@ package core.game.system; import rs09.ServerConstants; import core.game.node.entity.player.Player; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import java.util.Iterator; @@ -76,9 +76,9 @@ public final class SystemUpdate extends Pulse { public void schedule() { super.setTicksPassed(0); super.start(); - if (GameWorld.getMajorUpdateWorker().getStarted()) { + if (World.getClock().getStarted()) { notifyPlayers(); - GameWorld.getPulser().submit(this); + World.getPulser().submit(this); return; } Executors.newSingleThreadExecutor().submit(new Runnable() { diff --git a/Server/src/main/java/core/game/system/command/CommandSet.java b/Server/src/main/java/core/game/system/command/CommandSet.java index 98cf63265..8d400f896 100644 --- a/Server/src/main/java/core/game/system/command/CommandSet.java +++ b/Server/src/main/java/core/game/system/command/CommandSet.java @@ -3,7 +3,7 @@ package core.game.system.command; import core.game.node.entity.player.Player; import core.game.node.entity.player.info.Rights; import rs09.game.system.command.CommandPlugin; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.ArrayList; import java.util.List; @@ -35,7 +35,7 @@ public enum CommandSet { BETA() { @Override public boolean validate(Player player) { - return GameWorld.getSettings().isBeta() || ADMINISTRATOR.validate(player) || GameWorld.getSettings().isDevMode(); + return World.getSettings().isBeta() || ADMINISTRATOR.validate(player) || World.getSettings().isDevMode(); } }; diff --git a/Server/src/main/java/core/game/system/communication/ClanEntry.java b/Server/src/main/java/core/game/system/communication/ClanEntry.java index 55d2280cc..f23a4222e 100644 --- a/Server/src/main/java/core/game/system/communication/ClanEntry.java +++ b/Server/src/main/java/core/game/system/communication/ClanEntry.java @@ -1,7 +1,7 @@ package core.game.system.communication; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents a player in a clan chat. @@ -31,7 +31,7 @@ public class ClanEntry { public ClanEntry(Player player) { this.player = player; this.name = player.getName(); - this.worldId = GameWorld.getSettings().getWorldId(); + this.worldId = World.getSettings().getWorldId(); } /** diff --git a/Server/src/main/java/core/game/system/communication/ClanRepository.java b/Server/src/main/java/core/game/system/communication/ClanRepository.java index b26098a1a..9fb1cd998 100644 --- a/Server/src/main/java/core/game/system/communication/ClanRepository.java +++ b/Server/src/main/java/core/game/system/communication/ClanRepository.java @@ -6,9 +6,8 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.info.PlayerDetails; import core.game.node.entity.player.info.Rights; import core.game.system.monitor.PlayerMonitor; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; -import core.net.amsc.WorldCommunicator; import core.net.packet.PacketRepository; import core.net.packet.context.ClanContext; import core.net.packet.context.MessageContext; @@ -133,26 +132,6 @@ public final class ClanRepository { * Cleans the chat from all players that shouldn't be in it. */ public void clean(boolean disable) { - if (WorldCommunicator.isEnabled()) { - return; - } - for (Iterator it = players.iterator(); it.hasNext();) { - ClanEntry entry = it.next(); - Player player = entry.getPlayer(); - boolean remove = disable; - if (!remove) { - remove = getRank(player).ordinal() < joinRequirement.ordinal(); - } - if (remove) { - leave(player, false); - player.getCommunication().setClan(null); - it.remove(); - } - } - if (players.isEmpty()) { - banned.clear(); - } - update(); } /** @@ -283,7 +262,7 @@ public final class ClanRepository { public void update() { for (Iterator it = players.iterator(); it.hasNext();) { ClanEntry e = it.next(); - if (e.getWorldId() == GameWorld.getSettings().getWorldId() && e.getPlayer() != null) { + if (e.getWorldId() == World.getSettings().getWorldId() && e.getPlayer() != null) { PacketRepository.send(UpdateClanChat.class, new ClanContext(e.getPlayer(), this, false)); } } @@ -402,7 +381,7 @@ public final class ClanRepository { * @return {@code True} if so. */ public boolean isDefault() { - return owner.equals(GameWorld.getSettings().getName().toLowerCase()); + return owner.equals(World.getSettings().getName().toLowerCase()); } /** @@ -410,7 +389,7 @@ public final class ClanRepository { * @return The default clan chat. */ public static ClanRepository getDefault() { - return get(GameWorld.getSettings().getName().toLowerCase()); + return get(World.getSettings().getName().toLowerCase()); } /** diff --git a/Server/src/main/java/core/game/system/communication/CommunicationInfo.java b/Server/src/main/java/core/game/system/communication/CommunicationInfo.java index 2dee6f8ae..ba336914d 100644 --- a/Server/src/main/java/core/game/system/communication/CommunicationInfo.java +++ b/Server/src/main/java/core/game/system/communication/CommunicationInfo.java @@ -6,16 +6,12 @@ import rs09.game.system.SystemLogger; import core.game.system.monitor.PlayerMonitor; import core.game.system.mysql.SQLTable; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import core.net.ms.MSPacketRepository; import core.net.packet.PacketRepository; import core.net.packet.context.ContactContext; -import core.net.packet.context.MessageContext; -import core.net.packet.out.CommunicationMessage; import core.net.packet.out.ContactPackets; -import core.tools.StringUtils; import java.nio.ByteBuffer; import java.util.ArrayList; @@ -200,7 +196,7 @@ public final class CommunicationInfo { player.getConfigManager().set(1083, 0); } else if (!lootShare) { player.getConfigManager().set(1083, 2); - lootSharePulse = new Pulse(GameWorld.getSettings().isDevMode() ? 5 : 200, player) { + lootSharePulse = new Pulse(World.getSettings().isDevMode() ? 5 : 200, player) { @Override public boolean pulse() { lootShare = true; @@ -209,7 +205,7 @@ public final class CommunicationInfo { return true; } }; - GameWorld.getPulser().submit(lootSharePulse); + World.getPulser().submit(lootSharePulse); } } @@ -238,27 +234,8 @@ public final class CommunicationInfo { * Synchronizes the contact lists. */ public void sync(Player player) { - if (WorldCommunicator.isEnabled()) { - if (!player.isArtificial()) { - MSPacketRepository.requestCommunicationInfo(player.getName()); - } - return; - } - if (player.getSettings().getPrivateChatSetting() != 2) { - notifyPlayers(player, true, false); - } - PacketRepository.send(ContactPackets.class, new ContactContext(player, ContactContext.UPDATE_STATE_TYPE)); - PacketRepository.send(ContactPackets.class, new ContactContext(player, ContactContext.IGNORE_LIST_TYPE)); - for (String name : contacts.keySet()) { - Player p = Repository.getPlayerByName(name); - int worldId = 0; - if (p != null && showActive(player, p)) { - worldId = GameWorld.getSettings().getWorldId(); - } - PacketRepository.send(ContactPackets.class, new ContactContext(player, name, worldId)); - } - if (currentClan != null && !player.isArtificial() && (clan = ClanRepository.get(currentClan)) != null) { - clan.enter(player); + if (!player.isArtificial()) { + MSPacketRepository.requestCommunicationInfo(player.getName()); } } @@ -268,27 +245,8 @@ public final class CommunicationInfo { * @param chatSetting If it was a chat setting change. */ public static void notifyPlayers(Player player, boolean online, boolean chatSetting) { - if (WorldCommunicator.isEnabled()) { - if (!online && !chatSetting) { - MSPacketRepository.sendPlayerRemoval(player.getName()); - } - return; - } - for (Player p : Repository.getPlayers()) { - if (p == player || !p.isActive()) { - continue; - } - if (hasContact(p, player.getName())) { - int worldId = 0; - if (online && showActive(p, player)) { - worldId = GameWorld.getSettings().getWorldId(); - } - p.getCommunication().getContacts().get(player.getName()).setWorldId(worldId); - PacketRepository.send(ContactPackets.class, new ContactContext(p, player.getName(), worldId)); - } - } - if (!online && !chatSetting && player.getCommunication().getClan() != null) { - player.getCommunication().getClan().leave(player, true); + if (!online && !chatSetting) { + MSPacketRepository.sendPlayerRemoval(player.getName()); } } @@ -299,28 +257,8 @@ public final class CommunicationInfo { * @param message The message to send. */ public static void sendMessage(Player player, String target, String message) { - if (WorldCommunicator.isEnabled()) { - StringBuilder sb = new StringBuilder(message); - sb.append(" => ").append(target); - player.getMonitor().log(sb.toString(), PlayerMonitor.PRIVATE_CHAT_LOG); - MSPacketRepository.sendPrivateMessage(player, target, message); - return; - } - if (!player.getDetails().getCommunication().contacts.containsKey(target)) { - return; - } - Player p = Repository.getPlayerByName(target); - if (p == null || !p.isActive() || !showActive(p, player)) { - player.getPacketDispatch().sendMessage("That player is currently offline."); - return; - } - if (!GameWorld.getSettings().isDevMode()) { - StringBuilder sb = new StringBuilder(message); - sb.append(" => ").append(target); - player.getMonitor().log(sb.toString(), PlayerMonitor.PRIVATE_CHAT_LOG); - } - PacketRepository.send(CommunicationMessage.class, new MessageContext(player, p, MessageContext.SEND_MESSAGE, message)); - PacketRepository.send(CommunicationMessage.class, new MessageContext(p, player, MessageContext.RECIEVE_MESSAGE, message)); + player.getMonitor().log(message + " => " + target, PlayerMonitor.PRIVATE_CHAT_LOG); + MSPacketRepository.sendPrivateMessage(player, target, message); } /** @@ -329,32 +267,7 @@ public final class CommunicationInfo { */ public static void add(Player player, String contact) { CommunicationInfo info = player.getDetails().getCommunication(); - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendContactUpdate(player.getName(), contact, false, false, null); - return; - } - if (info.contacts.size() >= MAX_LIST_SIZE) { - player.getPacketDispatch().sendMessage("Your friend list is full."); - return; - } - if (info.contacts.containsKey(contact)) { - player.getPacketDispatch().sendMessage(StringUtils.formatDisplayName(contact) + " is already on your friend list."); - return; - } - ClanRepository clan = ClanRepository.get(player.getName(), false); - if (clan != null) { - clan.rank(contact, ClanRank.FRIEND); - } - info.contacts.put(contact, new Contact(contact)); - Player target = Repository.getPlayerByName(contact); - if (target != null) { - if (showActive(player, target)) { - PacketRepository.send(ContactPackets.class, new ContactContext(player, contact, GameWorld.getSettings().getWorldId())); - } - if (player.getSettings().getPrivateChatSetting() == 1 && showActive(target, player)) { - PacketRepository.send(ContactPackets.class, new ContactContext(target, player.getName(), GameWorld.getSettings().getWorldId())); - } - } + MSPacketRepository.sendContactUpdate(player.getName(), contact, false, false, null); } /** @@ -363,34 +276,7 @@ public final class CommunicationInfo { * @param block If the contact should be removed from the block list. */ public static void remove(Player player, String contact, boolean block) { - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendContactUpdate(player.getName(), contact, true, block, null); - return; - } - CommunicationInfo info = player.getDetails().getCommunication(); - if (block) { - info.blocked.remove(contact); - Player target = Repository.getPlayerByName(contact); - if (target != null && hasContact(target, player.getName())) { - int worldId = 0; - if (showActive(target, player)) { - worldId = GameWorld.getSettings().getWorldId(); - } - PacketRepository.send(ContactPackets.class, new ContactContext(target, player.getName(), worldId)); - } - } else { - info.contacts.remove(contact); - ClanRepository clan = ClanRepository.get(player.getName(), false); - if (clan != null) { - clan.rank(contact, ClanRank.NONE); - } - if (player.getSettings().getPrivateChatSetting() == 1) { - Player target = Repository.getPlayerByName(contact); - if (target != null) { - PacketRepository.send(ContactPackets.class, new ContactContext(target, player.getName(), 0)); - } - } - } + MSPacketRepository.sendContactUpdate(player.getName(), contact, true, block, null); } /** @@ -398,24 +284,7 @@ public final class CommunicationInfo { * @param contact The contact to block. */ public static void block(Player player, String contact) { - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendContactUpdate(player.getName(), contact, false, true, null); - return; - } - CommunicationInfo info = player.getDetails().getCommunication(); - if (info.blocked.size() >= MAX_LIST_SIZE) { - player.getPacketDispatch().sendMessage("Your ignore list is full."); - return; - } - if (info.blocked.contains(contact)) { - player.getPacketDispatch().sendMessage(StringUtils.formatDisplayName(contact) + " is already on your ignore list."); - return; - } - info.blocked.add(contact); - Player target = Repository.getPlayerByName(contact); - if (target != null && hasContact(target, player.getName())) { - PacketRepository.send(ContactPackets.class, new ContactContext(target, player.getName(), 0)); - } + MSPacketRepository.sendContactUpdate(player.getName(), contact, false, true, null); } /** diff --git a/Server/src/main/java/core/game/system/mysql/impl/HighscoreSQLHandler.java b/Server/src/main/java/core/game/system/mysql/impl/HighscoreSQLHandler.java index e2d48807a..08796c31f 100644 --- a/Server/src/main/java/core/game/system/mysql/impl/HighscoreSQLHandler.java +++ b/Server/src/main/java/core/game/system/mysql/impl/HighscoreSQLHandler.java @@ -6,7 +6,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.info.Rights; import core.game.system.mysql.SQLEntryHandler; import core.game.system.mysql.SQLManager; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.sql.Connection; import java.sql.PreparedStatement; @@ -32,7 +32,7 @@ public final class HighscoreSQLHandler extends SQLEntryHandler { @Override public void create() throws SQLException { - if (entry.getDetails().getRights() == Rights.ADMINISTRATOR || GameWorld.getSettings().isDevMode()) { + if (entry.getDetails().getRights() == Rights.ADMINISTRATOR || World.getSettings().isDevMode()) { return; } StringBuilder b = new StringBuilder("INSERT highscores(username,overall_xp,total_level,ironManMode,xp_0,xp_1,xp_2,xp_3,xp_4,xp_5,xp_6,xp_7,xp_8,xp_9,xp_10,xp_11,xp_12,xp_13,xp_14,xp_15,xp_16,xp_17,xp_18,xp_19,xp_20,xp_21,xp_22,xp_23) "); @@ -50,7 +50,7 @@ public final class HighscoreSQLHandler extends SQLEntryHandler { @Override public void save() throws SQLException { - if (entry.getDetails().getRights() == Rights.ADMINISTRATOR || GameWorld.getSettings().isDevMode()) { + if (entry.getDetails().getRights() == Rights.ADMINISTRATOR || World.getSettings().isDevMode()) { return; } super.read(); diff --git a/Server/src/main/java/core/game/system/task/LogoutTask.java b/Server/src/main/java/core/game/system/task/LogoutTask.java index 241724641..2229739a4 100644 --- a/Server/src/main/java/core/game/system/task/LogoutTask.java +++ b/Server/src/main/java/core/game/system/task/LogoutTask.java @@ -1,7 +1,7 @@ package core.game.system.task; import core.game.node.entity.player.Player; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * A task called upon when a player disconnects from the game. @@ -18,7 +18,7 @@ public abstract class LogoutTask { * Constructs a new {@code LogoutTask} {@code Object}. */ public LogoutTask() { - this(Integer.MAX_VALUE - GameWorld.getTicks()); + this(Integer.MAX_VALUE - World.getTicks()); } /** @@ -26,7 +26,7 @@ public abstract class LogoutTask { * @param ticks The amount of ticks this logout task is valid. */ public LogoutTask(int ticks) { - this.validity = GameWorld.getTicks() + ticks; + this.validity = World.getTicks() + ticks; } /** @@ -50,7 +50,7 @@ public abstract class LogoutTask { * @return {@code True} if so. */ public boolean isValid() { - return validity > GameWorld.getTicks(); + return validity > World.getTicks(); } /** @@ -58,6 +58,6 @@ public abstract class LogoutTask { * @param ticks The amount of ticks this task should remain valid for. */ public void setDelay(int ticks) { - this.validity = GameWorld.getTicks() + ticks; + this.validity = World.getTicks() + ticks; } } \ No newline at end of file diff --git a/Server/src/main/java/core/game/system/task/NodeTask.java b/Server/src/main/java/core/game/system/task/NodeTask.java index e827aa696..d9e212620 100644 --- a/Server/src/main/java/core/game/system/task/NodeTask.java +++ b/Server/src/main/java/core/game/system/task/NodeTask.java @@ -1,7 +1,7 @@ package core.game.system.task; import core.game.node.Node; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Represents "Node pulse", which is used to execute methods with node @@ -79,7 +79,7 @@ public abstract class NodeTask { * @return The pulse used for this task. */ public Pulse schedule(final Node node, final Node... n) { - GameWorld.getPulser().submit(pulse = new Pulse(ticks, node) { + World.getPulser().submit(pulse = new Pulse(ticks, node) { @Override public void start() { diff --git a/Server/src/main/java/core/game/world/map/Region.java b/Server/src/main/java/core/game/world/map/Region.java index 707684a85..11f4dab6e 100644 --- a/Server/src/main/java/core/game/world/map/Region.java +++ b/Server/src/main/java/core/game/world/map/Region.java @@ -4,8 +4,6 @@ import core.cache.Cache; import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.entity.player.link.music.MusicZone; -import core.game.node.scenery.Scenery; -import core.game.node.scenery.SceneryBuilder; import core.game.system.task.Pulse; import core.game.world.map.build.DynamicRegion; import core.game.world.map.build.LandscapeParser; @@ -13,7 +11,7 @@ import core.game.world.map.build.MapscapeParser; import core.game.world.map.zone.RegionZone; import rs09.game.system.SystemLogger; import rs09.game.system.config.XteaParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import java.nio.ByteBuffer; @@ -223,7 +221,7 @@ public class Region { if (!activityPulse.isRunning()) { activityPulse.restart(); activityPulse.start(); - GameWorld.getPulser().submit(activityPulse); + World.getPulser().submit(activityPulse); } } return true; diff --git a/Server/src/main/java/core/game/world/map/zone/ZoneBuilder.java b/Server/src/main/java/core/game/world/map/zone/ZoneBuilder.java index b5e69f641..04fcddf3a 100644 --- a/Server/src/main/java/core/game/world/map/zone/ZoneBuilder.java +++ b/Server/src/main/java/core/game/world/map/zone/ZoneBuilder.java @@ -8,17 +8,14 @@ import core.game.world.map.zone.impl.*; * Loads all the default zones. * @author Emperor */ -public class ZoneBuilder implements CallBack { - - @Override - public boolean call() { - configure(WildernessZone.getInstance()); +public class ZoneBuilder { + public static void init() { + //configure(WildernessZone.getInstance()); configure(MultiwayCombatZone.getInstance()); configure(new ModeratorZone()); - configure(new DarkZone()); + //configure(new DarkZone()); configure(new KaramjaZone()); configure(new BankZone()); - return true; } /** diff --git a/Server/src/main/java/core/game/world/map/zone/ZoneMonitor.java b/Server/src/main/java/core/game/world/map/zone/ZoneMonitor.java index e9fdd394e..55bd4218d 100644 --- a/Server/src/main/java/core/game/world/map/zone/ZoneMonitor.java +++ b/Server/src/main/java/core/game/world/map/zone/ZoneMonitor.java @@ -248,7 +248,7 @@ public final class ZoneMonitor { * @return {@code True} if the entity successfully left all regions. */ public boolean clear() { - for (RegionZone z : zones) { + for (RegionZone z : zones.toArray(new RegionZone[]{})) { if (!z.getZone().leave(entity, true)) { return false; } diff --git a/Server/src/main/java/core/game/world/map/zone/impl/DarkZone.java b/Server/src/main/java/core/game/world/map/zone/impl/DarkZone.java index 8b525d2e6..c3a54c1cb 100644 --- a/Server/src/main/java/core/game/world/map/zone/impl/DarkZone.java +++ b/Server/src/main/java/core/game/world/map/zone/impl/DarkZone.java @@ -14,7 +14,7 @@ import core.game.world.map.zone.MapZone; import core.game.world.map.zone.RegionZone; import core.game.world.map.zone.ZoneBorders; import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks; -import rs09.game.world.GameWorld; +import rs09.game.world.World; /** * Handles a dark area. @@ -48,7 +48,7 @@ public final class DarkZone extends MapZone { return false; } }; - GameWorld.getPulser().submit(pulse); + World.getPulser().submit(pulse); player.addExtension(DarkZone.class, pulse); super.open(player); } diff --git a/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java b/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java index 7ea125afb..5be73db7d 100644 --- a/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java +++ b/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java @@ -27,7 +27,7 @@ import core.game.world.map.zone.ZoneRestriction; import core.tools.RandomFunction; import org.rs09.consts.NPCs; import rs09.game.system.config.NPCConfigParser; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import java.util.ArrayList; @@ -155,7 +155,7 @@ public final class WildernessZone extends MapZone { player.removeAttribute("combat-time"); player.getPrayer().reset(); player.getAppearance().sync(); - if (GameWorld.isEconomyWorld() && !player.getSavedData().getGlobalData().isDeathScreenDisabled()) { + if (World.isEconomyWorld() && !player.getSavedData().getGlobalData().isDeathScreenDisabled()) { player.getInterfaceManager().open(new Component(153)); } if (!player.getSavedData().getGlobalData().isDeathScreenDisabled()) { @@ -197,7 +197,7 @@ public final class WildernessZone extends MapZone { if (((NPC) e).getTask() != null && ((Player) killer).getSlayer().getTask() == e.asNpc().getTask()) { ((Player) killer).getSlayer().finalizeDeath(killer.asPlayer(), e.asNpc()); } - e.asNpc().setRespawnTick(GameWorld.getTicks() + e.asNpc().getDefinition().getConfiguration(NPCConfigParser.RESPAWN_DELAY, 17)); + e.asNpc().setRespawnTick(World.getTicks() + e.asNpc().getDefinition().getConfiguration(NPCConfigParser.RESPAWN_DELAY, 17)); if (!e.asNpc().isRespawn()) { e.asNpc().clear(); } @@ -305,7 +305,7 @@ public final class WildernessZone extends MapZone { p.getInterfaceManager().openWildernessOverlay(new Component(381)); p.getSkullManager().setLevel(getWilderness(p)); p.getPacketDispatch().sendString("Level: " + p.getSkullManager().getLevel(), 381, 1); - if(GameWorld.getSettings().getWild_pvp_enabled()) { + if(World.getSettings().getWild_pvp_enabled()) { p.getInteraction().set(Option._P_ATTACK); } p.getSkullManager().setWilderness(true); diff --git a/Server/src/main/java/core/game/world/objectparser/ObjectParser.java b/Server/src/main/java/core/game/world/objectparser/ObjectParser.java index bc143b336..6c717bc40 100644 --- a/Server/src/main/java/core/game/world/objectparser/ObjectParser.java +++ b/Server/src/main/java/core/game/world/objectparser/ObjectParser.java @@ -2,7 +2,7 @@ package core.game.world.objectparser; import rs09.ServerConstants; import core.game.node.scenery.Scenery; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.build.LandscapeParser; import core.plugin.Initializable; import core.plugin.Plugin; @@ -107,7 +107,7 @@ public class ObjectParser extends StartupPlugin { @Override public Plugin newInstance(Object arg) throws Throwable { - GameWorld.getSTARTUP_PLUGINS().add(this); + World.getSTARTUP_PLUGINS().add(this); return this; } diff --git a/Server/src/main/java/core/gui/ConsoleFrame.java b/Server/src/main/java/core/gui/ConsoleFrame.java deleted file mode 100644 index e4d1210de..000000000 --- a/Server/src/main/java/core/gui/ConsoleFrame.java +++ /dev/null @@ -1,168 +0,0 @@ -package core.gui; - - -import core.gui.tab.GrandExchangeTab; -import core.gui.tab.PlayerTab; -import core.gui.tab.StatisticsTab; -import core.gui.tab.UtilityTab; - -import javax.swing.*; -import java.awt.*; - -/** - * The console frame tool. - * - * @author Vexia - */ -public class ConsoleFrame extends JFrame { - - /** - * The console frame instance. - */ - public static final ConsoleFrame INSTANCE = new ConsoleFrame(); - - /** - * The serail UID. - */ - private static final long serialVersionUID = 6368064564449356833L; - - /** - * The size of the frame. - */ - private static final Dimension SIZE = new Dimension(1074, 664); - - /** - * The tabbed pane. - */ - private final JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); - - /** - * The statistics tab. - */ - private final StatisticsTab statisticsTab = StatisticsTab.INSTANCE.init(); - - /** - * The player tab. - */ - private final PlayerTab playerTab = new PlayerTab(); - - /** - * The grand exchange tab. - */ - private final GrandExchangeTab grandExchangeTab = new GrandExchangeTab(); - - /** - * The utility tab. - */ - private final UtilityTab utilityTab = UtilityTab.getInstance(); - - /** - * Constructs a new {@Code consoleFrame} {@Code Object} - */ - private ConsoleFrame() { - super("Console"); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { - e.printStackTrace(); - } - } - - /** - * Initializes the console frame. - * - * @return the frame. - */ - public ConsoleFrame init() { - setLocationRelativeTo(null); - setSize(SIZE); - getContentPane().setLayout(null); - tabbedPane.setBounds(0, 0, 1068, 636); - Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); - setLocation(dim.width / 2 - this.getSize().width / 2, dim.height / 2 - this.getSize().height / 2); - getContentPane().add(tabbedPane); - addTabs(statisticsTab, utilityTab, playerTab, grandExchangeTab); - setResizable(false); - setVisible(true); - return this; - } - - public static void main(String... args) { - INSTANCE.init(); - } - - /** - * Adds tabs. - * - * @param tabs the tabs. - */ - public void addTabs(ConsoleTab... tabs) { - for (ConsoleTab tab : tabs) { - addTab(tab); - } - } - - /** - * Adds a tab to the tabbed pane. - * - * @param tab the tab. - */ - public void addTab(ConsoleTab tab) { - tabbedPane.add(tab.getName(), tab); - } - - /** - * Gets the statisticsTab. - * - * @return the statisticsTab - */ - public StatisticsTab getStatisticsTab() { - return statisticsTab; - } - - /** - * Gets the tabbedPane. - * - * @return the tabbedPane - */ - public JTabbedPane getTabbedPane() { - return tabbedPane; - } - - /** - * Gets the playerTab. - * - * @return the playerTab - */ - public PlayerTab getPlayerTab() { - return playerTab; - } - - /** - * Gets the utilityTab. - * - * @return the utilityTab - */ - public UtilityTab getUtilityTab() { - return utilityTab; - } - - /** - * Gets the instance. - * - * @return the instance. - */ - public static ConsoleFrame getInstance() { - return INSTANCE; - } - - /** - * Gets the grandExchangeTab. - * - * @return the grandExchangeTab - */ - public GrandExchangeTab getGrandExchangeTab() { - return grandExchangeTab; - } - -} diff --git a/Server/src/main/java/core/gui/ConsoleTab.java b/Server/src/main/java/core/gui/ConsoleTab.java deleted file mode 100644 index daf37deb4..000000000 --- a/Server/src/main/java/core/gui/ConsoleTab.java +++ /dev/null @@ -1,44 +0,0 @@ -package core.gui; - -import javax.swing.*; -import java.awt.*; - -/** - * The console tab. - * - * @author Vexia - */ -public class ConsoleTab extends JPanel { - - /** - * The serial UID. - */ - private static final long serialVersionUID = 2899642836866716523L; - - /** - * The name of the console tab. - */ - private final String name; - - /** - * Constructs a new {@Code consoleTab} {@Code Object} - * - * @param name the name. - */ - public ConsoleTab(String name) { - super(); - this.name = name; - setLayout(null); - setBounds(new Rectangle(0, 0, 1068, 663)); - } - - /** - * Gets the name. - * - * @return the name - */ - public String getName() { - return name; - } - -} diff --git a/Server/src/main/java/core/gui/component/ConsoleLogger.java b/Server/src/main/java/core/gui/component/ConsoleLogger.java deleted file mode 100644 index 48f98e1a4..000000000 --- a/Server/src/main/java/core/gui/component/ConsoleLogger.java +++ /dev/null @@ -1,68 +0,0 @@ -package core.gui.component; - - -import core.gui.ConsoleFrame; - -import java.io.PrintStream; - -/** - * Loggs output to the gui console. - * - * @author Vexia - */ -public class ConsoleLogger extends PrintStream { - - /** - * Constructs a new {@code WorkLogger} {@code Object} - * - * @param stream the stream. - */ - public ConsoleLogger(PrintStream stream) { - super(stream); - } - - @Override - public void println(String message) { - log(message); - } - - @Override - public PrintStream printf(String message, Object... objects) { - return null; - } - - @Override - public void println(boolean message) { - log(String.valueOf(message)); - } - - @Override - public void println(int message) { - log(String.valueOf(message)); - } - - @Override - public void println(double message) { - log(String.valueOf(message)); - } - - @Override - public void println(char message) { - log("" + message); - } - - @Override - public void println(long message) { - log("" + message); - } - - /** - * Method used to log the message. - * - * @param message the message. - */ - public void log(final String message) { - ConsoleFrame.getInstance().getStatisticsTab().log(message); - } - -} diff --git a/Server/src/main/java/core/gui/component/PlayerViewer.java b/Server/src/main/java/core/gui/component/PlayerViewer.java deleted file mode 100644 index 671e3efb6..000000000 --- a/Server/src/main/java/core/gui/component/PlayerViewer.java +++ /dev/null @@ -1,270 +0,0 @@ -package core.gui.component; - - -import core.game.container.Container; -import core.game.node.entity.player.Player; -import core.game.node.entity.player.info.PlayerDetails; -import core.game.node.item.Item; -import rs09.game.world.GameWorld; -import rs09.game.world.repository.Repository; -import core.gui.ConsoleFrame; -import core.tools.PlayerLoader; -import core.tools.StringUtils; - -import javax.swing.*; -import javax.swing.border.TitledBorder; -import java.awt.*; -import java.awt.event.ActionListener; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -/** - * Views a players details. - * - * @author Vexia - */ -public class PlayerViewer extends JPanel { - - /** - * The serail UID. - */ - private static final long serialVersionUID = 1589056461884384398L; - - /** - * The name of the viewer. - */ - private final String name; - - /** - * The player details. - */ - private PlayerDetails details; - - /** - * The player file. - */ - private Player player; - - /** - * Constructs a new {@Code PlayerViewer} {@Code Object} - * - * @param name the name. - */ - public PlayerViewer(String name) { - super(); - this.name = name; - this.details = PlayerLoader.getPlayerDetailFile(name); - if (Repository.getPlayerByName(name) != null) { - setPlayer(Repository.getPlayerByName(name)); - } else { - if (GameWorld.getMajorUpdateWorker().getStarted()) { - setPlayer(PlayerLoader.getPlayerFile(name)); - } - } - setBounds(new Rectangle(0, 0, 755, 539)); - setLayout(null); - JButton btnClose = new JButton("Close"); - btnClose.addActionListener(e -> ConsoleFrame.getInstance().getPlayerTab().closeViewer(PlayerViewer.this)); - btnClose.setBounds(6, 6, 117, 29); - add(btnClose); - - JPanel panel = new JPanel(); - panel.setBorder(new TitledBorder(null, "Info", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel.setBounds(6, 35, 286, 428); - add(panel); - panel.setLayout(null); - - JLabel lblName = new JLabel("Username: " + details.getUsername()); - lblName.setBounds(6, 16, 224, 16); - panel.add(lblName); - - JLabel lblIp = new JLabel("IP: " + details.getInfo().getIp()); - lblIp.setBounds(6, 96, 190, 16); - panel.add(lblIp); - - JLabel lblMac = new JLabel("Mac: " + details.getInfo().getMac()); - lblMac.setBounds(6, 124, 224, 16); - panel.add(lblMac); - - JLabel lblCompName = new JLabel("Comp name: " + details.getInfo().getCompName()); - lblCompName.setBounds(6, 208, 236, 16); - panel.add(lblCompName); - - JLabel lblLastLogin = new JLabel("Last login: " + new Date(details.getLastLogin())); - lblLastLogin.setBounds(6, 152, 274, 16); - panel.add(lblLastLogin); - - JLabel lblStatus = new JLabel("Status: " + getStatus()); - lblStatus.setBounds(6, 236, 149, 16); - panel.add(lblStatus); - -// JLabel lblCredits = new JLabel("Credits: " + details.getShop().getCredits()); -// lblCredits.setBounds(6, 180, 139, 16); -// panel.add(lblCredits); - - JLabel lblRights = new JLabel("Rights: " + StringUtils.formatDisplayName(details.getRights().toString())); - lblRights.setBounds(6, 68, 176, 16); - panel.add(lblRights); - -// JLabel lblDisplayName = new JLabel("Display name: " + details.getUsername()); -// lblDisplayName.setBounds(6, 40, 213, 16); -// panel.add(lblDisplayName); - - JLabel lblNetworth = new JLabel("Networth:"); - lblNetworth.setBounds(6, 264, 165, 16); - panel.add(lblNetworth); - - JLabel lblBanned = new JLabel("Banned: " + (details.getBanTime() > 0)); - lblBanned.setBounds(6, 292, 149, 16); - panel.add(lblBanned); - - JLabel lblMuted = new JLabel("Muted: " + (details.getMuteTime() > 0)); - lblMuted.setBounds(6, 317, 149, 16); - panel.add(lblMuted); - - JLabel lblActive = new JLabel("Active: " + checkActive()); - lblActive.setBounds(6, 342, 165, 16); - panel.add(lblActive); - if (player != null) { - lblNetworth.setText("Networth: " + player.getMonitor().getNetworth() + ""); - } - - JButton btnRefresh = new JButton("Refresh"); - btnRefresh.setBounds(124, 6, 117, 29); - add(btnRefresh); - - JButton btnViewContainer = new JButton("View Container"); - btnViewContainer.addActionListener(e -> { - if (player == null) { - return; - } - viewContainer(); - }); - btnViewContainer.setBounds(365, 6, 144, 29); - add(btnViewContainer); - - JButton btnDelete = new JButton("Delete"); - btnDelete.addActionListener(e -> { - int result = JOptionPane.showConfirmDialog(null, "Are you sure you want to delete this account!?"); - if (result == 0) { - ConsoleFrame.getInstance().getUtilityTab().delete(details); - ConsoleFrame.getInstance().getPlayerTab().closeViewer(PlayerViewer.this); - } - }); - btnDelete.setBounds(244, 6, 117, 29); - add(btnDelete); - } - - /** - * Opens the view containermanager. - */ - public void viewContainer() { - JPanel panel = new JPanel(new GridLayout(0, 1)); - ActionListener listener = e -> { - String name1 = e.getActionCommand(); - Container container = null; - switch (name1) { - case "Inventory": - container = player.getInventory(); - break; - case "Equipment": - container = player.getEquipment(); - break; - case "Bank": - container = player.getBank(); - break; - } - if (container != null) { - showContainer(container, name1); - } - }; - JButton invy = new JButton("Inventory"); - panel.add(invy); - invy.addActionListener(listener); - JButton equip = new JButton("Equipment"); - panel.add(equip); - equip.addActionListener(listener); - JButton bank = new JButton("Bank"); - bank.addActionListener(listener); - panel.add(bank); - JOptionPane.showConfirmDialog(null, panel, "View Container", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); - } - - /** - * Shows a container. - * - * @param container the container. - * @param name the name. - */ - public void showContainer(core.game.container.Container container, String name) { - JPanel panel = new JPanel(new GridLayout(0, 1)); - JScrollPane pane = new JScrollPane(); - DefaultListModel model = new DefaultListModel<>(); - JList list = new JList<>(); - for (Item i : container.toArray()) { - if (i == null) { - continue; - } - model.addElement(i.toString()); - } - list.setModel(model); - pane.setViewportView(list); - panel.add(pane); - JOptionPane.showConfirmDialog(null, panel, name, JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); - } - - /** - * Checks if the player is active. - * - * @return {@code True} if so. - */ - public String checkActive() { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date cutOff = null; - long mili = 0; - try { - cutOff = sdf.parse("2014-6-10"); - mili = cutOff.getTime(); - } catch (ParseException e) { - e.printStackTrace(); - } - return ((details.getLastLogin() < mili) ? "Not " : "") + "Active"; - } - - /** - * Checks active status. - * - * @return the status. - */ - public String getStatus() { - return Repository.getPlayerByName(name) != null ? "Online" : "Offline"; - } - - /** - * Gets the name. - * - * @return the name - */ - public String getName() { - return name; - } - - /** - * Gets the player. - * - * @return the player - */ - public Player getPlayer() { - return player; - } - - /** - * Sets the baplayer. - * - * @param player the player to set. - */ - public void setPlayer(Player player) { - this.player = player; - } -} diff --git a/Server/src/main/java/core/gui/tab/GrandExchangeTab.java b/Server/src/main/java/core/gui/tab/GrandExchangeTab.java deleted file mode 100644 index c6fe68e39..000000000 --- a/Server/src/main/java/core/gui/tab/GrandExchangeTab.java +++ /dev/null @@ -1,191 +0,0 @@ -package core.gui.tab; - - -import core.game.node.entity.player.Player; -import core.gui.ConsoleFrame; -import core.gui.ConsoleTab; -import rs09.game.ge.GrandExchangeOffer; -import rs09.game.ge.OfferManager; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/** - * A tab used to view the grand exchange. - * - * @author Vexia - */ -public class GrandExchangeTab extends ConsoleTab { - - /** - * The serial UID. - */ - private static final long serialVersionUID = -1619650762760289798L; - - /** - * The search field. - */ - private JTextField searchField; - - /** - * The jlist. - */ - private final JList list = new JList(); - - /** - * The model. - */ - private final DefaultListModel model = new DefaultListModel(); - - /** - * The id search field. - */ - private JTextField idSearchField; - - /** - * Constructs a new {@Code GrandExchangeTab} {@Code Object} - */ - @SuppressWarnings("serial") - public GrandExchangeTab() { - super("Grand Exchange"); - list.setCellRenderer(new DefaultListCellRenderer() { - - @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); - GrandExchangeOffer offer = (GrandExchangeOffer) value; - if (offer == null) { - return label; - } - Player player = null; - for (Player p : ConsoleFrame.getInstance().getUtilityTab().getPlayers()) { - if (p == null) { - continue; - } - if (p.getDetails().getUid() == offer.getUid()) { - player = p; - break; - } - } - label.setText((player == null ? "" : player.getName() + " - ") + offer.toString()); - return label; - } - - }); - list.setModel(model); - JLabel lblSearch = new JLabel("Search player:"); - lblSearch.setBounds(24, 20, 95, 16); - add(lblSearch); - - searchField = new JTextField(); - searchField.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - searchPlayer(); - } - }); - searchField.setBounds(119, 14, 185, 28); - add(searchField); - searchField.setColumns(10); - - JPanel panel = new JPanel(); - panel.setBounds(24, 78, 1015, 518); - add(panel); - panel.setLayout(null); - - JScrollPane scrollPane = new JScrollPane(); - scrollPane.setBounds(6, 6, 375, 517); - panel.add(scrollPane); - scrollPane.setViewportView(list); - - JButton btnDisplayDatabase = new JButton("Display Database"); - btnDisplayDatabase.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - displayDatabase(); - } - }); - btnDisplayDatabase.setBounds(316, 15, 173, 29); - add(btnDisplayDatabase); - - JLabel lblNewLabel = new JLabel("Search id:"); - lblNewLabel.setBounds(24, 48, 61, 16); - add(lblNewLabel); - - idSearchField = new JTextField(); - idSearchField.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - searchId(); - } - }); - idSearchField.setColumns(10); - idSearchField.setBounds(119, 48, 185, 28); - add(idSearchField); - - JButton btnNewButton = new JButton("Load"); - btnNewButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - ConsoleFrame.getInstance().getUtilityTab().populateList(); - } - }); - btnNewButton.setBounds(316, 43, 173, 29); - add(btnNewButton); - } - - /** - * Searches the player. - */ - private void searchPlayer() { - model.clear(); - Player player = ConsoleFrame.getInstance().getUtilityTab().getPlayer(searchField.getText()); - if (player == null) { - JOptionPane.showMessageDialog(null, "Error! No player found."); - return; - } - for (GrandExchangeOffer o : player.getPlayerGrandExchange().getOffers()) { - if (o == null) { - continue; - } - addOffer(o); - } - } - - /** - * Searches the id. - */ - private void searchId() { - model.clear(); - int itemId = 0; - try { - itemId = Integer.parseInt(idSearchField.getText()); - } catch (NumberFormatException e) { - - } - for (GrandExchangeOffer o : OfferManager.getOffersForItem(itemId)) { - if (o == null) { - continue; - } - addOffer(o); - } - } - - /** - * Adds a g.e offer. - */ - private void addOffer(GrandExchangeOffer offer) { - model.addElement(offer); - } - - /** - * Displays a database. - */ - private void displayDatabase() { - if (ConsoleFrame.getInstance().getUtilityTab().getPlayers().size() == 0) { - JOptionPane.showMessageDialog(null, "Error! No data in DB yet. Press load."); - return; - } - for (GrandExchangeOffer offer : OfferManager.getOFFER_MAPPING().values()) { - model.addElement(offer); - } - } -} diff --git a/Server/src/main/java/core/gui/tab/PlayerTab.java b/Server/src/main/java/core/gui/tab/PlayerTab.java deleted file mode 100644 index 165220f93..000000000 --- a/Server/src/main/java/core/gui/tab/PlayerTab.java +++ /dev/null @@ -1,187 +0,0 @@ -package core.gui.tab; - - -import rs09.ServerConstants; -import core.gui.ConsoleTab; -import core.gui.component.PlayerViewer; - -import javax.swing.*; -import javax.swing.border.BevelBorder; -import javax.swing.border.SoftBevelBorder; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.util.*; - -/** - * The player tab. - * - * @author Vexia - */ -public class PlayerTab extends ConsoleTab { - - /** - * The serial UID. - */ - private static final long serialVersionUID = 8865322670299347942L; - - /** - * The list of player names to search through. - */ - private final List playerNames = new ArrayList<>(20); - - /** - * The player name text field. - */ - private JTextField textField; - - /** - * The default model. - */ - private final DefaultListModel model = new DefaultListModel(); - - /** - * The tabbed panes. - */ - private final JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); - - /** - * The mapping of open player viewers. - */ - private final Map viewers = new HashMap<>(); - - /** - * Constructs a new {@Code PlayerTab} {@Code Object} - */ - public PlayerTab() { - super("Players"); - - JScrollPane scrollPane = new JScrollPane(); - scrollPane.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null)); - scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); - scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); - scrollPane.setBounds(6, 43, 260, 539); - add(scrollPane); - - final JList list = new JList(); - list.addListSelectionListener(e -> { - if (list.getSelectedValue() != null) { - openViewer(list.getSelectedValue()); - } - }); - list.setModel(model); - scrollPane.setViewportView(list); - - JLabel lblSearchForPlayer = new JLabel("Search for player:"); - lblSearchForPlayer.setBounds(6, 15, 143, 16); - add(lblSearchForPlayer); - - textField = new JTextField(); - textField.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - model.clear(); - if (textField.getText() == null || textField.getText().length() < 1) { - populatePlayerSearch(); - return; - } - for (String name : playerNames) { - if (name.toLowerCase().contains(textField.getText())) { - model.addElement(name); - } - } - } - }); - textField.setBounds(117, 9, 149, 28); - add(textField); - textField.setColumns(10); - - tabbedPane.setBounds(278, 43, 755, 539); - add(tabbedPane); - - JButton btnRepopulate = new JButton("Repopulate"); - btnRepopulate.addActionListener(e -> populatePlayerSearch()); - btnRepopulate.setBounds(278, 10, 117, 29); - add(btnRepopulate); - populatePlayerSearch(); - } - - /** - * Opens a viewer for a player. - * - * @param name the name. - * @return {@code True} if opened. - */ - public boolean openViewer(String name) { - if (viewers.containsKey(name)) { - return false; - } - PlayerViewer viewer = new PlayerViewer(name); - viewers.put(name, viewer); - tabbedPane.add(viewer.getName(), viewer); - return true; - } - - /** - * Closes a viewer. - * - * @param viewer the viewer. - * @return {@code True} if closed. - */ - public boolean closeViewer(PlayerViewer viewer) { - if (!viewers.containsValue(viewer)) { - JOptionPane.showMessageDialog(null, "Error! Viewer wasn't open."); - return false; - } - viewers.remove(viewer.getName()); - tabbedPane.remove(viewer); - return true; - } - - /** - * Populates the searchable names. - */ - public void populatePlayerSearch() { - playerNames.clear(); - model.clear(); - if(ServerConstants.PLAYER_SAVE_PATH == null) return; - File f = new File(ServerConstants.PLAYER_SAVE_PATH); - if (f.listFiles() == null) { - System.out.println("Player directory was null!"); - return; - } - for (File file : Objects.requireNonNull(f.listFiles())) { - String fileName = file.getName(); - if (!fileName.contains(".save")) continue; - String playerName = fileName.replace(".save", "").trim(); - playerNames.add(playerName); - model.addElement(playerName); - } - } - - /** - * Adds a searchable name to the list. - * - * @param name the name. - */ - public void addSearchableName(String name) { - playerNames.add(name); - } - - /** - * Gets the playerNames. - * - * @return the playerNames - */ - public List getPlayerNames() { - return playerNames; - } - - /** - * Gets the viewers. - * - * @return the viewers - */ - public Map getViewers() { - return viewers; - } -} diff --git a/Server/src/main/java/core/gui/tab/StatisticsTab.java b/Server/src/main/java/core/gui/tab/StatisticsTab.java deleted file mode 100644 index 67a065b5f..000000000 --- a/Server/src/main/java/core/gui/tab/StatisticsTab.java +++ /dev/null @@ -1,669 +0,0 @@ -package core.gui.tab; - - -import core.game.node.item.GroundItemManager; -import core.game.system.SystemManager; -import core.game.system.SystemState; -import core.game.world.map.RegionManager; -import core.gui.ConsoleTab; -import rs09.Server; -import rs09.ServerConstants; -import rs09.game.world.GameWorld; -import rs09.game.world.repository.Repository; - -import javax.swing.*; -import javax.swing.border.TitledBorder; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.StandardOpenOption; - -/** - * Handles server info tab. - * - * @author Emperor - */ -public class StatisticsTab extends ConsoleTab { - - /** - * The serial UID. - */ - private static final long serialVersionUID = 6164020580271944550L; - - /** - * The queue size. - */ - public static final int QUEUE_SIZE = 1 << 16; - - /** - * The performance data queue. - */ - private static short[] performanceQueue = new short[QUEUE_SIZE]; - - /** - * The memory data queue. - */ - private static short[] memoryQueue = new short[QUEUE_SIZE]; - - /** - * The current index of the performance queue. - */ - private static int queueIndex = 0; - - /** - * The current statistics zoom. - */ - private static int statisticsZoom = 5; - - /** - * The singleton. - */ - public static final StatisticsTab INSTANCE = new StatisticsTab(); - - /** - * The statistics mouse coordinates. - */ - private Point statisticMousePoint = null; - - /** - * The zoom in button. - */ - private JButton zoomIn; - - /** - * The zoom out button. - */ - private JButton zoomOut; - - /** - * The reset button. - */ - private JButton resetButton; - - /** - * The save log button. - */ - private JButton saveLogButton; - - /** - * The shutdown button. - */ - private JButton shutdown; - - /** - * The file chooser instance. - */ - private JFileChooser fileChooser; - - /** - * If the tool tip is currently opened. - */ - private boolean toolTipOpened; - - /** - * The world statistics text pane. - */ - private StatsTextPane worldStatistics; - - /** - * The thread statistics text pane. - */ - private StatsTextPane threadStatistics; - - /** - * The working time of the main thread. - */ - private static long workingTime; - - /** - * The maximum amount of players being active at the same time. - */ - private static int maximumPlayers; - - /** - * The text area. - */ - private final JTextArea console = new JTextArea(); - - /** - * Constructs a new {@Code StatisticsTab} {@Code Object} - */ - public StatisticsTab() { - super("Statistics"); - setLayout(null); - - JScrollPane scrollPane = new JScrollPane(); - scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); - scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); - scrollPane.setBackground(UIManager.getColor("Button.background")); - scrollPane.setBounds(6, 403, 1042, 189); - scrollPane.setBorder(new TitledBorder(null, "Console", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - add(scrollPane); - - console.setLineWrap(true); - console.setBackground(UIManager.getColor("CheckBox.background")); - console.setEditable(false); - scrollPane.setViewportView(console); - - JLabel label = new JLabel(); - label.setBounds(450, 345, 163, 16); - add(label); - } - - @Override - public String getToolTipText(MouseEvent e) { - if (e.getX() > getWidth() / 2 && e.getX() < getWidth() - && e.getY() > 2 && e.getY() < getHeight() / 2) { - int max = (getWidth() / 2) / statisticsZoom; - int index = queueIndex - (max - (e.getX() - (getWidth() / 2)) / statisticsZoom); - toolTipOpened = true; - if (index < 0) { - return "Tick: null, time: null."; - } - return new StringBuilder("Tick: ").append(index).append(", time: ").append(performanceQueue[index] + 600).append(".").toString(); - } - toolTipOpened = false; - return null; - } - - @Override - public Point getToolTipLocation(MouseEvent e) { - if (e.getX() > getWidth() / 2 && e.getX() < getWidth() - && e.getY() > 2 && e.getY() < getHeight() / 2) { - return new Point(e.getX() + 15, e.getY() + 10); - } - return null; - } - - @Override - public void paint(Graphics g) { - super.paint(g); - drawPerformanceStatistics(this, g); - } - - /** - * Positions the components. - */ - public void positionComponents() { - int init = 90; - int diff = 5; - zoomIn.setLocation(getWidth() / 2 - (zoomIn.getWidth() / 2) - diff, 5 + init); - zoomOut.setLocation(getWidth() / 2 - (zoomOut.getWidth() / 2) - diff, 30 + init); - resetButton.setLocation(getWidth() / 2 - (resetButton.getWidth() / 2) - diff, 55 + init); - saveLogButton.setLocation(getWidth() / 2 - (saveLogButton.getWidth() / 2) - diff, 80 + init); - shutdown.setLocation(getWidth() / 2 - (shutdown.getWidth() / 2), 310); - worldStatistics.setLocation(55, 310); - threadStatistics.setLocation(shutdown.getX() + shutdown.getWidth() + 35, 310); - } - - /** - * Initializes the server info tab. - * - * @return This instance. - */ - public StatisticsTab init() { - initMaximumPlayers(); - fileChooser = new JFileChooser("./"); - zoomIn = new JButton("+"); - zoomIn.setLayout(null); - zoomIn.setVisible(true); - zoomIn.setSize(50, 20); - zoomIn.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - zoomOut.setEnabled(true); - if (++statisticsZoom > 20) { - statisticsZoom = 20; - zoomIn.setEnabled(false); - return; - } - drawPerformanceStatistics(StatisticsTab.this, getGraphics()); - } - }); - zoomOut = new JButton("-"); - zoomOut.setLayout(null); - zoomOut.setVisible(true); - zoomOut.setSize(50, 20); - zoomOut.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - zoomIn.setEnabled(true); - if (--statisticsZoom < 2) { - statisticsZoom = 2; - zoomOut.setEnabled(false); - return; - } - drawPerformanceStatistics(StatisticsTab.this, getGraphics()); - } - }); - resetButton = new JButton("x"); - resetButton.setLayout(null); - resetButton.setVisible(true); - resetButton.setSize(50, 20); - resetButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - queueIndex = 0; - } - }); - saveLogButton = new JButton("", createImageIcon("Save16.gif")); - saveLogButton.setLayout(null); - saveLogButton.setVisible(true); - saveLogButton.setSize(50, 20); - saveLogButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - int returnVal = fileChooser.showSaveDialog(StatisticsTab.this); - if (returnVal == JFileChooser.APPROVE_OPTION) { - File file = fileChooser.getSelectedFile(); - if (!file.getName().contains(".")) { - file = new File(file.getPath() + ".txt"); - } - logQueues(file); - } - } - }); - add(resetButton); - add(zoomIn); - add(zoomOut); - add(saveLogButton); - shutdown = new JButton("Shutdown"); - shutdown.setLayout(null); - shutdown.setVisible(true); - shutdown.setSize(100, 20); - shutdown.addActionListener(e -> SystemManager.flag(SystemState.TERMINATED)); - add(shutdown); - worldStatistics = new StatsTextPane().init(); - worldStatistics.setSize(390, 90); - add(worldStatistics); - updateWorldText(); - threadStatistics = new StatsTextPane().init(); - threadStatistics.setSize(390, 90); - add(threadStatistics); - updateThreadText(); - setLayout(null); - setVisible(true); - ToolTipManager.sharedInstance().setInitialDelay(0); - positionComponents(); - return this; - } - - /** - * Initializes the maximum players count. - */ - private static void initMaximumPlayers() { - setMaximumPlayers(0); - } - - /** - * Sets the maximum amount of players. - * - * @param maximum The maximum. - */ - private static void setMaximumPlayers(int maximum) { - maximumPlayers = maximum; - } - - /** - * Logs the queues. - * - * @param file The file to log to. - */ - protected static void logQueues(File file) { - try (BufferedWriter bw = Files.newBufferedWriter(file.toPath(), StandardCharsets.UTF_8, StandardOpenOption.APPEND)) { - bw.append("/////////////////////////////////////////////////////////////////////////"); - bw.newLine(); - bw.append("/////////////////////////////////////////////////////////////////////////"); - bw.newLine(); - // bw.append("// " + CalenderDate.getFormattedDate() + " performance log results:"); - bw.newLine(); - bw.append("/////////////////////////////////////////////////////////////////////////"); - bw.newLine(); - for (int i = 0; i < queueIndex; i++) { - bw.append(new StringBuilder("performance_report:memory_usage-[tick=").append(i).append(", mem=").append(memoryQueue[i]).append("mb].")); - bw.newLine(); - } - for (int i = 0; i < queueIndex; i++) { - int value = 600 + performanceQueue[i]; - bw.append(new StringBuilder("performance_report:clock_speed-[tick=").append(i).append(", time=").append(value).append(", status=").append(value < 601 ? "NORMAL]." : "DELAYED].")); - bw.newLine(); - } - bw.append("/////////////////////////////////////////////////////////////////////////"); - bw.newLine(); - bw.flush(); - bw.close(); - } catch (Throwable t) { - t.printStackTrace(); - } - } - - /** - * Creates an image icon. - * - * @param path The path of the image file. - * @return The image icon. - */ - private static ImageIcon createImageIcon(String path) { - URL imgURL = StatisticsTab.class.getResource(path); - if (imgURL != null) { - return new ImageIcon(imgURL); - } - return null; - } - - /** - * Reports the performance value. - * - * @param value The value. - */ - public static void reportPerformance(int value) { - if (value >= Short.MAX_VALUE) { - value = Short.MAX_VALUE - 1; - } - secureQueues(); - performanceQueue[queueIndex] = (short) value; - memoryQueue[queueIndex++] = (short) ((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / 1_000_000); - INSTANCE.repaint(); - workingTime += (600 + value); - if (INSTANCE.threadStatistics != null) { - INSTANCE.updateThreadText(); - if ((GameWorld.getTicks() % 10) == 0) { - INSTANCE.updateWorldText(); - } - } - } - - /** - * Updates the thread statistics text. - */ - public void updateThreadText() { - StringBuilder sb = new StringBuilder(); - long runtime = System.currentTimeMillis() - Server.startTime; - double percentage = workingTime / (runtime * 0.01); - long hours = runtime / 3600000; - runtime -= hours * 3600000; - long minutes = runtime / 60000; - runtime -= minutes * 60000; - long seconds = runtime / 1000; - sb.append("Runtime: ").append(hours).append("h ").append(minutes).append("m ").append(seconds).append("s").append(" - ").append(GameWorld.getTicks()).append(" ticks").append("\n"); - sb.append("Working time: ").append(workingTime).append("ms").append(" - ").append(String.format("%.2f", percentage)).append("%").append("\n"); - sb.append("Average cycle: ").append(String.format("%.1f", (double) workingTime / GameWorld.getTicks())).append("ms").append("\n"); - threadStatistics.setText(sb.toString()); - } - - /** - * Updates the world statistics text. - */ - public void updateWorldText() { - int players = Repository.getPlayers().size(); - if (players > getMaximumPlayers()) { - setMaximumPlayers(players); - } - StringBuilder sb = new StringBuilder(); - sb.append("Players: ").append(players).append(", max: ").append(getMaximumPlayers()).append("\n"); - sb.append("NPCs: ").append(Repository.getNpcs().size()).append("\n"); - sb.append("Regions: ").append(RegionManager.getRegionCache().size()).append("\n"); - sb.append("Ground items: ").append(GroundItemManager.getItems().size()).append("\n"); - worldStatistics.setText(sb.toString()); - } - - /** - * Draws the performance statistics. - * - * @param c The component. - * @param g The graphics. - */ - private static void drawPerformanceStatistics(Component c, Graphics g) { - int x = c.getWidth() / 2 + 48; - int y = c.getHeight() / 2; - - Point zero = new Point(x, y / 2); - g.setColor(Color.LIGHT_GRAY); - - //Fill the background rectangle. - g.fillRect(x, 5, c.getWidth() - 4 - x, y - 5); - g.setColor(Color.GRAY); - - int count = 0; - for (int i = 0; i < c.getWidth() - 4 - x; i += statisticsZoom) { - g.drawLine((int) (zero.getX() + i), 5, - (int) (zero.getX() + i), y - 1); - count++; - } - - int space = (y / 2 - 10) / 4; - g.setFont(new Font(null, Font.PLAIN, 9)); - for (int i = 0; i < 5; i++) { - g.setColor(i == 0 ? Color.BLACK : Color.GRAY); - g.drawLine(x, (int) zero.getY() - (space * i), c.getWidth() - 5, (int) zero.getY() - (space * i)); - g.drawLine(x, (int) zero.getY() + (space * i), c.getWidth() - 5, (int) zero.getY() + (space * i)); - g.setColor(Color.BLACK); - g.drawString("" + (i * 150), x - 18, (int) zero.getY() - (space * i) + 2); - if (i != 0) { - g.drawString("-" + (i * 150), x - 20, (int) zero.getY() + (space * i) + 2); - } - } - g.setColor(Color.GREEN); - for (int i = 1; i < count; i++) { - int index = queueIndex - i; - if (index < 1) { - break; - } - int fromPoint = performanceQueue[index]; - int fromX = (count - i) * statisticsZoom; - int fromY = (int) (-fromPoint / (600D / (space * 4))); - int toPoint = index == 0 ? 0 : performanceQueue[index - 1]; - int toX = (count - i - 1) * statisticsZoom; - int toY = (int) (-toPoint / (600D / (space * 4))); - if (fromY < 0) { - g.setColor(Color.RED); - } - g.drawLine((int) (zero.getX() + fromX), (int) (zero.getY() + fromY), - (int) (zero.getX() + toX), (int) (zero.getY() + toY)); - if (fromY >= 0) { - g.setColor(Color.GREEN); - } - } - g.setColor(Color.BLACK); - //Draw vertical line. - g.drawLine(x, y + 4, x, 1); - Point p = ((StatisticsTab) c).statisticMousePoint; - if (p != null) { - g.setColor(new Color(251, 230, 130)); - g.fillRoundRect((int) (p.getX() + 10), (int) (p.getY() - 10), 100, 50, 10, 10); - } - if (((StatisticsTab) c).toolTipOpened) { - ((StatisticsTab) c).setToolTipText("test"); - } - drawMemoryStatistics(c, g); - } - - /** - * Draws the performance statistics. - * - * @param c The component. - * @param g The graphics. - */ - private static void drawMemoryStatistics(Component c, Graphics g) { - int x = 5; - int y = c.getHeight() / 2; - int endX = (c.getWidth() / 2) - 48; - - Point zero = new Point(x + 18, y); - g.setColor(Color.LIGHT_GRAY); - - //Fill the background rectangle. - g.fillRect((int) zero.getX(), 5, endX - x, y - 5); - g.setColor(Color.GRAY); - - int count = 0; - for (int i = 0; i < endX - x; i += statisticsZoom) { - g.drawLine((int) (zero.getX() + i), 5, - (int) (zero.getX() + i), y - 1); - count++; - } - - int space = (y) / 10; - g.setFont(new Font(null, Font.PLAIN, 9)); - for (int i = 0; i < 10; i++) { - g.setColor(Color.GRAY); - g.drawLine((int) zero.getX() - 2, (int) zero.getY() - (space * i), endX + 17, (int) zero.getY() - (space * i)); - g.setColor(Color.BLACK); - g.drawString("" + (i * 100), 2, (int) zero.getY() - (space * i) + 2); - } - g.setColor(Color.BLUE); - for (int i = 1; i < count; i++) { - int index = queueIndex - i; - if (index < 1) { - break; - } - int fromPoint = memoryQueue[index]; - int fromX = (count - i) * statisticsZoom; - int fromY = (int) (fromPoint / (900D / (space * 10))); - int toPoint = index == 0 ? 0 : memoryQueue[index - 1]; - int toX = (count - i - 1) * statisticsZoom; - int toY = (int) (toPoint / (900D / (space * 10))); - if (fromY < 0) { - g.setColor(Color.RED); - } - g.drawLine((int) (zero.getX() + fromX), (int) (zero.getY() - fromY), - (int) (zero.getX() + toX), (int) (zero.getY() - toY)); - if (fromY < 0) { - g.setColor(Color.GREEN); - } - } - g.setColor(Color.BLACK); - //Draw horizontal line. - g.drawLine((int) (zero.getX() - 4), (int) zero.getY(), endX + 21, (int) zero.getY()); - //Draw vertical line. - g.drawLine((int) zero.getX(), (int) zero.getY() + 4, (int) zero.getX(), 1); - Point p = ((StatisticsTab) c).statisticMousePoint; - if (p != null) { - g.setColor(new Color(251, 230, 130)); - g.fillRoundRect((int) (p.getX() + 10), (int) (p.getY() - 10), 100, 50, 10, 10); - } - if (((StatisticsTab) c).toolTipOpened) { - ((StatisticsTab) c).setToolTipText("test"); - } - } - - /** - * Secures the queues. - */ - private static void secureQueues() { - if (queueIndex >= QUEUE_SIZE) { - int lagSpikes = 0; - int memoryUsageSpikes = 0; - @SuppressWarnings("unused") - int totalMemory = 0; - @SuppressWarnings("unused") - int totalCycleTime = 0; - //Start at tick 500, the JVM has to "warm up" first. - for (int i = 500; i < QUEUE_SIZE; i++) { - if (performanceQueue[i] > 0) { //Anything above 0 (-600 + 600) = lag - lagSpikes++; - } - if (memoryQueue[i] > 700) { //Over 700Mb - memoryUsageSpikes++; - } - totalMemory += memoryQueue[i]; - totalCycleTime += performanceQueue[i]; - } - if (lagSpikes > 350 || memoryUsageSpikes > 350) { - logQueues(new File(ServerConstants.LOGS_PATH + "/system/Performance-log.txt")); - } - //System.out.println("Average cycle time: " + (600 + (totalCycleTime / (QUEUE_SIZE - 500))) + "ms."); - //System.out.println("Average memory usage: " + (totalMemory / (QUEUE_SIZE - 500)) + "Mb."); - queueIndex = 0; - } - } - - /** - * Logs a message to the console. - * - * @param message the message. - */ - public void log(String message) { - console.append(message + "\n"); - console.setCaretPosition(console.getDocument().getLength()); - } - - /** - * Sets the statistics zoom. - * - * @param pixels The amount of pixels. - */ - public static void setStatisticsZoom(int pixels) { - statisticsZoom = pixels; - } - - /** - * Gets the workingTime. - * - * @return The workingTime. - */ - public static long getWorkingTime() { - return workingTime; - } - - /** - * Sets the workingTime. - * - * @param workingTime The workingTime to set. - */ - public static void setWorkingTime(long workingTime) { - StatisticsTab.workingTime = workingTime; - } - - /** - * Gets the maximumPlayers. - * - * @return The maximumPlayers. - */ - public static int getMaximumPlayers() { - return maximumPlayers; - } - - /** - * Handles the statistics tab text pane. - * - * @author Emperor - */ - public final class StatsTextPane extends JTextPane { - - /** - * The serial UID. - */ - private static final long serialVersionUID = 664276151176087663L; - - /** - * Constructs a new {@code StatsTextPane} {@code Object}. - */ - public StatsTextPane() { - super(); - } - - /** - * Initializes the stats text pane. - * - * @return The stats text pane. - */ - public StatsTextPane init() { - setEditable(false); - setLayout(null); - Font font = new Font("Monospaced", Font.PLAIN, 12); - setFont(font); - super.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1)); - super.setVisible(true); - return this; - } - - } -} diff --git a/Server/src/main/java/core/gui/tab/UtilityTab.java b/Server/src/main/java/core/gui/tab/UtilityTab.java deleted file mode 100644 index d2c07a0b8..000000000 --- a/Server/src/main/java/core/gui/tab/UtilityTab.java +++ /dev/null @@ -1,600 +0,0 @@ -package core.gui.tab; - - -import core.game.node.entity.player.Player; -import core.game.node.entity.player.info.PlayerDetails; -import core.game.node.entity.player.info.Rights; -import core.game.node.item.Item; -import core.game.system.task.TaskExecutor; -import core.gui.ConsoleFrame; -import core.gui.ConsoleTab; -import core.tools.PlayerLoader; -import core.tools.StringUtils; -import kotlin.Unit; - -import javax.swing.*; -import javax.swing.border.EtchedBorder; -import javax.swing.border.TitledBorder; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.text.NumberFormat; -import java.util.*; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * Handles the utility programs. - * - * @author Vexia - */ -public final class UtilityTab extends ConsoleTab { - /** - * The {@link Logger} instance. - */ - private static final Logger logger = Logger.getLogger(UtilityTab.class.getName()); - /** - * The utility tab. - */ - private static final UtilityTab INSTANCE = new UtilityTab(); - - /** - * The serial UID. - */ - private static final long serialVersionUID = -4962790192758757624L; - - /** - * The list of players. - */ - private final List players = new ArrayList<>(20); - - /** - * The mapping of ips & their users. - */ - private final Map> IPS = new HashMap<>(); - - /** - * The mapping of macs & their users. - */ - private final Map> MACS = new HashMap<>(); - - /** - * The mapping of comp names & their users. - */ - private final Map> COMPS = new HashMap<>(); - - /** - * The players loaded list. - */ - private final JLabel lblPlayersLoaded = new JLabel("Players loaded: "); - - /** - * If the map is being populated. - */ - private boolean populating; - - /** - * Constructs a new {@Code UtilityTab} {@Code Object} - */ - public UtilityTab() { - super("Utilities"); - - JPanel panel = new JPanel(); - panel.setBorder(new TitledBorder(null, "Resolvers & Trackers", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel.setBackground(UIManager.getColor("Button.background")); - panel.setBounds(18, 98, 152, 219); - add(panel); - panel.setLayout(null); - JButton btnResolveIp = new JButton("Resolve Ip"); - btnResolveIp.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - resolve(IPS); - } - }); - btnResolveIp.setBounds(17, 28, 117, 29); - panel.add(btnResolveIp); - - JButton btnResolveMac = new JButton("Resolve Mac"); - btnResolveMac.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - resolve(MACS); - } - }); - btnResolveMac.setBounds(17, 69, 117, 29); - panel.add(btnResolveMac); - - JButton btnResolveCompName = new JButton("Resolve Comp"); - btnResolveCompName.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - resolve(COMPS); - } - }); - btnResolveCompName.setBounds(17, 110, 117, 29); - panel.add(btnResolveCompName); - - JButton btnPopulateMaps = new JButton("Populate Maps"); - btnPopulateMaps.addActionListener(e -> { - populateList(); - JOptionPane.showMessageDialog(null, "Finished populating maps!"); - }); - btnPopulateMaps.setBounds(405, 32, 236, 29); - add(btnPopulateMaps); - - JLabel lblMustBeDone = new JLabel("MUST BE DONE BEFORE RUNNING TOOLS"); - lblMustBeDone.setBounds(390, 6, 379, 16); - add(lblMustBeDone); - - lblPlayersLoaded.setBounds(460, 61, 157, 16); - add(lblPlayersLoaded); - - JPanel panel_1 = new JPanel(); - panel_1.setLayout(null); - panel_1.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null), "Wealth & Items", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBackground(UIManager.getColor("Button.background")); - panel_1.setBounds(182, 98, 145, 219); - add(panel_1); - - JButton btnWealthScanner = new JButton("Wealth Scanner"); - btnWealthScanner.addActionListener(e -> wealthScanner()); - btnWealthScanner.setBounds(6, 29, 129, 29); - panel_1.add(btnWealthScanner); - - JButton btnItemScanner = new JButton("Item Scanner"); - btnItemScanner.addActionListener(e -> itemScanner()); - btnItemScanner.setBounds(6, 69, 129, 29); - panel_1.add(btnItemScanner); - - JPanel panel_2 = new JPanel(); - panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null), "Player Utils", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_2.setBackground(UIManager.getColor("Button.background")); - panel_2.setBounds(345, 98, 145, 219); - add(panel_2); - - JButton btnStaffChecker = new JButton("Staff Scanner"); - btnStaffChecker.addActionListener(e -> staffScanner()); - btnStaffChecker.setBounds(6, 29, 129, 29); - panel_2.add(btnStaffChecker); - - JPanel panel_3 = new JPanel(); - panel_3.setLayout(null); - panel_3.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null), "Security", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_3.setBackground(UIManager.getColor("Button.background")); - panel_3.setBounds(502, 98, 145, 219); - add(panel_3); - - JButton btnMacViewer = new JButton("Mac Viewer"); - btnMacViewer.addActionListener(e -> viewMacs()); - btnMacViewer.setBounds(6, 29, 129, 29); - panel_3.add(btnMacViewer); - - JButton btnMacRemover = new JButton("Mac Remover"); - btnMacRemover.addActionListener(e -> removeMac()); - btnMacRemover.setBounds(6, 64, 129, 29); - panel_3.add(btnMacRemover); - } - - /** - * Removes a mac. - */ - public void removeMac() { - String mac = JOptionPane.showInputDialog("Enter address:"); - if (mac == null || mac.length() <= 1) { - JOptionPane.showMessageDialog(null, "Error! Nothing entered."); - return; - } -// if (SystemManager.getSecurity().isBanned(mac)) { -// SystemManager.getSecurity().remove(mac); -// JOptionPane.showMessageDialog(null, "Removed the mac - " + mac + "!"); -// } else { -// JOptionPane.showMessageDialog(null, "Error! Couldn't find mac in system manager."); -// } - } - - /** - * Views the banned macs. - */ - public void viewMacs() { - JPanel panel = new JPanel(new GridLayout(0, 1)); - JScrollPane pane = new JScrollPane(); - DefaultListModel model = new DefaultListModel(); - JList list = new JList(); -// for (String i : SystemManager.getSecurity().getBannedAddresses()) { -// if (i == null) { -// continue; -// } -// model.addElement(i.toString()); -// } - list.setModel(model); - pane.setViewportView(list); - panel.add(pane); - JOptionPane.showConfirmDialog(null, panel, "Banned Addresses", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); - } - - /** - * Wealth scanner. - */ - public void wealthScanner() { - String args = JOptionPane.showInputDialog("Enter item id:"); - int id = -1; - if (args != null && args.length() > 0) { - try { - id = Integer.parseInt(args); - } catch (NumberFormatException e) { - id = -1; - logger.log(Level.WARNING, "Error in wealth scanner, number exception!"); - } - } - List data = wealthScanner(id); - JPanel panel = new JPanel(new GridLayout(0, 1)); - JScrollPane pane = new JScrollPane(); - DefaultListModel model = new DefaultListModel(); - JList list = new JList(); - for (String i : data) { - if (i == null) { - continue; - } - model.addElement(i.toString()); - } - list.setModel(model); - pane.setViewportView(list); - panel.add(pane); - JOptionPane.showConfirmDialog(null, panel, "Wealth Scanner", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); - - } - - /** - * Wealth scanner. - */ - public List wealthScanner(int itemId) { - Item item = null; - if (itemId != -1) { - item = new Item(itemId); - } - Object[][] mostWealthy = new Object[50][2]; - int player = 0; - long count = 0; - for (Player p : players) { - if (p.getDetails().getRights() == Rights.PLAYER_MODERATOR) { - continue; - } - if (item != null) { - long old = count; - count += p.getInventory().getAmount(item); - count += p.getEquipment().getAmount(item); - count += p.getBank().getAmount(item); - if (old != count) { - player++; - } - } - for (int i = 0; i < mostWealthy.length; i++) { - Long value = (Long) mostWealthy[i][0]; - if (value == null || value < p.getMonitor().getNetworth()) { - for (int j = mostWealthy.length - 1; j > i; j--) { - mostWealthy[j] = mostWealthy[j - 1]; - } - mostWealthy[i] = new Object[2]; - mostWealthy[i][0] = p.getMonitor().getNetworth(); - mostWealthy[i][1] = p.getName(); - break; - } - } - } - List formats = new ArrayList<>(20); - for (int i = mostWealthy.length - 1; i >= 0; i--) { - Object[] info = mostWealthy[i]; - if (info != null && info[0] != null) { - formats.add(i + ": " + info[1] + " - " + NumberFormat.getNumberInstance(Locale.US).format((Long) info[0]) + " coins."); - } - } - if (item != null) { - formats.add(NumberFormat.getNumberInstance(Locale.US).format(count) + " occurrences of item " + item.getName() + " (id=" + item.getId() + ") by " + player + " players!"); - } - return formats; - } - - /** - * The item scanner. - */ - public void itemScanner() { - String args = JOptionPane.showInputDialog("Enter item id:"); - Item item = new Item(11694); - if (args != null && args.length() > 0) { - try { - item = new Item(Integer.parseInt(args)); - } catch (NumberFormatException e) { - item = new Item(11694); - logger.log(Level.WARNING, "Error in wealth scanner, number exception!"); - } - } - List formats = itemScanner(item); - JPanel panel = new JPanel(new GridLayout(0, 1)); - JScrollPane pane = new JScrollPane(); - DefaultListModel model = new DefaultListModel(); - JList list = new JList(); - for (String i : formats) { - if (i == null) { - continue; - } - model.addElement(i.toString()); - } - list.setModel(model); - pane.setViewportView(list); - panel.add(pane); - JOptionPane.showConfirmDialog(null, panel, "Item Scanner", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); - } - - /** - * Scans for items in the eco. - */ - public List itemScanner(Item item) { - Map map = new HashMap<>(); - for (Player p : players) { - List containers = new ArrayList<>(20); - containers.add(p.getInventory()); - containers.add(p.getBank()); - containers.add(p.getEquipment()); - int amount = 0; - for (core.game.container.Container container : containers) { - Item i = container.getItem(item); - if (i != null) { - amount += i.getAmount(); - } - } - if (amount > 0) { - map.put(p.getName(), amount); - } - } - List formats = new ArrayList<>(20); - for (Map.Entry entry : map.entrySet()) { - formats.add("Player name=" + entry.getKey() + ", contained a total of " + entry.getValue() + " " + item.getName() + "."); - } - if (formats.size() == 0) { - formats.add("There were no occurrences of " + item + "."); - } - return formats; - } - - /** - * Resolves the address. - * - * @param map the map. - */ - public void resolve(Map> map) { - String address = JOptionPane.showInputDialog("Enter the address."); - List names = resolve(map, address, false); - String string = "No names found registered with that address!"; - if (names == null) { - JOptionPane.showMessageDialog(null, string); - } else { - string = "Names:" + Arrays.toString(names.toArray()); - JOptionPane.showMessageDialog(null, string); - } - } - - /** - * Resolves & tracks an adddress. - * - * @param map the map. - * @param value the value. - * @param name if the name or not. - * @return the names resolved. - */ - public List resolve(Map> map, String value, boolean name) { - List names = null; - String address = !name ? value : ""; - if (name) { - for (Map.Entry> entry : map.entrySet()) { - for (String s : entry.getValue()) { - if (s.equals(value)) { - address = entry.getKey(); - break; - } - } - } - } - names = map.get(address); - return names; - } - - /** - * Gets the mapping. - * - * @param id the id. - * @return the map. - */ - public Map> getMap(int id) { - return id == 1 ? IPS : id == 2 ? MACS : COMPS; - } - - /** - * Populates the lists. - */ - public void populateList() { - if (populating) { - return; - } - populating = true; - players.clear(); - TaskExecutor.execute(() -> { - Thread.currentThread().setName("Utility Tab"); - ConsoleFrame.getInstance().getPlayerTab().getPlayerNames().clear(); - ConsoleFrame.getInstance().getPlayerTab().populatePlayerSearch(); - for (String name : ConsoleFrame.getInstance().getPlayerTab().getPlayerNames()) { - Player player = PlayerLoader.getPlayerFile(name); - if (player == null) { - continue; - } - PlayerDetails details = player.getDetails(); - if (details != null) { - addAddressToMap(name, details.getIpAddress(), IPS); - addAddressToMap(name, details.getMacAddress(), MACS); - addAddressToMap(name, details.getCompName(), COMPS); - players.add(player); - } - } - populating = false; - System.gc(); - lblPlayersLoaded.setText("Players loaded: " + players.size()); - return Unit.INSTANCE; - }); - } - - /** - * Checks the staff. - */ - public void staffScanner() { - List staff = new ArrayList<>(20); - for (Player player : players) { - if (player.getDetails().getRights() != Rights.REGULAR_PLAYER) { - staff.add(player.getName() + " - " + StringUtils.formatDisplayName(player.getDetails().getRights().toString())); - } - } - JPanel panel = new JPanel(new GridLayout(0, 1)); - JScrollPane pane = new JScrollPane(); - DefaultListModel model = new DefaultListModel(); - JList list = new JList(); - for (String i : staff) { - if (i == null) { - continue; - } - model.addElement(i.toString()); - } - list.setModel(model); - pane.setViewportView(list); - panel.add(pane); - JOptionPane.showConfirmDialog(null, panel, "Staff Scanner", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); - } - - /** - * Adds an address with its names to the map. - * - * @param name the name. - * @param address the address. - * @param map the map. - */ - public void addAddressToMap(String name, String address, Map> map) { - if (address == null) { - return; - } - List names = map.get(address); - if (names == null) { - names = new ArrayList(); - } - names.add(name); - map.put(address, names); - } - - /** - * Deletes a player. - * - * @param details the details. - */ - public void delete(PlayerDetails details) { - if (details.getRights() == Rights.PLAYER_MODERATOR) { - return; - } - // TODO -// Connection connection = SQLManager.getConnection(); -// PreparedStatement statement; -// try { -// statement = connection.prepareStatement("DELETE FROM " + "playerdata" + " WHERE " + "" + "username" + "='" + details.getUsername().toLowerCase() + "'"); -// statement.execute(); -// statement = connection.prepareStatement("DELETE FROM " + "highscores" + " WHERE " + "" + "username" + "='" + details.getUsername().toLowerCase() + "'"); -// statement.execute(); -// } catch (SQLException e) { -// e.printStackTrace(); -// } -// -// File detailFile = new File(GameConstants.getPlayerDetailsPath() + "/" + details.getUsername() + ".store"); -// File playerFile = new File(GameConstants.getPlayerSavePath() + "/" + details.getUsername() + ".store"); -// detailFile.delete(); -// playerFile.delete(); -// SQLManager.close(connection); -// ConsoleFrame.getInstance().getPlayerTab().getPlayerNames().remove(details.getUsername()); - - } - - /** - * Gets the player. - * - * @param name the name. - * @return the player. - */ - public Player getPlayer(String name) { - if (players.size() == 0) { - populateList(); - return null; - } - for (Player p : players) { - if (p.getName().equals(name)) { - return p; - } - } - return null; - } - - /** - * Gets the ips. - * - * @return the ips. - */ - public Map> getIps() { - return IPS; - } - - /** - * Gets the macs. - * - * @return the macs. - */ - public Map> getMacs() { - return MACS; - } - - /** - * Gets the comps. - * - * @return the comps. - */ - public Map> getComps() { - return COMPS; - } - - /** - * Gets the players. - * - * @return the players. - */ - public List getPlayers() { - return players; - } - - /** - * Gets the populating. - * - * @return the populating - */ - public boolean isPopulating() { - return populating; - } - - /** - * Sets the bapopulating. - * - * @param populating the populating to set. - */ - public void setPopulating(boolean populating) { - this.populating = populating; - } - - /** - * Gets the instance. - * - * @return the instance - */ - public static UtilityTab getInstance() { - return INSTANCE; - } -} diff --git a/Server/src/main/java/core/net/IoSession.java b/Server/src/main/java/core/net/IoSession.java index f3b8d5f1f..4c7819d42 100644 --- a/Server/src/main/java/core/net/IoSession.java +++ b/Server/src/main/java/core/net/IoSession.java @@ -5,7 +5,7 @@ import core.game.node.entity.player.Player; import core.game.node.entity.player.info.ClientInfo; import core.game.node.entity.player.info.login.Response; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.producer.HSEventProducer; import core.net.producer.LoginEventProducer; @@ -215,7 +215,7 @@ public class IoSession { channel.socket().close(); if (object instanceof Player) { final Player p = getPlayer(); - GameWorld.getPulser().submit(new Pulse(0) { + World.getPulser().submit(new Pulse(0) { @Override public boolean pulse() { if (p.isActive() && !p.getSession().active) { diff --git a/Server/src/main/java/core/net/NioReactor.java b/Server/src/main/java/core/net/NioReactor.java deleted file mode 100644 index 42fea5a1d..000000000 --- a/Server/src/main/java/core/net/NioReactor.java +++ /dev/null @@ -1,148 +0,0 @@ -package core.net; - -import core.net.amsc.MSEventHandler; - -import java.io.IOException; -import java.net.InetSocketAddress; -import java.nio.channels.SelectionKey; -import java.nio.channels.Selector; -import java.nio.channels.ServerSocketChannel; -import java.nio.channels.SocketChannel; -import java.util.Iterator; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -/** - * Handles (NIO-based) networking events using the reactor pattern. - * @author Emperor - */ -public final class NioReactor implements Runnable { - - /** - * The executor service. - */ - private final ExecutorService service; - - /** - * The socket channel. - */ - private ServerSocketConnection channel; - - /** - * The I/O event handling instance. - */ - private IoEventHandler eventHandler; - - /** - * If the reactor is running. - */ - private boolean running; - - /** - * Constructs a new {@code NioReactor}. - */ - private NioReactor(IoEventHandler eventHandler) { - this.service = Executors.newSingleThreadScheduledExecutor(); - this.eventHandler = eventHandler; - } - - /** - * Creates and configures a new {@code NioReactor} with a pool size of 1. - * @param port The port. - * @return The {@code NioReactor} {@code Object}. - * @throws IOException When an I/O exception occurs. - */ - public static NioReactor configure(int port) throws IOException { - return configure(port, 1); - } - - /** - * Creates and configures a new {@code NioReactor}. - * @param port The port. - * @param poolSize The amount of threads in the thread pool. - * @return The {@code NioReactor} {@code Object}. - * @throws IOException When an I/O exception occurs. - */ - public static NioReactor configure(int port, int poolSize) throws IOException { - NioReactor reactor = new NioReactor(new IoEventHandler(Executors.newFixedThreadPool(poolSize))); - ServerSocketChannel channel = ServerSocketChannel.open(); - Selector selector = Selector.open(); - channel.bind(new InetSocketAddress(port)); - channel.configureBlocking(false); - channel.register(selector, SelectionKey.OP_ACCEPT); - reactor.channel = new ServerSocketConnection(selector, channel); - return reactor; - } - - /** - * Starts a NIO reactor used for client connections. - * @param address The IP-address to connect to. - * @param port The port used. - * @return The NIO reactor object. - * @throws IOException When an exception occurs. - */ - public static NioReactor connect(String address, int port) throws IOException { - NioReactor reactor = new NioReactor(new MSEventHandler()); - Selector selector = Selector.open(); - SocketChannel channel = SocketChannel.open(); - channel.configureBlocking(false); - channel.socket().setKeepAlive(true); - channel.socket().setTcpNoDelay(true); - channel.connect(new InetSocketAddress(address, port)); - channel.register(selector, SelectionKey.OP_CONNECT); - reactor.channel = new ServerSocketConnection(selector, channel); - return reactor; - } - - /** - * Starts the reactor. - */ - public void start() { - running = true; - service.execute(this); - } - - @Override - public void run() { - Thread.currentThread().setName("NioReactor"); - while (running) { - try { - channel.getSelector().select(); - } catch (IOException e) { - e.printStackTrace(); - } - Iterator iterator = channel.getSelector().selectedKeys().iterator(); - while (iterator.hasNext()) { - SelectionKey key = iterator.next(); - iterator.remove(); - try { - if (!key.isValid() || !key.channel().isOpen()) { - key.cancel(); - continue; - } - if (key.isConnectable()) { - eventHandler.connect(key); - } - if (key.isAcceptable()) { - eventHandler.accept(key, channel.getSelector()); - } - if (key.isReadable()) { - eventHandler.read(key); - } else if (key.isWritable()) { - eventHandler.write(key); - } - } catch (Throwable t) { - eventHandler.disconnect(key, t); - } - } - } - } - - /** - * Terminates the reactor (once it's done processing current I/O events). - */ - public void terminate() { - running = false; - } - -} \ No newline at end of file diff --git a/Server/src/main/java/core/net/amsc/WorldCommunicator.java b/Server/src/main/java/core/net/amsc/WorldCommunicator.java deleted file mode 100644 index cce4f911e..000000000 --- a/Server/src/main/java/core/net/amsc/WorldCommunicator.java +++ /dev/null @@ -1,235 +0,0 @@ -package core.net.amsc; - -import core.game.node.entity.player.info.Rights; -import core.game.node.entity.player.info.login.Response; -import core.game.system.task.TaskExecutor; -import core.net.EventProducer; -import core.net.IoSession; -import core.net.NioReactor; -import core.net.producer.MSHSEventProducer; -import kotlin.Unit; -import rs09.game.node.entity.player.info.login.LoginParser; -import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; - -import java.io.IOException; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Handles world communication. - * @author Emperor - */ -public final class WorldCommunicator { - - /** - * The handshake events producer. - */ - private static final EventProducer HANDSHAKE_PRODUCER = new MSHSEventProducer(); - - /** - * The current state. - */ - private static ManagementServerState state = ManagementServerState.CONNECTING; - - /** - * The I/O session. - */ - private static IoSession session; - - /** - * The world information. - */ - private static final WorldStatistics[] WORLDS = new WorldStatistics[10]; - - /** - * The current login attempts. - */ - private static final Map loginAttempts = new ConcurrentHashMap<>(); - - /** - * The NIO reactor. - */ - private static NioReactor reactor; - - /** - * Registers a new world. - * @param session The session. - */ - public static void register(IoSession session) { - WorldCommunicator.session = session; - session.setProducer(HANDSHAKE_PRODUCER); - session.write(true); - WORLDS[GameWorld.getSettings().getWorldId() - 1] = new WorldStatistics(GameWorld.getSettings().getWorldId()); - session.setObject(WORLDS[GameWorld.getSettings().getWorldId() - 1]); - } - - /** - * Registers a login attempt. - * @param parser The login attempt. - */ - public static void register(final LoginParser parser) { - LoginParser p = loginAttempts.get(parser.getDetails().getUsername()); - if (p != null && GameWorld.getTicks() - p.getTimeStamp() < 50 && p.getDetails().getRights() == Rights.REGULAR_PLAYER) { - parser.getDetails().getSession().write(Response.ALREADY_ONLINE, true); - return; - } - loginAttempts.put(parser.getDetails().getUsername(), parser); - TaskExecutor.executeSQL(() -> { - if (!parser.getDetails().parse()) { - parser.getDetails().getSession().write(Response.INVALID_LOGIN_SERVER, true); - return Unit.INSTANCE; - } - MSPacketRepository.sendPlayerRegistry(parser); - return Unit.INSTANCE; - }); - } - - /** - * Attempts to connect to the management server. - */ - public static void connect() { - try { - SystemLogger.logInfo("Attempting to connect to management server..."); - setState(ManagementServerState.CONNECTING); - /*if (isLocallyHosted()) { - SystemLogger.log("Management server is hosted on local machine!"); - reactor = NioReactor.connect(GameWorld.getSettings().getMsAddress(), 5555); - } else {*/ - reactor = NioReactor.connect(GameWorld.getSettings().getMsAddress(), 5555); - //} - reactor.start(); - } catch (Throwable e) { - SystemLogger.logErr("Unable to connect to management server"); - e.printStackTrace(); - terminate(); - } - } - - /** - * Checks if the Management server is locally hosted. - * @return {@code True} if so. - * @throws IOException When an I/O exception occurs. - */ - private static boolean isLocallyHosted() throws IOException { - InetAddress address = InetAddress.getByName(GameWorld.getSettings().getMsAddress()); - if (address.isAnyLocalAddress() || address.isLoopbackAddress()) { - return true; - } - return NetworkInterface.getByInetAddress(address) != null; - } - - /** - * Terminates the world communicator. - */ - public static void terminate() { - setState(ManagementServerState.NOT_AVAILABLE); - if (reactor != null) { - reactor.terminate(); - reactor = null; - } - } - - /** - * Gets and removes the login attempt for the given username. - * @param username The username. - * @return The login attempt. - */ - public static LoginParser finishLoginAttempt(String username) { - return loginAttempts.remove(username); - } - - /** - * Gets the local world. - * @return The world statistics of this world server. - */ - public static WorldStatistics getLocalWorld() { - return WORLDS[GameWorld.getSettings().getWorldId() - 1]; - } - - /** - * Gets the id of the world the player is connected to. - * @param playerName The player's name. - * @return The world id, or -1 if the player wasn't connected. - */ - public static int getWorld(String playerName) { - for (int i = 0; i < WORLDS.length; i++) { - if (WORLDS[i].getPlayers().contains(playerName)) { - return i; - } - } - return -1; - } - - /** - * Gets the world statistics for the given index. - * @param id The world id. - * @return The world statistics. - */ - public static WorldStatistics getWorld(int id) { - return WORLDS[id - 1]; - } - - /** - * Gets the session. - * @return the session - */ - public static IoSession getSession() { - return session; - } - - /** - * Checks if this world is connected to the Management server. - * @return {@code True} if so. - */ - public static boolean isEnabled() { - return state == ManagementServerState.AVAILABLE; - } - - /** - * Gets the login attempts mapping. - * @return The login attempts mapping. - */ - public static Map getLoginAttempts() { - return loginAttempts; - } - - /** - * Gets the state. - * @return the state - */ - public static ManagementServerState getState() { - return state; - } - - /** - * Sets the state. - * @param state the state to set. - */ - public static void setState(ManagementServerState state) { - if (WorldCommunicator.state != state) { - WorldCommunicator.state = state; - state.set(); - SystemLogger.logInfo("Management server status: " + state + "."); - } - } - - /** - * Gets the reactor. - * @return the reactor - */ - public static NioReactor getReactor() { - return reactor; - } - - /** - * Sets the reactor. - * @param reactor the reactor to set. - */ - public static void setReactor(NioReactor reactor) { - WorldCommunicator.reactor = reactor; - } - -} \ No newline at end of file diff --git a/Server/src/main/java/core/net/event/GameReadEvent.java b/Server/src/main/java/core/net/event/GameReadEvent.java index 27544148e..591184639 100644 --- a/Server/src/main/java/core/net/event/GameReadEvent.java +++ b/Server/src/main/java/core/net/event/GameReadEvent.java @@ -1,7 +1,7 @@ package core.net.event; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.IoReadEvent; import core.net.IoSession; import core.net.packet.IncomingPacket; @@ -97,7 +97,7 @@ public final class GameReadEvent extends IoReadEvent { IncomingPacket packet = PacketRepository.getIncoming(opcode); session.setLastPing(System.currentTimeMillis()); if (packet == null) { - if (GameWorld.getSettings().isDevMode()) { + if (World.getSettings().isDevMode()) { SystemLogger.logErr("Unhandled packet [opcode=" + opcode + ", previous=" + last + ", size=" + size + ", header=" + header + "]"); } continue; diff --git a/Server/src/main/java/core/net/event/MSReadEvent.java b/Server/src/main/java/core/net/event/MSReadEvent.java index 77592ba15..90948b932 100644 --- a/Server/src/main/java/core/net/event/MSReadEvent.java +++ b/Server/src/main/java/core/net/event/MSReadEvent.java @@ -3,7 +3,7 @@ package core.net.event; import rs09.game.system.SystemLogger; import core.net.IoReadEvent; import core.net.IoSession; -import core.net.amsc.MSPacketRepository; +import core.net.ms.MSPacketRepository; import java.nio.ByteBuffer; diff --git a/Server/src/main/java/core/net/event/RegistryReadEvent.java b/Server/src/main/java/core/net/event/RegistryReadEvent.java index 2d3d4a4d1..4a8b5d744 100644 --- a/Server/src/main/java/core/net/event/RegistryReadEvent.java +++ b/Server/src/main/java/core/net/event/RegistryReadEvent.java @@ -1,12 +1,10 @@ package core.net.event; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; import core.net.IoReadEvent; import core.net.IoSession; -import core.net.amsc.ManagementServerState; -import core.net.amsc.WorldCommunicator; import core.net.producer.MSEventProducer; +import rs09.net.ms.ManagementServer; import java.nio.ByteBuffer; @@ -34,26 +32,26 @@ public final class RegistryReadEvent extends IoReadEvent { public void read(IoSession session, ByteBuffer buffer) { int opcode = buffer.get() & 0xFF; switch (opcode) { - case 0: - WorldCommunicator.setState(ManagementServerState.NOT_AVAILABLE); - SystemLogger.logErr("Failed registering world to AMS - [id=" + GameWorld.getSettings().getWorldId() + ", cause=World id out of bounds]!"); - break; - case 1: - session.setProducer(PRODUCER); - WorldCommunicator.setState(ManagementServerState.AVAILABLE); - SystemLogger.logInfo("Successfully registered world to AMS - [id=" + GameWorld.getSettings().getWorldId() + "]!"); - break; - case 2: - WorldCommunicator.setState(ManagementServerState.NOT_AVAILABLE); - SystemLogger.logErr("Failed registering world to AMS - [id=" + GameWorld.getSettings().getWorldId() + ", cause=World id already in use]!"); - break; - case 3: - WorldCommunicator.setState(ManagementServerState.NOT_AVAILABLE); - SystemLogger.logErr("Failed registering world to AMS - [id=" + GameWorld.getSettings().getWorldId() + ", cause=Exception in AMS]!"); - break; - default: - System.out.println("??" + opcode); - break; + case 0: + SystemLogger.logErr("[MS] Registration Denied - World ID out of bounds."); + ManagementServer.flagCantConnect(); + break; + case 1: + session.setProducer(PRODUCER); + SystemLogger.logInfo("[MS] Successfully Registered to RS09 Management Server."); + ManagementServer.flagConnected(); + break; + case 2: + SystemLogger.logErr("[MS] Registration Denied - World ID already in use."); + ManagementServer.flagCantConnect(); + break; + case 3: + SystemLogger.logErr("[MS] Registration Denied - Internal error encountered by RS09 Management Server."); + ManagementServer.flagCantConnect(); + break; + default: + System.out.println("??" + opcode); + break; } } diff --git a/Server/src/main/java/core/net/event/RegistryWriteEvent.java b/Server/src/main/java/core/net/event/RegistryWriteEvent.java index 0a0b40521..6ccb069e3 100644 --- a/Server/src/main/java/core/net/event/RegistryWriteEvent.java +++ b/Server/src/main/java/core/net/event/RegistryWriteEvent.java @@ -1,7 +1,7 @@ package core.net.event; import core.cache.misc.buffer.ByteBufferUtils; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.Constants; import core.net.IoSession; import core.net.IoWriteEvent; @@ -31,14 +31,14 @@ public final class RegistryWriteEvent extends IoWriteEvent { @Override public void write(IoSession session, Object context) { ByteBuffer buffer = ByteBuffer.allocate(128); - buffer.put((byte) GameWorld.getSettings().getWorldId()); + buffer.put((byte) World.getSettings().getWorldId()); buffer.putInt(Constants.REVISION); - buffer.put((byte) GameWorld.getSettings().getCountryIndex()); - buffer.put((byte) (GameWorld.getSettings().isMembers() ? 1 : 0)); - buffer.put((byte) (GameWorld.getSettings().isPvp() ? 1 : 0)); - buffer.put((byte) (GameWorld.getSettings().isQuickChat() ? 1 : 0)); - buffer.put((byte) (GameWorld.getSettings().isLootshare() ? 1 : 0)); - ByteBufferUtils.putString(GameWorld.getSettings().getActivity(), buffer); + buffer.put((byte) World.getSettings().getCountryIndex()); + buffer.put((byte) (World.getSettings().isMembers() ? 1 : 0)); + buffer.put((byte) (World.getSettings().isPvp() ? 1 : 0)); + buffer.put((byte) (World.getSettings().isQuickChat() ? 1 : 0)); + buffer.put((byte) (World.getSettings().isLootshare() ? 1 : 0)); + ByteBufferUtils.putString(World.getSettings().getActivity(), buffer); buffer.put(CHECK.getBytes()); session.queue((ByteBuffer) buffer.flip()); } diff --git a/Server/src/main/java/core/net/lobby/WorldDefinition.java b/Server/src/main/java/core/net/lobby/WorldDefinition.java index a67d4c1b4..e5f5d4987 100644 --- a/Server/src/main/java/core/net/lobby/WorldDefinition.java +++ b/Server/src/main/java/core/net/lobby/WorldDefinition.java @@ -1,6 +1,6 @@ package core.net.lobby; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; /** @@ -124,7 +124,7 @@ public class WorldDefinition { * @return The player count. */ public int getPlayerCount() { - if (worldId == GameWorld.getSettings().getWorldId()) { + if (worldId == World.getSettings().getWorldId()) { return Repository.getPlayers().size(); } return players; diff --git a/Server/src/main/java/core/net/lobby/WorldList.java b/Server/src/main/java/core/net/lobby/WorldList.java index dc23a0301..cc0a1c20c 100644 --- a/Server/src/main/java/core/net/lobby/WorldList.java +++ b/Server/src/main/java/core/net/lobby/WorldList.java @@ -1,6 +1,6 @@ package core.net.lobby; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.IoSession; import core.net.packet.IoBuffer; @@ -209,6 +209,6 @@ public final class WorldList { * Sets the baupdateStamp. */ public static void flagUpdate() { - WorldList.updateStamp = GameWorld.getTicks(); + WorldList.updateStamp = World.getTicks(); } } \ No newline at end of file diff --git a/Server/src/main/java/core/net/amsc/MSEventHandler.java b/Server/src/main/java/core/net/ms/MSEventHandler.java similarity index 56% rename from Server/src/main/java/core/net/amsc/MSEventHandler.java rename to Server/src/main/java/core/net/ms/MSEventHandler.java index 074efa367..f2ac48ca0 100644 --- a/Server/src/main/java/core/net/amsc/MSEventHandler.java +++ b/Server/src/main/java/core/net/ms/MSEventHandler.java @@ -1,13 +1,11 @@ -package core.net.amsc; +package core.net.ms; -import rs09.game.system.SystemLogger; import core.net.IoEventHandler; -import core.net.IoSession; +import rs09.net.ms.ManagementServer; import java.io.IOException; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; -import java.nio.channels.SocketChannel; import java.util.concurrent.Executors; /** @@ -25,21 +23,9 @@ public final class MSEventHandler extends IoEventHandler { @Override public void connect(SelectionKey key) throws IOException { - SocketChannel ch = (SocketChannel) key.channel(); - try { - if (ch.finishConnect()) { - key.interestOps(key.interestOps() ^ SelectionKey.OP_CONNECT); - key.interestOps(key.interestOps() | SelectionKey.OP_READ); - IoSession session = (IoSession) key.attachment(); - key.attach(session = new IoSession(key, service)); - WorldCommunicator.register(session); - return; - } - } catch (Throwable t) { - t.printStackTrace(); - } - SystemLogger.logErr("Failed connecting to Management Server!"); - WorldCommunicator.terminate(); + /** + * Empty + */ } @Override @@ -60,7 +46,7 @@ public final class MSEventHandler extends IoEventHandler { @Override public void disconnect(SelectionKey key, Throwable t) { super.disconnect(key, t); - WorldCommunicator.terminate(); + ManagementServer.disconnect(); } } \ No newline at end of file diff --git a/Server/src/main/java/core/net/amsc/MSPacketRepository.java b/Server/src/main/java/core/net/ms/MSPacketRepository.java similarity index 94% rename from Server/src/main/java/core/net/amsc/MSPacketRepository.java rename to Server/src/main/java/core/net/ms/MSPacketRepository.java index 0917a4281..1fb10e2d0 100644 --- a/Server/src/main/java/core/net/amsc/MSPacketRepository.java +++ b/Server/src/main/java/core/net/ms/MSPacketRepository.java @@ -1,4 +1,4 @@ -package core.net.amsc; +package core.net.ms; import core.game.node.entity.player.Player; import core.game.node.entity.player.info.PlayerDetails; @@ -18,8 +18,9 @@ import core.net.packet.out.ContactPackets; import core.net.packet.out.UpdateClanChat; import rs09.game.node.entity.player.info.login.LoginParser; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; +import rs09.net.ms.ManagementServer; import java.nio.ByteBuffer; @@ -37,7 +38,7 @@ public final class MSPacketRepository { IoBuffer buffer = new IoBuffer(14, PacketHeader.BYTE); buffer.putString(player.getName()); buffer.put(Rights.getChatIcon(player)); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); player.getAppearance().sync(); } @@ -57,7 +58,7 @@ public final class MSPacketRepository { buffer.putString(d.getSerial()); buffer.putInt(d.getRights().toInteger()); buffer.put((byte) getIcon(d)); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -66,12 +67,9 @@ public final class MSPacketRepository { * @param username The name of the player to remove. */ public static void sendPlayerRemoval(String username) { - if (!WorldCommunicator.isEnabled()) { - return; - } IoBuffer buffer = new IoBuffer(1, PacketHeader.BYTE); buffer.putString(username); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -90,7 +88,7 @@ public final class MSPacketRepository { buffer.putString(name); buffer.putLong(duration); buffer.putString(player.getName()); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -101,7 +99,7 @@ public final class MSPacketRepository { public static void requestCommunicationInfo(String username) { IoBuffer buffer = new IoBuffer(3, PacketHeader.BYTE); buffer.putString(username); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -123,7 +121,7 @@ public final class MSPacketRepository { } else { buffer.put((byte) (remove ? 1 : 0)); } - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -139,7 +137,7 @@ public final class MSPacketRepository { IoBuffer buffer = new IoBuffer(6, PacketHeader.BYTE); buffer.putString(player.getName()); buffer.putString(name); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -152,7 +150,7 @@ public final class MSPacketRepository { IoBuffer buffer = new IoBuffer(7, PacketHeader.BYTE); buffer.putString(player.getName()); buffer.putString(clanName); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -163,16 +161,13 @@ public final class MSPacketRepository { * @param rank The rank to set. */ public static void setClanSetting(Player player, int type, ClanRank rank) { - if (!WorldCommunicator.isEnabled()) { - return; - } IoBuffer buffer = new IoBuffer(8, PacketHeader.BYTE); buffer.putString(player.getName()); buffer.put((byte) type); if (rank != null) { buffer.put((byte) rank.ordinal()); } - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -185,7 +180,7 @@ public final class MSPacketRepository { IoBuffer buffer = new IoBuffer(9, PacketHeader.BYTE); buffer.putString(username); buffer.putString(name); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -198,7 +193,7 @@ public final class MSPacketRepository { IoBuffer buffer = new IoBuffer(10, PacketHeader.BYTE); buffer.putString(player.getName()); buffer.putString(message); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -213,7 +208,7 @@ public final class MSPacketRepository { buffer.putString(player.getName()); buffer.putString(name); buffer.putString(message); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -224,7 +219,7 @@ public final class MSPacketRepository { public static void requestClanInfo(String name) { IoBuffer buffer = new IoBuffer(12, PacketHeader.BYTE); buffer.putString(name); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -241,7 +236,7 @@ public final class MSPacketRepository { buffer.put(publicSetting); buffer.put(privateSetting); buffer.put(tradeSetting); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -303,7 +298,7 @@ public final class MSPacketRepository { private static void handleRegistryResponse(IoBuffer buffer) { String username = buffer.getString(); int opcode = buffer.get() & 0xFF; - LoginParser parser = WorldCommunicator.finishLoginAttempt(username); + LoginParser parser = ManagementServer.finishLoginAttempt(username); if (parser != null) { PlayerDetails details = parser.getDetails(); Response response = Response.get(opcode); @@ -346,7 +341,7 @@ public final class MSPacketRepository { public static void sendWorldMessage(String message) { IoBuffer buffer = new IoBuffer(12, PacketHeader.BYTE); buffer.putString(message); - WorldCommunicator.getSession().write(buffer); + ManagementServer.session.write(buffer); } /** @@ -498,7 +493,7 @@ public final class MSPacketRepository { int worldId = buffer.get() & 0xFF; clan.getRanks().put(name, ClanRank.values()[buffer.get() & 0xFF]); ClanEntry entry = new ClanEntry(name, worldId); - if (worldId == GameWorld.getSettings().getWorldId()) { + if (worldId == World.getSettings().getWorldId()) { Player player = Repository.getPlayerByName(name); entry.setPlayer(player); if (player != null) { diff --git a/Server/src/main/java/core/net/amsc/ManagementServerState.java b/Server/src/main/java/core/net/ms/ManagementServerState.java similarity index 98% rename from Server/src/main/java/core/net/amsc/ManagementServerState.java rename to Server/src/main/java/core/net/ms/ManagementServerState.java index 8a9d91a23..aee63a125 100644 --- a/Server/src/main/java/core/net/amsc/ManagementServerState.java +++ b/Server/src/main/java/core/net/ms/ManagementServerState.java @@ -1,4 +1,4 @@ -package core.net.amsc; +package core.net.ms; import core.game.node.entity.player.Player; import rs09.game.world.repository.Repository; diff --git a/Server/src/main/java/core/net/amsc/WorldStatistics.java b/Server/src/main/java/core/net/ms/WorldStatistics.java similarity index 96% rename from Server/src/main/java/core/net/amsc/WorldStatistics.java rename to Server/src/main/java/core/net/ms/WorldStatistics.java index bbae465f9..0623adddc 100644 --- a/Server/src/main/java/core/net/amsc/WorldStatistics.java +++ b/Server/src/main/java/core/net/ms/WorldStatistics.java @@ -1,4 +1,4 @@ -package core.net.amsc; +package core.net.ms; import java.util.ArrayList; import java.util.List; diff --git a/Server/src/main/java/core/net/packet/in/ActionButtonPacket.java b/Server/src/main/java/core/net/packet/in/ActionButtonPacket.java index f72c837b1..9236a17b0 100644 --- a/Server/src/main/java/core/net/packet/in/ActionButtonPacket.java +++ b/Server/src/main/java/core/net/packet/in/ActionButtonPacket.java @@ -13,7 +13,7 @@ import core.game.system.task.Pulse; import core.net.packet.IncomingPacket; import core.net.packet.IoBuffer; import rs09.game.interaction.InterfaceListeners; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.util.List; @@ -287,7 +287,7 @@ public class ActionButtonPacket implements IncomingPacket { //System.out.println("Using action handler184-95"); if (player.getAttribute("logging_in") != null) { player.getInterfaceManager().close(); - GameWorld.getPulser().submit(new Pulse(1, player) { + World.getPulser().submit(new Pulse(1, player) { @Override public boolean pulse() { player.removeAttribute("logging_in"); diff --git a/Server/src/main/java/core/net/packet/in/ChatPacket.java b/Server/src/main/java/core/net/packet/in/ChatPacket.java index af419b473..f34e18627 100644 --- a/Server/src/main/java/core/net/packet/in/ChatPacket.java +++ b/Server/src/main/java/core/net/packet/in/ChatPacket.java @@ -3,11 +3,10 @@ package core.net.packet.in; import core.game.node.entity.player.Player; import core.game.system.monitor.PlayerMonitor; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.update.flag.context.ChatMessage; import core.game.world.update.flag.player.ChatFlag; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import core.net.ms.MSPacketRepository; import core.net.packet.IncomingPacket; import core.net.packet.IoBuffer; import core.tools.StringUtils; @@ -33,16 +32,12 @@ public class ChatPacket implements IncomingPacket { sb.append(" => ").append(player.getName()).append(" (owned by ").append(player.getCommunication().getClan().getOwner()).append(")"); String m = sb.toString(); player.getMonitor().log(m.replace(m.charAt(0), ' ').trim(), PlayerMonitor.CLAN_CHAT_LOG); - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendClanMessage(player, message.substring(1)); - } else { - player.getCommunication().getClan().message(player, message.substring(1)); - } + MSPacketRepository.sendClanMessage(player, message.substring(1)); return; } player.getMonitor().log(message, PlayerMonitor.PUBLIC_CHAT_LOG); ChatMessage ctx = new ChatMessage(player, message, effects, numChars); - GameWorld.getPulser().submit(new Pulse(0, player) { + World.getPulser().submit(new Pulse(0, player) { @Override public boolean pulse() { player.getUpdateMasks().register(new ChatFlag(ctx)); diff --git a/Server/src/main/java/core/net/packet/in/ChatSettingsPacket.java b/Server/src/main/java/core/net/packet/in/ChatSettingsPacket.java index c0fa1b0f7..24b658bbd 100644 --- a/Server/src/main/java/core/net/packet/in/ChatSettingsPacket.java +++ b/Server/src/main/java/core/net/packet/in/ChatSettingsPacket.java @@ -1,8 +1,7 @@ package core.net.packet.in; import core.game.node.entity.player.Player; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import core.net.ms.MSPacketRepository; import core.net.packet.IncomingPacket; import core.net.packet.IoBuffer; @@ -17,9 +16,7 @@ public final class ChatSettingsPacket implements IncomingPacket { int publicSetting = buffer.get(); int privateSetting = buffer.get(); int tradeSetting = buffer.get(); - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendChatSetting(player, publicSetting, privateSetting, tradeSetting); - } + MSPacketRepository.sendChatSetting(player, publicSetting, privateSetting, tradeSetting); player.getSettings().updateChatSettings(publicSetting, privateSetting, tradeSetting); } diff --git a/Server/src/main/java/core/net/packet/in/ClanPacketHandler.java b/Server/src/main/java/core/net/packet/in/ClanPacketHandler.java index 5fc8ba5d8..4be2fdfdc 100644 --- a/Server/src/main/java/core/net/packet/in/ClanPacketHandler.java +++ b/Server/src/main/java/core/net/packet/in/ClanPacketHandler.java @@ -2,11 +2,7 @@ package core.net.packet.in; import core.game.node.entity.player.Player; import core.game.system.communication.ClanRank; -import core.game.system.communication.ClanRepository; -import core.game.system.communication.CommunicationInfo; -import rs09.game.world.repository.Repository; -import core.net.amsc.MSPacketRepository; -import core.net.amsc.WorldCommunicator; +import core.net.ms.MSPacketRepository; import core.net.packet.IncomingPacket; import core.net.packet.IoBuffer; import core.tools.StringUtils; @@ -26,45 +22,16 @@ public class ClanPacketHandler implements IncomingPacket { if (nameLong != 0l) { player.getPacketDispatch().sendMessage("Attempting to join channel...:clan:"); } - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendJoinClan(player, name); - return; - } - if (player.getCommunication().getClan() != null) { - player.getCommunication().getClan().leave(player, true); - player.getCommunication().setClan(null); - return; - } - ClanRepository clan = ClanRepository.get(name); - if (clan == null || clan.getName().equals("Chat disabled")) { - player.getPacketDispatch().sendMessage("The channel you tried to join does not exist."); - break; - } - if (clan.enter(player)) { - player.getCommunication().setClan(clan); - } + MSPacketRepository.sendJoinClan(player, name); break; case 188: int rank = buffer.getA(); name = StringUtils.longToString(buffer.getLong()); - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendContactUpdate(player.getName(), name, false, false, ClanRank.values()[rank + 1]); - break; - } - CommunicationInfo.updateClanRank(player, name, ClanRank.values()[rank + 1]); + MSPacketRepository.sendContactUpdate(player.getName(), name, false, false, ClanRank.values()[rank + 1]); break; case 162: name = StringUtils.longToString(buffer.getLong()); - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendClanKick(player.getName(), name); - break; - } - clan = player.getCommunication().getClan(); - Player target = Repository.getPlayerByName(name); - if (clan == null || target == null) { - break; - } - clan.kick(player, target); + MSPacketRepository.sendClanKick(player.getName(), name); break; } } diff --git a/Server/src/main/java/core/net/packet/in/CommandPacket.java b/Server/src/main/java/core/net/packet/in/CommandPacket.java index 96cfed378..1f3b587e9 100644 --- a/Server/src/main/java/core/net/packet/in/CommandPacket.java +++ b/Server/src/main/java/core/net/packet/in/CommandPacket.java @@ -3,7 +3,7 @@ package core.net.packet.in; import core.game.node.entity.player.Player; import rs09.game.system.command.CommandSystem; import core.game.system.monitor.PlayerMonitor; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.net.packet.IncomingPacket; import core.net.packet.IoBuffer; @@ -19,12 +19,12 @@ public final class CommandPacket implements IncomingPacket { final int data = buffer.get(); if (buffer.toByteBuffer().hasRemaining()) { final String message = ((char) data + buffer.getString()).toLowerCase(); - if (!GameWorld.getSettings().isDevMode()) { + if (!World.getSettings().isDevMode()) { int last = player.getAttribute("commandLast", 0); - if (last > GameWorld.getTicks()) { + if (last > World.getTicks()) { return; } - player.setAttribute("commandLast", GameWorld.getTicks() + 1); + player.setAttribute("commandLast", World.getTicks() + 1); } if (CommandSystem.Companion.getCommandSystem().parse(player, message)) { player.getMonitor().log(message, PlayerMonitor.COMMAND_LOG); diff --git a/Server/src/main/java/core/net/packet/in/InterfaceUseOnPacket.java b/Server/src/main/java/core/net/packet/in/InterfaceUseOnPacket.java index 15197610f..614ba6595 100644 --- a/Server/src/main/java/core/net/packet/in/InterfaceUseOnPacket.java +++ b/Server/src/main/java/core/net/packet/in/InterfaceUseOnPacket.java @@ -14,7 +14,7 @@ import core.game.node.scenery.Scenery; import rs09.game.node.entity.skill.magic.SpellListener; import rs09.game.node.entity.skill.magic.SpellListeners; import rs09.game.node.entity.skill.magic.SpellUtils; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.Location; import core.game.world.map.RegionManager; import rs09.game.world.repository.Repository; @@ -51,7 +51,7 @@ public class InterfaceUseOnPacket implements IncomingPacket { if (groundItem == null || !player.getLocation().withinDistance(groundItem.getLocation())) { break; } - if (player.getAttribute("magic:delay", -1) > GameWorld.getTicks()) { + if (player.getAttribute("magic:delay", -1) > World.getTicks()) { break; } if (player.getZoneMonitor().clickButton(interfaceId, componentId, spell, itemId, opcode)) { @@ -188,7 +188,7 @@ public class InterfaceUseOnPacket implements IncomingPacket { PacketRepository.send(ClearMinimapFlag.class, new PlayerContext(player)); break; } - if (player.getAttribute("magic:delay", -1) > GameWorld.getTicks()) { + if (player.getAttribute("magic:delay", -1) > World.getTicks()) { break; } if(!SpellUtils.getBookFromInterface(interfaceId).equals("none")){ @@ -242,13 +242,13 @@ public class InterfaceUseOnPacket implements IncomingPacket { } switch (interfaceId) { case 430: - if (player.getAttribute("magic:delay", -1) > GameWorld.getTicks()) { + if (player.getAttribute("magic:delay", -1) > World.getTicks()) { break; } MagicSpell.castSpell(player, SpellBookManager.SpellBook.LUNAR, componentId, item); break; case 192: - if (player.getAttribute("magic:delay", -1) > GameWorld.getTicks()) { + if (player.getAttribute("magic:delay", -1) > World.getTicks()) { break; } MagicSpell.castSpell(player, SpellBookManager.SpellBook.MODERN, componentId, item); diff --git a/Server/src/main/java/core/net/packet/out/ContactPackets.java b/Server/src/main/java/core/net/packet/out/ContactPackets.java index 88a7cc4b4..c678e2aaa 100644 --- a/Server/src/main/java/core/net/packet/out/ContactPackets.java +++ b/Server/src/main/java/core/net/packet/out/ContactPackets.java @@ -2,12 +2,12 @@ package core.net.packet.out; import core.game.node.entity.player.Player; import core.game.system.communication.Contact; -import core.net.amsc.WorldCommunicator; import core.net.packet.IoBuffer; import core.net.packet.OutgoingPacket; import core.net.packet.PacketHeader; import core.net.packet.context.ContactContext; import core.tools.StringUtils; +import rs09.net.ms.ManagementServer; /** * Handles the contact packet sending. @@ -21,7 +21,7 @@ public final class ContactPackets implements OutgoingPacket { Player player = context.getPlayer(); switch (context.getType()) { case ContactContext.UPDATE_STATE_TYPE: - buffer = new IoBuffer(197).put(WorldCommunicator.getState().value()); + buffer = new IoBuffer(197).put(ManagementServer.getStateValue()); break; case ContactContext.IGNORE_LIST_TYPE: buffer = new IoBuffer(126, PacketHeader.SHORT); diff --git a/Server/src/main/java/core/net/registry/AccountRegister.java b/Server/src/main/java/core/net/registry/AccountRegister.java index 7fc98a9a5..5cd972cba 100644 --- a/Server/src/main/java/core/net/registry/AccountRegister.java +++ b/Server/src/main/java/core/net/registry/AccountRegister.java @@ -11,7 +11,7 @@ import core.net.IoSession; import kotlin.Unit; import rs09.ServerConstants; import rs09.game.system.SystemLogger; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.net.event.LoginReadEvent; import java.nio.ByteBuffer; @@ -165,7 +165,7 @@ public class AccountRegister extends SQLEntryHandler { statement.setInt(5, entry.getCountry()); statement.setTimestamp(6, new Timestamp(System.currentTimeMillis())); - statement.setString(7, GameWorld.getSettings().getEnable_default_clan() ? ServerConstants.SERVER_NAME.toLowerCase(): null); + statement.setString(7, World.getSettings().getEnable_default_clan() ? ServerConstants.SERVER_NAME.toLowerCase(): null); statement.executeUpdate(); SQLManager.close(statement.getConnection()); diff --git a/Server/src/main/java/rs09/game/ai/lumbridge/LumbridgeBotHandler.java b/Server/src/main/java/rs09/game/ai/lumbridge/LumbridgeBotHandler.java index f49a543d4..6392b0415 100644 --- a/Server/src/main/java/rs09/game/ai/lumbridge/LumbridgeBotHandler.java +++ b/Server/src/main/java/rs09/game/ai/lumbridge/LumbridgeBotHandler.java @@ -1,6 +1,6 @@ package rs09.game.ai.lumbridge; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.tools.RandomFunction; import java.util.concurrent.Executors; @@ -13,7 +13,7 @@ public class LumbridgeBotHandler { public static void immersiveLumbridge() { //Generate a few random bots here and there - System.out.println("[" + GameWorld.getSettings().getName() + "]: LumbridgeBotHandler: Initialized dead idlers."); + System.out.println("[" + World.getSettings().getName() + "]: LumbridgeBotHandler: Initialized dead idlers."); generateDeadIdlers(); } diff --git a/Server/src/main/java/rs09/game/ai/pvp/PVPAIPActions.java b/Server/src/main/java/rs09/game/ai/pvp/PVPAIPActions.java index 25b6f6830..851d27fa4 100644 --- a/Server/src/main/java/rs09/game/ai/pvp/PVPAIPActions.java +++ b/Server/src/main/java/rs09/game/ai/pvp/PVPAIPActions.java @@ -12,7 +12,7 @@ import core.game.node.entity.player.Player; import rs09.game.ai.AIPlayer; import core.game.node.item.Item; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import core.game.world.map.path.Pathfinder; import core.game.world.update.flag.context.ChatMessage; import core.game.world.update.flag.player.ChatFlag; @@ -56,7 +56,7 @@ public class PVPAIPActions { }; bot.getProperties().setRetaliating(true); bot.setAttribute("dead", false); - GameWorld.getPulser().submit(new Pulse(1, bot) { + World.getPulser().submit(new Pulse(1, bot) { int ticks; @Override public boolean pulse() { @@ -131,7 +131,7 @@ public class PVPAIPActions { bot.sendChat("Ahh!"); bot.sendChat("GTFO M8"); bot.sendChat("Someone spec him!"); - GameWorld.getPulser().submit(new Pulse(1, bot) { + World.getPulser().submit(new Pulse(1, bot) { int ticks; @Override public boolean pulse() { diff --git a/Server/src/main/java/rs09/game/ai/resource/ResourceAIPActions.java b/Server/src/main/java/rs09/game/ai/resource/ResourceAIPActions.java index 7999b49e9..a70266ca7 100644 --- a/Server/src/main/java/rs09/game/ai/resource/ResourceAIPActions.java +++ b/Server/src/main/java/rs09/game/ai/resource/ResourceAIPActions.java @@ -4,7 +4,7 @@ import core.game.node.entity.skill.gather.SkillingResource; import core.game.node.entity.player.Player; import rs09.game.ai.AIPlayer; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import rs09.game.world.repository.Repository; import java.util.List; @@ -21,7 +21,7 @@ public class ResourceAIPActions { } for (int aip_index = 0; aip_index < resource_players.size(); aip_index++) { final AIPlayer bot = resource_players.get(aip_index); - GameWorld.getPulser().submit(new Pulse(1, bot) { + World.getPulser().submit(new Pulse(1, bot) { int ticks; int ov; @Override diff --git a/Server/src/main/java/rs09/game/ai/resource/ResourceAIPManager.java b/Server/src/main/java/rs09/game/ai/resource/ResourceAIPManager.java index 3bc015317..a1549d9f7 100644 --- a/Server/src/main/java/rs09/game/ai/resource/ResourceAIPManager.java +++ b/Server/src/main/java/rs09/game/ai/resource/ResourceAIPManager.java @@ -4,7 +4,7 @@ import core.game.node.entity.player.Player; import rs09.game.ai.resource.task.ResourceTask; import rs09.game.ai.resource.task.ResourceTasks; import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; +import rs09.game.world.World; import java.sql.ResultSet; import java.sql.Statement; @@ -58,7 +58,7 @@ public class ResourceAIPManager { public ResourceAIPManager load(Player player) { try { - Statement statement = GameWorld.getDatabaseManager().connections().get("global").createStatement(); + Statement statement = World.getDatabaseManager().connections().get("global").createStatement(); ResultSet result = statement.executeQuery("SELECT * FROM `members` WHERE username='" + player.getUsername() + "'"); // Results result = new Results(GameWorld.getDatabaseManager().query("global", "SELECT * FROM `members` WHERE username='" + player.getUsername() + "'")); @@ -87,14 +87,14 @@ public class ResourceAIPManager { StringBuilder query = new StringBuilder(); query.append("UPDATE `members` SET `taskName`='" + entry.getKey().getTaskName() + "',`taskTime`='" + entry.getValue() + "' WHERE `username`='" + player.getUsername() + "'"); System.out.println("ResourceAIPManager: " + query.toString()); - GameWorld.getDatabaseManager().update("global", query.toString()); + World.getDatabaseManager().update("global", query.toString()); } return this; } public void pulse(Player player) { - GameWorld.getPulser().submit(new Pulse(1) { + World.getPulser().submit(new Pulse(1) { @Override public boolean pulse() { diff --git a/Server/src/main/kotlin/api/ContentAPI.kt b/Server/src/main/kotlin/api/ContentAPI.kt index 8578efe85..90bc7b679 100644 --- a/Server/src/main/kotlin/api/ContentAPI.kt +++ b/Server/src/main/kotlin/api/ContentAPI.kt @@ -38,8 +38,8 @@ import rs09.game.content.dialogue.DialogueFile import rs09.game.content.global.GlobalKillCounter; import rs09.game.system.SystemLogger import rs09.game.system.config.ItemConfigParser; -import rs09.game.world.GameWorld -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World +import rs09.game.world.World.Pulser import rs09.game.world.repository.Repository object ContentAPI { @@ -372,7 +372,7 @@ object ContentAPI { */ @JvmStatic fun getWorldTicks(): Int { - return GameWorld.ticks + return World.ticks } /** @@ -914,7 +914,7 @@ object ContentAPI { */ @JvmStatic fun submitWorldPulse(pulse: Pulse){ - GameWorld.Pulser.submit(pulse) + World.Pulser.submit(pulse) } /** diff --git a/Server/src/main/kotlin/gui/ServerMonitor.kt b/Server/src/main/kotlin/gui/ServerMonitor.kt index b289ccd8a..05932f988 100644 --- a/Server/src/main/kotlin/gui/ServerMonitor.kt +++ b/Server/src/main/kotlin/gui/ServerMonitor.kt @@ -1,12 +1,10 @@ package gui -import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World import java.awt.BorderLayout import java.awt.Component import java.awt.Dimension import javax.swing.* -import javax.swing.border.Border object ServerMonitor : JFrame("Server Monitor"){ @@ -159,7 +157,7 @@ object ServerMonitor : JFrame("Server Monitor"){ removeList.add(event) } - pulseList.text = GameWorld.Pulser.TASKS.toArray().filterNotNull().map { it.javaClass.simpleName + "\n" } + pulseList.text = World.Pulser.TASKS.toArray().filterNotNull().map { it.javaClass.simpleName + "\n" } .filter { it.replace("\n", "").isNotEmpty() }.sorted().joinToString("") eventQueue.removeAll(removeList) repaint() diff --git a/Server/src/main/kotlin/rs09/Server.kt b/Server/src/main/kotlin/rs09/Server.kt index a2e6c41db..453ea5a1f 100644 --- a/Server/src/main/kotlin/rs09/Server.kt +++ b/Server/src/main/kotlin/rs09/Server.kt @@ -1,61 +1,64 @@ package rs09 -import core.game.system.SystemManager -import core.game.system.SystemState +import core.cache.Cache +import core.game.ge.GrandExchangeDatabase +import core.game.interaction.`object`.dmc.DMCHandler +import core.game.node.entity.npc.drop.RareDropTable import core.game.system.mysql.SQLManager -import core.gui.ConsoleFrame -import core.net.NioReactor -import core.net.amsc.WorldCommunicator -import core.tools.TimeStamp -import gui.ServerMonitor -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.delay -import kotlinx.coroutines.launch -import rs09.game.content.global.GlobalKillCounter; -import rs09.game.ge.GEAutoStock +import core.game.world.map.zone.ZoneBuilder +import core.net.IoEventHandler +import core.net.IoSession +import core.net.ServerSocketConnection +import core.plugin.CorePluginTypes.StartupPlugin +import rs09.game.node.entity.state.newsys.StateRepository import rs09.game.system.SystemLogger +import rs09.game.system.config.ConfigParser import rs09.game.system.config.ServerConfigParser -import rs09.game.world.GameWorld +import rs09.game.world.ImmerseWorld +import rs09.game.world.World +import rs09.game.world.callback.CallbackHub import rs09.game.world.repository.Repository +import rs09.game.world.repository.Repository.players +import rs09.net.ms.ManagementServer +import rs09.plugin.PluginManager import java.io.File -import java.io.FileWriter -import java.lang.management.ManagementFactory -import java.lang.management.ThreadMXBean -import java.net.BindException -import java.util.* +import java.io.IOException +import java.net.InetSocketAddress +import java.nio.channels.SelectionKey +import java.nio.channels.Selector +import java.nio.channels.ServerSocketChannel +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors import kotlin.system.exitProcess - /** - * The main class, for those that are unable to read the class' name. - * @author Emperor + * The primary processing backbone for the server. * @author Ceikry */ object Server { /** - * The time stamp of when the server started running. + * Various fields used for handling and processing incoming connections */ - @JvmField - var startTime: Long = 0 - - var lastHeartbeat = System.currentTimeMillis() - - @JvmStatic - var running = false + private var service: ExecutorService? = null + private var channel: ServerSocketConnection? = null + private var eventHandler: IoEventHandler? = null /** - * The NIO reactor. + * The current server state. + * In BOOTING state, no networking is active. The only thing taking place is the parsing of cache and config data. + * In RUNNING state, networking is active and primary gameplay loops are being ran. + * In SHUTDOWN state, players are being processed and disconnected, and things are being cleaned up. Networking is disabled at this time. + * Nothing occurs in CLOSED state because that indicates the server is DONE running, entirely, and should be shutdown at this time automatically. */ - @JvmStatic - var reactor: NioReactor? = null + var state = ServerState.BOOTING + @JvmStatic + set(value) { + field = value + if(channel != null){ + channel!!.selector.wakeup() //Wakes up the selector and triggers the state update + } + } - /** - * The main method, in this method we load background utilities such as - * cache and our world, then end with starting networking. - * @param args The arguments cast on runtime. - * @throws Throwable When an exception occurs. - */ - @Throws(Throwable::class) @JvmStatic fun main(args: Array) { if (args.isNotEmpty()) { @@ -65,102 +68,108 @@ object Server { SystemLogger.logInfo("Using config file: ${"worldprops" + File.separator + "default.conf"}") ServerConfigParser.parse("worldprops" + File.separator + "default.conf") } - startTime = System.currentTimeMillis() - val t = TimeStamp() - SystemLogger.logInfo("Initializing Server Store...") - GlobalKillCounter.init() - ServerStore.init() - SystemLogger.logInfo("Initialized ${ServerStore.counter} store files.") - GameWorld.prompt(true) - SQLManager.init() - Runtime.getRuntime().addShutdownHook(ServerConstants.SHUTDOWN_HOOK) - SystemLogger.logInfo("Starting networking...") - try { - reactor = NioReactor.configure(43594 + GameWorld.settings?.worldId!!) - reactor!!.start() - } catch (e: BindException) { - SystemLogger.logErr("Port " + (43594 + GameWorld.settings?.worldId!!) + " is already in use!") - throw e - } - WorldCommunicator.connect() - SystemLogger.logInfo(GameWorld.settings?.name + " flags " + GameWorld.settings?.toString()) - SystemLogger.logInfo(GameWorld.settings?.name + " started in " + t.duration(false, "") + " milliseconds.") - GEAutoStock.autostock() - val scanner = Scanner(System.`in`) + while (state != ServerState.CLOSED) { + when (state) { - running = true - GlobalScope.launch { - while(scanner.hasNextLine()){ - val command = scanner.nextLine() - when(command){ - "stop" -> exitProcess(0) - "players" -> System.out.println("Players online: " + (Repository.LOGGED_IN_PLAYERS.size)) - "update" -> SystemManager.flag(SystemState.UPDATING) - "help","commands" -> printCommands() - "restartworker" -> SystemManager.flag(SystemState.ACTIVE) - - } - } - } - GlobalScope.launch { - delay(20000) - while(running){ - if(System.currentTimeMillis() - lastHeartbeat > 7200 && running){ - SystemLogger.logErr("Triggering reboot due to heartbeat timeout") - SystemLogger.logErr("Creating thread dump...") - val dump = threadDump(true, true) - FileWriter("latestdump.txt").use { - it.write(dump) - it.flush() - it.close() + ServerState.BOOTING -> { + val start = System.nanoTime() + Cache.init(ServerConstants.CACHE_PATH) + ConfigParser().prePlugin() + PluginManager.init() + ConfigParser().postPlugin() + ZoneBuilder.init() + ServerStore.init() + RareDropTable.init() + if(World.settings!!.enable_bots) { + ImmerseWorld.init() } - exitProcess(0) + CallbackHub.call() + StateRepository.init() + GrandExchangeDatabase.init() + World.STARTUP_PLUGINS.forEach { plugin: StartupPlugin? -> + plugin?.run() + } + System.gc() //Cleanup any abandoned references + SystemLogger.initTradeLogger() //Start up the trade logger + World.clock.start() //Start the world clock, which begins ticking the game + Runtime.getRuntime().addShutdownHook(ServerConstants.SHUTDOWN_HOOK) + SQLManager.init() + state = ServerState.RUNNING + val finish = System.nanoTime() + + SystemLogger.logInfo("Server started in ${(finish - start) / 1000000} ms.") } - delay(625) + + ServerState.RUNNING -> { + //Start up networking + if(service == null || channel == null || eventHandler == null){ + service = Executors.newSingleThreadScheduledExecutor() + eventHandler = IoEventHandler(Executors.newFixedThreadPool(1)) + + val socket = ServerSocketChannel.open() + val selector = Selector.open() + socket.bind(InetSocketAddress(World.settings!!.worldId + 43594)) + socket.configureBlocking(false) + socket.register(selector, SelectionKey.OP_ACCEPT) + channel = ServerSocketConnection(selector, socket) + ManagementServer.connect() + } + + try { + channel!!.selector.select() //wait for a connection to be ready + } catch (e: IOException) {e.printStackTrace()} + + val keyIterator = channel!!.selector.selectedKeys().iterator() + + while(keyIterator.hasNext()){ + val key = keyIterator.next() + keyIterator.remove() + try { + if (!key.isValid || !key.channel().isOpen) { + key.cancel() + continue + } + + if (key.isConnectable) eventHandler!!.connect(key) + if (key.isAcceptable) eventHandler!!.accept(key, channel!!.selector) + + if (key.isReadable) { + eventHandler!!.read(key) + } else if (key.isWritable) { + eventHandler!!.write(key) + } + } catch (t: Throwable){ + val session = key.attachment() as? IoSession ?: continue + session.disconnect() + if(session.player != null){ + Repository.disconnectionQueue.add(session.player, true) + } + } + } + } + + + ServerState.SHUTDOWN -> { + if(players.any { !it.isArtificial }){ + for(player in players.filter { !it.isArtificial }){ + Repository.disconnectionQueue.add(player, true) + } + Repository.disconnectionQueue.update() + } else { + SystemLogger.flushLogs() + ServerStore.save() + ManagementServer.disconnect() + SystemLogger.logInfo("Shutdown complete.") + state = ServerState.CLOSED + } + } + + else -> break } } - } - @JvmStatic - fun heartbeat() { - lastHeartbeat = System.currentTimeMillis() - } - - fun printCommands(){ - println("stop - stop the server (saves all accounts and such)") - println("players - show online player count") - println("update - initiate an update with a countdown visible to players") - println("help, commands - show this") - println("restartworker - Reboots the major update worker in case of a travesty.") - } - - fun autoReconnect() { - /*SystemLogger.log("Attempting autoreconnect of server") - WorldCommunicator.connect()*/ - } - /** - * Gets the startTime. - * @return the startTime - */ - fun getStartTime(): Long { - return startTime - } - - private fun threadDump(lockedMonitors: Boolean, lockedSynchronizers: Boolean): String? { - val threadDump = StringBuffer(System.lineSeparator()) - val threadMXBean: ThreadMXBean = ManagementFactory.getThreadMXBean() - for (threadInfo in threadMXBean.dumpAllThreads(lockedMonitors, lockedSynchronizers)) { - threadDump.append(threadInfo.toString()) - } - return threadDump.toString() - } - - /** - * Sets the bastartTime.ZZ - * @param startTime the startTime to set. - */ - fun setStartTime(startTime: Long) { - Server.startTime = startTime + Runtime.getRuntime().removeShutdownHook(ServerConstants.SHUTDOWN_HOOK) + exitProcess(0) } } diff --git a/Server/src/main/kotlin/rs09/ServerState.kt b/Server/src/main/kotlin/rs09/ServerState.kt new file mode 100644 index 000000000..d157850e6 --- /dev/null +++ b/Server/src/main/kotlin/rs09/ServerState.kt @@ -0,0 +1,8 @@ +package rs09 + +enum class ServerState { + BOOTING, + RUNNING, + SHUTDOWN, + CLOSED +} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/ai/general/GeneralBotCreator.kt b/Server/src/main/kotlin/rs09/game/ai/general/GeneralBotCreator.kt index 78005f894..36a5d3401 100644 --- a/Server/src/main/kotlin/rs09/game/ai/general/GeneralBotCreator.kt +++ b/Server/src/main/kotlin/rs09/game/ai/general/GeneralBotCreator.kt @@ -2,7 +2,7 @@ package rs09.game.ai.general import core.game.node.entity.player.Player import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.tools.RandomFunction import rs09.game.ai.AIPBuilder @@ -15,18 +15,18 @@ class GeneralBotCreator { //org/crandor/net/packet/in/InteractionPacket.java <<< This is a very useful class for learning to code bots constructor(loc: Location?, botScript: Script) { botScript.bot = AIPBuilder.create(loc) - GameWorld.Pulser.submit(BotScriptPulse(botScript)) + World.Pulser.submit(BotScriptPulse(botScript)) } constructor(botScript: Script, bot: AIPlayer?) { botScript.bot = bot - GameWorld.Pulser.submit(BotScriptPulse(botScript).also { AIRepository.PulseRepository.add(it) }) + World.Pulser.submit(BotScriptPulse(botScript).also { AIRepository.PulseRepository.add(it) }) } constructor(botScript: Script, player: Player, isPlayer: Boolean){ botScript.bot = player val pulse = BotScriptPulse(botScript,isPlayer) - GameWorld.Pulser.submit(pulse) + World.Pulser.submit(pulse) player.setAttribute("/save:not_on_highscores",true) player.setAttribute("botting:script",pulse) } @@ -75,7 +75,7 @@ class GeneralBotCreator { inner class TransitionPulse(val script: Script) : Pulse(RandomFunction.random(60,200)){ override fun pulse(): Boolean { - GameWorld.Pulser.submit(BotScriptPulse(script.newInstance()).also { AIRepository.PulseRepository.add(it) }) + World.Pulser.submit(BotScriptPulse(script.newInstance()).also { AIRepository.PulseRepository.add(it) }) return true } } diff --git a/Server/src/main/kotlin/rs09/game/ai/general/ScriptAPI.kt b/Server/src/main/kotlin/rs09/game/ai/general/ScriptAPI.kt index 642408958..b2f7fbaba 100644 --- a/Server/src/main/kotlin/rs09/game/ai/general/ScriptAPI.kt +++ b/Server/src/main/kotlin/rs09/game/ai/general/ScriptAPI.kt @@ -36,7 +36,7 @@ import rs09.game.interaction.InteractionListener import rs09.game.interaction.InteractionListeners import rs09.game.system.SystemLogger import rs09.game.system.config.ItemConfigParser -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.game.world.repository.Repository import rs09.tools.stringtools.colorize import java.util.* @@ -552,7 +552,7 @@ class ScriptAPI(private val bot: Player) { bot.visualize(ANIMATIONUP, GRAPHICSUP) bot.impactHandler.disabledTicks = 4 val location = loc - GameWorld.Pulser.submit(object : Pulse(4, bot) { + World.Pulser.submit(object : Pulse(4, bot) { override fun pulse(): Boolean { bot.unlock() bot.properties.teleportLocation = location diff --git a/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/Adventurer.kt b/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/Adventurer.kt index e008db7f0..50d5e7c92 100644 --- a/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/Adventurer.kt +++ b/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/Adventurer.kt @@ -4,11 +4,10 @@ import core.game.interaction.DestinationFlag import core.game.interaction.MovementPulse import core.game.node.scenery.Scenery import core.game.node.entity.combat.CombatStyle -import rs09.game.node.entity.combat.CombatSwingHandler import core.game.node.entity.skill.Skills import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.game.world.map.RegionManager import core.game.world.map.zone.ZoneBorders @@ -494,7 +493,7 @@ class Adventurer(val style: CombatStyle): Script() { if (ge != null && !bot.bank.isEmpty) { counter = 0 scriptAPI.randomWalkTo(geloc, 3) - GameWorld.Pulser.submit(GEPulse()) + World.Pulser.submit(GEPulse()) } return } diff --git a/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/LobsterCatcher.kt b/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/LobsterCatcher.kt index d8364100c..e462545ae 100644 --- a/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/LobsterCatcher.kt +++ b/Server/src/main/kotlin/rs09/game/ai/general/scriptrepository/LobsterCatcher.kt @@ -15,7 +15,7 @@ import rs09.game.ai.AIPlayer import rs09.game.ai.general.ScriptAPI import rs09.game.interaction.InteractionListener import rs09.game.interaction.InteractionListeners -import rs09.game.world.GameWorld +import rs09.game.world.World import kotlin.random.Random @PlayerCompatible @@ -146,7 +146,7 @@ class LobsterCatcher : Script() { bot.visualize(ANIMATION, GRAPHICS) bot.impactHandler.disabledTicks = 4 val location = Location.create(2819, 3437, 0) - GameWorld.Pulser.submit(object : Pulse(4, bot) { + World.Pulser.submit(object : Pulse(4, bot) { override fun pulse(): Boolean { bot.unlock() bot.properties.teleportLocation = location diff --git a/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatState.kt b/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatState.kt index a56fc69f0..6d1e3bfa5 100644 --- a/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatState.kt +++ b/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatState.kt @@ -11,9 +11,8 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import rs09.game.content.activity.pestcontrol.PestControlHelper.GATE_ENTRIES import rs09.game.content.activity.pestcontrol.PestControlHelper.getMyPestControlSession1 -import rs09.game.world.GameWorld +import rs09.game.world.World import java.util.* -import java.util.concurrent.Executors class CombatState(val bot: PestControlTestBot) { @@ -117,7 +116,7 @@ class CombatState(val bot: PestControlTestBot) { diffX /= 2 diffY /= 2 } - GameWorld.Pulser.submit(object : MovementPulse(bot, bot.location.transform(diffX, diffY, 0), Pathfinder.SMART) { + World.Pulser.submit(object : MovementPulse(bot, bot.location.transform(diffX, diffY, 0), Pathfinder.SMART) { override fun pulse(): Boolean { return true } diff --git a/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatStateIntermediate.kt b/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatStateIntermediate.kt index 70243a700..606f2c87b 100644 --- a/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatStateIntermediate.kt +++ b/Server/src/main/kotlin/rs09/game/ai/minigamebots/pestcontrol/CombatStateIntermediate.kt @@ -11,9 +11,8 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import rs09.game.content.activity.pestcontrol.PestControlHelper.GATE_ENTRIES import rs09.game.content.activity.pestcontrol.PestControlHelper.getMyPestControlSession2 -import rs09.game.world.GameWorld +import rs09.game.world.World import java.util.* -import java.util.concurrent.Executors class CombatStateIntermediate(val bot: PestControlTestBot2) { private val Random = Random() @@ -117,7 +116,7 @@ class CombatStateIntermediate(val bot: PestControlTestBot2) { diffX /= 2 diffY /= 2 } - GameWorld.Pulser.submit(object : MovementPulse(bot, bot.location.transform(diffX, diffY, 0), Pathfinder.SMART) { + World.Pulser.submit(object : MovementPulse(bot, bot.location.transform(diffX, diffY, 0), Pathfinder.SMART) { override fun pulse(): Boolean { return true } diff --git a/Server/src/main/kotlin/rs09/game/ai/pvmbots/PvMBotsBuilder.kt b/Server/src/main/kotlin/rs09/game/ai/pvmbots/PvMBotsBuilder.kt index 7eb8d151a..3270e0207 100644 --- a/Server/src/main/kotlin/rs09/game/ai/pvmbots/PvMBotsBuilder.kt +++ b/Server/src/main/kotlin/rs09/game/ai/pvmbots/PvMBotsBuilder.kt @@ -5,7 +5,7 @@ import core.game.node.entity.combat.CombatSpell import core.game.node.entity.player.link.SpellBookManager import core.game.node.entity.player.link.appearance.Gender import core.game.node.item.Item -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.tools.RandomFunction import rs09.game.ai.AIPlayer @@ -496,7 +496,7 @@ class PvMBotsBuilder { spawnDragonKiller(new Location(3417, 3561, 1)); //Brimhaven dragons spawnDragonKiller(new Location(2704, 9450)); - spawnDragonKiller(new Location(2704, 9450));*/println("[" + GameWorld.settings?.name + "]: PvMBotsBuilder: Spawned " + botsSpawned + " bots.") + spawnDragonKiller(new Location(2704, 9450));*/println("[" + World.settings?.name + "]: PvMBotsBuilder: Spawned " + botsSpawned + " bots.") } } diff --git a/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUBeaconHandler.kt b/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUBeaconHandler.kt index 4f9b76d29..4a8ce9e11 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUBeaconHandler.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUBeaconHandler.kt @@ -9,7 +9,7 @@ import core.game.system.task.Pulse import core.game.world.update.flag.context.Animation import org.rs09.consts.Items import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World private val VALID_LOGS = intArrayOf(Items.LOGS_1511, Items.OAK_LOGS_1521,Items.WILLOW_LOGS_1519,Items.MAPLE_LOGS_1517,Items.YEW_LOGS_1515,Items.MAGIC_LOGS_1513) private val FILL_ANIM = Animation(9136) @@ -94,7 +94,7 @@ class AFUBeaconListeners : InteractionListener(){ } } - GameWorld.Pulser.submit(object : Pulse() { + World.Pulser.submit(object : Pulse() { var counter = 0 override fun pulse(): Boolean { when (counter++) { @@ -125,7 +125,7 @@ class AFUBeaconListeners : InteractionListener(){ if(player.inventory.contains(Items.TINDERBOX_590,1)){ player.lock() - GameWorld.Pulser.submit(object: Pulse(){ + World.Pulser.submit(object: Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ @@ -173,7 +173,7 @@ class AFUBeaconListeners : InteractionListener(){ val logs = getLogs(player, 5) if (logs.id != 0 && player.inventory.remove(logs)) { player.lock() - GameWorld.Pulser.submit(object: Pulse(){ + World.Pulser.submit(object: Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUSession.kt b/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUSession.kt index a61e618d7..39c4d12b5 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUSession.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/allfiredup/AFUSession.kt @@ -3,7 +3,7 @@ package rs09.game.content.activity.allfiredup import core.game.node.entity.player.Player import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.plugin.Plugin import org.rs09.consts.Items import rs09.tools.stringtools.colorize @@ -20,7 +20,7 @@ class AFUSession(val player: Player) { fun init() { isActive = true - GameWorld.Pulser.submit(object: Pulse(){ + World.Pulser.submit(object: Pulse(){ override fun pulse(): Boolean { player.setAttribute("afu-pulse",this) beaconTimers.forEach {timer -> diff --git a/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerActivity.kt b/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerActivity.kt index c2216e843..b3f2347ee 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerActivity.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerActivity.kt @@ -2,7 +2,7 @@ package rs09.game.content.activity.fishingtrawler import core.game.node.entity.player.Player import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.game.world.map.build.DynamicRegion import core.game.world.map.zone.ZoneRestriction @@ -17,11 +17,11 @@ import rs09.tools.stringtools.colorize * Handles the fishing trawler "waiting room" * @author Ceikry */ -private val WAIT_TIME = if(GameWorld.settings?.isDevMode == true) 10 else 203 +private val WAIT_TIME = if(World.settings?.isDevMode == true) 10 else 203 private val waitingPlayers = ArrayList() private val sessions = ArrayList() private var activity: FishingTrawlerActivity? = null -private var nextStart = GameWorld.ticks + WAIT_TIME +private var nextStart = World.ticks + WAIT_TIME @Initializable class FishingTrawlerActivity : ActivityPlugin("fishing trawler",false,false,true,ZoneRestriction.CANNON,ZoneRestriction.FIRES,ZoneRestriction.FOLLOWERS,ZoneRestriction.RANDOM_EVENTS) { @@ -29,20 +29,20 @@ class FishingTrawlerActivity : ActivityPlugin("fishing trawler",false,false,true activity = this } override fun configure() { - GameWorld.Pulser.submit( + World.Pulser.submit( object : Pulse(1){ override fun pulse(): Boolean { - if((nextStart - GameWorld.ticks) % 100 == 0){ + if((nextStart - World.ticks) % 100 == 0){ for(player in waitingPlayers) { - player.sendMessage (colorize("%R${ticksToSeconds(nextStart - GameWorld.ticks) / 60} minutes until next game.")) + player.sendMessage (colorize("%R${ticksToSeconds(nextStart - World.ticks) / 60} minutes until next game.")) } } - if(GameWorld.ticks >= nextStart && waitingPlayers.isNotEmpty()){ + if(World.ticks >= nextStart && waitingPlayers.isNotEmpty()){ val session = FishingTrawlerSession(DynamicRegion.create(8011), activity!!) session.start(waitingPlayers) sessions.add(session) waitingPlayers.clear() - nextStart = GameWorld.ticks + WAIT_TIME + nextStart = World.ticks + WAIT_TIME } sessions.removeIf { session -> if(!session.isActive && session.inactiveTicks >= 100){ @@ -68,7 +68,7 @@ class FishingTrawlerActivity : ActivityPlugin("fishing trawler",false,false,true fun addPlayer(player: Player){ if(waitingPlayers.isEmpty()) { - nextStart = GameWorld.ticks + WAIT_TIME + nextStart = World.ticks + WAIT_TIME player.dialogueInterpreter.sendDialogue("Trawler will leave in 2 minutes.","If you have a team get them on board now!") } waitingPlayers.add(player) diff --git a/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerSession.kt b/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerSession.kt index 939467250..66991e96b 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerSession.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/fishingtrawler/FishingTrawlerSession.kt @@ -8,7 +8,7 @@ import core.game.node.entity.player.Player import core.game.node.entity.state.EntityState import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.game.world.map.build.DynamicRegion import core.game.world.update.flag.context.Animation @@ -64,7 +64,7 @@ class FishingTrawlerSession(var region: DynamicRegion, val activity: FishingTraw initHoles() initMurphy(29,25) initGulls() - GameWorld.Pulser.submit(TrawlerPulse(this)) + World.Pulser.submit(TrawlerPulse(this)) for(player in pl){ player.interfaceManager.openOverlay(Component(OVERLAY_ID)) player.interfaceManager.open(Component(TUTORIAL_ID)) @@ -78,7 +78,7 @@ class FishingTrawlerSession(var region: DynamicRegion, val activity: FishingTraw fun swapBoatType(fromRegion: Int){ val newRegion = DynamicRegion.create(fromRegion) - GameWorld.Pulser.submit(SwapBoatPulse(players,newRegion)) + World.Pulser.submit(SwapBoatPulse(players,newRegion)) } class SwapBoatPulse(val playerList: ArrayList,val newRegion: DynamicRegion) : Pulse(3){ diff --git a/Server/src/main/kotlin/rs09/game/content/activity/fog/ReggieDialogue.kt b/Server/src/main/kotlin/rs09/game/content/activity/fog/ReggieDialogue.kt index 5c216021f..347661c22 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/fog/ReggieDialogue.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/fog/ReggieDialogue.kt @@ -3,16 +3,15 @@ package rs09.game.content.activity.fog import core.game.component.Component import core.game.node.entity.player.Player import core.game.node.item.Item -import rs09.game.world.GameWorld +import rs09.game.world.World import core.plugin.Initializable import core.game.content.dialogue.DialoguePlugin -import org.rs09.consts.Components import rs09.game.interaction.FOGRewardsInterface @Initializable class ReggieDialogue(player: Player? = null) : DialoguePlugin(player){ override fun open(vararg args: Any?): Boolean { - if(GameWorld.settings?.allow_token_purchase == true){ + if(World.settings?.allow_token_purchase == true){ options("Can I see your shop?","Nevermind.","Can I buy some tokens?") } else { options("Can I see your shop?","Nevermind.") diff --git a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/GCRewardTokenHandler.kt b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/GCRewardTokenHandler.kt index 197421d14..1cde7e7a6 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/GCRewardTokenHandler.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/GCRewardTokenHandler.kt @@ -11,7 +11,7 @@ import core.plugin.Initializable import core.plugin.Plugin import core.tools.RandomFunction import org.rs09.consts.Items -import rs09.game.world.GameWorld +import rs09.game.world.World val gnomeItems = arrayOf( Items.FRUIT_BATTA_2277, Items.TOAD_BATTA_2255, Items.CHEESE_PLUSTOM_BATTA_2259, Items.WORM_BATTA_2253, Items.VEGETABLE_BATTA_2281, @@ -87,7 +87,7 @@ class GCRewardTokenHandler : OptionHandler() { } player.dialogueInterpreter.sendDialogue("You put in for delivery of $amount items. Wait a bit...") - GameWorld.Pulser.submit(DeliveryPulse(player,itemList)) + World.Pulser.submit(DeliveryPulse(player,itemList)) player.setAttribute("/save:$GC_BASE_ATTRIBUTE:$GC_REDEEMABLE_FOOD", playerCharges - amount) } diff --git a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/battas/GnomeBattaCooker.kt b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/battas/GnomeBattaCooker.kt index b548a53a8..5db8fd935 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/battas/GnomeBattaCooker.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/battas/GnomeBattaCooker.kt @@ -10,7 +10,7 @@ import core.game.world.update.flag.context.Animation import core.plugin.Initializable import core.plugin.Plugin import org.rs09.consts.Items -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Handles cook options for battas @@ -43,7 +43,7 @@ class GnomeBattaCooker : UseWithHandler(Items.RAW_BATTA_2250,9478,9480,9482,9483 } fun cook(player: Player, raw: Item, product: Item){ - GameWorld.Pulser.submit(object : Pulse(){ + World.Pulser.submit(object : Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/bowls/GnomeBowlCooker.kt b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/bowls/GnomeBowlCooker.kt index 5dbd940db..0c3c3fd72 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/bowls/GnomeBowlCooker.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/bowls/GnomeBowlCooker.kt @@ -10,7 +10,7 @@ import core.game.world.update.flag.context.Animation import core.plugin.Initializable import core.plugin.Plugin import org.rs09.consts.Items -import rs09.game.world.GameWorld +import rs09.game.world.World @Initializable class GnomeBowlCooker : UseWithHandler(Items.RAW_GNOMEBOWL_2178,9558,9559,9561,9563) { @@ -38,7 +38,7 @@ class GnomeBowlCooker : UseWithHandler(Items.RAW_GNOMEBOWL_2178,9558,9559,9561,9 } fun cook(player: Player, raw: Item, product: Item){ - GameWorld.Pulser.submit(object : Pulse(){ + World.Pulser.submit(object : Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/cocktails/CocktailCooker.kt b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/cocktails/CocktailCooker.kt index 8c65cfa50..58be73b10 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/cocktails/CocktailCooker.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/cocktails/CocktailCooker.kt @@ -5,7 +5,7 @@ import core.game.interaction.UseWithHandler import core.game.node.entity.player.Player import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.update.flag.context.Animation import core.plugin.Initializable import core.plugin.Plugin @@ -34,7 +34,7 @@ class CocktailCooker : UseWithHandler(UNCOOKED_CHOC_SAT, UNCOOKED_DRUN_DRA) { } private fun cook(drink: CookedDrinks, player: Player, raw: Item){ - GameWorld.Pulser.submit(object : Pulse(){ + World.Pulser.submit(object : Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/crunchies/GnomeCrunchyCooker.kt b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/crunchies/GnomeCrunchyCooker.kt index 75d4958e6..30a275a84 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/crunchies/GnomeCrunchyCooker.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/gnomecooking/crunchies/GnomeCrunchyCooker.kt @@ -5,7 +5,7 @@ import core.game.interaction.UseWithHandler import core.game.node.entity.player.Player import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.update.flag.context.Animation import core.plugin.Initializable import core.plugin.Plugin @@ -46,7 +46,7 @@ class GnomeCrunchyCooker : UseWithHandler(9577,9579,9581,9583, 2202){ } private fun cook(product: Int, raw: Item, player: Player){ - GameWorld.Pulser.submit(object : Pulse(){ + World.Pulser.submit(object : Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/activity/pyramidplunder/PlunderSession.kt b/Server/src/main/kotlin/rs09/game/content/activity/pyramidplunder/PlunderSession.kt index 1d223ce74..51e11b81f 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/pyramidplunder/PlunderSession.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/pyramidplunder/PlunderSession.kt @@ -6,7 +6,7 @@ import core.game.system.task.Pulse import core.game.world.map.Location import core.tools.RandomFunction import org.rs09.consts.Components -import rs09.game.world.GameWorld +import rs09.game.world.World class PlunderSession(val player: Player) { var door1Open: Boolean = false @@ -24,7 +24,7 @@ class PlunderSession(val player: Player) { fun init(){ player.setAttribute("plunder-session",this) - GameWorld.Pulser.submit(PlunderPulse(player)) + World.Pulser.submit(PlunderPulse(player)) player.interfaceManager.openOverlay(Component(Components.NTK_OVERLAY_428)) isActive = true } diff --git a/Server/src/main/kotlin/rs09/game/content/activity/vinesweeper/Vinesweeper.kt b/Server/src/main/kotlin/rs09/game/content/activity/vinesweeper/Vinesweeper.kt index 6c0762532..70dbe2f77 100644 --- a/Server/src/main/kotlin/rs09/game/content/activity/vinesweeper/Vinesweeper.kt +++ b/Server/src/main/kotlin/rs09/game/content/activity/vinesweeper/Vinesweeper.kt @@ -21,10 +21,9 @@ import core.game.world.update.flag.context.Graphics; import core.plugin.Initializable import core.tools.RandomFunction import org.rs09.consts.Items -import rs09.game.content.dialogue.DialogueFile import rs09.game.interaction.InteractionListener import rs09.game.interaction.InterfaceListener -import rs09.game.world.GameWorld; +import rs09.game.world.World; val AVACH_NIMPORTO_LOC = Location.create(1637, 4709) val PORTAL = 29534 @@ -109,7 +108,7 @@ object VinesweeperTeleport { player.audioManager.send(125) Projectile.create(npc, player, 109).send() npc.sendChat("Avach nimporto!") - GameWorld.Pulser.submit(object : Pulse(1) { + World.Pulser.submit(object : Pulse(1) { var counter = 0 override fun pulse(): Boolean { when (counter++) { @@ -207,7 +206,7 @@ class VinesweeperListener : InteractionListener() { on(HOLES, SCENERY, "inspect") { player, node -> player.animate(Animation(8710)) player.lock(5) - GameWorld.Pulser.submit(object : Pulse(5) { + World.Pulser.submit(object : Pulse(5) { override fun pulse(): Boolean { val msg = when(RandomFunction.random(0, 7)) { 0 -> "You don't see anything interesting. You can't be sure if there's a seed there or not." @@ -248,10 +247,10 @@ class VinesweeperListener : InteractionListener() { npc.sendChat("Squeak!") npc.lock(3) player.skills.addExperience(Skills.HUNTER, 30.0) - GameWorld.Pulser.submit(object : Pulse(3) { + World.Pulser.submit(object : Pulse(3) { override fun pulse(): Boolean { //npc.setInvisible(true) - npc.respawnTick = GameWorld.ticks + 50 + npc.respawnTick = World.ticks + 50 npc.location = npc.properties.spawnLocation return true } @@ -325,7 +324,7 @@ class VinesweeperNPC : AbstractNPC { } else { sendChat("Hmm. Looks like there's a plant here.") lock(3) - GameWorld.Pulser.submit(object : Pulse(3) { + World.Pulser.submit(object : Pulse(3) { override fun pulse(): Boolean { sendChat("Gracious me! This one's dead") SceneryBuilder.replace(scenery, scenery.transform(HOLES[0])) @@ -356,7 +355,7 @@ class VinesweeperNPC : AbstractNPC { animate(Animation(451)) if(SEED_LOCS.contains(dest.loc)) { val npc = this - GameWorld.Pulser.submit(object : Pulse(3) { + World.Pulser.submit(object : Pulse(3) { override fun pulse(): Boolean { sendChat("Ah! A seed. Points for everyone near me!") val level = dest.player.skills.getStaticLevel(Skills.FARMING) @@ -379,7 +378,7 @@ class VinesweeperNPC : AbstractNPC { SceneryBuilder.replace(scenery, scenery.transform(HOLES[0])) var i = 0 val lines = arrayOf("Hmm, no seeds planted here, I'm afraid.", "I'll have to keep this 'ere flag. Sorry.") - GameWorld.Pulser.submit(object : Pulse(3) { + World.Pulser.submit(object : Pulse(3) { override fun pulse(): Boolean { sendChat(lines[i++]) return i >= lines.size diff --git a/Server/src/main/kotlin/rs09/game/content/ame/RandomEventManager.kt b/Server/src/main/kotlin/rs09/game/content/ame/RandomEventManager.kt index 7ace936e6..0b6782d00 100644 --- a/Server/src/main/kotlin/rs09/game/content/ame/RandomEventManager.kt +++ b/Server/src/main/kotlin/rs09/game/content/ame/RandomEventManager.kt @@ -3,7 +3,7 @@ package rs09.game.content.ame import core.game.node.entity.player.Player import core.game.world.map.zone.ZoneRestriction import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World private const val DELAY_TICKS = 6000 //60 minutes class RandomEventManager(val player: Player) { @@ -12,28 +12,28 @@ class RandomEventManager(val player: Player) { fun tick(){ if(player.isArtificial) return - if(GameWorld.ticks > nextSpawn) fireEvent() + if(World.ticks > nextSpawn) fireEvent() } fun fireEvent(){ if(player.zoneMonitor.isRestricted(ZoneRestriction.RANDOM_EVENTS)){ - nextSpawn = GameWorld.ticks + 3000 + nextSpawn = World.ticks + 3000 return } val ame = RandomEvents.values().random() event = ame.npc.create(player,ame.loot,ame.type) if(event!!.spawnLocation == null){ - nextSpawn = GameWorld.ticks + 3000 + nextSpawn = World.ticks + 3000 return } event!!.init() - nextSpawn = GameWorld.ticks + DELAY_TICKS + nextSpawn = World.ticks + DELAY_TICKS SystemLogger.logRE("Fired ${event!!.name} for ${player.username}") } fun init(){ if(player.isArtificial) return - nextSpawn = GameWorld.ticks + DELAY_TICKS + nextSpawn = World.ticks + DELAY_TICKS SystemLogger.logRE("Initialized REManager for ${player.username}") } } \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/content/ame/RandomEventNPC.kt b/Server/src/main/kotlin/rs09/game/content/ame/RandomEventNPC.kt index 7ceb1cf3b..432af842a 100644 --- a/Server/src/main/kotlin/rs09/game/content/ame/RandomEventNPC.kt +++ b/Server/src/main/kotlin/rs09/game/content/ame/RandomEventNPC.kt @@ -5,14 +5,12 @@ import core.game.interaction.MovementPulse import core.game.node.entity.npc.NPC import core.game.node.entity.player.Player import core.game.node.item.Item -import core.game.system.task.Pulse import core.game.world.map.Location import core.game.world.map.RegionManager import core.game.world.map.path.Pathfinder import core.game.world.update.flag.context.Graphics import rs09.game.content.ame.events.MysteriousOldManNPC import rs09.game.content.global.WeightBasedTable -import rs09.game.world.GameWorld.Pulser import rs09.tools.secondsToTicks import kotlin.random.Random import kotlin.reflect.full.createInstance diff --git a/Server/src/main/kotlin/rs09/game/content/dialogue/AluftGianneSnrDialogue.kt b/Server/src/main/kotlin/rs09/game/content/dialogue/AluftGianneSnrDialogue.kt index 6d57baf8c..595fb91f2 100644 --- a/Server/src/main/kotlin/rs09/game/content/dialogue/AluftGianneSnrDialogue.kt +++ b/Server/src/main/kotlin/rs09/game/content/dialogue/AluftGianneSnrDialogue.kt @@ -12,7 +12,7 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import org.rs09.consts.Items import rs09.game.content.activity.gnomecooking.* -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.tools.stringtools.colorize import java.util.concurrent.TimeUnit @@ -161,7 +161,7 @@ class AluftGianneSnrDialogue(player: Player? = null) : DialoguePlugin(player) { player.setAttribute("$GC_BASE_ATTRIBUTE:$GC_JOB_ORDINAL", job.ordinal) player.setAttribute("$GC_BASE_ATTRIBUTE:$GC_NEEDED_ITEM", item) player.dialogueInterpreter.sendDialogue("I need to deliver a ${item.name.toLowerCase()} to ${NPC(job.npc_id).name.toLowerCase()},", "who is ${job.tip}") - GameWorld.Pulser.submit(GnomeRestaurantPulse(player, if (level == GnomeTipper.LEVEL.HARD) 11L else 6L)) + World.Pulser.submit(GnomeRestaurantPulse(player, if (level == GnomeTipper.LEVEL.HARD) 11L else 6L)) } } } diff --git a/Server/src/main/kotlin/rs09/game/content/global/action/EquipHandler.kt b/Server/src/main/kotlin/rs09/game/content/global/action/EquipHandler.kt index 691893fb3..6e2ee1a49 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/action/EquipHandler.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/action/EquipHandler.kt @@ -7,14 +7,12 @@ import core.game.node.entity.player.Player import core.game.node.entity.player.link.audio.Audio import core.game.node.entity.player.link.diary.DiaryType import core.game.node.entity.skill.slayer.SlayerEquipmentFlags -import core.game.system.task.Pulse import core.game.world.map.zone.ZoneBorders import core.plugin.Plugin import org.rs09.consts.Items import rs09.game.interaction.InteractionListener import rs09.game.interaction.InteractionListeners import rs09.game.system.config.ItemConfigParser -import rs09.game.world.GameWorld /** * Represents the equipment equipping handler plugin. diff --git a/Server/src/main/kotlin/rs09/game/content/global/action/PickupHandler.kt b/Server/src/main/kotlin/rs09/game/content/global/action/PickupHandler.kt index c34ec6fde..b48d029d2 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/action/PickupHandler.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/action/PickupHandler.kt @@ -15,7 +15,7 @@ import org.rs09.consts.Items import rs09.game.ai.AIRepository.Companion.getItems import rs09.game.system.SystemLogger import rs09.game.system.config.GroundSpawnLoader -import rs09.game.world.GameWorld +import rs09.game.world.World /** * A class used to handle the picking up of ground items. @@ -38,7 +38,7 @@ object PickupHandler { player.packetDispatch.sendMessage("Too late!") return true } - if (player.getAttribute("droppedItem:" + item.id, 0) > GameWorld.ticks) { //Splinter + if (player.getAttribute("droppedItem:" + item.id, 0) > World.ticks) { //Splinter SystemLogger.logAlert("$player tried to do the drop & quick pick-up Ground Item dupe.") return true } diff --git a/Server/src/main/kotlin/rs09/game/content/global/travel/EssenceTeleport.kt b/Server/src/main/kotlin/rs09/game/content/global/travel/EssenceTeleport.kt index 490477409..e4bbd1a35 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/travel/EssenceTeleport.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/travel/EssenceTeleport.kt @@ -6,7 +6,7 @@ import core.game.node.entity.player.Player import core.game.node.entity.player.link.diary.DiaryType import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.game.world.update.flag.context.Animation import core.game.world.update.flag.context.Graphics @@ -41,7 +41,7 @@ object EssenceTeleport { player.audioManager.send(125) Projectile.create(npc, player, 109).send() npc.sendChat("Senventior Disthinte Molesko!") - GameWorld.Pulser.submit(object : Pulse(1) { + World.Pulser.submit(object : Pulse(1) { var counter = 0 override fun pulse(): Boolean { when (counter++) { diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/easter/EasterEvent.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/easter/EasterEvent.kt index cc634e9ed..aa626e97c 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/easter/EasterEvent.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/easter/EasterEvent.kt @@ -11,7 +11,7 @@ import org.rs09.consts.Items import org.rs09.consts.NPCs import rs09.game.content.global.worldevents.WorldEvent import rs09.game.system.config.GroundSpawnLoader -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.game.world.repository.Repository import rs09.tools.secondsToTicks import java.util.* @@ -77,12 +77,12 @@ class EasterEvent : WorldEvent("easter") { bunny.init() } easterBunny.init() - GameWorld.settings?.message_model = 715 - GameWorld.settings?.message_string = "Happy Easter!" - GameWorld.Pulser.submit(object : Pulse(){ + World.settings?.message_model = 715 + World.settings?.message_string = "Happy Easter!" + World.Pulser.submit(object : Pulse(){ override fun pulse(): Boolean { if(delay == 1){ - delay = secondsToTicks(if(GameWorld.settings?.isDevMode == true) 60 else 3600) + delay = secondsToTicks(if(World.settings?.isDevMode == true) 60 else 3600) } for(item in spawnedItems){ GroundItemManager.destroy(item) diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/SimpleHalloweenEvent.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/SimpleHalloweenEvent.kt index 5cf7e1406..a3362c173 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/SimpleHalloweenEvent.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/SimpleHalloweenEvent.kt @@ -1,11 +1,8 @@ package rs09.game.content.global.worldevents.holiday.halloween -import core.game.node.entity.npc.NPC -import core.game.world.map.Location import rs09.game.content.global.worldevents.PluginSet import rs09.game.content.global.worldevents.WorldEvent -import rs09.game.world.GameWorld -import java.util.* +import rs09.game.world.World class SimpleHalloweenEvent : WorldEvent("hween"){ override fun checkActive(): Boolean { @@ -17,8 +14,8 @@ class SimpleHalloweenEvent : WorldEvent("hween"){ GrimDialogue() ) super.initialize() - GameWorld.settings?.message_model = 800 - GameWorld.settings?.message_string = "A mysterious figure has appeared in Draynor! You should go investigate!" + World.settings?.message_model = 800 + World.settings?.message_string = "A mysterious figure has appeared in Draynor! You should go investigate!" log("Initialized.") } } \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/TrickOrTreatHandler.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/TrickOrTreatHandler.kt index db1c404fe..ba7df3b7f 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/TrickOrTreatHandler.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/holiday/halloween/TrickOrTreatHandler.kt @@ -16,7 +16,7 @@ import rs09.ServerStore.getInt import rs09.ServerStore.getString import rs09.game.content.dialogue.DialogueFile import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.tools.END_DIALOGUE class TrickOrTreatHandler : InteractionListener() { @@ -48,7 +48,7 @@ class TrickOrTreatHandler : InteractionListener() { stage = END_DIALOGUE } - 10 -> npcl(FacialExpression.EVIL_LAUGH, "I CHOOSE TRICK!").also { player.lock(); GameWorld.submit(object : Pulse() { + 10 -> npcl(FacialExpression.EVIL_LAUGH, "I CHOOSE TRICK!").also { player.lock(); World.submit(object : Pulse() { var counter = 0 override fun pulse(): Boolean { //gfx 1898 diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/LarryHandler.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/LarryHandler.kt index 38382f1c6..641a7591b 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/LarryHandler.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/LarryHandler.kt @@ -7,7 +7,6 @@ import core.game.content.dialogue.FacialExpression import core.game.node.entity.player.Player import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld import rs09.tools.END_DIALOGUE class LarryHandler(player: Player? = null) : DialoguePlugin(player){ diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinHNSEvent.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinHNSEvent.kt index 38f68a8da..dcd397758 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinHNSEvent.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinHNSEvent.kt @@ -1,17 +1,15 @@ package rs09.game.content.global.worldevents.penguinhns -import core.game.system.task.Pulse import org.json.simple.JSONObject import rs09.ServerStore import rs09.game.content.global.worldevents.PluginSet import rs09.game.content.global.worldevents.WorldEvent -import rs09.game.content.global.worldevents.WorldEvents -import rs09.game.world.GameWorld +import rs09.game.world.World class PenguinHNSEvent : WorldEvent("penguin-hns"){ val manager = PenguinManager() var lastTrigger: Int = 0 - var tickDelay = if(GameWorld.settings?.isDevMode == true) 100 else 100000 + var tickDelay = if(World.settings?.isDevMode == true) 100 else 100000 override fun checkActive(): Boolean { return true //this event is always active. @@ -34,7 +32,7 @@ class PenguinHNSEvent : WorldEvent("penguin-hns"){ override fun fireEvent() { log("Loading penguins...") manager.rebuildVars() - lastTrigger = GameWorld.ticks + lastTrigger = World.ticks log("Penguins loaded.") } diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinSpyingHandler.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinSpyingHandler.kt index 6d96d95ce..0b7181062 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinSpyingHandler.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/penguinhns/PenguinSpyingHandler.kt @@ -1,16 +1,10 @@ package rs09.game.content.global.worldevents.penguinhns -import core.game.interaction.DestinationFlag -import core.game.interaction.MovementPulse -import core.game.interaction.Option import core.game.node.entity.npc.NPC import core.game.node.entity.player.Player import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.update.flag.context.Animation -import core.plugin.Plugin -import core.game.content.quest.PluginInteraction -import core.game.content.quest.PluginInteractionManager import rs09.game.interaction.InteractionListener class PenguinSpyingHandler : InteractionListener(){ @@ -21,7 +15,7 @@ class PenguinSpyingHandler : InteractionListener(){ if(PenguinManager.hasTagged(player, npc.location)){ player.sendMessage("You've already tagged this penguin.") } else { - GameWorld.submit(SpyPulse(player, npc)) + World.submit(SpyPulse(player, npc)) } return@on true } diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarEvent.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarEvent.kt index bbfe2df56..eb30c5bcf 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarEvent.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarEvent.kt @@ -9,7 +9,7 @@ import rs09.ServerStore import rs09.game.content.global.worldevents.PluginSet import rs09.game.content.global.worldevents.WorldEvent import rs09.game.content.global.worldevents.WorldEvents -import rs09.game.world.GameWorld +import rs09.game.world.World /** @@ -19,7 +19,7 @@ import rs09.game.world.GameWorld */ class ShootingStarEvent : WorldEvent("shooting-stars") { val star = ShootingStar() - val tickDelay = if(GameWorld.settings?.isDevMode == true) 200 else 25000 + val tickDelay = if(World.settings?.isDevMode == true) 200 else 25000 override fun initialize() { @@ -32,7 +32,7 @@ class ShootingStarEvent : WorldEvent("shooting-stars") { ShootingStarLogin() ) super.initialize() - GameWorld.Pulser.submit(StarPulse()) + World.Pulser.submit(StarPulse()) log("Shooting Star event has been initialized.") } diff --git a/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarMiningPulse.kt b/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarMiningPulse.kt index 763d1a910..dcb3a35fc 100644 --- a/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarMiningPulse.kt +++ b/Server/src/main/kotlin/rs09/game/content/global/worldevents/shootingstar/ShootingStarMiningPulse.kt @@ -10,7 +10,7 @@ import core.game.node.entity.skill.gather.SkillingTool import core.game.node.item.Item import core.tools.RandomFunction import org.rs09.consts.Items -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.game.world.repository.Repository import rs09.tools.stringtools.colorize @@ -81,7 +81,7 @@ class ShootingStarMiningPulse(player: Player?, node: Scenery?, val star: Shootin if (!checkReward()) { return false } - if (GameWorld.settings?.isDevMode == true) { + if (World.settings?.isDevMode == true) { star.dustLeft = 1 } star.decDust() diff --git a/Server/src/main/kotlin/rs09/game/content/quest/free/dragonslayer/NedDialogue.kt b/Server/src/main/kotlin/rs09/game/content/quest/free/dragonslayer/NedDialogue.kt index 3e1c93f67..258587e1e 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/free/dragonslayer/NedDialogue.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/free/dragonslayer/NedDialogue.kt @@ -8,7 +8,7 @@ import core.game.node.entity.player.link.diary.DiaryType import core.game.node.item.GroundItemManager import core.game.node.item.Item import rs09.game.content.quest.free.princealirescue.NedPARDialogue -import rs09.game.world.GameWorld.settings +import rs09.game.world.World.settings import rs09.tools.DIALOGUE_INITIAL_OPTIONS_HANDLE import rs09.tools.END_DIALOGUE diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/HunterTalismanListener.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/HunterTalismanListener.kt index a52a0d5ec..114c58bd8 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/HunterTalismanListener.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/HunterTalismanListener.kt @@ -6,7 +6,7 @@ import core.game.system.task.Pulse import core.game.world.map.Location import org.rs09.consts.Items import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World.Pulser import kotlin.math.abs import kotlin.math.atan2 diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/ManniDialogue.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/ManniDialogue.kt index c20afe869..3eedb697c 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/ManniDialogue.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/ManniDialogue.kt @@ -3,10 +3,9 @@ package rs09.game.content.quest.members.thefremenniktrials import core.game.node.entity.impl.Animator import core.game.node.entity.npc.NPC import core.game.node.entity.player.Player -import core.game.node.entity.player.info.PlayerDetails import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.game.world.update.flag.context.Animation import core.plugin.Initializable @@ -73,7 +72,7 @@ class ManniDialogue(player: Player? = null) : DialoguePlugin(player){ 2 -> {player("No, I don't think I am.");stage = 1000} } 103 -> {npc("As you wish outerlander; I will drink first, then you will","drink.");stage++} - 104 -> {GameWorld.submit(DrinkingPulse(player,curNPC,player?.getAttribute("fremtrials:keg-mixed",false))); end()} + 104 -> {World.submit(DrinkingPulse(player,curNPC,player?.getAttribute("fremtrials:keg-mixed",false))); end()} 1000 -> end() } diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/TFTInteractionListeners.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/TFTInteractionListeners.kt index d2c781728..226c1b355 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/TFTInteractionListeners.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thefremenniktrials/TFTInteractionListeners.kt @@ -17,8 +17,8 @@ import org.rs09.consts.NPCs import org.rs09.primextends.getNext import org.rs09.primextends.isLast import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World +import rs09.game.world.World.Pulser class TFTInteractionListeners : InteractionListener(){ @@ -81,7 +81,7 @@ class TFTInteractionListeners : InteractionListener(){ onUseWith(ITEM,KNIFE,TREE_BRANCH){player,knife,_ -> if (player.inventory.containsItem(knife.asItem())) { - GameWorld.submit(BranchFletchingPulse(player)) + World.submit(BranchFletchingPulse(player)) } else { player.sendMessage("You need a knife to do this.") } diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/CaveZone.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/CaveZone.kt index 79ca033a7..efbd5e2fa 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/CaveZone.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/CaveZone.kt @@ -4,7 +4,7 @@ import core.game.node.entity.Entity import core.game.node.entity.combat.ImpactHandler import core.game.node.entity.player.Player import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.game.world.map.zone.MapZone import core.game.world.map.zone.ZoneBorders @@ -50,7 +50,7 @@ class CaveZone : MapZone("TLT Cave Zone", true), Plugin { fun trigger(player: Player){ if(RandomFunction.random(1,6) <= 2) { player.animator.animate(Animation(1950), Graphics(572,1,3)) - GameWorld.Pulser.submit(object : Pulse(5) { + World.Pulser.submit(object : Pulse(5) { override fun pulse(): Boolean { player.unlock() player.properties.teleportLocation = Location.create(3159, 9546, 0) diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/GoblinFollower.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/GoblinFollower.kt index 699e11768..c6c87bf5f 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/GoblinFollower.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/GoblinFollower.kt @@ -5,7 +5,7 @@ import core.game.node.entity.player.Player import core.game.system.task.Pulse import core.game.world.map.Location import org.rs09.consts.Components -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Small object for the goblin follow options @@ -20,7 +20,7 @@ object GoblinFollower { } private fun travel(player: Player,location: Location){ - GameWorld.Pulser.submit(object: Pulse(){ + World.Pulser.submit(object: Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/LostTribeCutscene.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/LostTribeCutscene.kt index dd2207d5b..7d6965ebb 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/LostTribeCutscene.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/LostTribeCutscene.kt @@ -15,7 +15,7 @@ import core.game.world.map.build.DynamicRegion import core.game.world.update.flag.context.Animation import core.plugin.Initializable import rs09.game.camerautils.PlayerCamera -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World.Pulser private const val DUKE = 2088 private const val MISTAG = 2089 diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickaxeOnRubble.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickaxeOnRubble.kt index c86aa3361..714f9ce02 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickaxeOnRubble.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickaxeOnRubble.kt @@ -5,7 +5,7 @@ import core.game.interaction.UseWithHandler import core.game.node.entity.skill.Skills import core.game.node.entity.skill.gather.SkillingTool import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.plugin.Initializable import core.plugin.Plugin @@ -40,7 +40,7 @@ class PickaxeOnRubble : UseWithHandler(1265,1267,1269,1271,1273,1275){ } player.lock() - GameWorld.Pulser.submit(object : Pulse(){ + World.Pulser.submit(object : Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickpocketSigmund.kt b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickpocketSigmund.kt index 01fe466b3..1e78e754b 100644 --- a/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickpocketSigmund.kt +++ b/Server/src/main/kotlin/rs09/game/content/quest/members/thelosttribe/PickpocketSigmund.kt @@ -7,7 +7,7 @@ import core.game.world.update.flag.context.Animation import org.rs09.consts.Items import org.rs09.consts.NPCs import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World /** * handles pickpocketing sigmund during the lost tribe quest @@ -19,7 +19,7 @@ class PickpocketSigmund : InteractionListener(){ override fun defineListeners() { on(SIGMUND,NPC,"pickpocket"){player, node -> player.lock() - GameWorld.Pulser.submit(object : Pulse(){ + World.Pulser.submit(object : Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/DwarvenBoatmanDialogue.kt b/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/DwarvenBoatmanDialogue.kt index 78daf00b6..82c2f3673 100644 --- a/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/DwarvenBoatmanDialogue.kt +++ b/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/DwarvenBoatmanDialogue.kt @@ -8,7 +8,7 @@ import core.game.system.task.Pulse import core.game.world.map.Location import core.plugin.Initializable import org.rs09.consts.Components -import rs09.game.world.GameWorld +import rs09.game.world.World @Initializable class DwarvenBoatmanDialogue(player: Player? = null) : DialoguePlugin(player) { @@ -28,7 +28,7 @@ class DwarvenBoatmanDialogue(player: Player? = null) : DialoguePlugin(player) { 11 -> npc("How do you even know about-") 12 -> npc("Gah, nevermind! Just climb","on board!") 13 -> player("Thank you!") - 14 -> end().also { GameWorld.Pulser.submit(travelPulse(player)) } + 14 -> end().also { World.Pulser.submit(travelPulse(player)) } } return true } diff --git a/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/KeldagrimCartMethods.kt b/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/KeldagrimCartMethods.kt index 31797319d..3c75a3d78 100644 --- a/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/KeldagrimCartMethods.kt +++ b/Server/src/main/kotlin/rs09/game/content/zone/keldagrim/KeldagrimCartMethods.kt @@ -7,17 +7,17 @@ import core.game.system.task.Pulse import core.game.world.map.Direction import core.game.world.map.Location import org.rs09.consts.Components -import rs09.game.world.GameWorld +import rs09.game.world.World object KeldagrimCartMethods { @JvmStatic fun goToKeldagrim(player: Player){ - GameWorld.Pulser.submit(TravelToKeldagrimPulse(player)) + World.Pulser.submit(TravelToKeldagrimPulse(player)) } @JvmStatic fun leaveKeldagrimTo(player: Player, dest: Location){ - GameWorld.Pulser.submit(TravelFromKeldagrimPulse(player,dest)) + World.Pulser.submit(TravelFromKeldagrimPulse(player,dest)) } } diff --git a/Server/src/main/kotlin/rs09/game/content/zone/phasmatys/bonegrinder/BoneGrinderListener.kt b/Server/src/main/kotlin/rs09/game/content/zone/phasmatys/bonegrinder/BoneGrinderListener.kt index e7671417c..b4f8ff8d3 100644 --- a/Server/src/main/kotlin/rs09/game/content/zone/phasmatys/bonegrinder/BoneGrinderListener.kt +++ b/Server/src/main/kotlin/rs09/game/content/zone/phasmatys/bonegrinder/BoneGrinderListener.kt @@ -10,7 +10,7 @@ import core.game.world.map.Location import core.game.world.update.flag.context.Animation import org.rs09.consts.Items import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World.Pulser private const val LOADER = 11162 private const val BONE_GRINDER = 11163 diff --git a/Server/src/main/kotlin/rs09/game/ge/OfferManager.kt b/Server/src/main/kotlin/rs09/game/ge/OfferManager.kt index 2c779ee7c..bb6e364a6 100644 --- a/Server/src/main/kotlin/rs09/game/ge/OfferManager.kt +++ b/Server/src/main/kotlin/rs09/game/ge/OfferManager.kt @@ -13,9 +13,6 @@ import core.game.node.entity.player.info.PlayerDetails import core.game.node.entity.player.link.audio.Audio import core.game.node.item.Item import rs09.game.system.SystemLogger -import core.game.system.task.Pulse -import rs09.game.world.GameWorld -import core.game.world.callback.CallBack import rs09.game.world.repository.Repository import core.net.packet.PacketRepository import core.net.packet.context.ContainerContext @@ -34,7 +31,6 @@ import java.lang.Integer.min import java.util.* import java.util.concurrent.locks.ReentrantLock import javax.script.ScriptEngineManager -import kotlin.collections.ArrayList object OfferManager { /** diff --git a/Server/src/main/kotlin/rs09/game/interaction/CorporealBeastWarningInterface.kt b/Server/src/main/kotlin/rs09/game/interaction/CorporealBeastWarningInterface.kt index 4772e322a..865578bd7 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/CorporealBeastWarningInterface.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/CorporealBeastWarningInterface.kt @@ -2,7 +2,7 @@ package rs09.game.interaction import core.game.component.Component import core.game.node.entity.player.Player -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Handles the corporeal beast warning interface @@ -14,9 +14,9 @@ class CorporealBeastWarningInterface : InterfaceListener(){ override fun defineListeners() { on(COMPONENT_ID,17){player,component,_,_,_,_ -> - if(player.getAttribute("corp-beast-cave-delay",0) <= GameWorld.ticks) { + if(player.getAttribute("corp-beast-cave-delay",0) <= World.ticks) { player.properties.teleportLocation = player.location.transform(4, 0, 0).also { close(player,component) } - player.setAttribute("corp-beast-cave-delay",GameWorld.ticks + 5) + player.setAttribute("corp-beast-cave-delay",World.ticks + 5) } else { close(player,component) } diff --git a/Server/src/main/kotlin/rs09/game/interaction/QCRepository.kt b/Server/src/main/kotlin/rs09/game/interaction/QCRepository.kt index 6bc7547d2..870f8626b 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/QCRepository.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/QCRepository.kt @@ -9,9 +9,8 @@ import core.game.node.entity.skill.Skills import core.game.system.task.Pulse import core.game.world.update.flag.context.ChatMessage import core.game.world.update.flag.player.ChatFlag -import core.net.amsc.MSPacketRepository -import core.net.amsc.WorldCommunicator -import rs09.game.world.GameWorld.Pulser +import core.net.ms.MSPacketRepository +import rs09.game.world.World.Pulser import rs09.net.packet.`in`.QCPacketType import java.nio.ByteBuffer @@ -69,11 +68,7 @@ object QCRepository { if(forClan) { - if (WorldCommunicator.isEnabled()) { - MSPacketRepository.sendClanMessage(player, qcString) - } else { - player?.communication?.clan?.message(player, qcString) - } + MSPacketRepository.sendClanMessage(player, qcString) } else { val ctx = ChatMessage(player, qcString, 0, qcString.length) ctx.isQuickChat = true diff --git a/Server/src/main/kotlin/rs09/game/interaction/inter/FairyRingInterface.kt b/Server/src/main/kotlin/rs09/game/interaction/inter/FairyRingInterface.kt index 1d22efd58..a8ab9cb88 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/inter/FairyRingInterface.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/inter/FairyRingInterface.kt @@ -10,7 +10,7 @@ import core.game.world.map.Location import core.game.world.map.RegionManager import core.tools.RandomFunction import rs09.game.interaction.InterfaceListener -import rs09.game.world.GameWorld +import rs09.game.world.World val RING_1 = arrayOf('a','d','c','b') val RING_2 = arrayOf('i','l','k','j') @@ -122,7 +122,7 @@ class FairyRingInterface : InterfaceListener(){ if (!RegionManager.isTeleportPermitted(tile) || RegionManager.getObject(tile) != null) { tile = Location.create(2412, 4431, 0) } - GameWorld.Pulser.submit(object : Pulse(4, player) { + World.Pulser.submit(object : Pulse(4, player) { override fun pulse(): Boolean { ContentAPI.sendPlayerDialogue(player, "Wow, fairy magic sure is useful, I hardly moved at all!", FacialExpression.AMAZED) return true diff --git a/Server/src/main/kotlin/rs09/game/interaction/inter/MainGameInterface.kt b/Server/src/main/kotlin/rs09/game/interaction/inter/MainGameInterface.kt index c4b36792a..8558a1813 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/inter/MainGameInterface.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/inter/MainGameInterface.kt @@ -10,7 +10,7 @@ import core.game.node.entity.player.Player import core.game.node.entity.player.info.Rights import org.rs09.consts.Components import rs09.game.interaction.InterfaceListener -import rs09.game.world.GameWorld.settings +import rs09.game.world.World.settings class MainGameInterface : InterfaceListener() { val TOPLEVEL = Components.TOPLEVEL_548 diff --git a/Server/src/main/kotlin/rs09/game/interaction/item/GrandSeedPodHandler.kt b/Server/src/main/kotlin/rs09/game/interaction/item/GrandSeedPodHandler.kt index f029e81ca..1488de6f4 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/item/GrandSeedPodHandler.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/item/GrandSeedPodHandler.kt @@ -1,23 +1,14 @@ package rs09.game.interaction.item import api.ContentAPI -import core.cache.def.impl.ItemDefinition import core.game.content.global.travel.glider.GliderPulse import core.game.content.global.travel.glider.Gliders -import core.game.interaction.OptionHandler -import core.game.node.Node import core.game.node.entity.player.Player import core.game.node.entity.skill.Skills -import core.game.node.item.Item import core.game.system.task.Pulse import core.game.world.map.Location -import core.game.world.update.flag.context.Animation -import core.game.world.update.flag.context.Graphics -import core.plugin.Initializable -import core.plugin.Plugin import org.rs09.consts.Items import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld private const val SQUASH_GRAPHICS_BEGIN = 767 private const val SQUASH_GRAPHICS_END = 769 diff --git a/Server/src/main/kotlin/rs09/game/interaction/object/GutanothChestPlugin.kt b/Server/src/main/kotlin/rs09/game/interaction/object/GutanothChestPlugin.kt index e26c41232..0b03b2e64 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/object/GutanothChestPlugin.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/object/GutanothChestPlugin.kt @@ -10,7 +10,7 @@ import core.game.system.task.Pulse import core.game.world.update.flag.context.Animation import org.rs09.consts.Items import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World import java.util.concurrent.TimeUnit private const val CHEST = 2827 @@ -20,7 +20,7 @@ class GutanothChestInteractionHandler : InteractionListener(){ on(CHEST,SCENERY,"open"){ player, node -> val delay = player.getAttribute("gutanoth-chest-delay", 0L) - GameWorld.Pulser.submit(ChestPulse(player,System.currentTimeMillis() > delay, node as Scenery)) + World.Pulser.submit(ChestPulse(player,System.currentTimeMillis() > delay, node as Scenery)) return@on true } diff --git a/Server/src/main/kotlin/rs09/game/interaction/object/JungleBushHandler.kt b/Server/src/main/kotlin/rs09/game/interaction/object/JungleBushHandler.kt index d78b5dd97..b2e87d613 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/object/JungleBushHandler.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/object/JungleBushHandler.kt @@ -8,7 +8,7 @@ import core.game.system.task.Pulse import core.game.world.update.flag.context.Animation import org.rs09.consts.Items import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Handles the chopping down of dense jungle, mainly to grant access to the Kharazi Jungle. @@ -25,7 +25,7 @@ class JungleBushHandler : InteractionListener(){ on(ids,SCENERY,"chop-down"){ player, node -> val toChop = node.asScenery() if(checkRequirement(player)){ - GameWorld.Pulser.submit(object : Pulse(0){ + World.Pulser.submit(object : Pulse(0){ var ticks = 0 override fun pulse(): Boolean { when(ticks++){ diff --git a/Server/src/main/kotlin/rs09/game/interaction/player/PeltOptionPlugin.kt b/Server/src/main/kotlin/rs09/game/interaction/player/PeltOptionPlugin.kt index c9c5cff39..8287688c1 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/player/PeltOptionPlugin.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/player/PeltOptionPlugin.kt @@ -14,7 +14,7 @@ import core.game.world.update.flag.context.Graphics import core.plugin.Initializable import core.plugin.Plugin import org.rs09.consts.Items -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.tools.stringtools.colorize val snowball = Item(Items.SNOWBALL_11951) @@ -43,13 +43,13 @@ class PeltOptionPlugin : OptionHandler() { if(player.inventory.remove(snowball) || player.equipment.remove(snowball)){ player.lock() - GameWorld.Pulser.submit(object : Pulse(hitDelay + 1){ + World.Pulser.submit(object : Pulse(hitDelay + 1){ override fun pulse(): Boolean { other?.animator?.graphics(Graphics(1282)) return true } }) - GameWorld.Pulser.submit(object : Pulse() { + World.Pulser.submit(object : Pulse() { var counter = 0 override fun pulse(): Boolean { when (counter++) { diff --git a/Server/src/main/kotlin/rs09/game/interaction/region/dungeons/brimhaven/BrimhavenUtils.kt b/Server/src/main/kotlin/rs09/game/interaction/region/dungeons/brimhaven/BrimhavenUtils.kt index 3131a58a0..045d15924 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/region/dungeons/brimhaven/BrimhavenUtils.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/region/dungeons/brimhaven/BrimhavenUtils.kt @@ -13,7 +13,7 @@ import core.game.system.task.Pulse import core.game.world.map.Direction import core.game.world.map.Location import core.game.world.update.flag.context.Animation -import rs09.game.world.GameWorld +import rs09.game.world.World object BrimhavenUtils { fun getVineDestination(player: Player, node: Scenery): Location { @@ -53,7 +53,7 @@ object BrimhavenUtils { ContentAPI.teleport(p, loc) } - GameWorld.Pulser.submit(object : Pulse(3, player) { + World.Pulser.submit(object : Pulse(3, player) { var stage = if (dir == Direction.NORTH) -1 else 0 var direction = dir override fun pulse(): Boolean { diff --git a/Server/src/main/kotlin/rs09/game/node/entity/combat/CombatPulse.kt b/Server/src/main/kotlin/rs09/game/node/entity/combat/CombatPulse.kt index 5525626e2..21b864bc1 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/combat/CombatPulse.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/combat/CombatPulse.kt @@ -17,7 +17,7 @@ import core.game.node.entity.skill.Skills import core.game.node.entity.state.EntityState import core.game.node.item.Item import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.update.flag.context.Animation import core.tools.RandomFunction @@ -122,7 +122,7 @@ class CombatPulse( } combatTimeOut = 0 entity.face(victim) - if (nextAttack <= GameWorld.ticks) { + if (nextAttack <= World.ticks) { victim ?: return false val v: Entity = victim!! var handler = temporaryHandler @@ -310,7 +310,7 @@ class CombatPulse( * @param ticks The amount of ticks. */ fun setNextAttack(ticks: Int) { - nextAttack = GameWorld.ticks + ticks + nextAttack = World.ticks + ticks } /** @@ -349,7 +349,7 @@ class CombatPulse( override fun stop() { super.stop() - entity!!.setAttribute("combat-stop", GameWorld.ticks) + entity!!.setAttribute("combat-stop", World.ticks) if (victim != null) { lastVictim = victim } @@ -426,7 +426,7 @@ class CombatPulse( if (set != null && set.effect(entity, victim, state)) { set.visualize(entity, victim) } - GameWorld.Pulser.submit(object : Pulse(delay - 1, entity, victim) { + World.Pulser.submit(object : Pulse(delay - 1, entity, victim) { var impact = false override fun pulse(): Boolean { if (DeathTask.isDead(victim)) { diff --git a/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt b/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt index f2cf7fe41..caaf6d2a3 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt @@ -1,8 +1,5 @@ package rs09.game.node.entity.combat.handlers -import api.ContentAPI -import api.EquipmentSlot -import core.game.container.Container import core.game.container.impl.EquipmentContainer import core.game.content.quest.tutorials.tutorialisland.TutorialSession import core.game.content.quest.tutorials.tutorialisland.TutorialStage @@ -28,7 +25,7 @@ import core.tools.RandomFunction import rs09.game.node.entity.combat.CombatSwingHandler import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World import java.util.* import kotlin.math.ceil import kotlin.math.floor @@ -182,7 +179,7 @@ open class RangeSwingHandler victim!!.impactHandler.handleImpact(entity, hit, CombatStyle.RANGE, state) if (state.secondaryHit > -1) { val hitt = state.secondaryHit - GameWorld.Pulser.submit(object : Pulse(1, victim) { + World.Pulser.submit(object : Pulse(1, victim) { override fun pulse(): Boolean { victim.impactHandler.handleImpact(entity, hitt, CombatStyle.RANGE, state) return true diff --git a/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/LoginParser.kt b/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/LoginParser.kt index 1bd578c62..829b5c72b 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/LoginParser.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/LoginParser.kt @@ -9,12 +9,12 @@ import core.game.node.entity.player.info.login.Response import core.game.system.SystemManager import core.game.system.monitor.PlayerMonitor import core.game.system.task.Pulse -import core.net.amsc.MSPacketRepository -import core.net.amsc.ManagementServerState -import core.net.amsc.WorldCommunicator +import core.net.ms.MSPacketRepository import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.game.world.repository.Repository +import rs09.net.ms.ManagementServer +import rs09.net.ms.ManagementState import java.util.concurrent.TimeUnit import java.util.concurrent.locks.Lock import java.util.concurrent.locks.ReentrantLock @@ -115,7 +115,7 @@ class LoginParser( return } //Repository.getPlayerNames().put(player.getName(), player); - GameWorld.Pulser.submit(object : Pulse(1) { + World.Pulser.submit(object : Pulse(1) { override fun pulse(): Boolean { try { if (details.session.isActive) { @@ -176,7 +176,7 @@ class LoginParser( player.configManager.init() LoginConfiguration.configureGameWorld(player) Repository.playerNames[player.name] = player - GameWorld.Pulser.submit(object : Pulse(1) { + World.Pulser.submit(object : Pulse(1) { override fun pulse(): Boolean { if (!Repository.players.contains(player)) { Repository.players.add(player) @@ -196,7 +196,7 @@ class LoginParser( SystemLogger.logWarn("LOGGED_IN_PLAYERS contains ${details.username}") return flag(Response.ALREADY_ONLINE) } - if (WorldCommunicator.getState() == ManagementServerState.CONNECTING) { + if (ManagementServer.state == ManagementState.CONNECTING) { return flag(Response.LOGIN_SERVER_OFFLINE) } if (!details.session.isActive) { @@ -236,6 +236,6 @@ class LoginParser( * @param type The login type. */ init { - timeStamp = GameWorld.ticks + timeStamp = World.ticks } } \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt b/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt index 8d2b3c590..f5b70a5fe 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/player/info/login/PlayerSaveParser.kt @@ -8,7 +8,6 @@ import core.game.node.entity.player.link.SpellBookManager import core.game.node.entity.player.link.emote.Emotes import core.game.node.entity.player.link.grave.GraveType import core.game.node.entity.player.link.music.MusicEntry -import core.game.node.entity.skill.slayer.SlayerEquipmentFlags import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import org.json.simple.JSONArray @@ -18,7 +17,7 @@ import rs09.ServerConstants import rs09.game.node.entity.skill.farming.CompostBins import rs09.game.node.entity.skill.farming.FarmingPatch import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World import java.io.FileReader import java.util.* @@ -369,8 +368,8 @@ class PlayerSaveParser(val player: Player) { player.skills.parse(skillData) player.skills.experienceGained = saveFile!!["totalEXP"].toString().toDouble() player.skills.experienceMutiplier = saveFile!!["exp_multiplier"].toString().toDouble() - if (GameWorld.settings?.default_xp_rate != 5.0) { - player.skills.experienceMutiplier = GameWorld.settings?.default_xp_rate!! + if (World.settings?.default_xp_rate != 5.0) { + player.skills.experienceMutiplier = World.settings?.default_xp_rate!! } val divisor: Double if(player.skills.experienceMutiplier >= 10 && !player.attributes.containsKey("permadeath")){ //exclude permadeath HCIMs from XP squish diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/BarbarianOutpostCourse.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/BarbarianOutpostCourse.kt index 425264cab..4b5d29642 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/BarbarianOutpostCourse.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/BarbarianOutpostCourse.kt @@ -19,7 +19,7 @@ import core.game.world.map.Location import core.game.world.update.flag.context.Animation import core.game.world.update.flag.context.Graphics import core.plugin.Initializable -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.plugin.PluginManager /** @@ -92,7 +92,7 @@ class BarbarianOutpostCourse ContentAPI.sendMessage(player, "You cannot do that from here.") return } - if (ropeDelay > GameWorld.ticks) { + if (ropeDelay > World.ticks) { ContentAPI.sendMessage(player, "The rope is being used.") return } @@ -100,7 +100,7 @@ class BarbarianOutpostCourse AgilityHandler.fail(player, 0, Location.create(2549, 9951, 0), null, getHitAmount(player), "You slip and fall to the pit below.") return } - ropeDelay = GameWorld.ticks + 2 + ropeDelay = World.ticks + 2 player.packetDispatch.sendSceneryAnimation(`object`, Animation.create(497), true) AgilityHandler.forceWalk(player, 0, player.location, Location.create(2551, 3549, 0), Animation.create(751), 50, 22.0, "You skillfully swing across.", 1) } @@ -117,7 +117,7 @@ class BarbarianOutpostCourse AgilityHandler.walk(player, if (failed) -1 else 1, Location.create(2551, 3546, 0), end, Animation.create(155), if (failed) 0.0 else 13.5, if (failed) null else "...You make it safely to the other side.") if (failed) { AgilityHandler.walk(player, -1, player.location, Location.create(2545, 3546, 0), Animation.create(155), 0.0, null) - GameWorld.Pulser.submit(getSwimPulse(player)) + World.Pulser.submit(getSwimPulse(player)) return } } diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/GnomeStrongholdCourse.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/GnomeStrongholdCourse.kt index defb0c574..5ab3765b3 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/GnomeStrongholdCourse.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/GnomeStrongholdCourse.kt @@ -13,7 +13,7 @@ import core.game.system.task.LogoutTask import core.game.world.map.Location import core.game.world.update.flag.context.Animation import core.plugin.Initializable -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Handles the gnome stronghold agility course. @@ -80,11 +80,11 @@ class GnomeStrongholdCourse ContentAPI.sendMessage(player, "You can't do that from here.") return true } - if (USED_PIPES[index] > GameWorld.ticks) { + if (USED_PIPES[index] > World.ticks) { ContentAPI.sendMessage(player, "The pipe is being used.") return true } - USED_PIPES[index] = GameWorld.ticks + 10 + USED_PIPES[index] = World.ticks + 10 player.lock() //Animations and force walking diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/WildernessCourse.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/WildernessCourse.kt index 3db6a78c0..0b4562ef4 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/WildernessCourse.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/WildernessCourse.kt @@ -15,7 +15,7 @@ import core.game.world.map.Location import core.game.world.map.RegionManager import core.game.world.update.flag.context.Animation import core.plugin.Initializable -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Handles the wilderness agility course. @@ -68,7 +68,7 @@ class WildernessCourse * @param object the object. */ private fun handleEntranceObstacle(player: Player, `object`: Scenery) { - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var counter = 0 val fail = AgilityHandler.hasFailed(player, 1, 0.3) override fun pulse(): Boolean { @@ -112,7 +112,7 @@ class WildernessCourse return } player.lock(10) - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var counter = 0 override fun pulse(): Boolean { val x = 3004 @@ -156,7 +156,7 @@ class WildernessCourse ContentAPI.sendMessage(player, "You cannot do that from here.") return } - if (ropeDelay > GameWorld.ticks) { + if (ropeDelay > World.ticks) { ContentAPI.sendMessage(player, "The rope is being used.") return } @@ -164,7 +164,7 @@ class WildernessCourse AgilityHandler.fail(player, 0, Location.create(3005, 10357, 0), null, getHitAmount(player), "You slip and fall to the pit below.") return } - ropeDelay = GameWorld.ticks + 2 + ropeDelay = World.ticks + 2 player.packetDispatch.sendSceneryAnimation(`object`, Animation.create(497), true) AgilityHandler.forceWalk(player, 1, player.location, Location.create(3005, 3958, 0), Animation.create(751), 50, 20.0, "You skillfully swing across.", 1) } @@ -209,7 +209,7 @@ class WildernessCourse ContentAPI.sendMessage(player, "You walk carefully across the slippery log...") AgilityHandler.walk(player, if (failed) -1 else 3, player.location, end, Animation.create(155), if (failed) 0.0 else 20.0, if (failed) null else "You skillfully edge across the gap.") if (failed) { - GameWorld.Pulser.submit(object : Pulse(5, player) { + World.Pulser.submit(object : Pulse(5, player) { override fun pulse(): Boolean { player.faceLocation(Location.create(2998, 3944, 0)) AgilityHandler.fail(player, 3, Location.create(2998, 10345, 0), Animation.create(770), getHitAmount(player), "You slip and fall onto the spikes below.") @@ -227,7 +227,7 @@ class WildernessCourse */ private fun handleRockClimb(player: Player, `object`: Scenery) { AgilityHandler.forceWalk(player, 4, Location.create(2994, 3937, 0), Location.create(2994, 3933, 0), Animation.create(740), 8, 0.0, "You reach the top.") - GameWorld.Pulser.submit(object : Pulse(4, player) { + World.Pulser.submit(object : Pulse(4, player) { override fun pulse(): Boolean { player.animator.reset() return true diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/BasaltRockShortcut.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/BasaltRockShortcut.kt index 61f29e60a..0104d8a1f 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/BasaltRockShortcut.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/BasaltRockShortcut.kt @@ -6,7 +6,7 @@ import core.game.node.entity.player.Player import core.game.node.entity.skill.agility.AgilityHandler import core.game.node.entity.skill.agility.AgilityShortcut import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import core.game.world.update.flag.context.Animation import core.game.world.update.flag.player.FaceLocationFlag @@ -87,7 +87,7 @@ class BasaltRockShortcut : AgilityShortcut { } override fun run(player: Player, obj: Scenery, option: String, failed: Boolean) { - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { override fun pulse(): Boolean { when (obj.id) { diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/PipeShortcut.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/PipeShortcut.kt index 8ed3d0bbc..21b84a834 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/PipeShortcut.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/agility/shortcuts/PipeShortcut.kt @@ -6,7 +6,7 @@ import core.game.node.entity.player.link.diary.DiaryType import core.game.node.entity.skill.agility.AgilityHandler import core.game.node.entity.skill.agility.AgilityShortcut import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.update.flag.context.Animation import core.plugin.Initializable import core.plugin.Plugin @@ -66,7 +66,7 @@ class PipeShortcut : AgilityShortcut { /** * Pulse that starts the object interaction when clicked on one of these shortcuts */ - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { override fun pulse(): Boolean { when (obj.id) { diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/EstateAgentDialogue.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/EstateAgentDialogue.kt index ba5476286..a1d2725ad 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/EstateAgentDialogue.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/EstateAgentDialogue.kt @@ -12,7 +12,7 @@ import core.game.node.entity.skill.construction.HousingStyle import core.game.node.item.Item import core.plugin.Initializable import org.rs09.consts.Items -import rs09.game.world.GameWorld.settings +import rs09.game.world.World.settings import rs09.tools.END_DIALOGUE import rs09.tools.START_DIALOGUE diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/LecternPlugin.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/LecternPlugin.kt index 6fe7252d2..627e9eb7b 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/LecternPlugin.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/LecternPlugin.kt @@ -16,7 +16,7 @@ import core.game.system.task.Pulse import core.game.world.update.flag.context.Animation import core.plugin.Initializable import core.plugin.Plugin -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.plugin.PluginManager.definePlugin /** @@ -127,7 +127,7 @@ class LecternPlugin : OptionHandler() { override fun handle(player: Player, node: Node, option: String): Boolean { val id = node.asScenery().id player.setAttribute("ttb:objectid", id) - GameWorld.Pulser.submit(object : Pulse(){ + World.Pulser.submit(object : Pulse(){ var counter = 0 override fun pulse(): Boolean { when(counter++){ diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/TelescopePlugin.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/TelescopePlugin.kt index fee31ef24..be4b20f2e 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/TelescopePlugin.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/construction/decoration/study/TelescopePlugin.kt @@ -13,7 +13,7 @@ import core.plugin.Plugin import core.tools.RandomFunction import rs09.game.content.global.worldevents.WorldEvents import rs09.game.content.global.worldevents.shootingstar.ShootingStarEvent -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World.Pulser import java.util.concurrent.TimeUnit @Initializable diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/gather/fishing/FishingPulse.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/gather/fishing/FishingPulse.kt index 30b3bd953..db263225f 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/gather/fishing/FishingPulse.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/gather/fishing/FishingPulse.kt @@ -3,7 +3,6 @@ package rs09.game.node.entity.skill.gather.fishing import core.game.content.global.SkillingPets import core.game.content.quest.tutorials.tutorialisland.TutorialSession import core.game.content.quest.tutorials.tutorialisland.TutorialStage -import core.game.container.Container import core.game.node.entity.npc.NPC import core.game.node.entity.player.Player import core.game.node.entity.player.link.diary.DiaryType @@ -23,7 +22,7 @@ import rs09.game.node.entity.player.info.stats.STATS_BASE import rs09.game.node.entity.player.info.stats.STATS_FISH import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks.Companion.isActive -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World.Pulser import rs09.tools.stringtools.colorize /** diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/pitfall/HunterPitfall.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/pitfall/HunterPitfall.kt index 0226fa5aa..ebbbd4aa4 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/pitfall/HunterPitfall.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/pitfall/HunterPitfall.kt @@ -1,10 +1,6 @@ import java.util.concurrent.TimeUnit; import api.ContentAPI -import core.cache.def.impl.NPCDefinition -import core.cache.def.impl.SceneryDefinition -import core.game.interaction.OptionHandler -import core.game.node.Node import core.game.node.entity.Entity import core.game.node.entity.combat.CombatStyle import core.game.node.entity.impl.Animator.Priority; @@ -18,14 +14,12 @@ import core.game.system.task.Pulse import core.game.world.map.Direction import core.game.world.map.Location import core.game.world.update.flag.context.Animation -import core.game.world.update.flag.context.Graphics import core.plugin.Initializable -import core.plugin.Plugin import core.tools.RandomFunction import org.rs09.consts.Items import org.rs09.consts.NPCs import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World /*@Initializable class HunterPitfall : OptionHandler() { @@ -201,7 +195,7 @@ class PitfallListeners : InteractionListener() { return true } } - GameWorld.Pulser.submit(collapsePulse) + World.Pulser.submit(collapsePulse) return@on true } on(SPIKED_PIT, SCENERY, "jump") { player, node -> diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/tracking/HunterTracking.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/tracking/HunterTracking.kt index d888c6315..95a700656 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/tracking/HunterTracking.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/hunter/tracking/HunterTracking.kt @@ -13,7 +13,7 @@ import core.game.world.update.flag.context.Animation import core.tools.RandomFunction import org.rs09.consts.Items import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World import java.util.* /** @@ -163,7 +163,7 @@ abstract class HunterTracking : OptionHandler(){ fun reward(player: Player, success: Boolean) { player.lock() player.animator.animate(if(success) KEBBIT_ANIM else MISS_ANIM) - GameWorld.Pulser.submit(object : Pulse(KEBBIT_ANIM.duration){ + World.Pulser.submit(object : Pulse(KEBBIT_ANIM.duration){ override fun pulse(): Boolean { if(hasTrail(player) && success){ for(item in rewards){ diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt index dad5e5c8b..798f1f809 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt @@ -8,7 +8,7 @@ import core.game.node.item.Item import core.game.world.update.flag.context.Animation import core.game.world.update.flag.context.Graphics import rs09.game.interaction.Listener -import rs09.game.world.GameWorld +import rs09.game.world.World abstract class SpellListener(val bookName: String) : Listener { companion object { @@ -34,7 +34,7 @@ abstract class SpellListener(val bookName: String) : Listener { } fun requires(player: Player, magicLevel: Int = 0, runes: Array = arrayOf(), specialEquipment: IntArray = intArrayOf()){ - if(player.getAttribute("magic-delay",0) > GameWorld.ticks){ + if(player.getAttribute("magic-delay",0) > World.ticks){ throw IllegalStateException() } if(player.getAttribute("tablet-spell",false)){ @@ -80,7 +80,7 @@ abstract class SpellListener(val bookName: String) : Listener { } fun setDelay(player: Player,isTeleport: Boolean = false){ - if(!isTeleport) player.setAttribute("magic-delay",GameWorld.ticks + 3) else player.setAttribute("magic-delay",GameWorld.ticks + 5) + if(!isTeleport) player.setAttribute("magic-delay",World.ticks + 3) else player.setAttribute("magic-delay",World.ticks + 5) } fun interrupt(player: Player){ diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/runecrafting/abyss/AbyssPlugin.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/runecrafting/abyss/AbyssPlugin.kt index 72c50b41d..847bb3319 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/runecrafting/abyss/AbyssPlugin.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/runecrafting/abyss/AbyssPlugin.kt @@ -18,7 +18,7 @@ import core.game.world.update.flag.context.Graphics import core.tools.RandomFunction import org.rs09.consts.NPCs import rs09.game.interaction.InteractionListener -import rs09.game.world.GameWorld +import rs09.game.world.World /** * A plugin used to handle the abyss. @@ -105,7 +105,7 @@ class AbyssPlugin : InteractionListener() { } player.animate(Animation(733)) player.lock() - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var count = 0 override fun pulse(): Boolean { when (count) { @@ -150,7 +150,7 @@ class AbyssPlugin : InteractionListener() { } player.animate(tool.getAnimation()) player.lock() - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var count = 0 override fun pulse(): Boolean { when (count) { @@ -191,7 +191,7 @@ class AbyssPlugin : InteractionListener() { } player.animate(tool.getAnimation()) player.lock() - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var count = 0 override fun pulse(): Boolean { when (count) { @@ -232,7 +232,7 @@ class AbyssPlugin : InteractionListener() { `object` ?: return player.animate(Animation(1331)) player.lock() - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var count = 0 override fun pulse(): Boolean { when (count) { @@ -303,7 +303,7 @@ class AbyssPlugin : InteractionListener() { val index: Int = RandomFunction.random(emotes.size) player.animate(Animation(emotes[index])) player.lock() - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var count = 0 override fun pulse(): Boolean { when (count) { @@ -458,7 +458,7 @@ class AbyssPlugin : InteractionListener() { npc.sendChat("Veniens! Sallakar! Rinnesset!") player.skills.decrementPrayerPoints(100.0) player.skullManager.checkSkull(player) - GameWorld.Pulser.submit(object : Pulse(2, player) { + World.Pulser.submit(object : Pulse(2, player) { override fun pulse(): Boolean { player.properties.teleportLocation = Location.create(3021, 4847, 0) npc.updateMasks.reset() diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/skillcapeperks/SkillcapePerks.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/skillcapeperks/SkillcapePerks.kt index 79802c385..59ed911ee 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/skillcapeperks/SkillcapePerks.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/skillcapeperks/SkillcapePerks.kt @@ -8,7 +8,7 @@ import core.game.node.entity.player.link.TeleportManager import core.game.node.entity.skill.runecrafting.Altar import core.game.world.map.zone.impl.DarkZone import core.plugin.Initializable -import rs09.game.world.GameWorld +import rs09.game.world.World enum class SkillcapePerks(val attribute: String, val effect: ((Player) -> Unit)? = null) { BAREFISTED_SMITHING("cape_perks:barefisted-smithing"), @@ -112,7 +112,7 @@ enum class SkillcapePerks(val attribute: String, val effect: ((Player) -> Unit)? } fun activate(player: Player){ - if(GameWorld.settings?.skillcape_perks != true){ + if(World.settings?.skillcape_perks != true){ return } if(!isActive(this,player)){ @@ -124,7 +124,7 @@ enum class SkillcapePerks(val attribute: String, val effect: ((Player) -> Unit)? } fun operate(player: Player){ - if(GameWorld.settings?.skillcape_perks != true){ + if(World.settings?.skillcape_perks != true){ player.sendMessage("This item can not be operated.") return } diff --git a/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/State.kt b/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/State.kt index b42bdfbf6..74009e820 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/State.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/State.kt @@ -3,7 +3,7 @@ package rs09.game.node.entity.state.newsys import core.game.node.entity.player.Player import core.game.system.task.Pulse import org.json.simple.JSONObject -import rs09.game.world.GameWorld.Pulser +import rs09.game.world.World.Pulser /** * A class representing a state that the player or some associated thing can be in. diff --git a/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/DiseasedState.kt b/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/DiseasedState.kt index 5e3eae436..f5dc07f7f 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/DiseasedState.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/DiseasedState.kt @@ -7,7 +7,7 @@ import core.tools.RandomFunction import org.json.simple.JSONObject import rs09.game.node.entity.state.newsys.PlayerState import rs09.game.node.entity.state.newsys.State -import rs09.game.world.GameWorld +import rs09.game.world.World @PlayerState("disease") class DiseasedState(player: Player? = null) : State(player){ @@ -31,7 +31,7 @@ class DiseasedState(player: Player? = null) : State(player){ override fun createPulse() { player ?: return - if(player.getAttribute("immunity:disease",0) > GameWorld.ticks){ + if(player.getAttribute("immunity:disease",0) > World.ticks){ return } if(hitsLeft <= 0) return diff --git a/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/GodspellChargedState.kt b/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/GodspellChargedState.kt index dfa3be5d7..9df92299e 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/GodspellChargedState.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/state/newsys/states/GodspellChargedState.kt @@ -5,7 +5,7 @@ import core.game.system.task.Pulse import org.json.simple.JSONObject import rs09.game.node.entity.state.newsys.PlayerState import rs09.game.node.entity.state.newsys.State -import rs09.game.world.GameWorld; +import rs09.game.world.World; @PlayerState("godcharge") class GodspellChargedState(player: Player? = null) : State(player) { @@ -13,24 +13,24 @@ class GodspellChargedState(player: Player? = null) : State(player) { var startTick: Int = 0 override fun save(root: JSONObject) { - root.put("ticks_elapsed", GameWorld.ticks - startTick) + root.put("ticks_elapsed", World.ticks - startTick) } override fun parse(_data: JSONObject) { if(_data.containsKey("ticks_elapsed")){ - startTick = GameWorld.ticks - _data["ticks_elapsed"].toString().toInt() + startTick = World.ticks - _data["ticks_elapsed"].toString().toInt() } } override fun newInstance(player: Player?): State { var ret = GodspellChargedState(player) - ret.startTick = GameWorld.ticks + ret.startTick = World.ticks return ret } override fun createPulse() { player ?: return - if(GameWorld.ticks - startTick >= DURATION) return + if(World.ticks - startTick >= DURATION) return pulse = object : Pulse(DURATION) { override fun pulse(): Boolean { player.sendMessage("Your magical charge fades away.") diff --git a/Server/src/main/kotlin/rs09/game/system/command/Command.kt b/Server/src/main/kotlin/rs09/game/system/command/Command.kt index 44b11f517..bff433a2a 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/Command.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/Command.kt @@ -1,7 +1,7 @@ package rs09.game.system.command import core.game.node.entity.player.Player -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Base class for Commands in the new system. Can pass a lambda as part of the constructor or after the constructor. @@ -10,7 +10,7 @@ import rs09.game.world.GameWorld class Command(val name: String, val privilege: Privilege, val handle: (Player, Array) -> Unit) { fun attemptHandling(player: Player, args: Array?){ args ?: return - if(player.rights.ordinal >= privilege.ordinal || GameWorld.settings?.isDevMode == true){ + if(player.rights.ordinal >= privilege.ordinal || World.settings?.isDevMode == true){ handle(player,args) } } diff --git a/Server/src/main/kotlin/rs09/game/system/command/oldsys/AIPCommandPlugin.kt b/Server/src/main/kotlin/rs09/game/system/command/oldsys/AIPCommandPlugin.kt index 71c61da18..9c56ea8f5 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/oldsys/AIPCommandPlugin.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/oldsys/AIPCommandPlugin.kt @@ -9,7 +9,7 @@ import core.game.node.entity.skill.Skills import rs09.game.system.command.CommandPlugin import core.game.system.command.CommandSet import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.game.world.ImmerseWorld import core.game.world.map.Location import core.game.world.map.RegionManager @@ -119,7 +119,7 @@ class AIPCommandPlugin : CommandPlugin() { player.communication.clan.clanWar.fireEvent("join", aip) } } - GameWorld.Pulser.submit(object : Pulse(1) { + World.Pulser.submit(object : Pulse(1) { override fun pulse(): Boolean { aip.follow(l) return true diff --git a/Server/src/main/kotlin/rs09/game/system/command/oldsys/VisualCommand.kt b/Server/src/main/kotlin/rs09/game/system/command/oldsys/VisualCommand.kt index ec0814583..216772078 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/oldsys/VisualCommand.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/oldsys/VisualCommand.kt @@ -24,7 +24,7 @@ import core.net.packet.out.Varbit import core.plugin.Initializable import core.plugin.Plugin import rs09.game.system.command.CommandPlugin -import rs09.game.world.GameWorld +import rs09.game.world.World import java.awt.Toolkit import java.awt.datatransfer.StringSelection @@ -293,7 +293,7 @@ class VisualCommand : CommandPlugin() { "loop_inter" -> { val st = toInteger(args!![1]!!) val en = if (args.size > 2) toInteger(args[2]!!) else 740 - GameWorld.Pulser.submit(object : Pulse(3, player) { + World.Pulser.submit(object : Pulse(3, player) { var id = st override fun pulse(): Boolean { // PacketRepository.send(Interface.class, new InterfaceContext(player, 548, 77, id, false)); @@ -307,7 +307,7 @@ class VisualCommand : CommandPlugin() { "loop_iconfig" -> { val st = toInteger(args!![1]!!) val en = if (args.size > 2) toInteger(args[2]!!) else 740 - GameWorld.Pulser.submit(object : Pulse(3, player) { + World.Pulser.submit(object : Pulse(3, player) { var id = 0 override fun pulse(): Boolean { // PacketRepository.send(Interface.class, new InterfaceContext(player, 548, 77, id, false)); @@ -321,7 +321,7 @@ class VisualCommand : CommandPlugin() { "loop_itemoni" -> { val st = toInteger(args!![1]!!) val en = if (args.size > 2) toInteger(args[2]!!) else 740 - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { var id = 0 override fun pulse(): Boolean { // PacketRepository.send(Interface.class, new InterfaceContext(player, 548, 77, id, false)); @@ -371,7 +371,7 @@ class VisualCommand : CommandPlugin() { "loop_oa" -> { val startId = toInteger(args!![1]!!) val endId = if (args.size > 2) toInteger(args[2]!!) else 11000 - GameWorld.Pulser.submit(object : Pulse(3, player) { + World.Pulser.submit(object : Pulse(3, player) { var id = startId override fun pulse(): Boolean { val `object` = RegionManager.getObject(player!!.location) @@ -389,7 +389,7 @@ class VisualCommand : CommandPlugin() { "loop_anim" -> { val start = toInteger(args!![1]!!) val end = if (args.size > 2) toInteger(args[2]!!) else 11000 - GameWorld.Pulser.submit(object : Pulse(3, player) { + World.Pulser.submit(object : Pulse(3, player) { var id = start override fun pulse(): Boolean { player!!.animate(Animation.create(id)) @@ -402,7 +402,7 @@ class VisualCommand : CommandPlugin() { "loop_gfx" -> { val s = toInteger(args!![1]!!) val e = if (args.size > 2) toInteger(args[2]!!) else 11000 - GameWorld.Pulser.submit(object : Pulse(3, player) { + World.Pulser.submit(object : Pulse(3, player) { var id = s override fun pulse(): Boolean { Projectile.create(player!!.location, player.location.transform(0, 3, 0), id, 42, 36, 46, 75, 5, 11).send() diff --git a/Server/src/main/kotlin/rs09/game/system/command/sets/AnimationCommandSet.kt b/Server/src/main/kotlin/rs09/game/system/command/sets/AnimationCommandSet.kt index bbd48b81a..0eabee959 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/sets/AnimationCommandSet.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/sets/AnimationCommandSet.kt @@ -6,7 +6,7 @@ import core.game.world.update.flag.context.Animation import core.plugin.Initializable import rs09.game.system.command.Command import rs09.game.system.command.CommandPlugin.Companion.toInteger -import rs09.game.world.GameWorld +import rs09.game.world.World import java.util.* @Initializable @@ -40,7 +40,7 @@ class AnimationCommandSet : CommandSet(Command.Privilege.ADMIN) { notify(player, "Really...? $end times...? Looping 25 times instead.") end = 25 } - GameWorld.Pulser.submit(object : Pulse(3, player) { + World.Pulser.submit(object : Pulse(3, player) { var id = start override fun pulse(): Boolean { player.animate(Animation.create(id)) diff --git a/Server/src/main/kotlin/rs09/game/system/command/sets/BottingCommandSet.kt b/Server/src/main/kotlin/rs09/game/system/command/sets/BottingCommandSet.kt index 8131ecb3a..66001503b 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/sets/BottingCommandSet.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/sets/BottingCommandSet.kt @@ -7,14 +7,14 @@ import rs09.game.ai.general.GeneralBotCreator import rs09.game.ai.general.scriptrepository.PlayerScripts import rs09.game.ai.general.scriptrepository.Script import rs09.game.system.command.Command -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.tools.stringtools.colorize @Initializable class BottingCommandSet : CommandSet(Command.Privilege.STANDARD) { override fun defineCommands() { define("scripts"){player, _ -> - if(GameWorld.settings?.enabled_botting != true){ + if(World.settings?.enabled_botting != true){ player.sendChat("I just tried to do something silly!") return@define } @@ -39,7 +39,7 @@ class BottingCommandSet : CommandSet(Command.Privilege.STANDARD) { player.interfaceManager.open(Component(Components.QUESTJOURNAL_SCROLL_275)) } define("script"){player,args -> - if(GameWorld.settings?.enabled_botting != true){ + if(World.settings?.enabled_botting != true){ player.sendChat("I just tried to do something very silly!") return@define } diff --git a/Server/src/main/kotlin/rs09/game/system/command/sets/FunCommandSet.kt b/Server/src/main/kotlin/rs09/game/system/command/sets/FunCommandSet.kt index b3e77796a..cf8d118fa 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/sets/FunCommandSet.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/sets/FunCommandSet.kt @@ -10,10 +10,9 @@ import core.game.world.map.RegionManager import core.game.world.update.flag.context.Animation import core.plugin.Initializable import rs09.game.content.dialogue.DialogueFile -import rs09.game.interaction.InteractionListeners import rs09.game.interaction.SpadeDigListener import rs09.game.system.command.Command -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.tools.END_DIALOGUE import java.util.* @@ -106,7 +105,7 @@ class FunCommandSet : CommandSet(Command.Privilege.ADMIN) { player.appearance.rideCart(boneMode) if (player.appearance.isRidingMinecart) { var i = 0 - GameWorld.Pulser.submit(object : Pulse(1, player) { + World.Pulser.submit(object : Pulse(1, player) { override fun pulse(): Boolean { if (i++ % 12 == 0) player.sendChat("I want to get off Mr. Bones Wild Ride.") player.moveStep() diff --git a/Server/src/main/kotlin/rs09/game/system/command/sets/ModerationCommandSet.kt b/Server/src/main/kotlin/rs09/game/system/command/sets/ModerationCommandSet.kt index d6a9e47d6..e70c79184 100644 --- a/Server/src/main/kotlin/rs09/game/system/command/sets/ModerationCommandSet.kt +++ b/Server/src/main/kotlin/rs09/game/system/command/sets/ModerationCommandSet.kt @@ -4,7 +4,7 @@ import core.game.node.entity.player.Player import core.game.node.entity.player.info.Rights import rs09.game.system.command.Command import core.game.system.task.Pulse -import rs09.game.world.GameWorld +import rs09.game.world.World import core.game.world.map.Location import rs09.game.world.repository.Repository import core.plugin.Initializable @@ -66,7 +66,7 @@ class ModerationCommandSet : CommandSet(Command.Privilege.MODERATOR){ notify(player, "Jailing ${otherPlayer!!.username} for $timeSeconds seconds.") notify(otherPlayer, "${player.username} has jailed you for $timeSeconds seconds.") - GameWorld.Pulser.submit(object : Pulse(3){ + World.Pulser.submit(object : Pulse(3){ val originalLoc = otherPlayer.location val releaseTime = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(timeSeconds.toLong()) override fun pulse(): Boolean { diff --git a/Server/src/main/kotlin/rs09/game/system/config/GroundSpawnLoader.kt b/Server/src/main/kotlin/rs09/game/system/config/GroundSpawnLoader.kt index 391369675..ef2e3a83b 100644 --- a/Server/src/main/kotlin/rs09/game/system/config/GroundSpawnLoader.kt +++ b/Server/src/main/kotlin/rs09/game/system/config/GroundSpawnLoader.kt @@ -10,7 +10,7 @@ import org.json.simple.JSONObject import org.json.simple.parser.JSONParser import rs09.ServerConstants import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World import rs09.game.world.repository.Repository import java.io.FileReader import java.nio.ByteBuffer @@ -86,7 +86,7 @@ class GroundSpawnLoader { } override fun respawn() { - GameWorld.Pulser.submit(object : Pulse(respawnDuration) { + World.Pulser.submit(object : Pulse(respawnDuration) { override fun pulse(): Boolean { GroundItemManager.create(this@GroundSpawn) return true diff --git a/Server/src/main/kotlin/rs09/game/system/config/ServerConfigParser.kt b/Server/src/main/kotlin/rs09/game/system/config/ServerConfigParser.kt index 3c88ec244..a7a34d20e 100644 --- a/Server/src/main/kotlin/rs09/game/system/config/ServerConfigParser.kt +++ b/Server/src/main/kotlin/rs09/game/system/config/ServerConfigParser.kt @@ -2,13 +2,11 @@ package rs09.game.system.config import com.moandjiezana.toml.Toml import core.game.world.map.Location -import core.tools.StringUtils import core.tools.mysql.Database -import rs09.JSONUtils.Companion.parsePath import rs09.ServerConstants import rs09.game.system.SystemLogger -import rs09.game.world.GameSettings -import rs09.game.world.GameWorld +import rs09.game.world.WorldSettings +import rs09.game.world.World import java.io.File import kotlin.system.exitProcess @@ -29,8 +27,8 @@ object ServerConfigParser { } else { try { tomlData = Toml().read(confFile) - parseGameSettings() parseServerSettings() + parseGameSettings() } catch (e: java.lang.IllegalStateException) { SystemLogger.logErr("Passed config file is not a TOML file. Path: ${confFile!!.canonicalPath}") SystemLogger.logErr("Exception received: $e") @@ -44,7 +42,7 @@ object ServerConfigParser { tomlData ?: return val data = tomlData!! - GameWorld.settings = GameSettings( + World.settings = WorldSettings( name = ServerConstants.SERVER_NAME, isBeta = data.getBoolean("world.debug"), isDevMode = data.getBoolean("world.dev"), @@ -98,6 +96,7 @@ object ServerConfigParser { ServerConstants.HOME_LOCATION = parseLocation(data.getString("world.home_location")) ServerConstants.START_LOCATION = parseLocation(data.getString("world.new_player_location")) ServerConstants.DAILY_RESTART = data.getBoolean("world.daily_restart") + ServerConstants.ALLOW_GUI = data.getBoolean("world.start_gui") } diff --git a/Server/src/main/kotlin/rs09/game/world/GameWorld.kt b/Server/src/main/kotlin/rs09/game/world/GameWorld.kt deleted file mode 100644 index bbbf0824e..000000000 --- a/Server/src/main/kotlin/rs09/game/world/GameWorld.kt +++ /dev/null @@ -1,185 +0,0 @@ -package rs09.game.world - -import core.cache.Cache -import core.cache.def.impl.SceneryDefinition -import core.game.ge.GrandExchangeDatabase -import core.game.node.entity.npc.drop.RareDropTable -import core.game.node.entity.player.Player -import core.game.system.SystemManager -import core.game.system.SystemState -import core.game.system.task.Pulse -import core.game.system.task.TaskExecutor -import core.game.world.map.Location -import core.game.world.map.RegionManager -import core.plugin.CorePluginTypes.StartupPlugin -import core.tools.RandomFunction -import core.tools.mysql.DatabaseManager -import rs09.game.ai.general.scriptrepository.PlayerScripts -import rs09.ServerConstants -import rs09.game.node.entity.state.newsys.StateRepository -import rs09.game.system.SystemLogger -import rs09.game.system.SystemLogger.logInfo -import rs09.game.system.config.ConfigParser -import rs09.game.world.callback.CallbackHub -import rs09.game.world.repository.Repository -import rs09.plugin.PluginManager -import rs09.worker.MajorUpdateWorker -import java.text.SimpleDateFormat -import java.util.* -import java.util.function.Consumer - -/** - * Represents the game world. - * @author Ceikry - */ -object GameWorld { - - /** - * The major update worker. - */ - @JvmStatic - val majorUpdateWorker = MajorUpdateWorker() - - @JvmStatic - val STARTUP_PLUGINS: List = ArrayList() - private val configParser = ConfigParser() - @JvmStatic - var PCBotsSpawned = false - @JvmStatic - var PCnBotsSpawned = false - @JvmStatic - var PCiBotsSpawned = false - /** - * The game settings to use. - */ - @JvmStatic - var settings: GameSettings? = null - /** - * The current amount of (600ms) cycles elapsed. - */ - @JvmStatic - var ticks = 0 - @JvmStatic - var databaseManager: DatabaseManager? = null - private set - - @JvmStatic - var Pulser = PulseRunner() - - /** - * Submits a pulse. - * - * @param pulse the pulse. - */ - @Deprecated("", ReplaceWith("Pulser.submit(pulse!!)", "core.game.world.GameWorld.Pulser")) - fun submit(pulse: Pulse?) { - Pulser.submit(pulse!!) - } - - fun pulse() { - ticks++ - if (ticks % 50 == 0) { - TaskExecutor.execute { - val player = Repository.players - try { - player.stream().filter { obj: Player? -> Objects.nonNull(obj) }.filter { p: Player -> !p.isArtificial && p.isPlaying }.forEach { p: Player? -> Repository.disconnectionQueue.save(p!!, false) } - } catch (t: Throwable) { - t.printStackTrace() - } - } - } - } - - fun checkDay(): Int { - val weeklySdf = SimpleDateFormat("u") - return weeklySdf.format(Date()).toInt() - } - - /** - * Prompts the [GameWorld] to begin it's initialization. - * - * @param directory the directory to the properties. - * @throws Throwable when the exception occurs. - */ - @Throws(Throwable::class) - fun prompt(directory: String?) { - prompt(true, directory) - } - - /** - * Prompts the game world. - * - * @param running if running. - * @throws Throwable the throwable. - */ - @Throws(Throwable::class) - @JvmStatic - fun prompt(running: Boolean) { - prompt(running, "server.properties") - } - - /** - * Prompts the [GameWorld] to begin its initialization. - * - * @param run If the server should be running. - * @param directory the path to the dir. - * @throws Throwable When an exception occurs. - */ - @Throws(Throwable::class) - fun prompt(run: Boolean, directory: String?){ - SystemLogger.logInfo("Prompting ${settings?.name} Game World...") - Cache.init(ServerConstants.CACHE_PATH) - databaseManager = DatabaseManager(ServerConstants.DATABASE) - databaseManager!!.connect() - GrandExchangeDatabase.init() - configParser.prePlugin() - PluginManager.init() - configParser.postPlugin() - RareDropTable.init() - logInfo("Initialized Rare Drop Table from " + ServerConstants.RDT_DATA_PATH) - if (settings!!.enable_bots) { - ImmerseWorld.init() - } - CallbackHub.call() - STARTUP_PLUGINS.forEach(Consumer { plugin: StartupPlugin? -> - plugin?.run() - }) - if (run) { - SystemManager.flag(if (settings?.isDevMode == true) SystemState.PRIVATE else SystemState.ACTIVE) - } - SceneryDefinition.getDefinitions().values.forEach(Consumer { obj: SceneryDefinition -> obj.examine }) - System.gc() - PlayerScripts.init() - StateRepository.init() - SystemLogger.initTradeLogger() - } - - /** - * Called when the server shuts down. - * - * @throws Throwable When an exception occurs. - */ - @Throws(Throwable::class) - fun shutdown() { - SystemManager.flag(SystemState.TERMINATED) - } - - /** - * Checks if its the economy world. - * - * @return `True` if so. - */ - @JvmStatic - val isEconomyWorld: Boolean - get() = false - - private fun generateLocation(): Location { - val random_location = Location(3075 + RandomFunction.random(-15, 15), 3954 + RandomFunction.random(-15, 15), 0) - if (!RegionManager.isTeleportPermitted(random_location)) { - return generateLocation() - } - return if (RegionManager.getObject(random_location) != null) { - generateLocation() - } else random_location - } -} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/world/ImmerseWorld.kt b/Server/src/main/kotlin/rs09/game/world/ImmerseWorld.kt index 4d5af3e6a..e50b0a120 100644 --- a/Server/src/main/kotlin/rs09/game/world/ImmerseWorld.kt +++ b/Server/src/main/kotlin/rs09/game/world/ImmerseWorld.kt @@ -27,7 +27,7 @@ object ImmerseWorld { } fun immerseAdventurer(){ val lumbridge = Location.create(3221, 3219, 0) - for(i in (0..(GameWorld.settings?.max_adv_bots ?: 50))){ + for(i in (0..(World.settings?.max_adv_bots ?: 50))){ GeneralBotCreator(Adventurer(CombatStyle.MELEE), assembler.MeleeAdventurer(CombatBotAssembler.Tier.LOW,lumbridge)) GeneralBotCreator(Adventurer(CombatStyle.MELEE), assembler.MeleeAdventurer(CombatBotAssembler.Tier.MED,lumbridge)) GeneralBotCreator(Adventurer(CombatStyle.RANGE), assembler.RangeAdventurer(CombatBotAssembler.Tier.MED,lumbridge)) diff --git a/Server/src/main/kotlin/rs09/game/world/World.kt b/Server/src/main/kotlin/rs09/game/world/World.kt new file mode 100644 index 000000000..136735e43 --- /dev/null +++ b/Server/src/main/kotlin/rs09/game/world/World.kt @@ -0,0 +1,155 @@ +package rs09.game.world + +import api.ContentAPI +import core.cache.Cache +import core.cache.def.impl.SceneryDefinition +import core.game.ge.GrandExchangeDatabase +import core.game.node.entity.npc.drop.RareDropTable +import core.game.node.entity.player.Player +import core.game.system.SystemManager +import core.game.system.SystemState +import core.game.system.task.Pulse +import core.game.system.task.TaskExecutor +import core.game.world.map.Location +import core.game.world.map.RegionManager +import core.plugin.CorePluginTypes.Managers +import core.plugin.CorePluginTypes.StartupPlugin +import core.tools.RandomFunction +import core.tools.mysql.DatabaseManager +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import rs09.Server +import rs09.game.ai.general.scriptrepository.PlayerScripts +import rs09.ServerConstants +import rs09.ServerStore +import rs09.game.ai.general.GeneralBotCreator +import rs09.game.node.entity.state.newsys.StateRepository +import rs09.game.system.SystemLogger +import rs09.game.system.SystemLogger.logInfo +import rs09.game.system.config.ConfigParser +import rs09.game.world.callback.CallbackHub +import rs09.game.world.repository.Repository +import rs09.game.world.update.UpdateSequence +import rs09.net.packet.PacketWriteQueue +import rs09.plugin.PluginManager +import rs09.tools.stringtools.colorize +import rs09.worker.WorldClock +import java.text.SimpleDateFormat +import java.util.* +import java.util.function.Consumer +import kotlin.system.exitProcess + +/** + * Represents the game world. + * @author Ceikry + */ +object World { + @JvmStatic + val clock = WorldClock() + + @JvmStatic + val STARTUP_PLUGINS: List = ArrayList() + + @JvmStatic + var PCnBotsSpawned = false + + @JvmStatic + var PCiBotsSpawned = false + + @JvmStatic + var settings: WorldSettings? = null + + @JvmStatic + var ticks = 0 + + @JvmStatic + var databaseManager: DatabaseManager? = null + private set + + val sequence = UpdateSequence() + + @JvmStatic + var Pulser = PulseRunner() + + /** + * Submits a pulse. + * + * @param pulse the pulse. + */ + @Deprecated("", ReplaceWith("Pulser.submit(pulse!!)", "core.game.world.GameWorld.Pulser")) + fun submit(pulse: Pulse?) { + Pulser.submit(pulse!!) + } + + fun tick() { + ticks++ + if (ticks % 50 == 0) { + TaskExecutor.execute { + val player = Repository.players + try { + player.stream().filter { obj: Player? -> Objects.nonNull(obj) }.filter { p: Player -> !p.isArtificial && p.isPlaying }.forEach { p: Player? -> Repository.disconnectionQueue.save(p!!, false) } + } catch (t: Throwable) { + t.printStackTrace() + } + } + } + + val rmlist = ArrayList() + val list = ArrayList(Pulser.TASKS) + + //run our pulses + for(pulse in list) { + val b = System.currentTimeMillis() + if (pulse == null || pulse.update()) rmlist.add(pulse) + + val time = System.currentTimeMillis() - b + + if(time >= 100){ + if(pulse is GeneralBotCreator.BotScriptPulse){ + SystemLogger.logWarn("CRITICALLY Long Botscript Tick: ${pulse.botScript.javaClass.name} - $time ms") + } else { + SystemLogger.logWarn("CRITICALLY long running pulse: ${pulse.javaClass.name} - $time ms") + } + } + else if(time >= 30){ + if(pulse is GeneralBotCreator.BotScriptPulse){ + SystemLogger.logWarn("Long Botscript Tick: ${pulse.botScript.javaClass.name} - $time ms") + } else { + SystemLogger.logWarn("Long Running Pulse: ${pulse.javaClass.name} - $time ms") + } + } + } + + //remove all null or finished pulses from the list + rmlist.forEach { + if(Pulser.TASKS.contains(it)) World.Pulser.TASKS.remove(it) + } + + rmlist.clear() + //perform our update sequence where we write masks, etc + try { + sequence.start() + sequence.run() + sequence.end() + GlobalScope.launch { + PacketWriteQueue.flush() + } + } catch (e: Exception){ + e.printStackTrace() + } + //disconnect all players waiting to be disconnected + Repository.disconnectionQueue.update() + //tick all manager plugins + Managers.tick() + } + + /** + * Checks if its the economy world. + * + * @return `True` if so. + */ + @JvmStatic + val isEconomyWorld: Boolean + get() = false + +} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/game/world/GameSettings.kt b/Server/src/main/kotlin/rs09/game/world/WorldSettings.kt similarity index 98% rename from Server/src/main/kotlin/rs09/game/world/GameSettings.kt rename to Server/src/main/kotlin/rs09/game/world/WorldSettings.kt index b3c2d9b82..31ee5afcb 100644 --- a/Server/src/main/kotlin/rs09/game/world/GameSettings.kt +++ b/Server/src/main/kotlin/rs09/game/world/WorldSettings.kt @@ -9,7 +9,7 @@ import java.util.* * Represents the game settings used for this game instance. * @author Vexia */ -class GameSettings +class WorldSettings /** * Constructs a new `GameSettings` `Object`. * @param name the name. @@ -112,7 +112,7 @@ class GameSettings * @return the settings object. * @author Ceikry */ - fun parse(data: JSONObject): GameSettings? { + fun parse(data: JSONObject): WorldSettings? { val name = ServerConstants.SERVER_NAME val debug = data["debug"] as Boolean val dev = data["dev"] as Boolean @@ -135,7 +135,7 @@ class GameSettings val allow_token_purchase = data["allow_token_purchase"] as Boolean val message_of_the_week_identifier = data["message_of_the_week_identifier"].toString().toInt() val message_of_the_week_text = data["message_of_the_week_text"].toString() - return GameSettings( + return WorldSettings( name, debug, dev, diff --git a/Server/src/main/kotlin/rs09/game/world/callback/CallbackHub.kt b/Server/src/main/kotlin/rs09/game/world/callback/CallbackHub.kt index c04369b71..142073581 100644 --- a/Server/src/main/kotlin/rs09/game/world/callback/CallbackHub.kt +++ b/Server/src/main/kotlin/rs09/game/world/callback/CallbackHub.kt @@ -16,7 +16,6 @@ object CallbackHub { private var calls: MutableList = ArrayList() fun call(): Boolean { - calls.add(ZoneBuilder()) calls.add(GrandExchange) calls.add(ImpetuousImpulses()) for (call in calls) { diff --git a/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt b/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt index 5ee8ecab6..ad4bf8f62 100644 --- a/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt +++ b/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt @@ -4,7 +4,7 @@ import core.game.node.entity.player.Player import core.game.node.entity.player.info.login.PlayerParser import core.game.system.task.TaskExecutor import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World import java.util.* import java.util.concurrent.ConcurrentHashMap @@ -22,7 +22,7 @@ class DisconnectionQueue { * Updates all entries. */ fun update() { - if (queue.isEmpty() || GameWorld.ticks % 3 != 0 && GameWorld.settings?.isDevMode != true) { + if (queue.isEmpty() || World.ticks % 3 != 0 && World.settings?.isDevMode != true) { return } //make a copy of current entries as to avoid concurrency exceptions @@ -183,7 +183,7 @@ class DisconnectionQueue { * @param clear If the player should be cleared. */ init { - timeStamp = GameWorld.ticks + timeStamp = World.ticks } } diff --git a/Server/src/main/kotlin/rs09/game/world/update/NPCRenderer.kt b/Server/src/main/kotlin/rs09/game/world/update/NPCRenderer.kt index 14afa209c..35b268008 100644 --- a/Server/src/main/kotlin/rs09/game/world/update/NPCRenderer.kt +++ b/Server/src/main/kotlin/rs09/game/world/update/NPCRenderer.kt @@ -5,7 +5,7 @@ import core.game.node.entity.player.Player import core.game.world.map.RegionManager import core.net.packet.IoBuffer import core.net.packet.PacketHeader -import rs09.game.world.GameWorld +import rs09.game.world.World import java.nio.ByteBuffer import java.util.* @@ -72,7 +72,7 @@ object NPCRenderer { buffer.putBits(14, npc.id) buffer.putBits(5, offsetX) if (npc.aggressiveHandler != null) { - npc.aggressiveHandler.playerTolerance[player.index] = GameWorld.ticks + npc.aggressiveHandler.playerTolerance[player.index] = World.ticks } localNPCs.add(npc) } diff --git a/Server/src/main/kotlin/rs09/net/event/LoginReadEvent.kt b/Server/src/main/kotlin/rs09/net/event/LoginReadEvent.kt index 1dfcecf72..0d348e162 100644 --- a/Server/src/main/kotlin/rs09/net/event/LoginReadEvent.kt +++ b/Server/src/main/kotlin/rs09/net/event/LoginReadEvent.kt @@ -14,12 +14,12 @@ import core.game.system.task.TaskExecutor import core.net.Constants import core.net.IoReadEvent import core.net.IoSession -import core.net.amsc.WorldCommunicator import core.tools.StringUtils import rs09.ServerConstants import rs09.game.node.entity.player.info.login.LoginParser import rs09.game.system.SystemLogger import rs09.game.world.repository.Repository +import rs09.net.ms.ManagementServer import java.lang.Runnable import java.math.BigInteger import java.nio.ByteBuffer @@ -136,11 +136,7 @@ class LoginReadEvent val parser = LoginParser(details, LoginType.fromType(opcode)) details.session = session details.info.translate(UIDInfo(details.ipAddress, ByteBufferUtils.getString(buffer), ByteBufferUtils.getString(buffer), ByteBufferUtils.getString(buffer))) - if (WorldCommunicator.isEnabled()) { - WorldCommunicator.register(parser) - } else { - TaskExecutor.executeSQL {parser.run()} - } + ManagementServer.attemptLogin(parser) } /** diff --git a/Server/src/main/kotlin/rs09/net/ms/ManagementServer.kt b/Server/src/main/kotlin/rs09/net/ms/ManagementServer.kt new file mode 100644 index 000000000..fdec32345 --- /dev/null +++ b/Server/src/main/kotlin/rs09/net/ms/ManagementServer.kt @@ -0,0 +1,177 @@ +package rs09.net.ms + +import core.game.node.entity.player.info.login.Response +import core.net.IoEventHandler +import core.net.IoSession +import core.net.ServerSocketConnection +import core.net.ms.MSPacketRepository +import core.net.producer.MSHSEventProducer +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import rs09.game.node.entity.player.info.login.LoginParser +import rs09.game.system.SystemLogger +import rs09.game.world.World +import java.net.InetSocketAddress +import java.nio.channels.SelectionKey +import java.nio.channels.Selector +import java.nio.channels.SocketChannel +import java.util.concurrent.Executors +import kotlin.Exception +import kotlin.system.exitProcess + +/** + * Server-side model of the management server. + * Responsible for connecting to and processing interactions with the MS. + * @author Ceikry + */ +object ManagementServer { + val service = Executors.newSingleThreadExecutor() + val eventHandler = IoEventHandler(service) + var channel: ServerSocketConnection? = null + + @JvmField + var session: IoSession? = null + + @JvmField + val handshakeProducer = MSHSEventProducer() + + private val loginAttempts = HashMap() + + /** + * The current state of our connection with the management server. + * In DISCONNECTED state, we are not communicating with the MS at all. + * In CONNECTED state, we have made connection with the MS and are sending and receiving info. + * In CONNECTING state, we are attempting to form a connection with the MS and are not yet sending or receiving data. + */ + var state = ManagementState.CONNECTING + @JvmStatic + set(value) { + if(value != ManagementState.DISCONNECTED && (field == ManagementState.DISCONNECTED || field == ManagementState.DISCONNECTING)){ + return + } + field = value + if(channel != null) channel!!.selector.wakeup() + } + + @JvmStatic + fun attemptLogin(parser: LoginParser){ + if(state == ManagementState.DISCONNECTED){ + parser.details.session!!.write(Response.LOGIN_SERVER_OFFLINE, true) + return + } + + val lastAttempt = loginAttempts[parser.details.username]?.timeStamp ?: -50 + + if(World.ticks - lastAttempt < 50){ + SystemLogger.logAlert("User tried to log in too frequently: ${parser.details.username}") + parser.details.session!!.write(Response.ALREADY_ONLINE, true) + return + } + + loginAttempts[parser.details.username] = parser + + GlobalScope.launch { + if(!parser.details.parse()){ + parser.details.session!!.write(Response.LOGIN_SERVER_OFFLINE, true) + return@launch + } + MSPacketRepository.sendPlayerRegistry(parser) + } + } + + @JvmStatic + fun finishLoginAttempt(username: String): LoginParser? { + return loginAttempts.remove(username) + } + + fun connect() { + SystemLogger.logInfo("[MS] Sending world registration request") + Thread { + while(state != ManagementState.DISCONNECTED){ + when(state){ + + ManagementState.CONNECTING, ManagementState.CONNECTED -> { + if(session == null || this.channel == null) { + val selector = Selector.open() + val channel = SocketChannel.open() + channel.configureBlocking(false) + channel.socket().keepAlive = true + channel.socket().tcpNoDelay = true + channel.connect(InetSocketAddress(World.settings!!.msAddress, 5555)) + channel.register(selector, SelectionKey.OP_CONNECT) + this.channel = ServerSocketConnection(selector, channel) + } + + try { + channel!!.selector.select() //Await a connection response + } catch (e: Exception) {e.printStackTrace()} + + val keyIterator = channel!!.selector.selectedKeys().iterator() + while(keyIterator.hasNext()){ + val key = keyIterator.next() + keyIterator.remove() + try { + if(!key.isValid || !key.channel().isOpen){ + key.cancel() + continue + } + + if(key.isConnectable && state == ManagementState.CONNECTING){ + val ch = key.channel() as SocketChannel + if(ch.finishConnect()){ + key.interestOps(key.interestOps() xor SelectionKey.OP_CONNECT) + key.interestOps(key.interestOps() or SelectionKey.OP_READ) + session = IoSession(key, service) + key.attach(session) + session!!.producer = handshakeProducer + session!!.write(true) + } + } + + if(key.isReadable) eventHandler.read(key) + if(key.isWritable) eventHandler.write(key) + } catch (e: Exception){ + key.cancel() + if(session != null){ + session!!.disconnect() + state = ManagementState.DISCONNECTED + } + } + } + } + + ManagementState.DISCONNECTING -> { + if(session != null) session!!.disconnect() + if(channel != null) channel!!.socket.close() + state = ManagementState.DISCONNECTED + } + + ManagementState.DISCONNECTED -> {} + } + } + }.start() + } + + @JvmStatic + fun flagConnected(){ + state = ManagementState.CONNECTED + } + + @JvmStatic + fun flagCantConnect(){ + exitProcess(0) + } + + @JvmStatic + fun disconnect() { + state = ManagementState.DISCONNECTING + } + + @JvmStatic + fun getStateValue(): Int { + return when(state){ + ManagementState.CONNECTING -> 1 + else -> 2 + } + } +} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/net/ms/ManagementState.kt b/Server/src/main/kotlin/rs09/net/ms/ManagementState.kt new file mode 100644 index 000000000..683ac808f --- /dev/null +++ b/Server/src/main/kotlin/rs09/net/ms/ManagementState.kt @@ -0,0 +1,8 @@ +package rs09.net.ms + +enum class ManagementState { + CONNECTING, + CONNECTED, + DISCONNECTING, + DISCONNECTED +} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/net/packet/in/QuickChatPacketHandler.kt b/Server/src/main/kotlin/rs09/net/packet/in/QuickChatPacketHandler.kt index 311c0d57e..c80c8e832 100644 --- a/Server/src/main/kotlin/rs09/net/packet/in/QuickChatPacketHandler.kt +++ b/Server/src/main/kotlin/rs09/net/packet/in/QuickChatPacketHandler.kt @@ -5,7 +5,7 @@ import core.net.packet.IncomingPacket import core.net.packet.IoBuffer import rs09.game.interaction.QCRepository import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld +import rs09.game.world.World /** * Decodes the quick chat packet @@ -56,7 +56,7 @@ class QuickChatPacketHandler : IncomingPacket { //Prints the values of each byte in the buffer to server log //If the world is in dev mode - if(GameWorld.settings?.isDevMode == true) { + if(World.settings?.isDevMode == true) { SystemLogger.logInfo("Begin QuickChat Packet Buffer Dump---------") SystemLogger.logInfo("Packet Type: ${packetType.name} Chat Type: ${if(forClan) "Clan" else "Public"}") x?.array()?.forEach { diff --git a/Server/src/main/kotlin/rs09/worker/MajorUpdateWorker.kt b/Server/src/main/kotlin/rs09/worker/MajorUpdateWorker.kt deleted file mode 100644 index 88f5ef0f0..000000000 --- a/Server/src/main/kotlin/rs09/worker/MajorUpdateWorker.kt +++ /dev/null @@ -1,135 +0,0 @@ -package rs09.worker - -import api.ContentAPI -import core.game.system.SystemManager -import core.game.system.SystemState -import core.game.system.task.Pulse -import core.plugin.CorePluginTypes.Managers -import gui.GuiEvent -import gui.ServerMonitor -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.delay -import kotlinx.coroutines.launch -import rs09.Server -import rs09.ServerConstants -import rs09.ServerStore -import rs09.game.ai.general.GeneralBotCreator -import rs09.game.system.SystemLogger -import rs09.game.world.GameWorld -import rs09.game.world.repository.Repository -import rs09.game.world.update.UpdateSequence -import rs09.net.packet.PacketWriteQueue -import rs09.tools.stringtools.colorize -import java.lang.Long.max -import java.lang.Long.min -import java.text.SimpleDateFormat -import java.util.* -import kotlin.collections.ArrayList -import kotlin.system.exitProcess - -/** - * Handles the running of pulses and writing of masks, etc - * @author Ceikry - */ -class MajorUpdateWorker { - var started = false - val sequence = UpdateSequence() - val sdf = SimpleDateFormat("HHmmss") - val worker = Thread { - Thread.currentThread().name = "Major Update Worker" - started = true - Thread.sleep(600L) - while(true){ - val start = System.currentTimeMillis() - val rmlist = ArrayList() - val list = ArrayList(GameWorld.Pulser.TASKS) - Server.heartbeat() - - //run our pulses - for(pulse in list) { - val b = System.currentTimeMillis() - if (pulse == null || pulse.update()) rmlist.add(pulse) - - val time = System.currentTimeMillis() - b - - if(time >= 100){ - if(pulse is GeneralBotCreator.BotScriptPulse){ - SystemLogger.logWarn("CRITICALLY Long Botscript Tick: ${pulse.botScript.javaClass.name} - $time ms") - } else { - SystemLogger.logWarn("CRITICALLY long running pulse: ${pulse.javaClass.name} - $time ms") - } - } - else if(time >= 30){ - if(pulse is GeneralBotCreator.BotScriptPulse){ - SystemLogger.logWarn("Long Botscript Tick: ${pulse.botScript.javaClass.name} - $time ms") - } else { - SystemLogger.logWarn("Long Running Pulse: ${pulse.javaClass.name} - $time ms") - } - } - } - - //remove all null or finished pulses from the list - rmlist.forEach { - if(GameWorld.Pulser.TASKS.contains(it)) GameWorld.Pulser.TASKS.remove(it) - } - - rmlist.clear() - //perform our update sequence where we write masks, etc - try { - sequence.start() - sequence.run() - sequence.end() - GlobalScope.launch { - PacketWriteQueue.flush() - } - } catch (e: Exception){ - e.printStackTrace() - } - //increment global ticks variable - GameWorld.pulse() - //disconnect all players waiting to be disconnected - Repository.disconnectionQueue.update() - //tick all manager plugins - Managers.tick() - - //Handle daily restart if enabled - if(sdf.format(Date()).toInt() == 0){ - - if(GameWorld.checkDay() == 1) {//monday - ServerStore.clearWeeklyEntries() - } - - ServerStore.clearDailyEntries() - if(ServerConstants.DAILY_RESTART ) { - Repository.sendNews(colorize("%RSERVER GOING DOWN FOR DAILY RESTART IN 5 MINUTES!")) - ServerConstants.DAILY_RESTART = false - ContentAPI.submitWorldPulse(object : Pulse(100) { - var counter = 0 - override fun pulse(): Boolean { - counter++ - if (counter == 5) { - exitProcess(0) - } - Repository.sendNews(colorize("%RSERVER GOING DOWN FOR DAILY RESTART IN ${5 - counter} MINUTE${if (counter < 4) "S" else ""}!")) - return false - } - }) - } - } - - val end = System.currentTimeMillis() - ServerMonitor.eventQueue.add(GuiEvent.UpdateTickTime(end - start)) - ServerMonitor.eventQueue.add(GuiEvent.UpdatePulseCount(GameWorld.Pulser.TASKS.size)) - Thread.sleep(max(600 - (end - start), 0)) - } - } - - fun start() { - if(!started){ - worker.start() - } - - if (ServerConstants.ALLOW_GUI) - ServerMonitor.open() - } -} \ No newline at end of file diff --git a/Server/src/main/kotlin/rs09/worker/WorldClock.kt b/Server/src/main/kotlin/rs09/worker/WorldClock.kt new file mode 100644 index 000000000..208d2efcc --- /dev/null +++ b/Server/src/main/kotlin/rs09/worker/WorldClock.kt @@ -0,0 +1,88 @@ +package rs09.worker + +import api.ContentAPI +import core.game.system.task.Pulse +import core.plugin.CorePluginTypes.Managers +import gui.GuiEvent +import gui.ServerMonitor +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import rs09.Server +import rs09.ServerConstants +import rs09.ServerStore +import rs09.game.ai.general.GeneralBotCreator +import rs09.game.system.SystemLogger +import rs09.game.world.World +import rs09.game.world.repository.Repository +import rs09.game.world.update.UpdateSequence +import rs09.net.packet.PacketWriteQueue +import rs09.tools.stringtools.colorize +import java.lang.Long.max +import java.text.SimpleDateFormat +import java.util.* +import kotlin.collections.ArrayList +import kotlin.system.exitProcess + +/** + * Handles the running of pulses and writing of masks, etc + * @author Ceikry + */ +class WorldClock { + var started = false + private val sdf = SimpleDateFormat("HHmmss") + private val worker = Thread { + Thread.currentThread().name = "Major Update Worker" + started = true + Thread.sleep(600L) + while(true){ + val start = System.currentTimeMillis() + try { + World.tick() + } catch(e: Exception){ + SystemLogger.logErr(e.stackTraceToString()) + } + //Handle daily restart if enabled + if(sdf.format(Date()).toInt() == 0){ + + if(checkDay() == 1) {//monday + ServerStore.clearWeeklyEntries() + } + + ServerStore.clearDailyEntries() + if(ServerConstants.DAILY_RESTART) { + ContentAPI.sendNews(colorize("%RSERVER GOING DOWN FOR DAILY RESTART IN 5 MINUTES!")) + ServerConstants.DAILY_RESTART = false + ContentAPI.submitWorldPulse(object : Pulse(100) { + var counter = 0 + override fun pulse(): Boolean { + counter++ + if (counter == 5) { + exitProcess(0) + } + ContentAPI.sendNews(colorize("%RSERVER GOING DOWN FOR DAILY RESTART IN ${5 - counter} MINUTE${if (counter < 4) "S" else ""}!")) + return false + } + }) + } + } + val end = System.currentTimeMillis() + ServerMonitor.eventQueue.add(GuiEvent.UpdateTickTime(end - start)) + ServerMonitor.eventQueue.add(GuiEvent.UpdatePulseCount(World.Pulser.TASKS.size)) + Thread.sleep(max(600 - (end - start), 0)) + } + } + + fun start() { + if(!started){ + worker.start() + } + + if (ServerConstants.ALLOW_GUI) + ServerMonitor.open() + } + + fun checkDay(): Int { + val weeklySdf = SimpleDateFormat("u") + return weeklySdf.format(Date()).toInt() + } +} \ No newline at end of file