Replace FredrickProcessor dependence on NoteDao
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
package net;
|
||||
|
||||
import client.processor.npc.FredrickProcessor;
|
||||
import service.NoteService;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public record ChannelDependencies(NoteService noteService) {
|
||||
public record ChannelDependencies(NoteService noteService, FredrickProcessor fredrickProcessor) {
|
||||
|
||||
public ChannelDependencies {
|
||||
Objects.requireNonNull(noteService);
|
||||
Objects.requireNonNull(fredrickProcessor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public final class PacketProcessor {
|
||||
private static final Logger log = LoggerFactory.getLogger(PacketProcessor.class);
|
||||
private static final Map<String, PacketProcessor> instances = new LinkedHashMap<>();
|
||||
|
||||
private static ChannelDependencies channelDependencies;
|
||||
private static ChannelDependencies channelDeps;
|
||||
|
||||
private PacketHandler[] handlers;
|
||||
|
||||
@@ -53,7 +53,7 @@ public final class PacketProcessor {
|
||||
}
|
||||
|
||||
public static void registerGameHandlerDependencies(ChannelDependencies channelDependencies) {
|
||||
PacketProcessor.channelDependencies = channelDependencies;
|
||||
PacketProcessor.channelDeps = channelDependencies;
|
||||
}
|
||||
|
||||
public static PacketProcessor getLoginServerProcessor() {
|
||||
@@ -61,7 +61,7 @@ public final class PacketProcessor {
|
||||
}
|
||||
|
||||
public static PacketProcessor getChannelServerProcessor(int world, int channel) {
|
||||
if (channelDependencies == null) {
|
||||
if (channelDeps == null) {
|
||||
throw new IllegalStateException("Unable to get channel server processor - dependencies are not registered");
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ public final class PacketProcessor {
|
||||
registerHandler(RecvOpcode.ITEM_SORT, new InventoryMergeHandler());
|
||||
registerHandler(RecvOpcode.ITEM_MOVE, new ItemMoveHandler());
|
||||
registerHandler(RecvOpcode.MESO_DROP, new MesoDropHandler());
|
||||
registerHandler(RecvOpcode.PLAYER_LOGGEDIN, new PlayerLoggedinHandler(channelDependencies.noteService()));
|
||||
registerHandler(RecvOpcode.PLAYER_LOGGEDIN, new PlayerLoggedinHandler(channelDeps.noteService()));
|
||||
registerHandler(RecvOpcode.CHANGE_MAP, new ChangeMapHandler());
|
||||
registerHandler(RecvOpcode.MOVE_LIFE, new MoveLifeHandler());
|
||||
registerHandler(RecvOpcode.CLOSE_RANGE_ATTACK, new CloseRangeDamageHandler());
|
||||
@@ -160,7 +160,7 @@ public final class PacketProcessor {
|
||||
registerHandler(RecvOpcode.MAGIC_ATTACK, new MagicDamageHandler());
|
||||
registerHandler(RecvOpcode.TAKE_DAMAGE, new TakeDamageHandler());
|
||||
registerHandler(RecvOpcode.MOVE_PLAYER, new MovePlayerHandler());
|
||||
registerHandler(RecvOpcode.USE_CASH_ITEM, new UseCashItemHandler(channelDependencies.noteService()));
|
||||
registerHandler(RecvOpcode.USE_CASH_ITEM, new UseCashItemHandler(channelDeps.noteService()));
|
||||
registerHandler(RecvOpcode.USE_ITEM, new UseItemHandler());
|
||||
registerHandler(RecvOpcode.USE_RETURN_SCROLL, new UseItemHandler());
|
||||
registerHandler(RecvOpcode.USE_UPGRADE_SCROLL, new ScrollHandler());
|
||||
@@ -202,7 +202,7 @@ public final class PacketProcessor {
|
||||
registerHandler(RecvOpcode.MESSENGER, new MessengerHandler());
|
||||
registerHandler(RecvOpcode.NPC_ACTION, new NPCAnimationHandler());
|
||||
registerHandler(RecvOpcode.CHECK_CASH, new TouchingCashShopHandler());
|
||||
registerHandler(RecvOpcode.CASHSHOP_OPERATION, new CashOperationHandler(channelDependencies.noteService()));
|
||||
registerHandler(RecvOpcode.CASHSHOP_OPERATION, new CashOperationHandler(channelDeps.noteService()));
|
||||
registerHandler(RecvOpcode.COUPON_CODE, new CouponCodeHandler());
|
||||
registerHandler(RecvOpcode.SPAWN_PET, new SpawnPetHandler());
|
||||
registerHandler(RecvOpcode.MOVE_PET, new MovePetHandler());
|
||||
@@ -215,11 +215,11 @@ public final class PacketProcessor {
|
||||
registerHandler(RecvOpcode.CANCEL_DEBUFF, new CancelDebuffHandler());
|
||||
registerHandler(RecvOpcode.USE_SKILL_BOOK, new SkillBookHandler());
|
||||
registerHandler(RecvOpcode.SKILL_MACRO, new SkillMacroHandler());
|
||||
registerHandler(RecvOpcode.NOTE_ACTION, new NoteActionHandler(channelDependencies.noteService()));
|
||||
registerHandler(RecvOpcode.NOTE_ACTION, new NoteActionHandler(channelDeps.noteService()));
|
||||
registerHandler(RecvOpcode.CLOSE_CHALKBOARD, new CloseChalkboardHandler());
|
||||
registerHandler(RecvOpcode.USE_MOUNT_FOOD, new UseMountFoodHandler());
|
||||
registerHandler(RecvOpcode.MTS_OPERATION, new MTSHandler());
|
||||
registerHandler(RecvOpcode.RING_ACTION, new RingActionHandler(channelDependencies.noteService()));
|
||||
registerHandler(RecvOpcode.RING_ACTION, new RingActionHandler(channelDeps.noteService()));
|
||||
registerHandler(RecvOpcode.SPOUSE_CHAT, new SpouseChatHandler());
|
||||
registerHandler(RecvOpcode.PET_AUTO_POT, new PetAutoPotHandler());
|
||||
registerHandler(RecvOpcode.PET_EXCLUDE_ITEMS, new PetExcludeItemsHandler());
|
||||
@@ -273,7 +273,7 @@ public final class PacketProcessor {
|
||||
registerHandler(RecvOpcode.COCONUT, new CoconutHandler());
|
||||
registerHandler(RecvOpcode.ARAN_COMBO_COUNTER, new AranComboHandler());
|
||||
registerHandler(RecvOpcode.CLICK_GUIDE, new ClickGuideHandler());
|
||||
registerHandler(RecvOpcode.FREDRICK_ACTION, new FredrickHandler());
|
||||
registerHandler(RecvOpcode.FREDRICK_ACTION, new FredrickHandler(channelDeps.fredrickProcessor()));
|
||||
registerHandler(RecvOpcode.MONSTER_CARNIVAL, new MonsterCarnivalHandler());
|
||||
registerHandler(RecvOpcode.REMOTE_STORE, new RemoteStoreHandler());
|
||||
registerHandler(RecvOpcode.WEDDING_ACTION, new WeddingHandler());
|
||||
|
||||
@@ -30,6 +30,7 @@ import client.inventory.Item;
|
||||
import client.inventory.ItemFactory;
|
||||
import client.inventory.manipulator.CashIdGenerator;
|
||||
import client.newyear.NewYearCardRecord;
|
||||
import client.processor.npc.FredrickProcessor;
|
||||
import config.YamlConfig;
|
||||
import constants.game.GameConstants;
|
||||
import constants.inventory.ItemConstants;
|
||||
@@ -842,7 +843,7 @@ public class Server {
|
||||
throw new IllegalStateException("Failed to initiate a connection to the database");
|
||||
}
|
||||
|
||||
registerChannelDependencies();
|
||||
ChannelDependencies channelDependencies = registerChannelDependencies();
|
||||
|
||||
final ExecutorService initExecutor = Executors.newFixedThreadPool(10);
|
||||
// Run slow operations asynchronously to make startup faster
|
||||
@@ -872,7 +873,7 @@ public class Server {
|
||||
}
|
||||
|
||||
ThreadManager.getInstance().start();
|
||||
initializeTimelyTasks(); // aggregated method for timely tasks thanks to lxconan
|
||||
initializeTimelyTasks(channelDependencies); // aggregated method for timely tasks thanks to lxconan
|
||||
|
||||
try {
|
||||
int worldCount = Math.min(GameConstants.WORLD_NAMES.length, YamlConfig.config.server.WORLDS);
|
||||
@@ -920,14 +921,14 @@ public class Server {
|
||||
}
|
||||
}
|
||||
|
||||
private void registerChannelDependencies() {
|
||||
NoteDao noteDao = new NoteDao();
|
||||
|
||||
ChannelDependencies channelDependencies = new ChannelDependencies(
|
||||
new NoteService(noteDao)
|
||||
);
|
||||
private ChannelDependencies registerChannelDependencies() {
|
||||
NoteService noteService = new NoteService(new NoteDao());
|
||||
FredrickProcessor fredrickProcessor = new FredrickProcessor(noteService);
|
||||
ChannelDependencies channelDependencies = new ChannelDependencies(noteService, fredrickProcessor);
|
||||
|
||||
PacketProcessor.registerGameHandlerDependencies(channelDependencies);
|
||||
|
||||
return channelDependencies;
|
||||
}
|
||||
|
||||
private LoginServer initLoginServer(int port) {
|
||||
@@ -948,7 +949,7 @@ public class Server {
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeTimelyTasks() {
|
||||
private void initializeTimelyTasks(ChannelDependencies channelDependencies) {
|
||||
TimerManager tMan = TimerManager.getInstance();
|
||||
tMan.start();
|
||||
tMan.register(tMan.purge(), YamlConfig.config.server.PURGING_INTERVAL);//Purging ftw...
|
||||
@@ -962,7 +963,7 @@ public class Server {
|
||||
tMan.register(new LoginCoordinatorTask(), HOURS.toMillis(1), timeLeft);
|
||||
tMan.register(new EventRecallCoordinatorTask(), HOURS.toMillis(1), timeLeft);
|
||||
tMan.register(new LoginStorageTask(), MINUTES.toMillis(2), MINUTES.toMillis(2));
|
||||
tMan.register(new DueyFredrickTask(), HOURS.toMillis(1), timeLeft);
|
||||
tMan.register(new DueyFredrickTask(channelDependencies.fredrickProcessor()), HOURS.toMillis(1), timeLeft);
|
||||
tMan.register(new InvitationTask(), SECONDS.toMillis(30), SECONDS.toMillis(30));
|
||||
tMan.register(new RespawnTask(), YamlConfig.config.server.RESPAWN_INTERVAL, YamlConfig.config.server.RESPAWN_INTERVAL);
|
||||
|
||||
|
||||
@@ -31,6 +31,11 @@ import net.packet.InPacket;
|
||||
* @author kevintjuh93
|
||||
*/
|
||||
public class FredrickHandler extends AbstractPacketHandler {
|
||||
private final FredrickProcessor fredrickProcessor;
|
||||
|
||||
public FredrickHandler(FredrickProcessor fredrickProcessor) {
|
||||
this.fredrickProcessor = fredrickProcessor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
@@ -42,7 +47,7 @@ public class FredrickHandler extends AbstractPacketHandler {
|
||||
//c.sendPacket(PacketCreator.getFredrick((byte) 0x24));
|
||||
break;
|
||||
case 0x1A:
|
||||
FredrickProcessor.fredrickRetrieveItems(c);
|
||||
fredrickProcessor.fredrickRetrieveItems(c);
|
||||
break;
|
||||
case 0x1C: //Exit
|
||||
break;
|
||||
|
||||
@@ -26,10 +26,15 @@ import client.processor.npc.FredrickProcessor;
|
||||
* @author Ronan
|
||||
*/
|
||||
public class DueyFredrickTask implements Runnable {
|
||||
private final FredrickProcessor fredrickProcessor;
|
||||
|
||||
public DueyFredrickTask(FredrickProcessor fredrickProcessor) {
|
||||
this.fredrickProcessor = fredrickProcessor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
FredrickProcessor.runFredrickSchedule();
|
||||
fredrickProcessor.runFredrickSchedule();
|
||||
DueyProcessor.runDueyExpireSchedule();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user