Consistent handling of wz files and their paths

This commit is contained in:
P0nk
2021-07-10 17:37:24 +02:00
parent 2193057fce
commit 14a405adb2
27 changed files with 106 additions and 82 deletions

View File

@@ -23,16 +23,16 @@ package client;
import constants.skills.*; import constants.skills.*;
import provider.*; import provider.*;
import provider.wz.WZFiles;
import server.MapleStatEffect; import server.MapleStatEffect;
import server.life.Element; import server.life.Element;
import java.io.File;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class SkillFactory { public class SkillFactory {
private static volatile Map<Integer, Skill> skills = new HashMap<>(); private static volatile Map<Integer, Skill> 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) { public static Skill getSkill(int id) {
return skills.get(id); return skills.get(id);
@@ -330,7 +330,7 @@ public class SkillFactory {
} }
public static String getSkillName(int skillid) { 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(); StringBuilder skill = new StringBuilder();
skill.append(skillid); skill.append(skillid);
if (skill.length() == 4) { if (skill.length() == 4) {

View File

@@ -27,8 +27,7 @@ import client.*;
import client.command.Command; import client.command.Command;
import provider.MapleData; import provider.MapleData;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.wz.WZFiles;
import java.io.File;
public class MaxSkillCommand extends Command { public class MaxSkillCommand extends Command {
{ {
@@ -38,7 +37,7 @@ public class MaxSkillCommand extends Command {
@Override @Override
public void execute(MapleClient c, String[] params) { public void execute(MapleClient c, String[] params) {
MapleCharacter player = c.getPlayer(); 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 { try {
Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName())); Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName()));
player.changeSkillLevel(skill, (byte) skill.getMaxLevel(), skill.getMaxLevel(), -1); player.changeSkillLevel(skill, (byte) skill.getMaxLevel(), skill.getMaxLevel(), -1);

View File

@@ -27,8 +27,7 @@ import client.*;
import client.command.Command; import client.command.Command;
import provider.MapleData; import provider.MapleData;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.wz.WZFiles;
import java.io.File;
public class ResetSkillCommand extends Command { public class ResetSkillCommand extends Command {
{ {
@@ -38,7 +37,7 @@ public class ResetSkillCommand extends Command {
@Override @Override
public void execute(MapleClient c, String[] params) { public void execute(MapleClient c, String[] params) {
MapleCharacter player = c.getPlayer(); 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 { try {
Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName())); Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName()));
player.changeSkillLevel(skill, (byte) 0, skill.getMaxLevel(), -1); player.changeSkillLevel(skill, (byte) 0, skill.getMaxLevel(), -1);

View File

@@ -30,12 +30,11 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import server.MapleItemInformationProvider; import server.MapleItemInformationProvider;
import server.quest.MapleQuest; import server.quest.MapleQuest;
import tools.Pair; import tools.Pair;
import java.io.File;
public class SearchCommand extends Command { public class SearchCommand extends Command {
private static MapleData npcStringData; private static MapleData npcStringData;
private static MapleData mobStringData; private static MapleData mobStringData;
@@ -45,7 +44,7 @@ public class SearchCommand extends Command {
{ {
setDescription("Search String.wz."); setDescription("Search String.wz.");
MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File("wz/String.wz")); MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(WZFiles.STRING);
npcStringData = dataProvider.getData("Npc.img"); npcStringData = dataProvider.getData("Npc.img");
mobStringData = dataProvider.getData("Mob.img"); mobStringData = dataProvider.getData("Mob.img");
skillStringData = dataProvider.getData("Skill.img"); skillStringData = dataProvider.getData("Skill.img");

View File

@@ -25,8 +25,8 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import java.io.File;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -35,7 +35,7 @@ import java.util.Map;
* @author Danny (Leifde) * @author Danny (Leifde)
*/ */
public class PetDataFactory { 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<String, PetCommand> petCommands = new HashMap<>(); private static Map<String, PetCommand> petCommands = new HashMap<>();
private static Map<Integer, Integer> petHunger = new HashMap<>(); private static Map<Integer, Integer> petHunger = new HashMap<>();

View File

@@ -20,24 +20,25 @@
package client.processor.action; package client.processor.action;
import client.MapleCharacter; import client.MapleCharacter;
import java.awt.Point;
import client.MapleClient; import client.MapleClient;
import client.SkillFactory;
import client.inventory.MapleInventoryType; import client.inventory.MapleInventoryType;
import client.inventory.MaplePet; import client.inventory.MaplePet;
import client.SkillFactory;
import provider.MapleDataTool;
import client.inventory.manipulator.MapleInventoryManipulator; import client.inventory.manipulator.MapleInventoryManipulator;
import java.io.File;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool;
import provider.wz.WZFiles;
import tools.MaplePacketCreator; import tools.MaplePacketCreator;
import java.awt.*;
/** /**
* *
* @author RonanLana - just added locking on OdinMS' SpawnPetHandler method body * @author RonanLana - just added locking on OdinMS' SpawnPetHandler method body
*/ */
public class SpawnPetProcessor { 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) { public static void processSpawnPet(MapleClient c, byte slot, boolean lead) {
if (c.tryacquireClient()) { if (c.tryacquireClient()) {

View File

@@ -5,11 +5,11 @@ import client.MapleJob;
import config.YamlConfig; import config.YamlConfig;
import constants.skills.Aran; import constants.skills.Aran;
import provider.*; import provider.*;
import provider.wz.WZFiles;
import server.maps.FieldLimit; import server.maps.FieldLimit;
import server.maps.MapleMap; import server.maps.MapleMap;
import server.quest.MapleQuest; import server.quest.MapleQuest;
import java.io.File;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.*; import java.util.*;
@@ -676,7 +676,7 @@ public class GameConstants {
} }
private static int getMaxObstacleMobDamageFromWz() { private static int getMaxObstacleMobDamageFromWz() {
MapleDataProvider mapSource = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Map.wz")); MapleDataProvider mapSource = MapleDataProviderFactory.getDataProvider(WZFiles.MAP);
int maxMobDmg = 0; int maxMobDmg = 0;
MapleDataDirectoryEntry root = mapSource.getRoot(); MapleDataDirectoryEntry root = mapSource.getRoot();

View File

@@ -969,7 +969,6 @@ public class Server {
} }
public static void main(String[] args) { public static void main(String[] args) {
System.setProperty("wzpath", "wz");
Security.setProperty("crypto.policy", "unlimited"); Security.setProperty("crypto.policy", "unlimited");
AutoJCE.removeCryptographyRestrictions(); AutoJCE.removeCryptographyRestrictions();
Server.getInstance().init(); Server.getInstance().init();

View File

@@ -34,10 +34,10 @@ import net.server.world.MapleParty;
import provider.MapleData; import provider.MapleData;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import tools.MaplePacketCreator; import tools.MaplePacketCreator;
import tools.Pair; import tools.Pair;
import java.io.File;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
@@ -68,7 +68,7 @@ public class MaplePartySearchCoordinator {
private static Map<Integer, Set<Integer>> fetchNeighbouringMaps() { private static Map<Integer, Set<Integer>> fetchNeighbouringMaps() {
Map<Integer, Set<Integer>> mapLinks = new HashMap<>(); Map<Integer, Set<Integer>> 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) { if (data != null) {
for (MapleData mapdata : data.getChildren()) { for (MapleData mapdata : data.getChildren()) {
int mapid = Integer.parseInt(mapdata.getName()); int mapid = Integer.parseInt(mapdata.getName());

View File

@@ -21,18 +21,18 @@
*/ */
package provider; package provider;
import java.io.File;
import java.io.IOException;
import provider.wz.WZFile; import provider.wz.WZFile;
import provider.wz.WZFiles;
import provider.wz.XMLWZFile; import provider.wz.XMLWZFile;
public class MapleDataProviderFactory { import java.io.File;
private final static String wzPath = System.getProperty("wzpath"); 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()) { if (in.getName().toLowerCase().endsWith("wz") && !in.isDirectory()) {
try { try {
return new WZFile(in, provideImages); return new WZFile(in, false);
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException("Loading WZ File failed", e); throw new RuntimeException("Loading WZ File failed", e);
} }
@@ -41,15 +41,7 @@ public class MapleDataProviderFactory {
} }
} }
public static MapleDataProvider getDataProvider(File in) { public static MapleDataProvider getDataProvider(WZFiles in) {
return getWZ(in, false); return getWZ(in.getFile());
}
public static MapleDataProvider getImageProvidingDataProvider(File in) {
return getWZ(in, true);
}
public static File fileInWZPath(String filename) {
return new File(wzPath, filename);
} }
} }

View File

@@ -21,7 +21,6 @@
*/ */
package provider.wz; package provider.wz;
import provider.MapleDataProviderFactory;
import tools.data.input.GenericLittleEndianAccessor; import tools.data.input.GenericLittleEndianAccessor;
import tools.data.input.InputStreamByteStream; import tools.data.input.InputStreamByteStream;
import tools.data.input.LittleEndianAccessor; import tools.data.input.LittleEndianAccessor;
@@ -69,7 +68,7 @@ public class ListWZFile {
if (listWz != null) { if (listWz != null) {
ListWZFile listwz; ListWZFile listwz;
try { try {
listwz = new ListWZFile(MapleDataProviderFactory.fileInWZPath("List.wz")); listwz = new ListWZFile(WZFiles.LIST.getFile());
modernImgs = new HashSet<>(listwz.getEntries()); modernImgs = new HashSet<>(listwz.getEntries());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();

View File

@@ -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);
}
}

View File

@@ -38,6 +38,7 @@ import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import provider.MapleData; import provider.MapleData;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.wz.WZFiles;
import scripting.AbstractPlayerInteraction; import scripting.AbstractPlayerInteraction;
import server.*; import server.*;
import server.MapleSkillbookInformationProvider.SkillBookEntry; import server.MapleSkillbookInformationProvider.SkillBookEntry;
@@ -62,7 +63,6 @@ import tools.MaplePacketCreator;
import tools.packets.Wedding; import tools.packets.Wedding;
import java.awt.*; import java.awt.*;
import java.io.File;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.List; import java.util.List;
import java.util.*; import java.util.*;
@@ -382,7 +382,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
} }
public void maxMastery() { 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 { try {
Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName())); Skill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName()));
getPlayer().changeSkillLevel(skill, (byte) 0, skill.getMaxLevel(), -1); getPlayer().changeSkillLevel(skill, (byte) 0, skill.getMaxLevel(), -1);

View File

@@ -31,10 +31,10 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import tools.Pair; import tools.Pair;
import java.io.File;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -149,7 +149,7 @@ public class CashShop {
private static volatile List<SpecialCashItem> specialcashitems = new ArrayList<>(); private static volatile List<SpecialCashItem> specialcashitems = new ArrayList<>();
public static void loadAllCashItems() { public static void loadAllCashItems() {
MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(new File("wz/Etc.wz")); MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(WZFiles.ETC);
Map<Integer, CashItem> loadedItems = new HashMap<>(); Map<Integer, CashItem> loadedItems = new HashMap<>();
List<Integer> onSaleItems = new ArrayList<>(); List<Integer> onSaleItems = new ArrayList<>();

View File

@@ -32,12 +32,12 @@ import constants.skills.Gunslinger;
import constants.skills.NightWalker; import constants.skills.NightWalker;
import net.server.Server; import net.server.Server;
import provider.*; import provider.*;
import provider.wz.WZFiles;
import server.MakerItemFactory.MakerItemCreateEntry; import server.MakerItemFactory.MakerItemCreateEntry;
import server.life.MapleLifeFactory; import server.life.MapleLifeFactory;
import server.life.MapleMonsterInformationProvider; import server.life.MapleMonsterInformationProvider;
import tools.*; import tools.*;
import java.io.File;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -116,10 +116,10 @@ public class MapleItemInformationProvider {
private MapleItemInformationProvider() { private MapleItemInformationProvider() {
loadCardIdData(); loadCardIdData();
itemData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Item.wz")); itemData = MapleDataProviderFactory.getDataProvider(WZFiles.ITEM);
equipData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Character.wz")); equipData = MapleDataProviderFactory.getDataProvider(WZFiles.CHARACTER);
stringData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/String.wz")); stringData = MapleDataProviderFactory.getDataProvider(WZFiles.STRING);
etcData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Etc.wz")); etcData = MapleDataProviderFactory.getDataProvider(WZFiles.ETC);
cashStringData = stringData.getData("Cash.img"); cashStringData = stringData.getData("Cash.img");
consumeStringData = stringData.getData("Consume.img"); consumeStringData = stringData.getData("Consume.img");
eqpStringData = stringData.getData("Eqp.img"); eqpStringData = stringData.getData("Eqp.img");

View File

@@ -24,6 +24,7 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import java.io.File; import java.io.File;
@@ -115,7 +116,7 @@ public class MapleSkillbookInformationProvider {
} }
private static Map<Integer, SkillBookEntry> fetchSkillbooksFromQuests() { private static Map<Integer, SkillBookEntry> 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 actData = questDataProvider.getData("Act.img");
MapleData checkData = questDataProvider.getData("Check.img"); MapleData checkData = questDataProvider.getData("Check.img");

View File

@@ -29,12 +29,12 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import tools.FilePrinter; import tools.FilePrinter;
import tools.MaplePacketCreator; import tools.MaplePacketCreator;
import tools.Pair; import tools.Pair;
import java.io.File;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -310,7 +310,7 @@ public class MapleStorage {
if(fee == null) { if(fee == null) {
fee = 100; fee = 100;
MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(new File("wz/Npc.wz")); MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(WZFiles.NPC);
MapleData npcData = npc.getData(npcId + ".img"); MapleData npcData = npc.getData(npcId + ".img");
if(npcData != null) { if(npcData != null) {
fee = MapleDataTool.getIntConvert("info/trunkPut", npcData, 100); fee = MapleDataTool.getIntConvert("info/trunkPut", npcData, 100);
@@ -328,7 +328,7 @@ public class MapleStorage {
if(fee == null) { if(fee == null) {
fee = 0; fee = 0;
MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(new File("wz/Npc.wz")); MapleDataProvider npc = MapleDataProviderFactory.getDataProvider(WZFiles.NPC);
MapleData npcData = npc.getData(npcId + ".img"); MapleData npcData = npc.getData(npcId + ".img");
if(npcData != null) { if(npcData != null) {
fee = MapleDataTool.getIntConvert("info/trunkGet", npcData, 0); fee = MapleDataTool.getIntConvert("info/trunkGet", npcData, 0);

View File

@@ -25,12 +25,12 @@ import client.MapleCharacter;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import server.TimerManager; import server.TimerManager;
import server.maps.MapleMap; import server.maps.MapleMap;
import tools.MaplePacketCreator; import tools.MaplePacketCreator;
import tools.Randomizer; import tools.Randomizer;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -43,7 +43,7 @@ public final class MapleOxQuiz {
private int question = 1; private int question = 1;
private MapleMap map = null; private MapleMap map = null;
private int expGain = 200; 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) { public MapleOxQuiz(MapleMap map) {
this.map = map; this.map = map;

View File

@@ -26,18 +26,18 @@ import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.MapleDataType; import provider.wz.MapleDataType;
import provider.wz.WZFiles;
import tools.Pair; import tools.Pair;
import tools.StringUtil; import tools.StringUtil;
import java.awt.*; import java.awt.*;
import java.io.File;
import java.util.List; import java.util.List;
import java.util.*; import java.util.*;
public class MapleLifeFactory { public class MapleLifeFactory {
private static MapleDataProvider data = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Mob.wz")); private static MapleDataProvider data = MapleDataProviderFactory.getDataProvider(WZFiles.MOB);
private final static MapleDataProvider stringDataWZ = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/String.wz")); private final static MapleDataProvider stringDataWZ = MapleDataProviderFactory.getDataProvider(WZFiles.STRING);
private static MapleData mobStringData = stringDataWZ.getData("Mob.img"); private static MapleData mobStringData = stringDataWZ.getData("Mob.img");
private static MapleData npcStringData = stringDataWZ.getData("Npc.img"); private static MapleData npcStringData = stringDataWZ.getData("Npc.img");
private static Map<Integer, MapleMonsterStats> monsterStats = new HashMap<>(); private static Map<Integer, MapleMonsterStats> monsterStats = new HashMap<>();
@@ -46,7 +46,7 @@ public class MapleLifeFactory {
private static Set<Integer> getHpBarBosses() { private static Set<Integer> getHpBarBosses() {
Set<Integer> ret = new HashSet<>(); Set<Integer> 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()) { for (MapleData bossData : uiDataWZ.getData("UIWindow.img").getChildByPath("MobGage/Mob").getChildren()) {
ret.add(Integer.valueOf(bossData.getName())); ret.add(Integer.valueOf(bossData.getName()));
} }

View File

@@ -26,12 +26,12 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import server.MapleItemInformationProvider; import server.MapleItemInformationProvider;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import tools.Pair; import tools.Pair;
import tools.Randomizer; import tools.Randomizer;
import java.io.File;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -227,7 +227,7 @@ public class MapleMonsterInformationProvider {
} }
public static ArrayList<Pair<Integer, String>> getMobsIDsFromName(String search) { public static ArrayList<Pair<Integer, String>> getMobsIDsFromName(String search) {
MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File("wz/String.wz")); MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(WZFiles.STRING);
ArrayList<Pair<Integer, String>> retMobs = new ArrayList<>(); ArrayList<Pair<Integer, String>> retMobs = new ArrayList<>();
MapleData data = dataProvider.getData("Mob.img"); MapleData data = dataProvider.getData("Mob.img");
List<Pair<Integer, String>> mobPairList = new LinkedList<>(); List<Pair<Integer, String>> mobPairList = new LinkedList<>();
@@ -267,7 +267,7 @@ public class MapleMonsterInformationProvider {
public String getMobNameFromId(int id) { public String getMobNameFromId(int id) {
String mobName = mobNameCache.get(id); String mobName = mobNameCache.get(id);
if (mobName == null) { if (mobName == null) {
MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File("wz/String.wz")); MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(WZFiles.STRING);
MapleData mobData = dataProvider.getData("Mob.img"); MapleData mobData = dataProvider.getData("Mob.img");
mobName = MapleDataTool.getString(mobData.getChildByPath(id + "/name"), ""); mobName = MapleDataTool.getString(mobData.getChildByPath(id + "/name"), "");

View File

@@ -24,8 +24,8 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import java.io.File;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@@ -37,7 +37,7 @@ import java.util.Map;
*/ */
public class MaplePlayerNPCFactory { 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<Integer, List<MaplePlayerNPC>> dnpcMaps = new HashMap<>(); private static final Map<Integer, List<MaplePlayerNPC>> dnpcMaps = new HashMap<>();
private static Integer runningDeveloperOid = 2147483000; // 647 slots, long enough private static Integer runningDeveloperOid = 2147483000; // 647 slots, long enough
@@ -49,11 +49,11 @@ public class MaplePlayerNPCFactory {
private static void loadDeveloperRoomMetadata(MapleDataProvider npc) { private static void loadDeveloperRoomMetadata(MapleDataProvider npc) {
MapleData thisData = npc.getData("9977777.img"); MapleData thisData = npc.getData("9977777.img");
if(thisData != null) { 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"); thisData = map.getData("Map/Map7/777777777.img");
if(thisData != null) { if(thisData != null) {
MapleDataProvider sound = MapleDataProviderFactory.getDataProvider(new File("wz/Sound.wz")); MapleDataProvider sound = MapleDataProviderFactory.getDataProvider(WZFiles.SOUND);
thisData = sound.getData("Field.img"); thisData = sound.getData("Field.img");
if(thisData != null) { if(thisData != null) {
@@ -70,7 +70,7 @@ public class MaplePlayerNPCFactory {
MapleDataProvider npc = npcData; MapleDataProvider npc = npcData;
loadDeveloperRoomMetadata(npc); loadDeveloperRoomMetadata(npc);
MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(new File("wz/Etc.wz")); MapleDataProvider etc = MapleDataProviderFactory.getDataProvider(WZFiles.ETC);
MapleData dnpcData = etc.getData("DeveloperNpc.img"); MapleData dnpcData = etc.getData("DeveloperNpc.img");
if(dnpcData != null) { if(dnpcData != null) {
for (MapleData data : dnpcData.getChildren()) { for (MapleData data : dnpcData.getChildren()) {

View File

@@ -25,9 +25,9 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import tools.StringUtil; import tools.StringUtil;
import java.io.File;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -37,7 +37,7 @@ import java.util.Map;
*/ */
public class MobAttackInfoFactory { public class MobAttackInfoFactory {
private static Map<String, MobAttackInfo> mobAttacks = new HashMap<>(); private static Map<String, MobAttackInfo> 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) { public static MobAttackInfo getMobAttackInfo(MapleMonster mob, int attack) {
MobAttackInfo ret = mobAttacks.get(mob.getId() + "" + attack); MobAttackInfo ret = mobAttacks.get(mob.getId() + "" + attack);

View File

@@ -31,9 +31,9 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import java.awt.*; import java.awt.*;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -46,7 +46,7 @@ import java.util.Map;
public class MobSkillFactory { public class MobSkillFactory {
private static Map<String, MobSkill> mobSkills = new HashMap<>(); private static Map<String, MobSkill> 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 static MapleData skillRoot = dataSource.getData("MobSkill.img");
private final static MonitoredReentrantReadWriteLock dataLock = new MonitoredReentrantReadWriteLock(MonitoredLockType.MOBSKILL_FACTORY); private final static MonitoredReentrantReadWriteLock dataLock = new MonitoredReentrantReadWriteLock(MonitoredLockType.MOBSKILL_FACTORY);
private final static MonitoredReadLock rL = MonitoredReadLockFactory.createLock(dataLock); private final static MonitoredReadLock rL = MonitoredReadLockFactory.createLock(dataLock);

View File

@@ -25,6 +25,7 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import scripting.event.EventInstanceManager; import scripting.event.EventInstanceManager;
import server.life.*; import server.life.*;
import server.partyquest.GuardianSpawnPoint; import server.partyquest.GuardianSpawnPoint;
@@ -32,7 +33,6 @@ import tools.DatabaseConnection;
import tools.StringUtil; import tools.StringUtil;
import java.awt.*; import java.awt.*;
import java.io.File;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -47,8 +47,8 @@ public class MapleMapFactory {
private static MapleDataProvider mapSource; private static MapleDataProvider mapSource;
static { static {
nameData = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/String.wz")).getData("Map.img"); nameData = MapleDataProviderFactory.getDataProvider(WZFiles.STRING).getData("Map.img");
mapSource = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Map.wz")); mapSource = MapleDataProviderFactory.getDataProvider(WZFiles.MAP);
} }
private static void loadLifeFromWz(MapleMap map, MapleData mapData) { private static void loadLifeFromWz(MapleMap map, MapleData mapData) {

View File

@@ -25,18 +25,18 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import server.maps.MapleReactorStats.StateData; import server.maps.MapleReactorStats.StateData;
import tools.Pair; import tools.Pair;
import tools.StringUtil; import tools.StringUtil;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public class MapleReactorFactory { 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<Integer, MapleReactorStats> reactorStats = new HashMap<>(); private static Map<Integer, MapleReactorStats> reactorStats = new HashMap<>();

View File

@@ -5,10 +5,10 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import server.life.MobSkill; import server.life.MobSkill;
import server.life.MobSkillFactory; import server.life.MobSkillFactory;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -22,7 +22,7 @@ public class MapleCarnivalFactory {
private final static MapleCarnivalFactory instance = new MapleCarnivalFactory(); private final static MapleCarnivalFactory instance = new MapleCarnivalFactory();
private final Map<Integer, MCSkill> skills = new HashMap<>(); private final Map<Integer, MCSkill> skills = new HashMap<>();
private final Map<Integer, MCSkill> guardians = new HashMap<>(); private final Map<Integer, MCSkill> 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<Integer> singleTargetedSkills = new ArrayList<>(); private final List<Integer> singleTargetedSkills = new ArrayList<>();
private final List<Integer> multiTargetedSkills = new ArrayList<>(); private final List<Integer> multiTargetedSkills = new ArrayList<>();

View File

@@ -29,12 +29,12 @@ import provider.MapleData;
import provider.MapleDataProvider; import provider.MapleDataProvider;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
import provider.wz.WZFiles;
import server.quest.actions.*; import server.quest.actions.*;
import server.quest.requirements.*; import server.quest.requirements.*;
import tools.MaplePacketCreator; import tools.MaplePacketCreator;
import tools.StringUtil; import tools.StringUtil;
import java.io.File;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
@@ -68,7 +68,7 @@ public class MapleQuest {
private boolean autoPreComplete, autoComplete; private boolean autoPreComplete, autoComplete;
private boolean repeatable = false; private boolean repeatable = false;
private String name = "", parent = ""; 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 questInfo = questData.getData("QuestInfo.img");
private final static MapleData questAct = questData.getData("Act.img"); private final static MapleData questAct = questData.getData("Act.img");
private final static MapleData questReq = questData.getData("Check.img"); private final static MapleData questReq = questData.getData("Check.img");