From 14a405adb2c1cbec8f0035edc85a1d84d4adeb80 Mon Sep 17 00:00:00 2001 From: P0nk Date: Sat, 10 Jul 2021 17:37:24 +0200 Subject: [PATCH] Consistent handling of wz files and their paths --- src/main/java/client/SkillFactory.java | 6 ++-- .../command/commands/gm2/MaxSkillCommand.java | 5 ++- .../commands/gm2/ResetSkillCommand.java | 5 ++- .../command/commands/gm2/SearchCommand.java | 5 ++- .../java/client/inventory/PetDataFactory.java | 4 +-- .../processor/action/SpawnPetProcessor.java | 11 +++--- .../java/constants/game/GameConstants.java | 4 +-- src/main/java/net/server/Server.java | 1 - .../MaplePartySearchCoordinator.java | 4 +-- .../provider/MapleDataProviderFactory.java | 24 +++++-------- src/main/java/provider/wz/ListWZFile.java | 3 +- src/main/java/provider/wz/WZFiles.java | 35 +++++++++++++++++++ .../scripting/npc/NPCConversationManager.java | 4 +-- src/main/java/server/CashShop.java | 4 +-- .../server/MapleItemInformationProvider.java | 10 +++--- .../MapleSkillbookInformationProvider.java | 3 +- src/main/java/server/MapleStorage.java | 6 ++-- .../java/server/events/gm/MapleOxQuiz.java | 4 +-- .../java/server/life/MapleLifeFactory.java | 8 ++--- .../life/MapleMonsterInformationProvider.java | 6 ++-- .../server/life/MaplePlayerNPCFactory.java | 10 +++--- .../server/life/MobAttackInfoFactory.java | 4 +-- .../java/server/life/MobSkillFactory.java | 4 +-- .../java/server/maps/MapleMapFactory.java | 6 ++-- .../java/server/maps/MapleReactorFactory.java | 4 +-- .../partyquest/MapleCarnivalFactory.java | 4 +-- src/main/java/server/quest/MapleQuest.java | 4 +-- 27 files changed, 106 insertions(+), 82 deletions(-) create mode 100644 src/main/java/provider/wz/WZFiles.java diff --git a/src/main/java/client/SkillFactory.java b/src/main/java/client/SkillFactory.java index b41f8f5657..4100e1552a 100644 --- a/src/main/java/client/SkillFactory.java +++ b/src/main/java/client/SkillFactory.java @@ -23,16 +23,16 @@ package client; import constants.skills.*; import provider.*; +import provider.wz.WZFiles; import server.MapleStatEffect; import server.life.Element; -import java.io.File; import java.util.HashMap; import java.util.Map; public class SkillFactory { private static volatile Map skills = new HashMap<>(); - private static final MapleDataProvider datasource = MapleDataProviderFactory.getDataProvider(MapleDataProviderFactory.fileInWZPath("Skill.wz")); + private static final MapleDataProvider datasource = MapleDataProviderFactory.getDataProvider(WZFiles.SKILL); public static Skill getSkill(int id) { return skills.get(id); @@ -330,7 +330,7 @@ public class SkillFactory { } public static String getSkillName(int skillid) { - MapleData data = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "String.wz")).getData("Skill.img"); + MapleData data = MapleDataProviderFactory.getDataProvider(WZFiles.STRING).getData("Skill.img"); StringBuilder skill = new StringBuilder(); skill.append(skillid); if (skill.length() == 4) { diff --git a/src/main/java/client/command/commands/gm2/MaxSkillCommand.java b/src/main/java/client/command/commands/gm2/MaxSkillCommand.java index 1599f689ab..e78b96c482 100644 --- a/src/main/java/client/command/commands/gm2/MaxSkillCommand.java +++ b/src/main/java/client/command/commands/gm2/MaxSkillCommand.java @@ -27,8 +27,7 @@ import client.*; import client.command.Command; import provider.MapleData; import provider.MapleDataProviderFactory; - -import java.io.File; +import provider.wz.WZFiles; public class MaxSkillCommand extends Command { { @@ -38,7 +37,7 @@ public class MaxSkillCommand extends Command { @Override public void execute(MapleClient c, String[] params) { MapleCharacter player = c.getPlayer(); - for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "String.wz")).getData("Skill.img").getChildren()) { + for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(WZFiles.STRING).getData("Skill.img").getChildren()) { try { Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName())); player.changeSkillLevel(skill, (byte) skill.getMaxLevel(), skill.getMaxLevel(), -1); diff --git a/src/main/java/client/command/commands/gm2/ResetSkillCommand.java b/src/main/java/client/command/commands/gm2/ResetSkillCommand.java index 6a6e196854..2c194c0ad6 100644 --- a/src/main/java/client/command/commands/gm2/ResetSkillCommand.java +++ b/src/main/java/client/command/commands/gm2/ResetSkillCommand.java @@ -27,8 +27,7 @@ import client.*; import client.command.Command; import provider.MapleData; import provider.MapleDataProviderFactory; - -import java.io.File; +import provider.wz.WZFiles; public class ResetSkillCommand extends Command { { @@ -38,7 +37,7 @@ public class ResetSkillCommand extends Command { @Override public void execute(MapleClient c, String[] params) { MapleCharacter player = c.getPlayer(); - for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "String.wz")).getData("Skill.img").getChildren()) { + for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(WZFiles.STRING).getData("Skill.img").getChildren()) { try { Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName())); player.changeSkillLevel(skill, (byte) 0, skill.getMaxLevel(), -1); diff --git a/src/main/java/client/command/commands/gm2/SearchCommand.java b/src/main/java/client/command/commands/gm2/SearchCommand.java index 4d70281aab..e37eb609c0 100644 --- a/src/main/java/client/command/commands/gm2/SearchCommand.java +++ b/src/main/java/client/command/commands/gm2/SearchCommand.java @@ -30,12 +30,11 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import server.MapleItemInformationProvider; import server.quest.MapleQuest; import tools.Pair; -import java.io.File; - public class SearchCommand extends Command { private static MapleData npcStringData; private static MapleData mobStringData; @@ -45,7 +44,7 @@ public class SearchCommand extends Command { { setDescription("Search String.wz."); - MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File("wz/String.wz")); + MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(WZFiles.STRING); npcStringData = dataProvider.getData("Npc.img"); mobStringData = dataProvider.getData("Mob.img"); skillStringData = dataProvider.getData("Skill.img"); diff --git a/src/main/java/client/inventory/PetDataFactory.java b/src/main/java/client/inventory/PetDataFactory.java index 2f737d9c85..82409133f3 100644 --- a/src/main/java/client/inventory/PetDataFactory.java +++ b/src/main/java/client/inventory/PetDataFactory.java @@ -25,8 +25,8 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; -import java.io.File; import java.util.HashMap; import java.util.Map; @@ -35,7 +35,7 @@ import java.util.Map; * @author Danny (Leifde) */ public class PetDataFactory { - private static MapleDataProvider dataRoot = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Item.wz")); + private static MapleDataProvider dataRoot = MapleDataProviderFactory.getDataProvider(WZFiles.ITEM); private static Map petCommands = new HashMap<>(); private static Map petHunger = new HashMap<>(); diff --git a/src/main/java/client/processor/action/SpawnPetProcessor.java b/src/main/java/client/processor/action/SpawnPetProcessor.java index c8c74dcf86..9929e24224 100644 --- a/src/main/java/client/processor/action/SpawnPetProcessor.java +++ b/src/main/java/client/processor/action/SpawnPetProcessor.java @@ -20,24 +20,25 @@ package client.processor.action; import client.MapleCharacter; -import java.awt.Point; import client.MapleClient; +import client.SkillFactory; import client.inventory.MapleInventoryType; import client.inventory.MaplePet; -import client.SkillFactory; -import provider.MapleDataTool; import client.inventory.manipulator.MapleInventoryManipulator; -import java.io.File; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; +import provider.MapleDataTool; +import provider.wz.WZFiles; import tools.MaplePacketCreator; +import java.awt.*; + /** * * @author RonanLana - just added locking on OdinMS' SpawnPetHandler method body */ public class SpawnPetProcessor { - private static MapleDataProvider dataRoot = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Item.wz")); + private static final MapleDataProvider dataRoot = MapleDataProviderFactory.getDataProvider(WZFiles.ITEM); public static void processSpawnPet(MapleClient c, byte slot, boolean lead) { if (c.tryacquireClient()) { diff --git a/src/main/java/constants/game/GameConstants.java b/src/main/java/constants/game/GameConstants.java index 92e2a3d44b..d24c2a8db4 100644 --- a/src/main/java/constants/game/GameConstants.java +++ b/src/main/java/constants/game/GameConstants.java @@ -5,11 +5,11 @@ import client.MapleJob; import config.YamlConfig; import constants.skills.Aran; import provider.*; +import provider.wz.WZFiles; import server.maps.FieldLimit; import server.maps.MapleMap; import server.quest.MapleQuest; -import java.io.File; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.*; @@ -676,7 +676,7 @@ public class GameConstants { } private static int getMaxObstacleMobDamageFromWz() { - MapleDataProvider mapSource = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Map.wz")); + MapleDataProvider mapSource = MapleDataProviderFactory.getDataProvider(WZFiles.MAP); int maxMobDmg = 0; MapleDataDirectoryEntry root = mapSource.getRoot(); diff --git a/src/main/java/net/server/Server.java b/src/main/java/net/server/Server.java index c053bbb369..40cd18c488 100644 --- a/src/main/java/net/server/Server.java +++ b/src/main/java/net/server/Server.java @@ -969,7 +969,6 @@ public class Server { } public static void main(String[] args) { - System.setProperty("wzpath", "wz"); Security.setProperty("crypto.policy", "unlimited"); AutoJCE.removeCryptographyRestrictions(); Server.getInstance().init(); diff --git a/src/main/java/net/server/coordinator/partysearch/MaplePartySearchCoordinator.java b/src/main/java/net/server/coordinator/partysearch/MaplePartySearchCoordinator.java index 2d3720c712..4dcbb2f54a 100644 --- a/src/main/java/net/server/coordinator/partysearch/MaplePartySearchCoordinator.java +++ b/src/main/java/net/server/coordinator/partysearch/MaplePartySearchCoordinator.java @@ -34,10 +34,10 @@ import net.server.world.MapleParty; import provider.MapleData; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import tools.MaplePacketCreator; import tools.Pair; -import java.io.File; import java.util.*; import java.util.Map.Entry; @@ -68,7 +68,7 @@ public class MaplePartySearchCoordinator { private static Map> fetchNeighbouringMaps() { Map> mapLinks = new HashMap<>(); - MapleData data = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "Etc.wz")).getData("MapNeighbors.img"); + MapleData data = MapleDataProviderFactory.getDataProvider(WZFiles.ETC).getData("MapNeighbors.img"); if (data != null) { for (MapleData mapdata : data.getChildren()) { int mapid = Integer.parseInt(mapdata.getName()); diff --git a/src/main/java/provider/MapleDataProviderFactory.java b/src/main/java/provider/MapleDataProviderFactory.java index 14753d4406..96ba1e6b9c 100644 --- a/src/main/java/provider/MapleDataProviderFactory.java +++ b/src/main/java/provider/MapleDataProviderFactory.java @@ -21,18 +21,18 @@ */ package provider; -import java.io.File; -import java.io.IOException; import provider.wz.WZFile; +import provider.wz.WZFiles; import provider.wz.XMLWZFile; -public class MapleDataProviderFactory { - private final static String wzPath = System.getProperty("wzpath"); +import java.io.File; +import java.io.IOException; - private static MapleDataProvider getWZ(File in, boolean provideImages) { +public class MapleDataProviderFactory { + private static MapleDataProvider getWZ(File in) { if (in.getName().toLowerCase().endsWith("wz") && !in.isDirectory()) { try { - return new WZFile(in, provideImages); + return new WZFile(in, false); } catch (IOException e) { throw new RuntimeException("Loading WZ File failed", e); } @@ -41,15 +41,7 @@ public class MapleDataProviderFactory { } } - public static MapleDataProvider getDataProvider(File in) { - return getWZ(in, false); - } - - public static MapleDataProvider getImageProvidingDataProvider(File in) { - return getWZ(in, true); - } - - public static File fileInWZPath(String filename) { - return new File(wzPath, filename); + public static MapleDataProvider getDataProvider(WZFiles in) { + return getWZ(in.getFile()); } } \ No newline at end of file diff --git a/src/main/java/provider/wz/ListWZFile.java b/src/main/java/provider/wz/ListWZFile.java index 1053b74252..17a37bd02d 100644 --- a/src/main/java/provider/wz/ListWZFile.java +++ b/src/main/java/provider/wz/ListWZFile.java @@ -21,7 +21,6 @@ */ package provider.wz; -import provider.MapleDataProviderFactory; import tools.data.input.GenericLittleEndianAccessor; import tools.data.input.InputStreamByteStream; import tools.data.input.LittleEndianAccessor; @@ -69,7 +68,7 @@ public class ListWZFile { if (listWz != null) { ListWZFile listwz; try { - listwz = new ListWZFile(MapleDataProviderFactory.fileInWZPath("List.wz")); + listwz = new ListWZFile(WZFiles.LIST.getFile()); modernImgs = new HashSet<>(listwz.getEntries()); } catch (FileNotFoundException e) { e.printStackTrace(); diff --git a/src/main/java/provider/wz/WZFiles.java b/src/main/java/provider/wz/WZFiles.java new file mode 100644 index 0000000000..94b07e668c --- /dev/null +++ b/src/main/java/provider/wz/WZFiles.java @@ -0,0 +1,35 @@ +package provider.wz; + +import java.io.File; + +public enum WZFiles { + QUEST("Quest"), + ETC("Etc"), + ITEM("Item"), + CHARACTER("Character"), + STRING("String"), + LIST("List"), + MOB("Mob"), + MAP("Map"), + NPC("Npc"), + REACTOR("Reactor"), + SKILL("Skill"), + SOUND("Sound"), + UI("UI"); + + public static final String DIRECTORY = "wz"; + + private final String fileName; + + WZFiles(String fileName) { + this.fileName = fileName; + } + + public File getFile() { + return new File(getFilePath()); + } + + public String getFilePath() { + return String.format("%s/%s.wz", DIRECTORY, fileName); + } +} diff --git a/src/main/java/scripting/npc/NPCConversationManager.java b/src/main/java/scripting/npc/NPCConversationManager.java index 3788e5a2b7..c634ca6c3a 100644 --- a/src/main/java/scripting/npc/NPCConversationManager.java +++ b/src/main/java/scripting/npc/NPCConversationManager.java @@ -38,6 +38,7 @@ import net.server.world.MapleParty; import net.server.world.MaplePartyCharacter; import provider.MapleData; import provider.MapleDataProviderFactory; +import provider.wz.WZFiles; import scripting.AbstractPlayerInteraction; import server.*; import server.MapleSkillbookInformationProvider.SkillBookEntry; @@ -62,7 +63,6 @@ import tools.MaplePacketCreator; import tools.packets.Wedding; import java.awt.*; -import java.io.File; import java.sql.SQLException; import java.util.List; import java.util.*; @@ -382,7 +382,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction { } public void maxMastery() { - for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "String.wz")).getData("Skill.img").getChildren()) { + for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(WZFiles.STRING).getData("Skill.img").getChildren()) { try { Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName())); getPlayer().changeSkillLevel(skill, (byte) 0, skill.getMaxLevel(), -1); diff --git a/src/main/java/server/CashShop.java b/src/main/java/server/CashShop.java index a05942aa55..07362d3b22 100644 --- a/src/main/java/server/CashShop.java +++ b/src/main/java/server/CashShop.java @@ -31,10 +31,10 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import tools.DatabaseConnection; import tools.Pair; -import java.io.File; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -149,7 +149,7 @@ public class CashShop { private static volatile List specialcashitems = new ArrayList<>(); public static void loadAllCashItems() { - MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(new File("wz/Etc.wz")); + MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(WZFiles.ETC); Map loadedItems = new HashMap<>(); List onSaleItems = new ArrayList<>(); diff --git a/src/main/java/server/MapleItemInformationProvider.java b/src/main/java/server/MapleItemInformationProvider.java index 5078655ab0..64b3253fed 100644 --- a/src/main/java/server/MapleItemInformationProvider.java +++ b/src/main/java/server/MapleItemInformationProvider.java @@ -32,12 +32,12 @@ import constants.skills.Gunslinger; import constants.skills.NightWalker; import net.server.Server; import provider.*; +import provider.wz.WZFiles; import server.MakerItemFactory.MakerItemCreateEntry; import server.life.MapleLifeFactory; import server.life.MapleMonsterInformationProvider; import tools.*; -import java.io.File; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -116,10 +116,10 @@ public class MapleItemInformationProvider { private MapleItemInformationProvider() { loadCardIdData(); - itemData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Item.wz")); - equipData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Character.wz")); - stringData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/String.wz")); - etcData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Etc.wz")); + itemData = MapleDataProviderFactory.getDataProvider(WZFiles.ITEM); + equipData = MapleDataProviderFactory.getDataProvider(WZFiles.CHARACTER); + stringData = MapleDataProviderFactory.getDataProvider(WZFiles.STRING); + etcData = MapleDataProviderFactory.getDataProvider(WZFiles.ETC); cashStringData = stringData.getData("Cash.img"); consumeStringData = stringData.getData("Consume.img"); eqpStringData = stringData.getData("Eqp.img"); diff --git a/src/main/java/server/MapleSkillbookInformationProvider.java b/src/main/java/server/MapleSkillbookInformationProvider.java index e7909d7d1b..508734f9e9 100644 --- a/src/main/java/server/MapleSkillbookInformationProvider.java +++ b/src/main/java/server/MapleSkillbookInformationProvider.java @@ -24,6 +24,7 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import tools.DatabaseConnection; import java.io.File; @@ -115,7 +116,7 @@ public class MapleSkillbookInformationProvider { } private static Map fetchSkillbooksFromQuests() { - MapleDataProvider questDataProvider = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "Quest.wz")); + MapleDataProvider questDataProvider = MapleDataProviderFactory.getDataProvider(WZFiles.QUEST); MapleData actData = questDataProvider.getData("Act.img"); MapleData checkData = questDataProvider.getData("Check.img"); diff --git a/src/main/java/server/MapleStorage.java b/src/main/java/server/MapleStorage.java index 676adaeaca..ffb5aca046 100644 --- a/src/main/java/server/MapleStorage.java +++ b/src/main/java/server/MapleStorage.java @@ -29,12 +29,12 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import tools.DatabaseConnection; import tools.FilePrinter; import tools.MaplePacketCreator; import tools.Pair; -import java.io.File; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -310,7 +310,7 @@ public class MapleStorage { if(fee == null) { fee = 100; - MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(new File("wz/Npc.wz")); + MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(WZFiles.NPC); MapleData npcData = npc.getData(npcId + ".img"); if(npcData != null) { fee = MapleDataTool.getIntConvert("info/trunkPut", npcData, 100); @@ -328,7 +328,7 @@ public class MapleStorage { if(fee == null) { fee = 0; - MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(new File("wz/Npc.wz")); + MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(WZFiles.NPC); MapleData npcData = npc.getData(npcId + ".img"); if(npcData != null) { fee = MapleDataTool.getIntConvert("info/trunkGet", npcData, 0); diff --git a/src/main/java/server/events/gm/MapleOxQuiz.java b/src/main/java/server/events/gm/MapleOxQuiz.java index 08b515571e..4849d01eff 100644 --- a/src/main/java/server/events/gm/MapleOxQuiz.java +++ b/src/main/java/server/events/gm/MapleOxQuiz.java @@ -25,12 +25,12 @@ import client.MapleCharacter; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import server.TimerManager; import server.maps.MapleMap; import tools.MaplePacketCreator; import tools.Randomizer; -import java.io.File; import java.util.ArrayList; import java.util.List; @@ -43,7 +43,7 @@ public final class MapleOxQuiz { private int question = 1; private MapleMap map = null; private int expGain = 200; - private static MapleDataProvider stringData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Etc.wz")); + private static MapleDataProvider stringData = MapleDataProviderFactory.getDataProvider(WZFiles.ETC); public MapleOxQuiz(MapleMap map) { this.map = map; diff --git a/src/main/java/server/life/MapleLifeFactory.java b/src/main/java/server/life/MapleLifeFactory.java index 45bc6184ac..d8a8914341 100644 --- a/src/main/java/server/life/MapleLifeFactory.java +++ b/src/main/java/server/life/MapleLifeFactory.java @@ -26,18 +26,18 @@ import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; import provider.wz.MapleDataType; +import provider.wz.WZFiles; import tools.Pair; import tools.StringUtil; import java.awt.*; -import java.io.File; import java.util.List; import java.util.*; public class MapleLifeFactory { - private static MapleDataProvider data = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Mob.wz")); - private final static MapleDataProvider stringDataWZ = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/String.wz")); + private static MapleDataProvider data = MapleDataProviderFactory.getDataProvider(WZFiles.MOB); + private final static MapleDataProvider stringDataWZ = MapleDataProviderFactory.getDataProvider(WZFiles.STRING); private static MapleData mobStringData = stringDataWZ.getData("Mob.img"); private static MapleData npcStringData = stringDataWZ.getData("Npc.img"); private static Map monsterStats = new HashMap<>(); @@ -46,7 +46,7 @@ public class MapleLifeFactory { private static Set getHpBarBosses() { Set ret = new HashSet<>(); - MapleDataProvider uiDataWZ = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/UI.wz")); + MapleDataProvider uiDataWZ = MapleDataProviderFactory.getDataProvider(WZFiles.UI); for (MapleData bossData : uiDataWZ.getData("UIWindow.img").getChildByPath("MobGage/Mob").getChildren()) { ret.add(Integer.valueOf(bossData.getName())); } diff --git a/src/main/java/server/life/MapleMonsterInformationProvider.java b/src/main/java/server/life/MapleMonsterInformationProvider.java index e84d46d90b..5d2c379faf 100644 --- a/src/main/java/server/life/MapleMonsterInformationProvider.java +++ b/src/main/java/server/life/MapleMonsterInformationProvider.java @@ -26,12 +26,12 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import server.MapleItemInformationProvider; import tools.DatabaseConnection; import tools.Pair; import tools.Randomizer; -import java.io.File; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -227,7 +227,7 @@ public class MapleMonsterInformationProvider { } public static ArrayList> getMobsIDsFromName(String search) { - MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File("wz/String.wz")); + MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(WZFiles.STRING); ArrayList> retMobs = new ArrayList<>(); MapleData data = dataProvider.getData("Mob.img"); List> mobPairList = new LinkedList<>(); @@ -267,7 +267,7 @@ public class MapleMonsterInformationProvider { public String getMobNameFromId(int id) { String mobName = mobNameCache.get(id); if (mobName == null) { - MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File("wz/String.wz")); + MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(WZFiles.STRING); MapleData mobData = dataProvider.getData("Mob.img"); mobName = MapleDataTool.getString(mobData.getChildByPath(id + "/name"), ""); diff --git a/src/main/java/server/life/MaplePlayerNPCFactory.java b/src/main/java/server/life/MaplePlayerNPCFactory.java index e769f52b8a..685baa7d11 100644 --- a/src/main/java/server/life/MaplePlayerNPCFactory.java +++ b/src/main/java/server/life/MaplePlayerNPCFactory.java @@ -24,8 +24,8 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; -import java.io.File; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -37,7 +37,7 @@ import java.util.Map; */ public class MaplePlayerNPCFactory { - private static MapleDataProvider npcData = MapleDataProviderFactory.getDataProvider(new File("wz/Npc.wz")); + private static MapleDataProvider npcData = MapleDataProviderFactory.getDataProvider(WZFiles.NPC); private static final Map> dnpcMaps = new HashMap<>(); private static Integer runningDeveloperOid = 2147483000; // 647 slots, long enough @@ -49,11 +49,11 @@ public class MaplePlayerNPCFactory { private static void loadDeveloperRoomMetadata(MapleDataProvider npc) { MapleData thisData = npc.getData("9977777.img"); if(thisData != null) { - MapleDataProvider map = MapleDataProviderFactory.getDataProvider(new File("wz/Map.wz")); + MapleDataProvider map = MapleDataProviderFactory.getDataProvider(WZFiles.MAP); thisData = map.getData("Map/Map7/777777777.img"); if(thisData != null) { - MapleDataProvider sound = MapleDataProviderFactory.getDataProvider(new File("wz/Sound.wz")); + MapleDataProvider sound = MapleDataProviderFactory.getDataProvider(WZFiles.SOUND); thisData = sound.getData("Field.img"); if(thisData != null) { @@ -70,7 +70,7 @@ public class MaplePlayerNPCFactory { MapleDataProvider npc = npcData; loadDeveloperRoomMetadata(npc); - MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(new File("wz/Etc.wz")); + MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(WZFiles.ETC); MapleData dnpcData = etc.getData("DeveloperNpc.img"); if(dnpcData != null) { for (MapleData data : dnpcData.getChildren()) { diff --git a/src/main/java/server/life/MobAttackInfoFactory.java b/src/main/java/server/life/MobAttackInfoFactory.java index b20c17a58d..78d661b04f 100644 --- a/src/main/java/server/life/MobAttackInfoFactory.java +++ b/src/main/java/server/life/MobAttackInfoFactory.java @@ -25,9 +25,9 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import tools.StringUtil; -import java.io.File; import java.util.HashMap; import java.util.Map; @@ -37,7 +37,7 @@ import java.util.Map; */ public class MobAttackInfoFactory { private static Map mobAttacks = new HashMap<>(); - private static MapleDataProvider dataSource = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Mob.wz")); + private static MapleDataProvider dataSource = MapleDataProviderFactory.getDataProvider(WZFiles.MOB); public static MobAttackInfo getMobAttackInfo(MapleMonster mob, int attack) { MobAttackInfo ret = mobAttacks.get(mob.getId() + "" + attack); diff --git a/src/main/java/server/life/MobSkillFactory.java b/src/main/java/server/life/MobSkillFactory.java index 39b74f71c1..bb6a991352 100644 --- a/src/main/java/server/life/MobSkillFactory.java +++ b/src/main/java/server/life/MobSkillFactory.java @@ -31,9 +31,9 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import java.awt.*; -import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -46,7 +46,7 @@ import java.util.Map; public class MobSkillFactory { private static Map mobSkills = new HashMap<>(); - private final static MapleDataProvider dataSource = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Skill.wz")); + private final static MapleDataProvider dataSource = MapleDataProviderFactory.getDataProvider(WZFiles.SKILL); private static MapleData skillRoot = dataSource.getData("MobSkill.img"); private final static MonitoredReentrantReadWriteLock dataLock = new MonitoredReentrantReadWriteLock(MonitoredLockType.MOBSKILL_FACTORY); private final static MonitoredReadLock rL = MonitoredReadLockFactory.createLock(dataLock); diff --git a/src/main/java/server/maps/MapleMapFactory.java b/src/main/java/server/maps/MapleMapFactory.java index eb059597d1..88b1efeac4 100644 --- a/src/main/java/server/maps/MapleMapFactory.java +++ b/src/main/java/server/maps/MapleMapFactory.java @@ -25,6 +25,7 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import scripting.event.EventInstanceManager; import server.life.*; import server.partyquest.GuardianSpawnPoint; @@ -32,7 +33,6 @@ import tools.DatabaseConnection; import tools.StringUtil; import java.awt.*; -import java.io.File; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -47,8 +47,8 @@ public class MapleMapFactory { private static MapleDataProvider mapSource; static { - nameData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/String.wz")).getData("Map.img"); - mapSource = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Map.wz")); + nameData = MapleDataProviderFactory.getDataProvider(WZFiles.STRING).getData("Map.img"); + mapSource = MapleDataProviderFactory.getDataProvider(WZFiles.MAP); } private static void loadLifeFromWz(MapleMap map, MapleData mapData) { diff --git a/src/main/java/server/maps/MapleReactorFactory.java b/src/main/java/server/maps/MapleReactorFactory.java index 68ac4703c4..a4a3502892 100644 --- a/src/main/java/server/maps/MapleReactorFactory.java +++ b/src/main/java/server/maps/MapleReactorFactory.java @@ -25,18 +25,18 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import server.maps.MapleReactorStats.StateData; import tools.Pair; import tools.StringUtil; -import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MapleReactorFactory { - private static MapleDataProvider data = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Reactor.wz")); + private static MapleDataProvider data = MapleDataProviderFactory.getDataProvider(WZFiles.REACTOR); private static Map reactorStats = new HashMap<>(); diff --git a/src/main/java/server/partyquest/MapleCarnivalFactory.java b/src/main/java/server/partyquest/MapleCarnivalFactory.java index d6e4954bee..d5556dd0b7 100644 --- a/src/main/java/server/partyquest/MapleCarnivalFactory.java +++ b/src/main/java/server/partyquest/MapleCarnivalFactory.java @@ -5,10 +5,10 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import server.life.MobSkill; import server.life.MobSkillFactory; -import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -22,7 +22,7 @@ public class MapleCarnivalFactory { private final static MapleCarnivalFactory instance = new MapleCarnivalFactory(); private final Map skills = new HashMap<>(); private final Map guardians = new HashMap<>(); - private final MapleDataProvider dataRoot = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Skill.wz")); + private final MapleDataProvider dataRoot = MapleDataProviderFactory.getDataProvider(WZFiles.SKILL); private final List singleTargetedSkills = new ArrayList<>(); private final List multiTargetedSkills = new ArrayList<>(); diff --git a/src/main/java/server/quest/MapleQuest.java b/src/main/java/server/quest/MapleQuest.java index bff4ba65a2..5495a51726 100644 --- a/src/main/java/server/quest/MapleQuest.java +++ b/src/main/java/server/quest/MapleQuest.java @@ -29,12 +29,12 @@ import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; +import provider.wz.WZFiles; import server.quest.actions.*; import server.quest.requirements.*; import tools.MaplePacketCreator; import tools.StringUtil; -import java.io.File; import java.util.*; import java.util.Map.Entry; @@ -68,7 +68,7 @@ public class MapleQuest { private boolean autoPreComplete, autoComplete; private boolean repeatable = false; private String name = "", parent = ""; - private final static MapleDataProvider questData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Quest.wz")); + private final static MapleDataProvider questData = MapleDataProviderFactory.getDataProvider(WZFiles.QUEST); private final static MapleData questInfo = questData.getData("QuestInfo.img"); private final static MapleData questAct = questData.getData("Act.img"); private final static MapleData questReq = questData.getData("Check.img");