mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -07:00
Add LogoutListener interface - allows a class to call some code on player logout - improved version of logout listeners.
Add StartupListener interface - allows a class to call some code on server startup without adding messy code elsewhere Add ShutdownListener interface - allows a class to call some code on server shutdown without adding messy code elsewhere Add TickListener interface - allows a class to call some code on each tick without adding messy code elsewhere Converted all applicable content over to using these new interfaces
This commit is contained in:
parent
3f499d1244
commit
db7b9d06b2
232 changed files with 1498 additions and 3232 deletions
|
|
@ -32,7 +32,7 @@ import core.plugin.Initializable;
|
|||
import core.tools.RandomFunction;
|
||||
import rs09.game.content.activity.barrows.RewardChest;
|
||||
import rs09.game.world.GameWorld;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
import static api.ContentAPIKt.getWorldTicks;
|
||||
|
||||
|
|
@ -371,8 +371,8 @@ public final class BarrowsActivityPlugin extends ActivityPlugin {
|
|||
|
||||
@Override
|
||||
public void configure() {
|
||||
PluginManager.definePlugin(new TunnelEntranceDialogue());
|
||||
PluginManager.definePlugin(BarrowsPuzzle.SHAPES);
|
||||
ClassScanner.definePlugin(new TunnelEntranceDialogue());
|
||||
ClassScanner.definePlugin(BarrowsPuzzle.SHAPES);
|
||||
registerRegion(14231);
|
||||
BarrowsCrypt.init();
|
||||
PULSE.stop();
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import core.game.world.map.zone.impl.WildernessZone;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
import java.util.*;
|
||||
|
|
@ -170,7 +170,7 @@ public final class BountyHunterActivity extends ActivityPlugin {
|
|||
break;
|
||||
}
|
||||
}
|
||||
PluginManager.definePlugin(new ComponentPlugin() {
|
||||
ClassScanner.definePlugin(new ComponentPlugin() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ComponentDefinition.put(657, this);
|
||||
|
|
@ -194,8 +194,8 @@ public final class BountyHunterActivity extends ActivityPlugin {
|
|||
|
||||
});
|
||||
BHScoreBoard.init();
|
||||
PluginManager.definePlugin(new BountyLocateSpell());
|
||||
PluginManager.definePlugin(new BHOptionHandler());
|
||||
ClassScanner.definePlugin(new BountyLocateSpell());
|
||||
ClassScanner.definePlugin(new BHOptionHandler());
|
||||
ActivityManager.register(new BountyHunterActivity(CraterType.MID_LEVEL));
|
||||
ActivityManager.register(new BountyHunterActivity(CraterType.HIGH_LEVEL));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import core.game.world.map.zone.ZoneRestriction;
|
|||
import core.game.world.map.zone.impl.WildernessZone;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the clan wars challenge room.
|
||||
|
|
@ -86,7 +86,7 @@ public final class ClanWarsChallengeRoom extends MapZone implements Plugin<Objec
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugin(new CWChallengeOption());
|
||||
ClassScanner.definePlugin(new CWChallengeOption());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import core.game.world.map.Location;
|
|||
import core.game.world.map.zone.ZoneBorders;
|
||||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -141,8 +141,8 @@ public final class DuelArenaActivity extends ActivityPlugin {
|
|||
}
|
||||
parseScoreboard();
|
||||
register(new ZoneBorders(3325, 3201, 3396, 3280));
|
||||
PluginManager.definePlugin(new DuelArea.ForfeitTrapdoorPlugin());
|
||||
PluginManager.definePlugins(new DuelSession(null, null, false), new DuelComponentPlugin(), new ChallengeOptionPlugin());
|
||||
ClassScanner.definePlugin(new DuelArea.ForfeitTrapdoorPlugin());
|
||||
ClassScanner.definePlugins(new DuelSession(null, null, false), new DuelComponentPlugin(), new ChallengeOptionPlugin());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.map.zone.ZoneBorders;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the fist of guthix activity.
|
||||
|
|
@ -50,9 +50,9 @@ public class FOGActivityPlugin extends ActivityPlugin {
|
|||
|
||||
@Override
|
||||
public void configure() {
|
||||
PluginManager.definePlugin(new FOGLobbyZone());
|
||||
PluginManager.definePlugin(new FOGWaitingZone());
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new FOGLobbyZone());
|
||||
ClassScanner.definePlugin(new FOGWaitingZone());
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
SceneryDefinition.forId(30204).getHandlers().put("option:enter", this);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import core.game.node.scenery.Scenery;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the hero guild.
|
||||
|
|
@ -28,7 +28,7 @@ public final class HeroGuildPlugin extends OptionHandler {
|
|||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
SceneryDefinition.forId(2624).getHandlers().put("option:open", this);
|
||||
SceneryDefinition.forId(2625).getHandlers().put("option:open", this);
|
||||
PluginManager.definePlugin(new JewelleryRechargePlugin());
|
||||
ClassScanner.definePlugin(new JewelleryRechargePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,10 +9,9 @@ import core.game.component.ComponentPlugin;
|
|||
import core.game.container.impl.EquipmentContainer;
|
||||
import core.plugin.Initializable;
|
||||
import org.rs09.consts.Items;
|
||||
import core.game.node.entity.Entity;
|
||||
import core.game.node.entity.npc.AbstractNPC;
|
||||
import core.game.node.entity.player.link.diary.DiaryType;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
import core.game.content.dialogue.DialoguePlugin;
|
||||
import core.game.content.dialogue.FacialExpression;
|
||||
|
|
@ -58,7 +57,7 @@ public final class RangingGuildPlugin extends OptionHandler {
|
|||
new BowArrowSalesman().init();
|
||||
new WarningInterface().newInstance(arg);
|
||||
new CompetitionJudge().init();
|
||||
PluginManager.definePlugin(new TowerArcher());
|
||||
ClassScanner.definePlugin(new TowerArcher());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import core.plugin.Initializable;
|
|||
import core.plugin.Plugin;
|
||||
import rs09.game.content.global.action.PickupHandler;
|
||||
import rs09.game.world.GameWorld;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the mage arena activity.
|
||||
|
|
@ -41,12 +41,12 @@ public final class MageArenaPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(MAGE_ARENA);
|
||||
PluginManager.definePlugin(new KolodionNPC());
|
||||
PluginManager.definePlugin(new MageArenaNPC());
|
||||
PluginManager.definePlugin(new LundailDialogue());
|
||||
PluginManager.definePlugin(new KolodionDialogue());
|
||||
PluginManager.definePlugin(new ChamberGuardianDialogue());
|
||||
ClassScanner.definePlugin(MAGE_ARENA);
|
||||
ClassScanner.definePlugin(new KolodionNPC());
|
||||
ClassScanner.definePlugin(new MageArenaNPC());
|
||||
ClassScanner.definePlugin(new LundailDialogue());
|
||||
ClassScanner.definePlugin(new KolodionDialogue());
|
||||
ClassScanner.definePlugin(new ChamberGuardianDialogue());
|
||||
ItemDefinition.forId(2412).getHandlers().put("option:drop", this);
|
||||
ItemDefinition.forId(2413).getHandlers().put("option:drop", this);
|
||||
ItemDefinition.forId(2414).getHandlers().put("option:drop", this);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import core.game.world.update.flag.context.Animation;
|
|||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.game.content.activity.mta.EnchantSpell;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the mage training area interactions.
|
||||
|
|
@ -52,7 +52,7 @@ public class MageTrainingArenaPlugin extends OptionHandler {
|
|||
ItemDefinition.forId(TelekineticZone.STATUE).getHandlers().put("option:observe", this);
|
||||
ItemDefinition.forId(TelekineticZone.STATUE).getHandlers().put("option:reset", this);
|
||||
NPCDefinition.forId(3102).getHandlers().put("option:talk-to", this);
|
||||
PluginManager.definePlugins(new CharmedWarriorDialogue(), new EntranceGuardianDialogue(), new RewardsGuardianDialogue(), new ProgressHatDialogue(), new EnchantmentGuardianDialogue(), new EnchantSpell(), new GraveyardGuardianDialogue(), new AlchemyGuardianDialogue(), new TelekineticGrabSpell(), new TelekineticGuardianDialogue(), new MazeGuardianDialogue());
|
||||
ClassScanner.definePlugins(new CharmedWarriorDialogue(), new EntranceGuardianDialogue(), new RewardsGuardianDialogue(), new ProgressHatDialogue(), new EnchantmentGuardianDialogue(), new EnchantSpell(), new GraveyardGuardianDialogue(), new AlchemyGuardianDialogue(), new TelekineticGrabSpell(), new TelekineticGuardianDialogue(), new MazeGuardianDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import core.game.world.map.Location;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the party room.
|
||||
|
|
@ -72,8 +72,8 @@ public final class PartyRoomPlugin extends OptionHandler {
|
|||
SceneryDefinition.forId(OPEN_CHEST).getHandlers().put("option:deposit", this);
|
||||
SceneryDefinition.forId(OPEN_CHEST).getHandlers().put("option:shut", this);
|
||||
SceneryDefinition.forId(LEVER).getHandlers().put("option:pull", this);
|
||||
PluginManager.definePlugin(new DepositInterfaceHandler());
|
||||
PluginManager.definePlugin(new BalloonManager());
|
||||
ClassScanner.definePlugin(new DepositInterfaceHandler());
|
||||
ClassScanner.definePlugin(new BalloonManager());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ 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 core.game.world.map.Location;
|
||||
import core.game.world.map.build.DynamicRegion;
|
||||
|
|
@ -26,7 +25,7 @@ import core.game.world.map.zone.RegionZone;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.game.world.map.zone.ZoneRestriction;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
import core.tools.StringUtils;
|
||||
import core.game.content.activity.pestcontrol.monsters.*;
|
||||
|
|
@ -220,18 +219,18 @@ public final class PestControlActivityPlugin extends ActivityPlugin {
|
|||
ActivityManager.register(activities[1]);
|
||||
ActivityManager.register(activities[2]);
|
||||
// Load abstract NPC plugins
|
||||
PluginManager.definePlugin(new PCPortalNPC());
|
||||
PluginManager.definePlugin(new PCSquireNPC());
|
||||
PluginManager.definePlugin(new PCTorcherNPC());
|
||||
PluginManager.definePlugin(new PCDefilerNPC());
|
||||
PluginManager.definePlugin(new PCRavagerNPC());
|
||||
PluginManager.definePlugin(new PCShifterNPC());
|
||||
PluginManager.definePlugin(new PCSplatterNPC());
|
||||
PluginManager.definePlugin(new PCSpinnerNPC());
|
||||
PluginManager.definePlugin(new PCBrawlerNPC());
|
||||
PluginManager.definePlugin(new PCObjectHandler());
|
||||
PluginManager.definePlugin(new PestControlSquire());
|
||||
PluginManager.definePlugin(new VoidSealPlugin());
|
||||
ClassScanner.definePlugin(new PCPortalNPC());
|
||||
ClassScanner.definePlugin(new PCSquireNPC());
|
||||
ClassScanner.definePlugin(new PCTorcherNPC());
|
||||
ClassScanner.definePlugin(new PCDefilerNPC());
|
||||
ClassScanner.definePlugin(new PCRavagerNPC());
|
||||
ClassScanner.definePlugin(new PCShifterNPC());
|
||||
ClassScanner.definePlugin(new PCSplatterNPC());
|
||||
ClassScanner.definePlugin(new PCSpinnerNPC());
|
||||
ClassScanner.definePlugin(new PCBrawlerNPC());
|
||||
ClassScanner.definePlugin(new PCObjectHandler());
|
||||
ClassScanner.definePlugin(new PestControlSquire());
|
||||
ClassScanner.definePlugin(new VoidSealPlugin());
|
||||
ZoneBuilder.configure(new PCLanderZone(activities));
|
||||
ZoneBuilder.configure(new PCIslandZone());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import core.game.node.Node;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the option plugin used to handle the pc island related nodes.
|
||||
|
|
@ -20,7 +20,7 @@ public final class PCIslandOptionPlugin extends OptionHandler {
|
|||
for (int id : new int[] { 3786, 3788, 3789, 5956 }) {
|
||||
NPCDefinition.forId(id).getHandlers().put("option:exchange", this);
|
||||
}
|
||||
PluginManager.definePlugin(new PCRewardInterface());
|
||||
ClassScanner.definePlugin(new PCRewardInterface());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import core.game.node.entity.skill.hunter.bnet.ImplingNode;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.item.Item;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
import core.game.content.activity.puropuro.ElnockInquisitorDialogue.ElnockExchangeInterfaceHandler.ElnockExchange;
|
||||
|
||||
|
|
@ -188,7 +188,7 @@ public final class ElnockInquisitorDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new ElnockExchangeInterfaceHandler());
|
||||
ClassScanner.definePlugin(new ElnockExchangeInterfaceHandler());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ import core.net.packet.PacketRepository;
|
|||
import core.net.packet.context.MinimapStateContext;
|
||||
import core.net.packet.out.MinimapState;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -74,11 +74,11 @@ public final class PuroPuroPlugin extends MapZone implements Plugin<Object> {
|
|||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PULSE.stop();
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugin(new FairyAerykaDialogue());
|
||||
PluginManager.definePlugin(new WanderingImplingDialogue());
|
||||
PluginManager.definePlugin(new ElnockInquisitorDialogue());
|
||||
PluginManager.definePlugin(new PuroOptionHandler());
|
||||
PluginManager.definePlugin(new ImpDefenderNPC());
|
||||
ClassScanner.definePlugin(new FairyAerykaDialogue());
|
||||
ClassScanner.definePlugin(new WanderingImplingDialogue());
|
||||
ClassScanner.definePlugin(new ElnockInquisitorDialogue());
|
||||
ClassScanner.definePlugin(new PuroOptionHandler());
|
||||
ClassScanner.definePlugin(new ImpDefenderNPC());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ import core.game.node.entity.skill.Skills;
|
|||
import core.game.node.item.Item;
|
||||
import core.game.node.scenery.Scenery;
|
||||
import core.game.node.scenery.SceneryBuilder;
|
||||
import core.game.system.task.LocationLogoutTask;
|
||||
import core.game.system.task.LogoutTask;
|
||||
import core.game.world.map.Location;
|
||||
import core.game.world.map.zone.MapZone;
|
||||
import core.game.world.map.zone.ZoneBorders;
|
||||
|
|
@ -21,6 +19,7 @@ import core.game.world.update.flag.context.Animation;
|
|||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import core.tools.RandomFunction;
|
||||
import kotlin.Unit;
|
||||
import rs09.game.Varp;
|
||||
import rs09.game.content.activity.pyramidplunder.PlunderSession;
|
||||
|
||||
|
|
@ -112,12 +111,21 @@ public class PlunderZones implements Plugin<Object> {
|
|||
if(session != null){
|
||||
session.resetVars();
|
||||
}
|
||||
e.asPlayer().addExtension(LogoutTask.class, new LocationLogoutTask(12, Location.create(3288, 2801, 0)));
|
||||
e.asPlayer().logoutListeners.put("plunder-logout", player -> {
|
||||
player.setLocation(Location.create(3288, 2801, 0));
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
updateRoomVarp(e.asPlayer());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean leave(Entity e, boolean logout) {
|
||||
e.asPlayer().logoutListeners.remove("plunder-logout");
|
||||
return super.leave(e, logout);
|
||||
}
|
||||
|
||||
public void updateRoomVarp(Player player){
|
||||
Varp varp = player.varpManager.get(822);
|
||||
varp.setVarbit(0,room.reqLevel);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.world.map.Location;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.game.content.activity.pyramidplunder.PlunderSession;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the Pyramid plunder activity.
|
||||
|
|
@ -64,8 +64,8 @@ public final class PyramidPlunderActivity extends ActivityPlugin {
|
|||
|
||||
@Override
|
||||
public void register() {
|
||||
PluginManager.definePlugin(new GuardMummyDialogue());
|
||||
PluginManager.definePlugin(new PyramidOptionHandler());
|
||||
ClassScanner.definePlugin(new GuardMummyDialogue());
|
||||
ClassScanner.definePlugin(new PyramidOptionHandler());
|
||||
mummy = NPC.create(4476, Location.create(1968, 4427, 2));
|
||||
mummy.init();
|
||||
registerRegion(7749);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import core.game.interaction.OptionHandler;
|
|||
import core.game.node.Node;
|
||||
import core.game.node.entity.Entity;
|
||||
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.system.task.Pulse;
|
||||
|
|
@ -24,7 +23,7 @@ import core.game.world.map.zone.ZoneBorders;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.plugin.Initializable;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
|
|
@ -50,13 +49,13 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugin(new ExplorerDialogue());
|
||||
PluginManager.definePlugin(new StrongholdDialogue());
|
||||
PluginManager.definePlugin(new GrainOfPlentyDialogue());
|
||||
PluginManager.definePlugin(new GiftOfPeaceDialogue());
|
||||
PluginManager.definePlugin(new CradleOfLifeDialogue());
|
||||
PluginManager.definePlugin(new BoxOfHealthDialogue());
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new ExplorerDialogue());
|
||||
ClassScanner.definePlugin(new StrongholdDialogue());
|
||||
ClassScanner.definePlugin(new GrainOfPlentyDialogue());
|
||||
ClassScanner.definePlugin(new GiftOfPeaceDialogue());
|
||||
ClassScanner.definePlugin(new CradleOfLifeDialogue());
|
||||
ClassScanner.definePlugin(new BoxOfHealthDialogue());
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
SceneryDefinition.forId(16154).getHandlers().put("option:climb-down", this);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import core.net.packet.context.CameraContext.CameraType;
|
|||
import core.net.packet.out.CameraViewPacket;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* @author Tyler Telis
|
||||
|
|
@ -47,10 +47,10 @@ public class StrongHoldOfPlayerSafetyPlugin implements Plugin<Object> {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object object) throws Throwable {
|
||||
PluginManager.definePlugin(new PSOptionHandler());
|
||||
PluginManager.definePlugin(new GuardDialoguePlugin());
|
||||
PluginManager.definePlugin(new PlayerSafetyTest());
|
||||
PluginManager.definePlugin(new ProfessorHenryDialogue());
|
||||
ClassScanner.definePlugin(new PSOptionHandler());
|
||||
ClassScanner.definePlugin(new GuardDialoguePlugin());
|
||||
ClassScanner.definePlugin(new PlayerSafetyTest());
|
||||
ClassScanner.definePlugin(new ProfessorHenryDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import core.game.node.scenery.Scenery;
|
|||
import core.game.world.map.Location;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the warrior guild options.
|
||||
|
|
@ -35,7 +35,7 @@ public final class WarriorsGuild extends OptionHandler {
|
|||
SceneryDefinition.forId(1530).getHandlers().put("option:open", this);
|
||||
NPCDefinition.forId(4287).getHandlers().put("option:claim-shield", this);
|
||||
NPCDefinition.setOptionHandler("claim-tokens", this);
|
||||
PluginManager.definePlugin(new ClaimTokenDialogue());
|
||||
ClassScanner.definePlugin(new ClaimTokenDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ public final class AnimatedArmour extends NPC {
|
|||
int amount = set.getTokenAmount();
|
||||
GroundItemManager.create(new Item(8851, amount), location, player);
|
||||
}
|
||||
player.logoutListeners.remove("animation-room");
|
||||
player.removeAttribute("animated_set");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,9 +8,8 @@ import core.game.node.entity.npc.NPC;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.item.Item;
|
||||
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 kotlin.Unit;
|
||||
import rs09.game.world.GameWorld;
|
||||
import core.game.world.map.Direction;
|
||||
import core.game.world.map.zone.MapZone;
|
||||
|
|
@ -112,7 +111,7 @@ public final class AnimationRoom extends MapZone implements Plugin<Object> {
|
|||
*/
|
||||
private void animateArmour(final Player player, final Scenery object, final ArmourSet set) {
|
||||
if (!player.getInventory().containItems(set.getPieces())) {
|
||||
player.getDialogueInterpreter().sendDialogue("You need a plate body, playe legs and full helm of the same type to", "activate the armour animator.");
|
||||
player.getDialogueInterpreter().sendDialogue("You need a plate body, plate legs and full helm of the same type to", "activate the armour animator.");
|
||||
return;
|
||||
}
|
||||
if (player.getAttribute("animated_set") != null) {
|
||||
|
|
@ -134,7 +133,10 @@ public final class AnimationRoom extends MapZone implements Plugin<Object> {
|
|||
}
|
||||
}
|
||||
player.getAudioManager().send(1909);
|
||||
player.addExtension(LogoutTask.class, new ItemLogoutTask(5, new Item(set.getPieces()[0]), new Item(set.getPieces()[1]), new Item(set.getPieces()[2])));
|
||||
player.logoutListeners.put("animation-room", player1 -> {
|
||||
for(int item : set.getPieces()) player1.getInventory().add(new Item(item));
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
player.getDialogueInterpreter().sendPlainMessage(true, "The animator hums, something appears to be working.", "You stand back...");
|
||||
spawn = true;
|
||||
super.setDelay(4);
|
||||
|
|
@ -146,7 +148,6 @@ public final class AnimationRoom extends MapZone implements Plugin<Object> {
|
|||
ForceMovement.run(player, player.getLocation().transform(0, 1, 0)).setDirection(Direction.SOUTH);
|
||||
return false;
|
||||
}
|
||||
player.removeExtension(LogoutTask.class);
|
||||
player.getInterfaceManager().closeChatbox();
|
||||
NPC npc = new AnimatedArmour(player, object.getLocation(), set);
|
||||
player.setAttribute("animated_set", npc);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ 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 rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -86,7 +86,7 @@ public final class BarrelRoom extends MapZone implements Plugin<Object> {
|
|||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
pulse.stop();
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
SceneryDefinition.forId(15668).getHandlers().put("option:pick-up", this);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import core.game.world.map.zone.ZoneBorders;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.plugin.Initializable;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
|
|
@ -164,7 +164,7 @@ public final class CatapultRoom extends MapZone implements Plugin<Object> {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ItemDefinition.forId(SHIELD_ID).getHandlers().put("option:wield", this);
|
||||
|
|
@ -195,7 +195,7 @@ public final class CatapultRoom extends MapZone implements Plugin<Object> {
|
|||
return true;
|
||||
}
|
||||
});
|
||||
PluginManager.definePlugin(new ComponentPlugin() {
|
||||
ClassScanner.definePlugin(new ComponentPlugin() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ComponentDefinition.put(411, this);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import core.game.world.map.zone.ZoneBorders;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.game.world.map.zone.ZoneRestriction;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -130,8 +130,8 @@ public final class CyclopesRoom extends MapZone implements Plugin<Object> {
|
|||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PULSE.stop();
|
||||
PluginManager.definePlugin(new KamfreenaDial());
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new KamfreenaDial());
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import rs09.game.world.GameWorld;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -33,7 +33,7 @@ import core.tools.RandomFunction;
|
|||
public final class ShotPutRoom extends DialoguePlugin {
|
||||
|
||||
static {
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public boolean handle(final Player player, Node node, String option) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import core.net.packet.context.CameraContext;
|
|||
import core.net.packet.context.CameraContext.CameraType;
|
||||
import core.net.packet.out.CameraViewPacket;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the draynor bank robbery cutscene plugin.
|
||||
|
|
@ -228,7 +228,7 @@ public final class DBRCutscenePlugin extends CutscenePlugin {
|
|||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
PluginManager.definePlugin(new BluePhatItem());
|
||||
ClassScanner.definePlugin(new BluePhatItem());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import core.net.packet.context.CameraContext;
|
|||
import core.net.packet.context.CameraContext.CameraType;
|
||||
import core.net.packet.out.CameraViewPacket;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the romeo and juliet cutscene plugin.
|
||||
|
|
@ -35,7 +35,7 @@ public final class JulietCutscenePlugin extends CutscenePlugin {
|
|||
*/
|
||||
public JulietCutscenePlugin() {
|
||||
this(null);
|
||||
PluginManager.definePlugin(new JulietDialogue());
|
||||
ClassScanner.definePlugin(new JulietDialogue());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import core.game.node.entity.npc.NPC;
|
|||
import core.game.node.item.Item;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the jiminua dialogue plugin.
|
||||
|
|
@ -38,7 +38,7 @@ public final class JiminuaDialogue extends DialoguePlugin {
|
|||
|
||||
@Override
|
||||
public DialoguePlugin newInstance(Player player) {
|
||||
PluginManager.definePlugin(new JiminuaUnnoteHandler());
|
||||
ClassScanner.definePlugin(new JiminuaUnnoteHandler());
|
||||
return new JiminuaDialogue(player);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.node.item.Item;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the dialogue used for martin thwait.
|
||||
|
|
@ -161,7 +161,7 @@ public final class MartinThwaitDialogue extends DialoguePlugin {
|
|||
|
||||
@Override
|
||||
public void init() {
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import core.game.node.item.Item;
|
|||
import core.plugin.Initializable;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -67,7 +67,7 @@ public class RomilyWeaklaxDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new RomilyWildPieHandler());
|
||||
ClassScanner.definePlugin(new RomilyWildPieHandler());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import rs09.game.world.GameWorld;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import org.rs09.consts.Items;
|
||||
|
||||
import static rs09.tools.stringtools.GlobalsKt.colorize;
|
||||
|
|
@ -65,7 +65,7 @@ public final class RugMerchantDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new RugMerchantPlugin());
|
||||
ClassScanner.definePlugin(new RugMerchantPlugin());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package core.game.content.global.action;
|
||||
|
||||
import api.ContentAPIKt;
|
||||
import core.game.node.entity.Entity;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.entity.player.link.audio.Audio;
|
||||
|
|
@ -8,13 +7,12 @@ import core.game.node.entity.player.link.diary.DiaryType;
|
|||
import core.game.node.scenery.Constructed;
|
||||
import core.game.node.scenery.Scenery;
|
||||
import core.game.node.scenery.SceneryBuilder;
|
||||
import core.game.system.task.LocationLogoutTask;
|
||||
import core.game.system.task.LogoutTask;
|
||||
import core.game.system.task.Pulse;
|
||||
import core.game.world.map.Direction;
|
||||
import core.game.world.map.Location;
|
||||
import core.game.world.map.RegionManager;
|
||||
import core.game.world.map.path.Pathfinder;
|
||||
import kotlin.Unit;
|
||||
import rs09.game.system.config.DoorConfigLoader;
|
||||
import rs09.game.world.GameWorld;
|
||||
|
||||
|
|
@ -98,9 +96,12 @@ public final class DoorActionHandler {
|
|||
final Scenery second = (object.getId() == 3) ? null : getSecondDoor(object, entity);
|
||||
entity.lock(4);
|
||||
final Location loc = entity.getLocation();
|
||||
entity.addExtension(LogoutTask.class, new LocationLogoutTask(4, loc));
|
||||
if (entity instanceof Player) {
|
||||
((Player) entity).getAudioManager().send(new Audio(3419));
|
||||
entity.asPlayer().logoutListeners.put("autowalk", player -> {
|
||||
player.setLocation(loc);
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
}
|
||||
GameWorld.getPulser().submit(new Pulse(1) {
|
||||
boolean opened = false;
|
||||
|
|
@ -134,6 +135,8 @@ public final class DoorActionHandler {
|
|||
if (object.getId() == 2406 && player.getLocation().withinDistance(Location.create(3202,3169,0))) {
|
||||
player.getAchievementDiaryManager().finishTask(player, DiaryType.LUMBRIDGE, 1, 6);
|
||||
}
|
||||
|
||||
entity.asPlayer().logoutListeners.remove("autowalk");
|
||||
}
|
||||
|
||||
// Reset door to inactive
|
||||
|
|
@ -379,7 +382,13 @@ public final class DoorActionHandler {
|
|||
}
|
||||
entity.lock(4);
|
||||
final Location loc = entity.getLocation();
|
||||
entity.addExtension(LogoutTask.class, new LocationLogoutTask(4, loc));
|
||||
if(entity instanceof Player)
|
||||
{
|
||||
entity.asPlayer().logoutListeners.put("autowalk", player -> {
|
||||
player.setLocation(loc);
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
}
|
||||
object.setCharge(IN_USE_CHARGE);
|
||||
second.setCharge(IN_USE_CHARGE);
|
||||
GameWorld.getPulser().submit(new Pulse(1) {
|
||||
|
|
@ -395,6 +404,10 @@ public final class DoorActionHandler {
|
|||
opened = true;
|
||||
return false;
|
||||
}
|
||||
if(entity instanceof Player)
|
||||
{
|
||||
entity.asPlayer().logoutListeners.remove("autowalk");
|
||||
}
|
||||
object.setCharge(1000);
|
||||
if (second != null) {
|
||||
second.setCharge(1000);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import core.game.interaction.OptionHandler;
|
|||
import core.game.node.Node;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.plugin.PluginManifest;
|
||||
|
||||
@PluginManifest(name="ShootingStars")
|
||||
|
|
@ -24,7 +24,7 @@ public class StarChartPlugin extends ComponentPlugin {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new StarChartOptions());
|
||||
ClassScanner.definePlugin(new StarChartOptions());
|
||||
ComponentDefinition.forId(iface.getId()).setPlugin(this);
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import rs09.game.world.repository.Repository;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.game.world.update.flag.context.Graphics;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -101,7 +101,7 @@ public class ChristmasEvent extends HolidayEvent {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
if (isActive()) {
|
||||
PluginManager.definePlugins(new ChristmasEventOptionPlugin(), new SnowmanItemHandler(), new SnowImpDialogue(), new SnowmanHatComponentPlugin(), new QueenOfSnowDialogue(), new SnowballItemPlugin(), new SnowmanNPC(), new PeltOptionHandler());
|
||||
ClassScanner.definePlugins(new ChristmasEventOptionPlugin(), new SnowmanItemHandler(), new SnowImpDialogue(), new SnowmanHatComponentPlugin(), new QueenOfSnowDialogue(), new SnowballItemPlugin(), new SnowmanNPC(), new PeltOptionHandler());
|
||||
}
|
||||
return super.newInstance(arg);
|
||||
}
|
||||
|
|
@ -417,7 +417,7 @@ public class ChristmasEvent extends HolidayEvent {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
addHandler(28295, OBJECT_TYPE, this);
|
||||
PluginManager.definePlugin(new SnowmanDialogue());
|
||||
ClassScanner.definePlugin(new SnowmanDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import core.game.world.map.Location;
|
|||
import rs09.game.world.repository.Repository;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.plugin.Initializable;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
|
|
@ -75,7 +75,7 @@ public class BasketofEggsEvent extends HolidayEvent {
|
|||
*/
|
||||
public BasketofEggsEvent() {
|
||||
super("Basket of Eggs", HolidayType.EASTER, 1086, 16, 2);
|
||||
PluginManager.definePlugins(new BasketofEggsPlugin(), new EasterBunnyDialogue(), new RubberchickenPlugin(), new ChocolateEggPlugin(), new EasterItemPlugin());
|
||||
ClassScanner.definePlugins(new BasketofEggsPlugin(), new EasterBunnyDialogue(), new RubberchickenPlugin(), new ChocolateEggPlugin(), new EasterItemPlugin());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -7,7 +7,7 @@ import core.game.node.item.GroundItemManager;
|
|||
import core.game.node.item.Item;
|
||||
import core.game.world.map.Location;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the ernest the chicken quest.
|
||||
|
|
@ -45,7 +45,7 @@ public final class ErnestTheChicken extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new ErnestNPC(), new ErnestChickenNPC());
|
||||
ClassScanner.definePlugins(new ErnestNPC(), new ErnestChickenNPC());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,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.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the black knights fortress quest.
|
||||
|
|
@ -28,7 +28,7 @@ public final class BlackKnightsFortress extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new BKCabbagePlugin(), new BKFortressPlugin(), new SirAmikVarzeDialogue());
|
||||
ClassScanner.definePlugins(new BKCabbagePlugin(), new BKFortressPlugin(), new SirAmikVarzeDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.node.item.Item;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the demon slayer quest.
|
||||
|
|
@ -55,7 +55,7 @@ public class DemonSlayer extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new DemonSlayerPlugin(), new DSlayerDrainPlugin(), new DemonSlayerCutscene(), new WallyCutscenePlugin(), new GypsyArisDialogue(), new SirPyrsinDialogue(), new TraibornDialogue(), new CaptainRovinDialogue());
|
||||
ClassScanner.definePlugins(new DemonSlayerPlugin(), new DSlayerDrainPlugin(), new DemonSlayerCutscene(), new WallyCutscenePlugin(), new GypsyArisDialogue(), new SirPyrsinDialogue(), new TraibornDialogue(), new CaptainRovinDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import core.plugin.Initializable;
|
|||
import rs09.game.content.dialogue.region.lumbridge.DukeHoracioDialogue;
|
||||
import rs09.game.content.quest.free.dragonslayer.NedDialogue;
|
||||
import rs09.game.world.GameWorld;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the dragon slayer quest.
|
||||
|
|
@ -119,7 +119,7 @@ public final class DragonSlayer extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new CrandorMapPlugin(), new DragonSlayerPlugin(), new DSMagicDoorPlugin(), new DragonSlayerCutscene(), new MazeDemonNPC(), new MazeGhostNPC(), new MazeSkeletonNPC(), new MazeZombieNPC(), new MeldarMadNPC(), new WormbrainNPC(), new ZombieRatNPC(), new DSChestDialogue(), new GuildmasterDialogue(), new ElvargNPC(), new WormbrainDialogue(), new OziachDialogue(), new NedDialogue(), new DukeHoracioDialogue());
|
||||
ClassScanner.definePlugins(new CrandorMapPlugin(), new DragonSlayerPlugin(), new DSMagicDoorPlugin(), new DragonSlayerCutscene(), new MazeDemonNPC(), new MazeGhostNPC(), new MazeSkeletonNPC(), new MazeZombieNPC(), new MeldarMadNPC(), new WormbrainNPC(), new ZombieRatNPC(), new DSChestDialogue(), new GuildmasterDialogue(), new ElvargNPC(), new WormbrainDialogue(), new OziachDialogue(), new NedDialogue(), new DukeHoracioDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.GroundItemManager;
|
||||
import core.game.node.item.Item;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the demon slayer quest.
|
||||
|
|
@ -50,7 +50,7 @@ public class GoblinDiplomacy extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new GDiplomacyCutscene(), new GoblinDiplomacyPlugin(), new GrubfootDialogue());
|
||||
ClassScanner.definePlugins(new GDiplomacyCutscene(), new GoblinDiplomacyPlugin(), new GrubfootDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import core.game.node.item.Item;
|
|||
import core.game.node.scenery.Scenery;
|
||||
import rs09.game.world.GameWorld;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.StringUtils;
|
||||
|
||||
/**
|
||||
|
|
@ -42,7 +42,7 @@ public final class GoblinDiplomacyPlugin extends OptionHandler {
|
|||
for (GoblinMailPlugin.GoblinMail mail : GoblinMailPlugin.GoblinMail.values()) {
|
||||
ItemDefinition.forId(mail.getProduct().getId()).getHandlers().put("option:wear", this);
|
||||
}
|
||||
PluginManager.definePlugin(new GoblinMailPlugin());
|
||||
ClassScanner.definePlugin(new GoblinMailPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the pirates treasure quest.
|
||||
|
|
@ -55,7 +55,7 @@ public final class PiratesTreasure extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new PiratesTreasurePlugin());
|
||||
ClassScanner.definePlugin(new PiratesTreasurePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,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.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the prince ali rescue quest.
|
||||
|
|
@ -49,7 +49,7 @@ public class PrinceAliRescue extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new LadyKeliDialogue(), new LadyKeliNPC(), new PrinceAliRescuePlugin(), new WigDyePlugin());
|
||||
ClassScanner.definePlugins(new LadyKeliDialogue(), new LadyKeliNPC(), new PrinceAliRescuePlugin(), new WigDyePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import core.game.node.entity.player.link.quest.Quest;
|
|||
import core.game.node.item.Item;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.game.content.dialogue.region.varrock.KingRoaldDialogue;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the shield of arrav quest.
|
||||
|
|
@ -59,7 +59,7 @@ public class ShieldofArrav extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new CertificatePlugin(), new CuratorHaigHalenDialogue(), new JohnnyBeardNPC(), new JonnytheBeardPlugin(), new KatrineDialogue(), new KingRoaldDialogue(), new ReldoDialogue(), new ShieldArravPlugin(), new ShieldofArravBook(), new StravenDialogue(), new WeaponsMasterDialogue());
|
||||
ClassScanner.definePlugins(new CertificatePlugin(), new CuratorHaigHalenDialogue(), new JohnnyBeardNPC(), new JonnytheBeardPlugin(), new KatrineDialogue(), new KingRoaldDialogue(), new ReldoDialogue(), new ShieldArravPlugin(), new ShieldofArravBook(), new StravenDialogue(), new WeaponsMasterDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the restless ghost quest.
|
||||
|
|
@ -35,7 +35,7 @@ public class RestlessGhost extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new OldCronDialogue());
|
||||
ClassScanner.definePlugin(new OldCronDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import core.net.packet.PacketRepository;
|
|||
import core.net.packet.context.CameraContext;
|
||||
import core.net.packet.context.CameraContext.CameraType;
|
||||
import core.net.packet.out.CameraViewPacket;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the husband of alice's npc dialogue.
|
||||
|
|
@ -64,7 +64,7 @@ public final class AliceHusbandDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new ChickenCatchScene());
|
||||
ClassScanner.definePlugin(new ChickenCatchScene());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import core.game.node.entity.skill.Skills;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.entity.player.link.quest.Quest;
|
||||
import core.game.node.item.Item;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
import core.game.content.quest.members.animalmagnetism.AnimalMagnetismPlugin.ContainerHandler;
|
||||
import core.game.content.quest.members.animalmagnetism.AnimalMagnetismPlugin.HammerMagnetPlugin;
|
||||
|
|
@ -108,16 +108,16 @@ public final class AnimalMagnetism extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new AvaDialogue());
|
||||
PluginManager.definePlugin(new AliceDialogue());
|
||||
PluginManager.definePlugin(new WitchDialogue());
|
||||
PluginManager.definePlugin(new ContainerHandler());
|
||||
PluginManager.definePlugin(new UndeadTreePlugin());
|
||||
PluginManager.definePlugin(new AvasDevicePlugin());
|
||||
PluginManager.definePlugin(new HammerMagnetPlugin());
|
||||
PluginManager.definePlugin(new ResearchNoteHandler());
|
||||
PluginManager.definePlugin(new AliceHusbandDialogue());
|
||||
PluginManager.definePlugin(new AnimalMagnetismPlugin());
|
||||
ClassScanner.definePlugin(new AvaDialogue());
|
||||
ClassScanner.definePlugin(new AliceDialogue());
|
||||
ClassScanner.definePlugin(new WitchDialogue());
|
||||
ClassScanner.definePlugin(new ContainerHandler());
|
||||
ClassScanner.definePlugin(new UndeadTreePlugin());
|
||||
ClassScanner.definePlugin(new AvasDevicePlugin());
|
||||
ClassScanner.definePlugin(new HammerMagnetPlugin());
|
||||
ClassScanner.definePlugin(new ResearchNoteHandler());
|
||||
ClassScanner.definePlugin(new AliceHusbandDialogue());
|
||||
ClassScanner.definePlugin(new AnimalMagnetismPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import core.game.world.map.zone.ZoneBorders;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -219,7 +219,7 @@ public final class AnimalMagnetismPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
NPCDefinition.forId(5208).getHandlers().put("option:chop", this);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.node.item.Item;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.game.node.entity.state.newsys.states.AvaDeviceState;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the equippage event of an ava device.
|
||||
|
|
@ -19,7 +19,7 @@ public final class AvasDevicePlugin implements Plugin<Object> {
|
|||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
AnimalMagnetism.AVAS_ACCUMULATOR.getDefinition().getHandlers().put("equipment", this);
|
||||
AnimalMagnetism.AVAS_ATTRACTOR.getDefinition().getHandlers().put("equipment", this);
|
||||
PluginManager.definePlugin(new DisableDevicePlugin());
|
||||
ClassScanner.definePlugin(new DisableDevicePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,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.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.game.node.entity.skill.Skills;
|
||||
|
||||
/**
|
||||
|
|
@ -48,11 +48,11 @@ public class DwarfCannon extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new LollkDialogue());
|
||||
PluginManager.definePlugin(new NulodionDialogue());
|
||||
PluginManager.definePlugin(new CaptainLawgofNPC());
|
||||
PluginManager.definePlugin(new CaptainLawgofDialogue());
|
||||
PluginManager.definePlugin(new DwarfCannonPlugin());
|
||||
ClassScanner.definePlugin(new LollkDialogue());
|
||||
ClassScanner.definePlugin(new NulodionDialogue());
|
||||
ClassScanner.definePlugin(new CaptainLawgofNPC());
|
||||
ClassScanner.definePlugin(new CaptainLawgofDialogue());
|
||||
ClassScanner.definePlugin(new DwarfCannonPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import core.game.node.scenery.Scenery;
|
|||
import core.game.node.scenery.SceneryBuilder;
|
||||
import core.game.system.task.Pulse;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
import core.tools.StringUtils;
|
||||
|
||||
|
|
@ -37,9 +37,9 @@ public final class JunglePotion extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new TrufitusDialogue());
|
||||
PluginManager.definePlugin(new JogreCavernDialogue());
|
||||
PluginManager.definePlugin(new JunglePotionPlugin());
|
||||
ClassScanner.definePlugin(new TrufitusDialogue());
|
||||
ClassScanner.definePlugin(new JogreCavernDialogue());
|
||||
ClassScanner.definePlugin(new JunglePotionPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,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.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The main type for the lost city Quest.
|
||||
|
|
@ -93,11 +93,11 @@ public class LostCity extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new LostCityPlugin());
|
||||
PluginManager.definePlugin(new TreeSpiritNPC());
|
||||
PluginManager.definePlugin(new ShamusDialogue());
|
||||
PluginManager.definePlugin(new WarriorDialogue());
|
||||
PluginManager.definePlugin(new DramenStaffPlugin());
|
||||
ClassScanner.definePlugin(new LostCityPlugin());
|
||||
ClassScanner.definePlugin(new TreeSpiritNPC());
|
||||
ClassScanner.definePlugin(new ShamusDialogue());
|
||||
ClassScanner.definePlugin(new WarriorDialogue());
|
||||
ClassScanner.definePlugin(new DramenStaffPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import core.game.node.entity.player.link.quest.Quest;
|
|||
import core.game.node.item.Item;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.game.system.config.ShopParser;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the dialogue plugin used to handle the candle maker npc.
|
||||
|
|
@ -45,7 +45,7 @@ public final class CandleMakerDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.node.entity.player.link.quest.Quest;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.game.content.quest.members.merlinsquest.TheLadyOfTheLake;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the merlin's crystal quest.
|
||||
|
|
@ -77,7 +77,7 @@ public final class MerlinCrystal extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new CrateCutscenePlugin(),
|
||||
ClassScanner.definePlugins(new CrateCutscenePlugin(),
|
||||
new MerlinCrystalPlugin(),
|
||||
new ArheinShopDialogue(),
|
||||
new BeggarDialogue(),
|
||||
|
|
|
|||
|
|
@ -29,7 +29,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.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the Merlin's Crystal Dialogue/Interactions.
|
||||
|
|
@ -59,8 +59,8 @@ public final class MerlinCrystalPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new MerlinCrystalDialogue());
|
||||
PluginManager.definePlugin(new MerlinCrystalItemHandler());
|
||||
ClassScanner.definePlugin(new MerlinCrystalDialogue());
|
||||
ClassScanner.definePlugin(new MerlinCrystalItemHandler());
|
||||
SceneryDefinition.forId(63).getHandlers().put("option:hide-in", this);
|
||||
SceneryDefinition.forId(40026).getHandlers().put("option:climb-up", this);
|
||||
SceneryDefinition.forId(72).getHandlers().put("option:open", this);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import core.game.node.item.GroundItemManager;
|
|||
import core.game.node.item.Item;
|
||||
import core.game.world.map.Location;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The level 84 Moss Giant in Glarial's tomb.
|
||||
|
|
@ -57,7 +57,7 @@ public final class MossGiantGuardianNPC extends AbstractNPC {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,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.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The Roving Elves quest.
|
||||
|
|
@ -94,11 +94,11 @@ public class RovingElves extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new RovingElvesPlugin());
|
||||
PluginManager.definePlugin(new RovingElvesObstacles());
|
||||
PluginManager.definePlugin(new ElunedDialogue());
|
||||
PluginManager.definePlugin(new IslwynDialogue());
|
||||
PluginManager.definePlugin(new MossGiantGuardianNPC());
|
||||
ClassScanner.definePlugin(new RovingElvesPlugin());
|
||||
ClassScanner.definePlugin(new RovingElvesObstacles());
|
||||
ClassScanner.definePlugin(new ElunedDialogue());
|
||||
ClassScanner.definePlugin(new IslwynDialogue());
|
||||
ClassScanner.definePlugin(new MossGiantGuardianNPC());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import rs09.game.world.GameWorld;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.map.RegionManager;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The dialogue plugin used to handle the ana npc.
|
||||
|
|
@ -51,8 +51,8 @@ public final class AnaDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new AnaNPC());
|
||||
PluginManager.definePlugin(new AnaBarrelHandler());
|
||||
ClassScanner.definePlugin(new AnaNPC());
|
||||
ClassScanner.definePlugin(new AnaBarrelHandler());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import core.game.system.task.Pulse;
|
|||
import rs09.game.world.GameWorld;
|
||||
import core.game.world.map.Location;
|
||||
import core.game.world.map.RegionManager;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -51,7 +51,7 @@ public final class DesertGuardDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new DesertGuardNPC());
|
||||
ClassScanner.definePlugin(new DesertGuardNPC());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -7,7 +7,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.world.map.Location;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the mercenary captain dialogue plugin.
|
||||
|
|
@ -46,7 +46,7 @@ public final class MercenaryCaptainDialogue extends DialoguePlugin {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new MercenaryCaptain());
|
||||
ClassScanner.definePlugin(new MercenaryCaptain());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import core.game.node.item.GroundItemManager;
|
|||
import core.game.node.item.Item;
|
||||
import core.game.world.map.Location;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -65,7 +65,7 @@ public final class RowdySlaveNPC extends AbstractNPC {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import rs09.game.world.GameWorld;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.map.zone.ZoneBorders;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The main type for the tourist trap quest.
|
||||
|
|
@ -116,7 +116,7 @@ public final class TouristTrap extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new TouristTrapPlugin(), new AnaDialogue(), new CaptainSiadDialogue(), new DesertGuardDialogue(), new IrenaDialogue(), new MaleSlaveDialogue(), new MercenaryCaptainDialogue(), new MercenaryDialogue(), new MinecartDriverDialogue(), new MineSlaveNPC(), new MiningCampZone(), new RowdySlaveNPC(), new AlShabimDialogue(), new BedabinNomadDialogue());
|
||||
ClassScanner.definePlugins(new TouristTrapPlugin(), new AnaDialogue(), new CaptainSiadDialogue(), new DesertGuardDialogue(), new IrenaDialogue(), new MaleSlaveDialogue(), new MercenaryCaptainDialogue(), new MercenaryDialogue(), new MinecartDriverDialogue(), new MineSlaveNPC(), new MiningCampZone(), new RowdySlaveNPC(), new AlShabimDialogue(), new BedabinNomadDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ import core.game.world.map.RegionManager;
|
|||
import core.game.world.map.build.DynamicRegion;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
import core.game.content.quest.members.thetouristrap.TouristTrapPlugin.AnnaCartHandler.AnnaCartCutscene;
|
||||
|
|
@ -117,16 +117,16 @@ public final class TouristTrapPlugin extends OptionHandler {
|
|||
TouristTrap.TECHNICAL_PLANS.getDefinition().getHandlers().put("option:read", this);
|
||||
TouristTrap.ANNA_BARREL.getDefinition().getHandlers().put("option:look", this);
|
||||
TouristTrap.ANNA_BARREL.getDefinition().getHandlers().put("option:drop", this);
|
||||
PluginManager.definePlugin(new BedabinKeyHandler());
|
||||
PluginManager.definePlugin(new BedabinAnvilHandler());
|
||||
PluginManager.definePlugin(new BarrelDialogue());
|
||||
PluginManager.definePlugin(new WinchDialogue());
|
||||
PluginManager.definePlugin(new MineCartDialogue());
|
||||
PluginManager.definePlugin(new AnnaCartHandler());
|
||||
PluginManager.definePlugin(new AnnaCartCutscene());
|
||||
PluginManager.definePlugin(new AnnaWinchHandler());
|
||||
PluginManager.definePlugin(new WinchCutscene());
|
||||
PluginManager.definePlugin(new CartDialogue());
|
||||
ClassScanner.definePlugin(new BedabinKeyHandler());
|
||||
ClassScanner.definePlugin(new BedabinAnvilHandler());
|
||||
ClassScanner.definePlugin(new BarrelDialogue());
|
||||
ClassScanner.definePlugin(new WinchDialogue());
|
||||
ClassScanner.definePlugin(new MineCartDialogue());
|
||||
ClassScanner.definePlugin(new AnnaCartHandler());
|
||||
ClassScanner.definePlugin(new AnnaCartCutscene());
|
||||
ClassScanner.definePlugin(new AnnaWinchHandler());
|
||||
ClassScanner.definePlugin(new WinchCutscene());
|
||||
ClassScanner.definePlugin(new CartDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
@ -963,7 +963,7 @@ public final class TouristTrapPlugin extends OptionHandler {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
PluginManager.definePlugin(new MiningCartCutscene());
|
||||
ClassScanner.definePlugin(new MiningCartCutscene());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -1386,8 +1386,8 @@ public final class TouristTrapPlugin extends OptionHandler {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) {
|
||||
addHandler(2672, OBJECT_TYPE, this);
|
||||
PluginManager.definePlugin(new PrototypeDartHandler());
|
||||
PluginManager.definePlugin(new BedabinAnvilDialogue());
|
||||
ClassScanner.definePlugin(new PrototypeDartHandler());
|
||||
ClassScanner.definePlugin(new BedabinAnvilDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
@ -1459,7 +1459,7 @@ public final class TouristTrapPlugin extends OptionHandler {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) {
|
||||
addHandler(TouristTrap.PROTOTYPE_DART_TIP.getId(), ITEM_TYPE, this);
|
||||
PluginManager.definePlugin(new ProtoTypeDialogue());
|
||||
ClassScanner.definePlugin(new ProtoTypeDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import core.game.node.entity.skill.Skills;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.entity.player.link.quest.Quest;
|
||||
import core.game.node.item.Item;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The main type for the waterfall quest.
|
||||
|
|
@ -84,7 +84,7 @@ public class WaterFall extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugins(new AlmeraDialogue(), new BookOnBaxtorianPlugin(), new GolrieDialogue(), new HadleyDialogue(), new HudonDialogue(), new WaterfallPlugin(), new WaterfallTreeDialogue());
|
||||
ClassScanner.definePlugins(new AlmeraDialogue(), new BookOnBaxtorianPlugin(), new GolrieDialogue(), new HadleyDialogue(), new HudonDialogue(), new WaterfallPlugin(), new WaterfallTreeDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,13 +21,12 @@ import core.game.node.entity.player.link.quest.Quest;
|
|||
import core.game.node.item.Item;
|
||||
import core.game.node.scenery.Scenery;
|
||||
import core.game.node.scenery.SceneryBuilder;
|
||||
import core.game.system.task.LocationLogoutTask;
|
||||
import core.game.system.task.LogoutTask;
|
||||
import core.game.system.task.Pulse;
|
||||
import core.game.world.map.Location;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import kotlin.Unit;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Master plugin file for the Waterfall quest.
|
||||
|
|
@ -101,7 +100,7 @@ public final class WaterfallPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new WaterfallUseWithHandler());
|
||||
ClassScanner.definePlugin(new WaterfallUseWithHandler());
|
||||
NPCDefinition.forId(305).getHandlers().put("option:talk-to", this);
|
||||
SceneryDefinition.forId(1987).getHandlers().put("option:board", this);
|
||||
SceneryDefinition.forId(2020).getHandlers().put("option:climb", this);
|
||||
|
|
@ -276,7 +275,10 @@ public final class WaterfallPlugin extends OptionHandler {
|
|||
break;
|
||||
case 10283:
|
||||
case 1996:
|
||||
player.addExtension(LogoutTask.class, new LocationLogoutTask(10, player.getLocation()));
|
||||
player.logoutListeners.put("waterfall", player1 -> {
|
||||
player1.setLocation(player.getLocation().transform(0,0,0));
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
player.getPacketDispatch().sendGraphic(68);
|
||||
player.lock(6);
|
||||
AgilityHandler.walk(player, -1, player.getLocation(), new Location(2512, 3471, 0), Animation.create(164), 0, null);
|
||||
|
|
@ -287,6 +289,7 @@ public final class WaterfallPlugin extends OptionHandler {
|
|||
public boolean pulse() {
|
||||
player.getPacketDispatch().sendMessage("You are washed downstream but feel lucky to be alive.");
|
||||
player.teleport(new Location(2527, 3413));
|
||||
player.logoutListeners.remove("waterfall");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
|
@ -431,7 +434,10 @@ public final class WaterfallPlugin extends OptionHandler {
|
|||
if (SWIMMERS.size() == 0 || ROPES.size() == 0) {
|
||||
handleObjects(true, player);
|
||||
}
|
||||
player.addExtension(LogoutTask.class, new LocationLogoutTask(13, player.getLocation()));
|
||||
player.logoutListeners.put("waterfall", player1 -> {
|
||||
player1.setLocation(player.getLocation().transform(0,0,0));
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
player.getPulseManager().run(new Pulse(2, player) {
|
||||
@Override
|
||||
public boolean pulse() {
|
||||
|
|
@ -443,6 +449,7 @@ public final class WaterfallPlugin extends OptionHandler {
|
|||
player.teleport(new Location(2513, 3468));
|
||||
player.faceLocation(new Location(2512, 3468, 0));
|
||||
player.animate(Animation.create(780));
|
||||
player.logoutListeners.remove("waterfall");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import rs09.game.world.GameWorld;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the what lies below options.
|
||||
|
|
@ -30,14 +30,14 @@ public class WLBelowPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new OutlawNPC());
|
||||
PluginManager.definePlugin(new KingRoaldNPC());
|
||||
ClassScanner.definePlugin(new OutlawNPC());
|
||||
ClassScanner.definePlugin(new KingRoaldNPC());
|
||||
ActivityManager.register(new WLBelowCutscene());
|
||||
PluginManager.definePlugin(new FolderHandler());
|
||||
PluginManager.definePlugin(new MetalWandHandler());
|
||||
PluginManager.definePlugin(new AnnaJonesDialogue());
|
||||
PluginManager.definePlugin(new SurokMagisDialogue());
|
||||
PluginManager.definePlugin(new RatBurgissDialogue());
|
||||
ClassScanner.definePlugin(new FolderHandler());
|
||||
ClassScanner.definePlugin(new MetalWandHandler());
|
||||
ClassScanner.definePlugin(new AnnaJonesDialogue());
|
||||
ClassScanner.definePlugin(new SurokMagisDialogue());
|
||||
ClassScanner.definePlugin(new RatBurgissDialogue());
|
||||
SceneryDefinition.forId(23095).getHandlers().put("option:use", this);
|
||||
SceneryDefinition.forId(23058).getHandlers().put("option:enter", this);
|
||||
SceneryDefinition.forId(23057).getHandlers().put("option:excavate", this);
|
||||
|
|
|
|||
|
|
@ -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.quest.Quest;
|
||||
import core.game.node.item.Item;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The what lies below quest.
|
||||
|
|
@ -100,7 +100,7 @@ public class WhatLiesBelow extends Quest {
|
|||
|
||||
@Override
|
||||
public Quest newInstance(Object object) {
|
||||
PluginManager.definePlugin(new WLBelowPlugin());
|
||||
ClassScanner.definePlugin(new WLBelowPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import core.game.node.scenery.Scenery;
|
|||
import core.game.world.map.Location;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -169,8 +169,8 @@ public class WitchsHousePlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new WitchsHouseUseWithHandler());
|
||||
PluginManager.definePlugin(new MouseNPC());
|
||||
ClassScanner.definePlugin(new WitchsHouseUseWithHandler());
|
||||
ClassScanner.definePlugin(new MouseNPC());
|
||||
SceneryDefinition.forId(2867).getHandlers().put("option:look-under", this);
|
||||
SceneryDefinition.forId(2861).getHandlers().put("option:open", this);
|
||||
SceneryDefinition.forId(2865).getHandlers().put("option:open", this);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import core.game.node.Node;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.game.world.map.Location;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the hunt for surok mini quest.
|
||||
|
|
@ -17,10 +17,10 @@ public class HuntForSurokPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new DakhThoulanAegisDialogue());
|
||||
PluginManager.definePlugin(new MishkalunDornDialogue());
|
||||
PluginManager.definePlugin(new SilasDahcsnuDialogue());
|
||||
PluginManager.definePlugin(new SurokMagisDialogue());
|
||||
ClassScanner.definePlugin(new DakhThoulanAegisDialogue());
|
||||
ClassScanner.definePlugin(new MishkalunDornDialogue());
|
||||
ClassScanner.definePlugin(new SilasDahcsnuDialogue());
|
||||
ClassScanner.definePlugin(new SurokMagisDialogue());
|
||||
SceneryDefinition.forId(28780).getHandlers().put("option:use", this);
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,44 +0,0 @@
|
|||
package core.game.content.quest.tutorials.tutorialisland;
|
||||
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.PluginManifest;
|
||||
import core.plugin.PluginType;
|
||||
|
||||
/**
|
||||
* Basic starter until tutorial is completed.
|
||||
*
|
||||
* @author Michael Sasse (https://github.com/mikeysasse/)
|
||||
*/
|
||||
@Initializable
|
||||
@PluginManifest(type = PluginType.LOGIN)
|
||||
public class BasicStarter implements Plugin<Player> {
|
||||
|
||||
private static final int[][] STARTER_ITEMS = { { 1351, 1 }, { 590, 1 },
|
||||
{ 303, 1 }, { 315, 1 }, { 1925, 1 }, { 1931, 1 }, { 2309, 1 },
|
||||
{ 1265, 1 }, { 1205, 1 }, { 1277, 1 }, { 1171, 1 }, { 841, 1 },
|
||||
{ 882, 25 }, { 556, 25 }, { 558, 15 }, { 555, 6 }, { 557, 4 },
|
||||
{ 559, 2 } };
|
||||
|
||||
public BasicStarter() { }
|
||||
|
||||
@Override
|
||||
public Plugin<Player> newInstance(Player player) throws Throwable {
|
||||
if (player.getDetails().getLastLogin() == 0) {
|
||||
//Redundant if the Tutorial Completion Dialogue is going to clear the bank, inventory and equipment after teleporting to Lumbridge.
|
||||
//Causes a full inventory on tutorial island when the instructors are giving the player more items.
|
||||
//The Starter pack array exists in the TutorialCompletionDialogue file... So could this file be deleted?
|
||||
|
||||
/*for (int[] item : STARTER_ITEMS) {
|
||||
player.getInventory().add(new Item(item[0], item[1]));
|
||||
}*/
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object fireEvent(String identifier, Object... args) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ package core.game.content.ttrail;
|
|||
import core.game.node.entity.player.link.emote.Emotes;
|
||||
import core.game.world.map.zone.ZoneBorders;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Initializes the emote clue plugins.
|
||||
|
|
@ -140,7 +140,7 @@ public final class EmoteCluePlugin extends EmoteClueScroll {
|
|||
register(new EmoteCluePlugin("draynor-market-yawn", 2737, ClueLevel.EASY, emote, new int[][] { { 1097 }, { 1191 }, { 1295 } }, "Yawn in Draynor<br>Marketplace.<br>Equip studded leather<br>chaps, an iron<br>kiteshield and a steel<br>longsword.", new ZoneBorders(3075, 3245, 3086, 3255)));
|
||||
register(new EmoteCluePlugin("castle-wars-yawn", 2739, ClueLevel.MEDIUM, emote, Emotes.SHRUG, new int[][] { { 1698 }, { 1329 }, WILDY_CAPES }, "Yawn in the Castle<br>Wars lobby. Shrug<br>before you talk to me.<br>Equip ruby amulet, a<br>mithril scimitar and a<br>Wilderness cape.", new ZoneBorders(2434, 3061, 2464, 3102)));
|
||||
register(new EmoteCluePlugin("rogue-gen-yawn", 2741, ClueLevel.HARD, emote, new int[][] { { 1183 }, { 2487 }, { 1275 } }, "Yawn in the rogues'<br>general store. Beware<br>of double agents!<br>Equip an adamant<br>square shield, blue<br>dragon vambraces<br>and a rune pickaxe.", new ZoneBorders(3024, 3699, 3027, 3704)));
|
||||
PluginManager.definePlugin(new UriNPC());
|
||||
ClassScanner.definePlugin(new UriNPC());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,7 @@ import core.game.world.map.Location;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.game.system.config.NPCConfigParser;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the clue scroll options.
|
||||
|
|
@ -41,14 +40,14 @@ public final class TreasureTrailPlugin extends OptionHandler {
|
|||
ItemDefinition.forId(level.getCasket().getId()).getHandlers().put("option:open", this);
|
||||
}
|
||||
ItemDefinition.forId(CoordinateClueScroll.SEXTANT.getId()).getHandlers().put("option:look through", this);
|
||||
PluginManager.definePlugin(new MapCluePlugin());
|
||||
PluginManager.definePlugin(new ClueItemPlugin());
|
||||
PluginManager.definePlugin(new EmoteCluePlugin());
|
||||
PluginManager.definePlugin(new TTrailOptionHandler());
|
||||
PluginManager.definePlugin(new SextantComponentPlugin());
|
||||
PluginManager.definePlugin(new CoordinateCluePlugin());
|
||||
PluginManager.definePlugin(new SaradominWizardNPC());
|
||||
PluginManager.definePlugin(new ZamorakWizardNPC());
|
||||
ClassScanner.definePlugin(new MapCluePlugin());
|
||||
ClassScanner.definePlugin(new ClueItemPlugin());
|
||||
ClassScanner.definePlugin(new EmoteCluePlugin());
|
||||
ClassScanner.definePlugin(new TTrailOptionHandler());
|
||||
ClassScanner.definePlugin(new SextantComponentPlugin());
|
||||
ClassScanner.definePlugin(new CoordinateCluePlugin());
|
||||
ClassScanner.definePlugin(new SaradominWizardNPC());
|
||||
ClassScanner.definePlugin(new ZamorakWizardNPC());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.map.RegionManager;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -120,7 +120,7 @@ public final class UriNPC extends AbstractNPC {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new UriDialogue());
|
||||
ClassScanner.definePlugin(new UriDialogue());
|
||||
return super.newInstance(arg);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import core.game.world.map.zone.ZoneRestriction;
|
|||
import core.game.world.update.flag.context.Graphics;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -59,7 +59,7 @@ public final class ChaosTunnelZone extends MapZone implements Plugin<Object> {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
for (int i = 0; i < ENTRANCE_DATA.length; i++) {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import core.game.world.map.zone.ZoneBorders;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -54,7 +54,7 @@ public class WildernessAreaZone extends MapZone implements Plugin<Object> {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugins(new MandrithDialoguePlugin(), new PilesDialoguePlugin(), new PilesItemHandler(), new RuniteGolemNPC());
|
||||
ClassScanner.definePlugins(new MandrithDialoguePlugin(), new PilesDialoguePlugin(), new PilesItemHandler(), new RuniteGolemNPC());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import core.game.world.map.zone.MapZone;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the neitiznot zone.
|
||||
|
|
@ -27,7 +27,7 @@ public class NeitiznotZone extends MapZone implements Plugin<Object> {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugins(new MawnisBurowgarDialogue(), new ThakkradYakDialogue(), new YakArmourPlugin(), new YakArmourPlugin());
|
||||
ClassScanner.definePlugins(new MawnisBurowgarDialogue(), new ThakkradYakDialogue(), new YakArmourPlugin(), new YakArmourPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import core.game.node.entity.npc.AbstractNPC;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.game.world.map.Location;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -50,7 +50,7 @@ public final class GravingasNPC extends AbstractNPC {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new GravingasDialogue());
|
||||
ClassScanner.definePlugin(new GravingasDialogue());
|
||||
return super.newInstance(arg);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import core.game.world.map.zone.ZoneBuilder;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the phasmatyz zone area.
|
||||
|
|
@ -48,13 +48,13 @@ public final class PhasmatysZone extends MapZone implements Plugin<Object> {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugin(new GravingasNPC());
|
||||
PluginManager.definePlugin(new NecrovarusDialogue());
|
||||
PluginManager.definePlugin(new GhostSailorDialogue());
|
||||
PluginManager.definePlugin(new EctoplasmFillPlugin());
|
||||
PluginManager.definePlugin(new GhostDiscipleDialogue());
|
||||
PluginManager.definePlugin(new GhostVillagerDialogue());
|
||||
PluginManager.definePlugin(new GhostInkeeperDialogue());
|
||||
ClassScanner.definePlugin(new GravingasNPC());
|
||||
ClassScanner.definePlugin(new NecrovarusDialogue());
|
||||
ClassScanner.definePlugin(new GhostSailorDialogue());
|
||||
ClassScanner.definePlugin(new EctoplasmFillPlugin());
|
||||
ClassScanner.definePlugin(new GhostDiscipleDialogue());
|
||||
ClassScanner.definePlugin(new GhostVillagerDialogue());
|
||||
ClassScanner.definePlugin(new GhostInkeeperDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,9 +5,8 @@ import core.game.content.dialogue.DialoguePlugin;
|
|||
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.LocationLogoutTask;
|
||||
import core.game.system.task.LogoutTask;
|
||||
import core.game.system.task.Pulse;
|
||||
import kotlin.Unit;
|
||||
import rs09.game.world.GameWorld;
|
||||
import core.game.world.map.Location;
|
||||
|
||||
|
|
@ -199,7 +198,10 @@ public final class JarvaldDialogue extends DialoguePlugin {
|
|||
public void sail(final Player player, final boolean to) {
|
||||
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)));
|
||||
player.logoutListeners.put("jarvald", player1 -> {
|
||||
player.setLocation(to ? Location.create(2544, 3759, 0) : Location.create(2620, 3685, 0));
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
GameWorld.getPulser().submit(new Pulse(1, player) {
|
||||
int count;
|
||||
|
||||
|
|
@ -212,6 +214,7 @@ public final class JarvaldDialogue extends DialoguePlugin {
|
|||
player.getProperties().setTeleportLocation(to ? Location.create(2544, 3759, 0) : Location.create(2620, 3685, 0));
|
||||
player.getDialogueInterpreter().close();
|
||||
player.getDialogueInterpreter().sendDialogue("The ship arrives at " + (to ? "Waterbirth Island" : "Rellekka") + ".");
|
||||
player.logoutListeners.remove("jarvald");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package core.game.content.zone.rellekka;
|
||||
|
||||
import core.cache.def.impl.SceneryDefinition;
|
||||
import core.game.system.task.LocationLogoutTask;
|
||||
import core.game.system.task.LogoutTask;
|
||||
import core.game.system.task.Pulse;
|
||||
import core.plugin.Initializable;
|
||||
import core.game.node.entity.skill.agility.AgilityHandler;
|
||||
|
|
@ -12,7 +10,6 @@ import core.game.component.Component;
|
|||
import core.game.node.Node;
|
||||
import core.game.node.entity.Entity;
|
||||
import core.game.node.entity.impl.ForceMovement;
|
||||
import core.game.node.entity.npc.NPC;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.scenery.Scenery;
|
||||
import core.game.world.map.Location;
|
||||
|
|
@ -21,8 +18,9 @@ import core.game.world.map.zone.ZoneBorders;
|
|||
import core.game.world.map.zone.ZoneBuilder;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import kotlin.Unit;
|
||||
import rs09.game.world.GameWorld;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the rellekka zone.
|
||||
|
|
@ -41,9 +39,9 @@ public final class RellekkaZone extends MapZone implements Plugin<Object> {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ZoneBuilder.configure(this);
|
||||
PluginManager.definePlugin(new JarvaldDialogue());
|
||||
PluginManager.definePlugins(new RellekaOptionHandler(), new MariaGunnarsDialogue());
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new JarvaldDialogue());
|
||||
ClassScanner.definePlugins(new RellekaOptionHandler(), new MariaGunnarsDialogue());
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
|
|
@ -115,7 +113,10 @@ public final class RellekkaZone extends MapZone implements Plugin<Object> {
|
|||
public static void sail(final Player player, final String name, final Location destination) {
|
||||
player.lock();
|
||||
player.getInterfaceManager().open(new Component(224));
|
||||
player.addExtension(LogoutTask.class, new LocationLogoutTask(5, destination));
|
||||
player.logoutListeners.put("rellekka-sail", player1 -> {
|
||||
player1.setLocation(destination);
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
GameWorld.getPulser().submit(new Pulse(1, player) {
|
||||
int count;
|
||||
|
||||
|
|
@ -127,6 +128,7 @@ public final class RellekkaZone extends MapZone implements Plugin<Object> {
|
|||
player.getInterfaceManager().close();
|
||||
player.getProperties().setTeleportLocation(destination);
|
||||
player.getDialogueInterpreter().sendDialogue("The ship arrives at " + name + ".");
|
||||
player.logoutListeners.remove("rellekka-sail");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import rs09.game.world.repository.Repository;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the waterbirth dungeon zone.
|
||||
|
|
@ -49,10 +49,10 @@ public final class WaterBirthDungeonZone extends MapZone implements Plugin<Objec
|
|||
*/
|
||||
public WaterBirthDungeonZone() {
|
||||
super("Water birth dungeon", true, ZoneRestriction.RANDOM_EVENTS);
|
||||
PluginManager.definePlugin(new DagannothKingNPC());
|
||||
PluginManager.definePlugin(new DoorSupportNPC());
|
||||
PluginManager.definePlugin(new DungeonOptionHandler());
|
||||
PluginManager.definePlugin(new SpinolypNPC());
|
||||
ClassScanner.definePlugin(new DagannothKingNPC());
|
||||
ClassScanner.definePlugin(new DoorSupportNPC());
|
||||
ClassScanner.definePlugin(new DungeonOptionHandler());
|
||||
ClassScanner.definePlugin(new SpinolypNPC());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package core.game.ge;
|
||||
|
||||
import api.ShutdownListener;
|
||||
import api.StartupListener;
|
||||
import rs09.ServerConstants;
|
||||
import core.cache.def.impl.ItemDefinition;
|
||||
import rs09.game.system.SystemLogger;
|
||||
|
|
@ -19,11 +21,14 @@ import java.io.File;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static rs09.game.system.SystemLogger.logShutdown;
|
||||
import static rs09.game.system.SystemLogger.logStartup;
|
||||
|
||||
/**
|
||||
* Represents the grand exchange database.
|
||||
* @author Ceikry
|
||||
*/
|
||||
public final class GrandExchangeDatabase {
|
||||
public final class GrandExchangeDatabase implements StartupListener, ShutdownListener {
|
||||
|
||||
/**
|
||||
* The grand exchange database mapping.
|
||||
|
|
@ -51,10 +56,9 @@ public final class GrandExchangeDatabase {
|
|||
*/
|
||||
private static boolean initialized;
|
||||
|
||||
/**
|
||||
* Initializes the database
|
||||
*/
|
||||
public static void init() {
|
||||
@Override
|
||||
public void startup() {
|
||||
logStartup("Parsing Grand Exchange Price Index DB");
|
||||
try {
|
||||
File db = new File(ServerConstants.GRAND_EXCHANGE_DATA_PATH + "gedb.xml");
|
||||
if(!db.exists()){
|
||||
|
|
@ -125,6 +129,12 @@ public final class GrandExchangeDatabase {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shutdown() {
|
||||
logShutdown("Saving Grand Exchange Price Index DB");
|
||||
save();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dumps the grand exchange database.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import core.game.node.item.Item;
|
|||
import core.game.world.map.Location;
|
||||
import core.game.world.map.RegionManager;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles shilo village interactions.
|
||||
|
|
@ -34,7 +34,7 @@ public final class ShiloVillagePlugin extends OptionHandler {
|
|||
// travel.
|
||||
SceneryDefinition.forId(2265).getHandlers().put("option:pay-fare", this);// cart
|
||||
// travel.
|
||||
PluginManager.definePlugin(new VillageCartDialogue());
|
||||
ClassScanner.definePlugin(new VillageCartDialogue());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ import core.net.packet.context.CameraContext.CameraType;
|
|||
import core.net.packet.out.CameraViewPacket;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the plugin used to handle all trollheim node interations.
|
||||
|
|
@ -156,12 +156,12 @@ public final class TrollheimPlugin extends OptionHandler {
|
|||
// ladder
|
||||
SceneryDefinition.forId(18833).getHandlers().put("option:climb-down", this);// stronghold
|
||||
// ladder
|
||||
PluginManager.definePlugin(new SabaDialogue());
|
||||
PluginManager.definePlugin(new WoundedSoldier());
|
||||
PluginManager.definePlugin(new WarningZone());
|
||||
ClassScanner.definePlugin(new SabaDialogue());
|
||||
ClassScanner.definePlugin(new WoundedSoldier());
|
||||
ClassScanner.definePlugin(new WarningZone());
|
||||
ActivityManager.register(new WarningCutscene());
|
||||
PluginManager.definePlugin(new TenzingDialogue());
|
||||
PluginManager.definePlugin(new TrollNPC());
|
||||
ClassScanner.definePlugin(new TenzingDialogue());
|
||||
ClassScanner.definePlugin(new TrollNPC());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ import core.tools.StringUtils;
|
|||
import kotlin.Unit;
|
||||
import rs09.game.content.global.travel.EssenceTeleport;
|
||||
import rs09.game.world.GameWorld;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the plugins used related to the wizard tower.
|
||||
|
|
@ -67,13 +67,13 @@ public final class WizardTowerPlugin extends OptionHandler {
|
|||
SceneryDefinition.forId(32015).getHandlers().put("option:climb-up", this);
|
||||
NPCDefinition.forId(300).getHandlers().put("option:teleport", this);
|
||||
SceneryDefinition.forId(11993).getHandlers().put("option:open", this);
|
||||
PluginManager.definePlugin(new WizardtowerWizardNPC());
|
||||
PluginManager.definePlugin(new WizardTowerDialogue());
|
||||
PluginManager.definePlugin(new WizardMizgogDialogue());
|
||||
PluginManager.definePlugin(new WizardGrayzagDialogue());
|
||||
PluginManager.definePlugin(new WizardDialogue());
|
||||
PluginManager.definePlugin(new SedridorDialogue());
|
||||
PluginManager.definePlugin(new AuburyDialoguePlugin());
|
||||
ClassScanner.definePlugin(new WizardtowerWizardNPC());
|
||||
ClassScanner.definePlugin(new WizardTowerDialogue());
|
||||
ClassScanner.definePlugin(new WizardMizgogDialogue());
|
||||
ClassScanner.definePlugin(new WizardGrayzagDialogue());
|
||||
ClassScanner.definePlugin(new WizardDialogue());
|
||||
ClassScanner.definePlugin(new SedridorDialogue());
|
||||
ClassScanner.definePlugin(new AuburyDialoguePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import core.game.node.entity.player.link.TeleportManager.TeleportType;
|
|||
import core.game.node.scenery.Scenery;
|
||||
import core.game.world.map.Location;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the zanaris city plugin.
|
||||
|
|
@ -24,7 +24,7 @@ public final class ZanarisPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new MagicDoorDialogue());
|
||||
ClassScanner.definePlugin(new MagicDoorDialogue());
|
||||
SceneryDefinition.forId(12094).getHandlers().put("option:use", this);
|
||||
SceneryDefinition.forId(12045).getHandlers().put("option:open", this);
|
||||
SceneryDefinition.forId(12047).getHandlers().put("option:open", this);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import core.game.system.task.Pulse;
|
|||
import core.game.world.map.Location;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles an orb viewing interface.
|
||||
|
|
@ -54,7 +54,7 @@ public final class OrbViewingInterface extends ComponentPlugin {
|
|||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ComponentDefinition.put(374, this);
|
||||
ComponentDefinition.put(649, this);
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
SceneryDefinition.forId(9391).getHandlers().put("option:look-into", this);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import core.plugin.Initializable;
|
|||
import core.plugin.Plugin;
|
||||
import rs09.game.node.entity.combat.CombatPulse;
|
||||
import rs09.game.world.GameWorld;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ public final class DragonfireShieldPlugin extends OptionHandler {
|
|||
ItemDefinition.forId(11283).getHandlers().put("option:operate", this);
|
||||
ItemDefinition.forId(11284).getHandlers().put("option:inspect", this);
|
||||
ItemDefinition.forId(11284).getHandlers().put("option:operate", this);
|
||||
PluginManager.definePlugin(new DFSItemPlugin());
|
||||
ClassScanner.definePlugin(new DFSItemPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ import core.game.world.update.flag.context.Graphics
|
|||
import org.json.simple.JSONObject
|
||||
import org.rs09.consts.Items
|
||||
import rs09.ServerStore
|
||||
import rs09.ServerStore.getBoolean
|
||||
import rs09.ServerStore.getInt
|
||||
import rs09.ServerStore.Companion.getBoolean
|
||||
import rs09.ServerStore.Companion.getInt
|
||||
import rs09.game.interaction.InteractionListener
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import core.game.node.item.WeightedChanceItem;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
import core.game.content.dialogue.DialogueInterpreter;
|
||||
import core.game.content.dialogue.DialoguePlugin;
|
||||
|
|
@ -55,8 +55,8 @@ public class FishbowlPlugin extends OptionHandler {
|
|||
def.getHandlers().put("option:feed", this);
|
||||
def.getHandlers().put("option:drop", this);
|
||||
}
|
||||
PluginManager.definePlugin(new FishbowlDialogue());
|
||||
PluginManager.definePlugin(new FeedPetFishHandler());
|
||||
ClassScanner.definePlugin(new FishbowlDialogue());
|
||||
ClassScanner.definePlugin(new FeedPetFishHandler());
|
||||
new AquariumPlugin().newInstance(arg);
|
||||
return this;
|
||||
}
|
||||
|
|
@ -220,7 +220,7 @@ public class FishbowlPlugin extends OptionHandler {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
SceneryDefinition.forId(10091).getHandlers().put("option:fish-in", this);
|
||||
PluginManager.definePlugin(new TinyNetHandler());
|
||||
ClassScanner.definePlugin(new TinyNetHandler());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,12 +11,9 @@ 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;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the god books.
|
||||
|
|
@ -32,7 +27,7 @@ public class GodBookPlugin extends OptionHandler {
|
|||
for (GodBook book : GodBook.values()) {
|
||||
book.getDamagedBook().getDefinition().getHandlers().put("option:check", this);
|
||||
}
|
||||
PluginManager.definePlugins(new PageHandler(), new GodBookItem(), new SymbolBlessHandler());
|
||||
ClassScanner.definePlugins(new PageHandler(), new GodBookItem(), new SymbolBlessHandler());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import core.game.node.item.Item;
|
|||
import rs09.game.world.GameWorld;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -42,7 +42,7 @@ public class MorphItemPlugin implements Plugin<Object> {
|
|||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ItemDefinition.forId(7927).getHandlers().put("equipment", this);
|
||||
ItemDefinition.forId(6583).getHandlers().put("equipment", this);
|
||||
PluginManager.definePlugin(new MorphInterfacePlugin());
|
||||
ClassScanner.definePlugin(new MorphInterfacePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package core.game.interaction.item.toys;
|
||||
|
||||
import core.cache.def.impl.ItemDefinition;
|
||||
import core.game.component.Component;
|
||||
import core.game.component.ComponentDefinition;
|
||||
import core.game.component.ComponentPlugin;
|
||||
|
|
@ -13,7 +12,7 @@ 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 rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
@Initializable
|
||||
public class SnowGlobePlugin extends OptionHandler {
|
||||
|
|
@ -25,7 +24,7 @@ public class SnowGlobePlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new SnowGlobeInterface());
|
||||
ClassScanner.definePlugin(new SnowGlobeInterface());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.node.item.Item;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The plugin used to dye a dark bow into a more <fashionable> one.
|
||||
|
|
@ -30,7 +30,7 @@ public final class DarkBowDyePlugin extends UseWithHandler {
|
|||
addHandler(14797, ITEM_TYPE, this);
|
||||
addHandler(14799, ITEM_TYPE, this);
|
||||
addHandler(14801, ITEM_TYPE, this);
|
||||
PluginManager.definePlugin(new DarkBowCleanPlugin());
|
||||
ClassScanner.definePlugin(new DarkBowCleanPlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import core.game.node.Node;
|
|||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.item.Item;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* The plugin used to make the granite maul into the ornamental version.
|
||||
|
|
@ -30,7 +30,7 @@ public final class GraniteMaulPlugin extends UseWithHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new GraniteMaulRevertHandler());
|
||||
ClassScanner.definePlugin(new GraniteMaulRevertHandler());
|
||||
addHandler(14793, ITEM_TYPE, this);
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import core.game.node.entity.player.Player;
|
|||
import core.game.node.item.Item;
|
||||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
import core.plugin.Initializable;
|
||||
import core.tools.RandomFunction;
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ public final class LavaScalePlugin extends UseWithHandler {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
addHandler(233, ITEM_TYPE, this);
|
||||
PluginManager.definePlugin(new AntifireMakePlugin());
|
||||
ClassScanner.definePlugin(new AntifireMakePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import core.plugin.Initializable;
|
|||
import core.plugin.Plugin;
|
||||
import core.tools.StringUtils;
|
||||
import rs09.game.node.entity.state.newsys.states.IncubatorState;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the incubator.
|
||||
|
|
@ -24,7 +24,7 @@ public class IncubatorPlugin extends OptionHandler {
|
|||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
PluginManager.definePlugin(new IncubatorEggHandler());
|
||||
ClassScanner.definePlugin(new IncubatorEggHandler());
|
||||
SceneryDefinition.forId(28359).getHandlers().put("option:take-egg", this);
|
||||
SceneryDefinition.forId(28359).getHandlers().put("option:inspect", this);
|
||||
return this;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import core.game.node.scenery.Scenery;
|
|||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.game.node.entity.skill.skillcapeperks.SkillcapePerks;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Represents the option handler used for smithing.
|
||||
|
|
@ -46,7 +46,7 @@ public final class SmithingPlugin extends UseWithHandler {
|
|||
addHandler(26817, OBJECT_TYPE, this);
|
||||
addHandler(37622, OBJECT_TYPE, this);
|
||||
addHandler(42027, OBJECT_TYPE, this);
|
||||
PluginManager.definePlugin(new OptionHandler() {
|
||||
ClassScanner.definePlugin(new OptionHandler() {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import rs09.game.world.repository.Repository;
|
|||
import core.game.world.update.flag.context.Animation;
|
||||
import core.plugin.Plugin;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.plugin.PluginManager;
|
||||
import rs09.plugin.ClassScanner;
|
||||
|
||||
/**
|
||||
* Handles the blessing of Spirit shields.
|
||||
|
|
@ -29,7 +29,7 @@ public class SpiritShieldBlessPlugin extends UseWithHandler {
|
|||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
addHandler(24343, OBJECT_TYPE, this);
|
||||
PluginManager.definePlugin(new SpiritShieldMakePlugin());
|
||||
ClassScanner.definePlugin(new SpiritShieldMakePlugin());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue