diff --git a/Server/data/configs/door_configs.json b/Server/data/configs/door_configs.json
index 528a51934..8d6a61db5 100644
--- a/Server/data/configs/door_configs.json
+++ b/Server/data/configs/door_configs.json
@@ -2187,18 +2187,6 @@
"fence": "false",
"metal": "false"
},
- {
- "id": "24560",
- "replaceId": "15515",
- "fence": "true",
- "metal": "false"
- },
- {
- "id": "24561",
- "replaceId": "15517",
- "fence": "true",
- "metal": "false"
- },
{
"id": "24565",
"replaceId": "36316",
diff --git a/Server/data/configs/ground_spawns.json b/Server/data/configs/ground_spawns.json
index 82149a63c..2e49e5d29 100644
--- a/Server/data/configs/ground_spawns.json
+++ b/Server/data/configs/ground_spawns.json
@@ -187,10 +187,18 @@
"item_id": "590",
"loc_data": "{1,2368,3135,0,10485900}-{1,2431,3072,0,10485900}-{1,3112,3369,2,10485900}-{1,3209,3734,0,13107300}"
},
+ {
+ "item_id": "677",
+ "loc_data": "{1,3369,3378,0,11141270}"
+ },
{
"item_id": "687",
"loc_data": "{1,2655,3424,0,6553680}-{1,2665,3424,0,6553680}-{1,2669,3423,0,6553680}-{1,2668,3419,0,6553680}-{1,2671,3420,0,6553680}-{1,2677,3423,0,6553680}-{1,2676,3425,0,6553680}-{1,2676,3422,0,6553680}-{1,2679,3424,0,6553680}-{1,2678,3426,0,6553680}-{1,2679,3423,0,6553680}-{1,2680,3424,0,6553680}-{1,2672,3427,0,6553680}-{1,2676,3430,0,6553680}-{1,2673,3428,0,6553680}-{1,2670,3437,0,6553680}-{1,2649,9854,0,6553680}-{1,2643,9853,0,6553680}-{1,2644,9851,0,6553680}"
},
+ {
+ "item_id": "708",
+ "loc_data": "{1,3363,9831,0,5898270}-{1,3370,9826,0,5898270}-{1,3368,9770,0,5898270}-{1,3364,9764,0,5898270}"
+ },
{
"item_id": "712",
"loc_data": "{1,2887,3412,0,5898270}-{1,2903,3441,0,5898270}"
diff --git a/Server/data/configs/item_configs.json b/Server/data/configs/item_configs.json
index 6fade0e39..8c2addbd0 100644
--- a/Server/data/configs/item_configs.json
+++ b/Server/data/configs/item_configs.json
@@ -6539,11 +6539,29 @@
"archery_ticket_price": "0",
"id": "704"
},
+ {
+ "shop_price": "1",
+ "examine": "A mixture of strong chemicals.",
+ "durability": null,
+ "name": "Mixed chemicals",
+ "weight": "0.03",
+ "archery_ticket_price": "0",
+ "id": "705"
+ },
+ {
+ "shop_price": "1",
+ "examine": "A mixture of strong chemicals.",
+ "durability": null,
+ "name": "Mixed chemicals",
+ "weight": "0.035",
+ "archery_ticket_price": "0",
+ "id": "706"
+ },
{
"examine": "A mixture of strong chemicals.",
"durability": null,
"name": "Chemical compound",
- "weight": "2",
+ "weight": "0.035",
"archery_ticket_price": "0",
"id": "707"
},
diff --git a/Server/data/configs/npc_configs.json b/Server/data/configs/npc_configs.json
index bfd15fb0b..ddc3e5e9d 100644
--- a/Server/data/configs/npc_configs.json
+++ b/Server/data/configs/npc_configs.json
@@ -7313,6 +7313,38 @@
"range_level": "1",
"attack_level": "1"
},
+ {
+ "examine": "A student busy studying the digsite.",
+ "melee_animation": "0",
+ "range_animation": "0",
+ "defence_animation": "0",
+ "magic_animation": "0",
+ "death_animation": "0",
+ "name": "Student",
+ "defence_level": "1",
+ "safespot": null,
+ "lifepoints": "10",
+ "strength_level": "1",
+ "id": "615",
+ "range_level": "1",
+ "attack_level": "1"
+ },
+ {
+ "examine": "A student busy studying the digsite.",
+ "melee_animation": "0",
+ "range_animation": "0",
+ "defence_animation": "0",
+ "magic_animation": "0",
+ "death_animation": "0",
+ "name": "Student",
+ "defence_level": "1",
+ "safespot": null,
+ "lifepoints": "10",
+ "strength_level": "1",
+ "id": "616",
+ "range_level": "1",
+ "attack_level": "1"
+ },
{
"examine": "A student busy studying the digsite.",
"melee_animation": "0",
diff --git a/Server/data/configs/npc_spawns.json b/Server/data/configs/npc_spawns.json
index f31a50502..e6bbbb288 100644
--- a/Server/data/configs/npc_spawns.json
+++ b/Server/data/configs/npc_spawns.json
@@ -281,7 +281,7 @@
},
{
"npc_id": "90",
- "loc_data": "{2885,9812,0,1,0}-{2883,9836,0,1,0}-{2925,3254,2,0,3}-{3116,3534,0,0,4}-{3110,3367,0,0,3}-{3110,9909,0,1,4}-{3121,9910,0,1,4}-{3133,9909,0,1,5}-{3133,9904,0,1,6}-{3129,9916,0,1,3}-{3133,9916,0,1,0}-{3141,9875,0,1,6}-{3208,9905,0,1,4}-{2852,9577,0,1,1}-{2865,9567,0,1,3}-{2924,3252,2,1,3}-{2926,3255,2,1,4}-{2932,3255,2,1,3}-{2931,3251,2,1,4}-{3194,5448,0,1,3}-{3183,5447,0,1,3}-{3177,5457,0,1,4}-{3187,5456,0,1,1}-{3011,3590,0,1,0}-{3016,3596,0,1,0}-{3022,3586,0,1,0}-{3072,3531,0,1,0}-{3112,3538,0,1,0}"
+ "loc_data": "{2885,9812,0,1,0}-{2883,9836,0,1,0}-{2925,3254,2,0,3}-{3116,3534,0,0,4}-{3110,3367,0,0,3}-{3110,9909,0,1,4}-{3121,9910,0,1,4}-{3133,9909,0,1,5}-{3133,9904,0,1,6}-{3129,9916,0,1,3}-{3133,9916,0,1,0}-{3141,9875,0,1,6}-{3208,9905,0,1,4}-{2852,9577,0,1,1}-{2865,9567,0,1,3}-{2924,3252,2,1,3}-{2926,3255,2,1,4}-{2932,3255,2,1,3}-{2931,3251,2,1,4}-{3194,5448,0,1,3}-{3183,5447,0,1,3}-{3177,5457,0,1,4}-{3187,5456,0,1,1}-{3011,3590,0,1,0}-{3016,3596,0,1,0}-{3022,3586,0,1,0}-{3072,3531,0,1,0}-{3112,3538,0,1,0}-{3373,9748,0,1,0}-{3378,9748,0,1,0}-{3382,9753,0,1,0}-{3373,9812,0,1,0}-{3378,9812,0,1,0}-{3382,9817,0,1,0}"
},
{
"npc_id": "91",
@@ -1763,9 +1763,37 @@
"npc_id": "612",
"loc_data": "{3028,3510,0,0,0}"
},
+ {
+ "npc_id": "613",
+ "loc_data": "{3362,3416,0,1,6}-{3370,3387,0,1,6}"
+ },
+ {
+ "npc_id": "614",
+ "loc_data": "{3351,9820,0,1,1}-{3351,9756,0,1,1}"
+ },
+ {
+ "npc_id": "615",
+ "loc_data": "{3363,3397,0,1,3}"
+ },
+ {
+ "npc_id": "616",
+ "loc_data": "{3370,3416,0,1,3}"
+ },
+ {
+ "npc_id": "617",
+ "loc_data": "{3348,3424,0,1,3}"
+ },
+ {
+ "npc_id": "618",
+ "loc_data": "{3364,3342,0,1,3}"
+ },
{
"npc_id": "619",
- "loc_data": "{3353,3333,0,1,3}"
+ "loc_data": "{3355,3333,0,1,3}"
+ },
+ {
+ "npc_id": "620",
+ "loc_data": "{3376,3377,0,1,0}"
},
{
"npc_id": "636",
@@ -4319,6 +4347,10 @@
"npc_id": "1905",
"loc_data": "{3335,2948,0,1,2}-{3331,2948,0,1,6}-{3333,2950,0,1,0}"
},
+ {
+ "npc_id": "1912",
+ "loc_data": "{3376,3429,0,1,6}"
+ },
{
"npc_id": "1917",
"loc_data": "{3177,2987,0,1,6}"
@@ -6193,7 +6225,7 @@
},
{
"npc_id": "3264",
- "loc_data": "{3265,3331,0,1,7}-{3146,3460,0,1,6}-{3115,3414,0,1,3}-{2565,9843,0,1,0}"
+ "loc_data": "{3259,3338,0,1,7}-{3126,3450,0,1,6}-{3121,3422,0,1,3}-{2565,9843,0,1,0}-{3311,3375,0,1,0}"
},
{
"npc_id": "3265",
@@ -7252,9 +7284,29 @@
"npc_id": "4563",
"loc_data": "{3003,9798,0,1,3}"
},
+ {
+ "npc_id": "4564",
+ "loc_data": "{3354,3408,0,1,0}-{3365,3429,0,1,0}-{3373,3418,0,1,0}-{3356,3385,0,1,0}"
+ },
+ {
+ "npc_id": "4565",
+ "loc_data": "{3350,3401,0,1,0}-{3362,3408,0,1,0}-{3366,3425,0,1,0}"
+ },
+ {
+ "npc_id": "4566",
+ "loc_data": "{3360,3343,0,1,6}"
+ },
+ {
+ "npc_id": "4567",
+ "loc_data": "{3364,3339,0,1,6}"
+ },
{
"npc_id": "4568",
- "loc_data": "{3364,3338,0,1,6}"
+ "loc_data": "{3365,3333,0,1,6}"
+ },
+ {
+ "npc_id": "4569",
+ "loc_data": "{3381,3379,0,0,0}"
},
{
"npc_id": "4570",
@@ -7336,6 +7388,10 @@
"npc_id": "4611",
"loc_data": "{3076,3259,0,0,0}"
},
+ {
+ "npc_id": "4648",
+ "loc_data": "{3376,3373,0,0,0}"
+ },
{
"npc_id": "4649",
"loc_data": "{2142,3122,0,1,4}-{2147,3122,0,1,3}"
@@ -7996,6 +8052,10 @@
"npc_id": "5202",
"loc_data": "{3621,3528,0,1,4}"
},
+ {
+ "npc_id": "5249",
+ "loc_data": "{3321,3431,0,0,1}"
+ },
{
"npc_id": "5258",
"loc_data": "{2666,2651,0,0,1}-{2668,2651,0,0,1}"
@@ -8070,15 +8130,15 @@
},
{
"npc_id": "5332",
- "loc_data": "{2887,9822,0,1,0}-{2884,9824,0,1,0}-{3102,3571,0,1,3}-{2855,9571,0,1,0}-{3008,3595,0,1,0}-{3018,3584,0,1,0}-{3022,3595,0,1,0}"
+ "loc_data": "{2887,9822,0,1,0}-{2884,9824,0,1,0}-{3102,3571,0,1,3}-{2855,9571,0,1,0}-{3008,3595,0,1,0}-{3018,3584,0,1,0}-{3022,3595,0,1,0}-{3368,9748,0,1,0}-{3378,9757,0,1,0}-{3383,9746,0,1,0}-{3368,9812,0,1,0}-{3378,9821,0,1,0}-{3383,9810,0,1,0}"
},
{
"npc_id": "5333",
- "loc_data": "{2886,9816,0,1,0}-{3116,3524,0,1,4}-{3106,3548,0,1,2}-{2860,9571,0,1,7}-{3013,3586,0,1,0}-{3013,3602,0,1,0}-{3025,3597,0,1,0}"
+ "loc_data": "{2886,9816,0,1,0}-{3116,3524,0,1,4}-{3106,3548,0,1,2}-{2860,9571,0,1,7}-{3013,3586,0,1,0}-{3013,3602,0,1,0}-{3025,3597,0,1,0}-{3376,9751,0,1,0}-{3380,9756,0,1,0}-{3376,9815,0,1,0}-{3380,9820,0,1,0}"
},
{
"npc_id": "5334",
- "loc_data": "{2885,9819,0,1,0}-{3107,3528,0,1,1}-{2859,9572,0,1,6}-{3012,3597,0,1,0}-{3018,3592,0,1,0}-{3018,3599,0,1,0}-{3025,3590,0,1,0}"
+ "loc_data": "{2885,9819,0,1,0}-{3107,3528,0,1,1}-{2859,9572,0,1,6}-{3012,3597,0,1,0}-{3018,3592,0,1,0}-{3018,3599,0,1,0}-{3025,3590,0,1,0}-{3377,9743,0,1,0}-{3377,9754,0,1,0}-{3377,9807,0,1,0}-{3377,9818,0,1,0}"
},
{
"npc_id": "5337",
@@ -9140,6 +9200,10 @@
"npc_id": "5941",
"loc_data": "{3260,3447,0,0,0}"
},
+ {
+ "npc_id": "5942",
+ "loc_data": "{3295,3427,0,0,1}"
+ },
{
"npc_id": "5943",
"loc_data": "{3263,3441,0,0,0}"
@@ -9156,10 +9220,46 @@
"npc_id": "5947",
"loc_data": "{3260,3452,0,1,0}-{3261,3451,2,1,0}-{1735,4950,0,1,4}-{1759, 4948, 0, 1, 4}-{1780, 4960, 0, 1, 4}-{1760, 4974, 0, 1, 5}"
},
+ {
+ "npc_id": "5952",
+ "loc_data": "{3326,3443,0,1,5}"
+ },
+ {
+ "npc_id": "5954",
+ "loc_data": "{3310,3425,0,1,5}"
+ },
{
"npc_id": "5956",
"loc_data": "{2659,2664,0,1,3}"
},
+ {
+ "npc_id": "5958",
+ "loc_data": "{3357,3415,0,0,3}"
+ },
+ {
+ "npc_id": "5959",
+ "loc_data": "{3352,3449,0,0,0}"
+ },
+ {
+ "npc_id": "5960",
+ "loc_data": "{3354,3449,0,0,0}"
+ },
+ {
+ "npc_id": "5961",
+ "loc_data": "{3352,3446,0,0,0}"
+ },
+ {
+ "npc_id": "5962",
+ "loc_data": "{3357,3446,0,0,0}"
+ },
+ {
+ "npc_id": "5963",
+ "loc_data": "{3363,3445,0,0,0}"
+ },
+ {
+ "npc_id": "5964",
+ "loc_data": "{3324,3445,0,1,7}"
+ },
{
"npc_id": "5984",
"loc_data": "{3263,3452,0,1,0}-{1743,4950,0,1,4}-{1770, 4935, 0, 1, 4}-{1772, 4962, 0, 1, 4}-{1771, 4957, 0, 1, 4}-{1777, 4976, 0, 1, 6}"
diff --git a/Server/data/configs/object_configs.json b/Server/data/configs/object_configs.json
index 6878b0cb9..6c887b349 100644
--- a/Server/data/configs/object_configs.json
+++ b/Server/data/configs/object_configs.json
@@ -3584,7 +3584,7 @@
"ids": "2375"
},
{
- "examine": "Soil",
+ "examine": "Soil. Dug up!",
"ids": "2376,2377,2378"
},
{
@@ -6384,12 +6384,12 @@
"ids": "4131"
},
{
- "examine": "These doors look very ominous. A sign says 'To the tombs'.",
- "ids": "4132,4133"
+ "examine": "This tells you which way is which.",
+ "ids": "4132,4133,4134,4135"
},
{
- "examine": "Large doors set into the hillside.",
- "ids": "4134,4135,4136,4137"
+ "examine": "These doors look very ominous. A sign says 'To the tombs'.",
+ "ids": "4136,4137"
},
{
"examine": "Items are for sale here.",
@@ -20027,6 +20027,26 @@
"examine": "It seems to have all boiled away.",
"ids": "14009"
},
+ {
+ "examine": "Stop examining signs! You're in the Wilderness now!",
+ "ids": "14503"
+ },
+ {
+ "examine": "Danger, Wilderness up ahead. Last chance to turn back...",
+ "ids": "14504"
+ },
+ {
+ "examine": "Danger, Wilderness up ahead. Watch out for the Beast!",
+ "ids": "14505"
+ },
+ {
+ "examine": "Danger, Wilderness up ahead. Beware of stray magma.",
+ "ids": "14506"
+ },
+ {
+ "examine": "Danger, Wilderness up ahead. Almost certain death!",
+ "ids": "14507"
+ },
{
"examine": "Home sweet home?",
"ids": "15477"
@@ -20039,10 +20059,26 @@
"examine": "Home sweet home?",
"ids": "15748"
},
+ {
+ "examine": "Large urn.",
+ "ids": "17362"
+ },
{
"examine": "A large fish.",
"ids": "18482"
},
+ {
+ "examine": "A sign on a cactus.",
+ "ids": "18876"
+ },
+ {
+ "examine": "Dead and half-buried.",
+ "ids": "19996"
+ },
+ {
+ "examine": "Dead animal head. Lovely.",
+ "ids": "19997"
+ },
{
"examine": "Might be worth opening?",
"ids": "21299"
@@ -20147,6 +20183,10 @@
"examine": "Contains traces of summoning energy.",
"ids": "29939,29943,29944,29945,29947,29951,29952,29953,29954"
},
+ {
+ "examine": "An interesting sign.",
+ "ids": "31297,31298,31299,31300,31301"
+ },
{
"examine": "I wonder what this spooky contains.",
"ids": "37051"
@@ -20215,6 +20255,14 @@
"examine": "A wooden crate.",
"ids": "15031"
},
+ {
+ "examine": "A sealed barrel with a warning sign on it.",
+ "ids": "17296"
+ },
+ {
+ "examine": "A barrel with a warning sign on it.",
+ "ids": "17297"
+ },
{
"examine": "A beautiful landscape.",
"ids": "24184"
@@ -20317,7 +20365,7 @@
},
{
"examine": "A wooden barrel for storage.",
- "ids": "31136,36798"
+ "ids": "17308,31136,36798"
},
{
"examine": "A home for baby creatures.",
@@ -20543,10 +20591,6 @@
"examine": "Popular on sandy beaches where fruity cocktails may be found.",
"ids": "18856"
},
- {
- "examine": "Stop examining signs! You're in the Wilderness now!",
- "ids": "14503"
- },
{
"examine": "Looks like part of the entrance is blocked by rubble.",
"ids": "15767"
diff --git a/Server/src/main/content/global/handlers/item/withnpc/ArchaeologicalExpertListener.kt b/Server/src/main/content/global/handlers/item/withnpc/ArchaeologicalExpertListener.kt
deleted file mode 100644
index b6bfb4851..000000000
--- a/Server/src/main/content/global/handlers/item/withnpc/ArchaeologicalExpertListener.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-package content.global.handlers.item.withnpc
-
-import core.api.openDialogue
-import org.rs09.consts.Items
-import org.rs09.consts.NPCs
-import content.region.misthalin.digsite.dialogue.ArchaeologistcalExpertUsedOnDialogueFile
-import core.game.interaction.InteractionListener
-import core.game.interaction.IntType
-
-open class ArchaeologicalExpertListener() : InteractionListener {
- val staff = Items.ANCIENT_STAFF_4675
- val unidentifiedLiquid = Items.UNIDENTIFIED_LIQUID_702
- val nitroglycerin = Items.NITROGLYCERIN_703
- val ammoniumNitrate = Items.AMMONIUM_NITRATE_701
- val nuggets = Items.NUGGETS_680
- val needle = Items.NEEDLE_1733
- val rottenApple = Items.ROTTEN_APPLE_1984
- val brokenGlass = Items.BROKEN_GLASS_1469
- val brokenArrow = Items.BROKEN_ARROW_687
- val panningTray = Items.PANNING_TRAY_677
- val bones = Items.BONES_526
- val buttons = Items.BUTTONS_688
- val crackedSample = Items.CRACKED_SAMPLE_674
- val oldTooth = Items.OLD_TOOTH_695
- val rustySword = Items.RUSTY_SWORD_686
- val brokenStaff = Items.BROKEN_STAFF_689
- val brokenArmour = Items.BROKEN_ARMOUR_698
- val damagedArmour = Items.DAMAGED_ARMOUR_697
- val ceramicRemains = Items.CERAMIC_REMAINS_694
- val beltBuckle = Items.BELT_BUCKLE_684
- val animalSkull = Items.ANIMAL_SKULL_671
- val specialCup = Items.SPECIAL_CUP_672
- val teddy = Items.TEDDY_673
- val stoneTablet = Items.STONE_TABLET_699
-
- val items = intArrayOf(staff, unidentifiedLiquid, nitroglycerin, ammoniumNitrate, nuggets, needle, rottenApple,
- brokenGlass, brokenArrow, panningTray, bones, buttons, crackedSample, oldTooth, rustySword, brokenStaff, brokenArmour,
- damagedArmour, ceramicRemains, beltBuckle, animalSkull, specialCup, teddy, stoneTablet)
-
- val archy = NPCs.ARCHAEOLOGICAL_EXPERT_619
-
- val lol = arrayOf(Items)
-
- override fun defineListeners() {
- onUseWith(IntType.NPC, items, archy) {
- player, used, with -> openDialogue(player, ArchaeologistcalExpertUsedOnDialogueFile(used.id))
- return@onUseWith false
- }
- }
-}
\ No newline at end of file
diff --git a/Server/src/main/content/global/handlers/scenery/ReadSignPostPlugin.java b/Server/src/main/content/global/handlers/scenery/ReadSignPostPlugin.java
deleted file mode 100644
index 7239c140b..000000000
--- a/Server/src/main/content/global/handlers/scenery/ReadSignPostPlugin.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package content.global.handlers.scenery;
-
-import core.cache.def.impl.SceneryDefinition;
-import core.game.component.CloseEvent;
-import core.game.component.Component;
-import core.game.interaction.OptionHandler;
-import core.game.node.Node;
-import core.game.node.entity.player.Player;
-import core.game.node.scenery.Scenery;
-import core.net.packet.PacketRepository;
-import core.net.packet.context.MinimapStateContext;
-import core.net.packet.out.MinimapState;
-import core.plugin.Initializable;
-import core.plugin.Plugin;
-
-/**
- * Handles the reading of a sign post.
- * @author 'Vexia
- */
-@Initializable
-public class ReadSignPostPlugin extends OptionHandler {
-
- /**
- * Represents the areas on the sign.
- * @author 'Vexia
- */
- public enum Signs {
- NEAR_LUMBRIDGE(18493, "North to farms and
Varrock.", "The River Lum lies to
the south.", "West to
Lumbridge.", "East to Al
Kharid - toll
gate; bring some
money."), NEAR_VARROCK(24263, "Sheep lay this way.", "South through farms
to Al Kharid and
Lumbridge", "West to Champion's Guild
and Varrock south
gate.", "East to Al Kharid mine and
follow the path north to
Varrock east gate.");
-
- public static Signs forId(int id) {
- for (Signs sign : Signs.values()) {
- if (sign == null) {
- continue;
- }
- if (sign.object == id) {
- return sign;
- }
- }
- return null;
- }
-
- /**
- * The object id.
- */
- private int object;
-
- /**
- * The directions.
- */
- private String directions[];
-
- /**
- * Constructs a new {@code ReadSignPostPlugin.java} {@code Object}.
- * @param object the object.
- * @param directions the directions.
- */
- Signs(int object, String... directions) {
- this.object = object;
- this.directions = directions;
- }
- }
-
- @Override
- public boolean handle(Player player, Node node, String option) {
- PacketRepository.send(MinimapState.class, new MinimapStateContext(player, 2));
- player.getInterfaceManager().open(new Component(135)).setCloseEvent(new CloseEvent() {
- @Override
- public boolean close(Player player, Component c) {
- PacketRepository.send(MinimapState.class, new MinimapStateContext(player, 0));
- return true;
- }
- });
- final Scenery object = (Scenery) node;
- Signs sign = Signs.forId(object.getId());
- if (sign == null) {
- return false;
- }
- String[] dirs = sign.directions;
- if (object.getLocation().getX() == 3107 && object.getLocation().getY() == 3296) {
- dirs[0] = "North to Draynor
Manor";
- dirs[1] = "South to Draynor
Village";
- dirs[2] = "West to Port
Sarim";
- dirs[3] = "East to
Lumbridge";
- }
- player.getPacketDispatch().sendString(dirs[0], 135, 3); // North
- player.getPacketDispatch().sendString(dirs[1], 135, 9); // South
- player.getPacketDispatch().sendString(dirs[2], 135, 12); // West
- player.getPacketDispatch().sendString(dirs[3], 135, 8); // East
- return true;
- }
-
- @Override
- public Plugin