diff --git a/.gitignore b/.gitignore index 762b77e7bbaf83a9e91493e4d9e2116948a40aa8..621983d27ab0868829218e127a11353010e52705 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ /.classpath /.settings/ /.idea/ -/target/ \ No newline at end of file +/target/ +logs/ +test-output/ \ No newline at end of file diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index e61d3770ccd1f9a5fe93ee68cf403a899c931566..5abefeed63aa9112b6166c8893a4c5afc7bde12a 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,6 +1,8 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=11 diff --git a/pom.xml b/pom.xml index df1b5006a1fef78dc5401074a9074e349b23d34c..431ad8626d9cb6d4288b7991c950054d6342509d 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,9 @@ <slf4j.version>1.7.28</slf4j.version> <!-- L2J --> <l2j-server-game.version>2.6.1.0-SNAPSHOT</l2j-server-game.version> + <!-- Test --> + <testng.version>7.0.0</testng.version> + <mockito.version>3.2.4</mockito.version> <!-- Plugins --> <maven-jar-plugin.version>3.1.2</maven-jar-plugin.version> <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version> @@ -28,6 +31,25 @@ <artifactId>l2j-server-game</artifactId> <version>${l2j-server-game.version}</version> </dependency> + <!-- Test --> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>${testng.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-inline</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> </dependencies> <build> <plugins> @@ -49,7 +71,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> - <version>${maven-assembly-plugin.version}</version><!--$NO-MVN-MAN-VER$--> + <version>${maven-assembly-plugin.version}</version><!--$NO-MVN-MAN-VER$ --> <executions> <execution> <phase>package</phase> diff --git a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java index 49e7b7e1ced4b6d8e6d2bdadb762de13d20a097f..9722561c5a0249bd1d3d8eb1184f7ff7ca427050 100644 --- a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java +++ b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.ai.fantasy_isle; +import static com.l2jserver.gameserver.config.Configuration.general; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.instancemanager.HandysBlockCheckerManager; import com.l2jserver.gameserver.model.ArenaParticipantsHolder; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -85,7 +86,7 @@ public class HandysBlockCheckerEvent extends Quest int countBlue = holder.getBlueTeamSize(); int countRed = holder.getRedTeamSize(); - int minMembers = Config.MIN_BLOCK_CHECKER_TEAM_MEMBERS; + int minMembers = general().getBlockCheckerMinTeamMembers(); if ((countBlue >= minMembers) && (countRed >= minMembers)) { @@ -104,7 +105,7 @@ public class HandysBlockCheckerEvent extends Quest public static void main(String[] args) { - if (Config.ENABLE_BLOCK_CHECKER_EVENT) + if (general().enableBlockCheckerEvent()) { new HandysBlockCheckerEvent(); LOG.info("Handy's Block Checker event is enabled."); diff --git a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java index 5b9ca291a3c139d303dd048f54675afe57f2e110..ee904b17ee453062720dde7a4483113af4f68e6d 100644 --- a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java +++ b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.ai.fantasy_isle; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Map; @@ -26,7 +28,6 @@ import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Music; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -307,7 +308,7 @@ public class MC_Show extends AbstractNpcAI hourDiff *= 3600000; minDiff *= 60000; diff = hourDiff + minDiff; - if (Config.DEBUG) + if (general().debug()) { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); _log.info("Fantasy Isle: MC show script starting at " + format.format(System.currentTimeMillis() + diff) + " and is scheduled each next 4 hours."); diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java b/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java index f67501f459f5b4b1d5509bf9c9b0dd9105b2e1ff..4afa3410570a2fceef87094b4b9c431cbc34b210 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java @@ -18,13 +18,14 @@ */ package com.l2jserver.datapack.ai.individual.Antharas; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import java.util.HashMap; import java.util.List; import java.util.Map; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.MountType; import com.l2jserver.gameserver.enums.audio.Music; import com.l2jserver.gameserver.instancemanager.GrandBossManager; @@ -161,7 +162,7 @@ public final class Antharas extends AbstractNpcAI _antharas = (L2GrandBossInstance) addSpawn(ANTHARAS, 185708, 114298, -8221, 0, false, 0); _antharas.setCurrentHpMp(curr_hp, curr_mp); addBoss(_antharas); - startQuestTimer("SPAWN_ANTHARAS", Config.ANTHARAS_WAIT_TIME * 60000, null, null); + startQuestTimer("SPAWN_ANTHARAS", grandBoss().getAntharasWaitTime(), null, null); break; } case IN_FIGHT: @@ -242,7 +243,7 @@ public final class Antharas extends AbstractNpcAI if (getStatus() != WAITING) { setStatus(WAITING); - startQuestTimer("SPAWN_ANTHARAS", Config.ANTHARAS_WAIT_TIME * 60000, null, null); + startQuestTimer("SPAWN_ANTHARAS", grandBoss().getAntharasWaitTime(), null, null); } } } @@ -258,7 +259,7 @@ public final class Antharas extends AbstractNpcAI if (getStatus() != WAITING) { setStatus(WAITING); - startQuestTimer("SPAWN_ANTHARAS", Config.ANTHARAS_WAIT_TIME * 60000, null, null); + startQuestTimer("SPAWN_ANTHARAS", grandBoss().getAntharasWaitTime(), null, null); } } } @@ -681,7 +682,7 @@ public final class Antharas extends AbstractNpcAI zone.broadcastPacket(new SpecialCamera(npc, 1200, 20, -10, 0, 10000, 13000, 0, 0, 0, 0, 0)); zone.broadcastPacket(Music.BS01_D_10000.getPacket()); addSpawn(CUBE, 177615, 114941, -7709, 0, false, 900000); - long respawnTime = (Config.ANTHARAS_SPAWN_INTERVAL + getRandom(-Config.ANTHARAS_SPAWN_RANDOM, Config.ANTHARAS_SPAWN_RANDOM)) * 3600000; + long respawnTime = (grandBoss().getIntervalOfAntharasSpawn() + getRandom(-grandBoss().getRandomOfAntharasSpawn(), grandBoss().getRandomOfAntharasSpawn())) * 3600000; setRespawn(respawnTime); startQuestTimer("CLEAR_STATUS", respawnTime, null, null); cancelQuestTimer("SET_REGEN", npc, null); diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java b/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java index b31a598dcbbc660ff00294058b1562a9d9b48401..497603aa06a8f1a9d0a20c15880b7ffa44a19bf0 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.ai.individual.Baium; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.CategoryType; import com.l2jserver.gameserver.enums.MountType; import com.l2jserver.gameserver.enums.audio.Music; @@ -554,7 +555,7 @@ public final class Baium extends AbstractNpcAI setStatus(DEAD); addSpawn(TELE_CUBE, TELEPORT_CUBIC_LOC, false, 900000); zone.broadcastPacket(Music.BS01_D_10000.getPacket()); - long respawnTime = (Config.BAIUM_SPAWN_INTERVAL + getRandom(-Config.BAIUM_SPAWN_RANDOM, Config.BAIUM_SPAWN_RANDOM)) * 3600000; + long respawnTime = (grandBoss().getIntervalOfBaiumSpawn() + getRandom(-grandBoss().getRandomOfBaiumSpawn(), grandBoss().getRandomOfBaiumSpawn())) * 3600000; setRespawn(respawnTime); startQuestTimer("CLEAR_STATUS", respawnTime, null, null); startQuestTimer("CLEAR_ZONE", 900000, null, null); diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java b/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java index 35aa57cefe81c16f47c44ef72427ca03bfdf1c54..42ef67b41b7c5c04c36736f8fc4cf3db3de55ac3 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.ai.individual; +import static com.l2jserver.gameserver.config.Configuration.clan; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -79,7 +80,7 @@ public final class Ballista extends AbstractNpcAI { if ((caster.getClan() != null) && (caster.getClan().getLevel() >= MIN_CLAN_LV)) { - caster.getClan().addReputationScore(Config.BALLISTA_POINTS, true); + caster.getClan().addReputationScore(clan().getKillBallistaPoints(), true); caster.sendPacket(SystemMessageId.BALLISTA_DESTROYED_CLAN_REPU_INCREASED); } } diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java b/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java index fd9921727c23c66b2c6e9d926e8798e6cbcf8a10..c657987999517341d0b3601c937368eb2770bf77 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java @@ -18,13 +18,14 @@ */ package com.l2jserver.datapack.ai.individual; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.cache.HtmCache; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.enums.audio.Music; import com.l2jserver.gameserver.instancemanager.GrandBossManager; @@ -757,7 +758,7 @@ public final class Beleth extends AbstractNpcAI setBelethKiller(killer); GrandBossManager.getInstance().setBossStatus(REAL_BELETH, DEAD); - final long respawnTime = (Config.BELETH_SPAWN_INTERVAL + getRandom(-Config.BELETH_SPAWN_RANDOM, Config.BELETH_SPAWN_RANDOM)) * 3600000; + final long respawnTime = (grandBoss().getIntervalOfBelethSpawn() + getRandom(-grandBoss().getRandomOfBelethSpawn(), grandBoss().getRandomOfBelethSpawn())) * 3600000; StatsSet info = GrandBossManager.getInstance().getStatsSet(REAL_BELETH); info.set("respawn_time", System.currentTimeMillis() + respawnTime); GrandBossManager.getInstance().setStatsSet(REAL_BELETH, info); diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Core.java b/src/main/java/com/l2jserver/datapack/ai/individual/Core.java index e1687085910c5673136eb1cb56b0d9a6885d821b..864281eceee5a8f06390f39f6fda47b1ebb3e547 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/Core.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/Core.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.ai.individual; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Music; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.model.StatsSet; @@ -195,7 +196,7 @@ public final class Core extends AbstractNpcAI _firstAttacked = false; GrandBossManager.getInstance().setBossStatus(CORE, DEAD); // Calculate Min and Max respawn times randomly. - long respawnTime = (Config.CORE_SPAWN_INTERVAL + getRandom(-Config.CORE_SPAWN_RANDOM, Config.CORE_SPAWN_RANDOM)) * 3600000; + long respawnTime = (grandBoss().getIntervalOfCoreSpawn() + getRandom(-grandBoss().getRandomOfCoreSpawn(), grandBoss().getRandomOfCoreSpawn())) * 3600000; startQuestTimer("core_unlock", respawnTime, null, null); // also save the respawn time so that the info is maintained past reboots StatsSet info = GrandBossManager.getInstance().getStatsSet(CORE); diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java b/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java index f4230b7adaaa85f01b3388a117779ca243ac624f..cc49cc5204b36800ead63bb1a15bc95812f3fa08 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.ai.individual; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Music; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.model.L2Object; @@ -334,7 +335,7 @@ public final class Orfen extends AbstractNpcAI npc.broadcastPacket(Music.BS02_D_7000.getPacket()); GrandBossManager.getInstance().setBossStatus(ORFEN, DEAD); // Calculate Min and Max respawn times randomly. - long respawnTime = Config.ORFEN_SPAWN_INTERVAL + getRandom(-Config.ORFEN_SPAWN_RANDOM, Config.ORFEN_SPAWN_RANDOM); + long respawnTime = grandBoss().getIntervalOfOrfenSpawn() + getRandom(-grandBoss().getRandomOfOrfenSpawn(), grandBoss().getRandomOfOrfenSpawn()); respawnTime *= 3600000; startQuestTimer("orfen_unlock", respawnTime, null, null); // also save the respawn time so that the info is maintained past reboots diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java b/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java index 2007ea154bf152790cfd72672bac752c7e903531..9b97b52293bb7adb430541bd91b85af4072dcf6d 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java @@ -18,12 +18,14 @@ */ package com.l2jserver.datapack.ai.individual; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; +import static com.l2jserver.gameserver.config.Configuration.npc; + import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Music; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.model.Location; @@ -293,7 +295,7 @@ public final class QueenAnt extends AbstractNpcAI return null; } - if (!Config.RAID_DISABLE_CURSE && ((character.getLevel() - npc.getLevel()) > 8)) + if (npc().raidCurse() && ((character.getLevel() - npc.getLevel()) > 8)) { Skill curse = null; if (isMage) @@ -333,7 +335,7 @@ public final class QueenAnt extends AbstractNpcAI npc.broadcastPacket(Music.BS02_D_10000.getPacket()); GrandBossManager.getInstance().setBossStatus(QUEEN, DEAD); // Calculate Min and Max respawn times randomly. - long respawnTime = Config.QUEEN_ANT_SPAWN_INTERVAL + getRandom(-Config.QUEEN_ANT_SPAWN_RANDOM, Config.QUEEN_ANT_SPAWN_RANDOM); + long respawnTime = grandBoss().getIntervalOfQueenAntSpawn() + getRandom(-grandBoss().getRandomOfQueenAntSpawn(), grandBoss().getRandomOfQueenAntSpawn()); respawnTime *= 3600000; startQuestTimer("queen_unlock", respawnTime, null, null); cancelQuestTimer("action", npc, null); diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java b/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java index 56d962f2eca0f8b472db2ef569fa1ef4fffec35c..6f9b29b1eabc0b5972f62197c4f643b3402917b3 100644 --- a/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java +++ b/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java @@ -18,13 +18,14 @@ */ package com.l2jserver.datapack.ai.individual; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import java.util.ArrayList; import java.util.List; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.MountType; import com.l2jserver.gameserver.enums.audio.Music; import com.l2jserver.gameserver.instancemanager.GrandBossManager; @@ -181,7 +182,7 @@ public final class Valakas extends AbstractNpcAI // Start timer to lock entry after 30 minutes if (status == WAITING) { - startQuestTimer("beginning", (Config.VALAKAS_WAIT_TIME * 60000), valakas, null); + startQuestTimer("beginning", grandBoss().getValakasWaitTime(), valakas, null); } } } @@ -441,7 +442,7 @@ public final class Valakas extends AbstractNpcAI GrandBossManager.getInstance().setBossStatus(VALAKAS, DEAD); // Calculate Min and Max respawn times randomly. - long respawnTime = Config.VALAKAS_SPAWN_INTERVAL + getRandom(-Config.VALAKAS_SPAWN_RANDOM, Config.VALAKAS_SPAWN_RANDOM); + long respawnTime = grandBoss().getIntervalOfValakasSpawn() + getRandom(-grandBoss().getRandomOfValakasSpawn(), grandBoss().getRandomOfValakasSpawn()); respawnTime *= 3600000; startQuestTimer("valakas_unlock", respawnTime, null, null); diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java b/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java index e1321cb3f0fdb05dffbbb67cc4c179e6cb5176d4..e70de696aa024393e76c3d1072f56a3fa42dceaa 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.ai.npc.AvantGarde; +import static com.l2jserver.gameserver.config.Configuration.character; + import java.util.List; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.datapack.custom.Validators.SubClassSkills; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.MultisellData; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.datatables.SkillData; @@ -179,7 +180,7 @@ public class AvantGarde extends AbstractNpcAI { htmltext = "32323-08.html"; } - else if (player.getAdena() < Config.FEE_DELETE_SUBCLASS_SKILLS) + else if (player.getAdena() < character().getFeeDeleteSubClassSkills()) { htmltext = "32323-08no.html"; } @@ -194,7 +195,7 @@ public class AvantGarde extends AbstractNpcAI int activeCertifications = 0; for (String varName : QUEST_VAR_NAMES) { - for (int i = 1; i <= Config.MAX_SUBCLASS; i++) + for (int i = 1; i <= character().getMaxSubclass(); i++) { String qvar = st.getGlobalQuestVar(varName + i); if (!qvar.isEmpty() && (qvar.endsWith(";") || !qvar.equals("0"))) @@ -211,7 +212,7 @@ public class AvantGarde extends AbstractNpcAI { for (String varName : QUEST_VAR_NAMES) { - for (int i = 1; i <= Config.MAX_SUBCLASS; i++) + for (int i = 1; i <= character().getMaxSubclass(); i++) { final String qvarName = varName + i; final String qvar = st.getGlobalQuestVar(qvarName); @@ -266,7 +267,7 @@ public class AvantGarde extends AbstractNpcAI } } - player.reduceAdena("Cleanse", Config.FEE_DELETE_SUBCLASS_SKILLS, npc, true); + player.reduceAdena("Cleanse", character().getFeeDeleteSubClassSkills(), npc, true); htmltext = "32323-09no.html"; player.sendSkillList(); } diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java index d7ef7ccc694f8b6df1321aa88d7172efeb67da23..942822adf9f8f4a79aca2e3400bcdb0f0b12c065 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java @@ -18,6 +18,11 @@ */ package com.l2jserver.datapack.ai.npc.CastleChamberlain; +import static com.l2jserver.gameserver.config.Configuration.castle; +import static com.l2jserver.gameserver.config.Configuration.character; +import static com.l2jserver.gameserver.config.Configuration.general; +import static com.l2jserver.gameserver.config.Configuration.sevenSings; + import java.util.Arrays; import java.util.Calendar; import java.util.HashMap; @@ -27,7 +32,6 @@ import java.util.StringTokenizer; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.SevenSigns; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.data.sql.impl.TeleportLocationTable; import com.l2jserver.gameserver.instancemanager.CastleManorManager; @@ -205,19 +209,19 @@ public final class CastleChamberlain extends AbstractNpcAI switch (func) { case Castle.FUNC_RESTORE_EXP: - fee = (level == 45) ? Config.CS_EXPREG1_FEE : Config.CS_EXPREG2_FEE; + fee = (level == 45) ? castle().getExpRegenerationFeeLvl1() : castle().getExpRegenerationFeeLvl2(); break; case Castle.FUNC_RESTORE_HP: - fee = (level == 300) ? Config.CS_HPREG1_FEE : Config.CS_HPREG2_FEE; + fee = (level == 300) ? castle().getHpRegenerationFeeLvl1() : castle().getHpRegenerationFeeLvl2(); break; case Castle.FUNC_RESTORE_MP: - fee = (level == 40) ? Config.CS_MPREG1_FEE : Config.CS_MPREG2_FEE; + fee = (level == 40) ? castle().getMpRegenerationFeeLvl1() : castle().getMpRegenerationFeeLvl2(); break; case Castle.FUNC_SUPPORT: - fee = (level == 5) ? Config.CS_SUPPORT1_FEE : Config.CS_SUPPORT2_FEE; + fee = (level == 5) ? castle().getSupportFeeLvl1() : castle().getSupportFeeLvl2(); break; case Castle.FUNC_TELEPORT: - fee = (level == 1) ? Config.CS_TELE1_FEE : Config.CS_TELE2_FEE; + fee = (level == 1) ? castle().getTeleportFunctionFeeLvl1() : castle().getTeleportFunctionFeeLvl2(); break; } return fee; @@ -229,19 +233,19 @@ public final class CastleChamberlain extends AbstractNpcAI switch (func) { case Castle.FUNC_RESTORE_EXP: - ratio = Config.CS_EXPREG_FEE_RATIO; + ratio = castle().getExpRegenerationFunctionFeeRatio(); break; case Castle.FUNC_RESTORE_HP: - ratio = Config.CS_HPREG_FEE_RATIO; + ratio = castle().getHpRegenerationFunctionFeeRatio(); break; case Castle.FUNC_RESTORE_MP: - ratio = Config.CS_MPREG_FEE_RATIO; + ratio = castle().getMpRegenerationFunctionFeeRatio(); break; case Castle.FUNC_SUPPORT: - ratio = Config.CS_SUPPORT_FEE_RATIO; + ratio = castle().getSupportFunctionFeeRatio(); break; case Castle.FUNC_TELEPORT: - ratio = Config.CS_TELE_FEE_RATIO; + ratio = castle().getTeleportFunctionFeeRatio(); break; } return ratio; @@ -257,13 +261,13 @@ public final class CastleChamberlain extends AbstractNpcAI switch (level) { case 2: - price = Config.OUTER_DOOR_UPGRADE_PRICE2; + price = castle().getOuterDoorUpgradePriceLvl2(); break; case 3: - price = Config.OUTER_DOOR_UPGRADE_PRICE3; + price = castle().getOuterDoorUpgradePriceLvl3(); break; case 5: - price = Config.OUTER_DOOR_UPGRADE_PRICE5; + price = castle().getOuterDoorUpgradePriceLvl5(); break; } break; @@ -273,13 +277,13 @@ public final class CastleChamberlain extends AbstractNpcAI switch (level) { case 2: - price = Config.INNER_DOOR_UPGRADE_PRICE2; + price = castle().getInnerDoorUpgradePriceLvl2(); break; case 3: - price = Config.INNER_DOOR_UPGRADE_PRICE3; + price = castle().getInnerDoorUpgradePriceLvl3(); break; case 5: - price = Config.INNER_DOOR_UPGRADE_PRICE5; + price = castle().getInnerDoorUpgradePriceLvl5(); break; } break; @@ -289,13 +293,13 @@ public final class CastleChamberlain extends AbstractNpcAI switch (level) { case 2: - price = Config.WALL_UPGRADE_PRICE2; + price = castle().getWallUpgradePriceLvl2(); break; case 3: - price = Config.WALL_UPGRADE_PRICE3; + price = castle().getWallUpgradePriceLvl3(); break; case 5: - price = Config.WALL_UPGRADE_PRICE5; + price = castle().getWallUpgradePriceLvl5(); break; } break; @@ -355,16 +359,16 @@ public final class CastleChamberlain extends AbstractNpcAI switch (level) { case 1: - price = Config.TRAP_UPGRADE_PRICE1; + price = castle().getTrapUpgradePriceLvl1(); break; case 2: - price = Config.TRAP_UPGRADE_PRICE2; + price = castle().getTrapUpgradePriceLvl2(); break; case 3: - price = Config.TRAP_UPGRADE_PRICE3; + price = castle().getTrapUpgradePriceLvl3(); break; case 4: - price = Config.TRAP_UPGRADE_PRICE4; + price = castle().getTrapUpgradePriceLvl4(); break; } @@ -772,7 +776,7 @@ public final class CastleChamberlain extends AbstractNpcAI if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_TAXES)) { long seedIncome = 0; - if (Config.ALLOW_MANOR) + if (general().allowManor()) { for (SeedProduction sp : CastleManorManager.getInstance().getSeedProduction(castle.getResidenceId(), false)) { @@ -801,7 +805,7 @@ public final class CastleChamberlain extends AbstractNpcAI if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_TAXES)) { final long amount = (st.hasMoreTokens()) ? Long.parseLong(st.nextToken()) : 0; - if ((amount > 0) && (amount < Inventory.MAX_ADENA)) + if ((amount > 0) && (amount < character().getMaxAdena())) { if (player.getAdena() >= amount) { @@ -1161,7 +1165,7 @@ public final class CastleChamberlain extends AbstractNpcAI } case "manor": { - if (Config.ALLOW_MANOR) + if (general().allowManor()) { htmltext = (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_MANOR_ADMIN)) ? "manor.html" : "chamberlain-21.html"; } @@ -1237,12 +1241,12 @@ public final class CastleChamberlain extends AbstractNpcAI if ((SevenSigns.getInstance().getPlayerCabal(player.getObjectId()) == SevenSigns.CABAL_DAWN) && SevenSigns.getInstance().isCompetitionPeriod()) { final int ticketCount = castle.getTicketBuyCount(); - if (ticketCount < (Config.SSQ_DAWN_TICKET_QUANTITY / Config.SSQ_DAWN_TICKET_BUNDLE)) + if (ticketCount < (sevenSings().getSevenSignsDawnTicketQuantity() / sevenSings().getSevenSignsDawnTicketBundle())) { final NpcHtmlMessage html = getHtmlPacket(player, npc, "ssq_selldawnticket.html"); - html.replace("%DawnTicketLeft%", String.valueOf(Config.SSQ_DAWN_TICKET_QUANTITY - (ticketCount * Config.SSQ_DAWN_TICKET_BUNDLE))); - html.replace("%DawnTicketBundle%", String.valueOf(Config.SSQ_DAWN_TICKET_BUNDLE)); - html.replace("%DawnTicketPrice%", String.valueOf(Config.SSQ_DAWN_TICKET_PRICE * Config.SSQ_DAWN_TICKET_BUNDLE)); + html.replace("%DawnTicketLeft%", String.valueOf(sevenSings().getSevenSignsDawnTicketQuantity() - (ticketCount * sevenSings().getSevenSignsDawnTicketBundle()))); + html.replace("%DawnTicketBundle%", String.valueOf(sevenSings().getSevenSignsDawnTicketBundle())); + html.replace("%DawnTicketPrice%", String.valueOf(sevenSings().getSevenSignsDawnTicketPrice() * sevenSings().getSevenSignsDawnTicketBundle())); player.sendPacket(html); } else @@ -1275,13 +1279,13 @@ public final class CastleChamberlain extends AbstractNpcAI if ((SevenSigns.getInstance().getPlayerCabal(player.getObjectId()) == SevenSigns.CABAL_DAWN) && SevenSigns.getInstance().isCompetitionPeriod()) { final int ticketCount = castle.getTicketBuyCount(); - if (ticketCount < (Config.SSQ_DAWN_TICKET_QUANTITY / Config.SSQ_DAWN_TICKET_BUNDLE)) + if (ticketCount < (sevenSings().getSevenSignsDawnTicketQuantity() / sevenSings().getSevenSignsDawnTicketBundle())) { - final long totalCost = Config.SSQ_DAWN_TICKET_PRICE * Config.SSQ_DAWN_TICKET_BUNDLE; + final long totalCost = sevenSings().getSevenSignsDawnTicketPrice() * sevenSings().getSevenSignsDawnTicketBundle(); if (player.getAdena() >= totalCost) { takeItems(player, Inventory.ADENA_ID, totalCost); - giveItems(player, Config.SSQ_MANORS_AGREEMENT_ID, Config.SSQ_DAWN_TICKET_BUNDLE); + giveItems(player, sevenSings().getSevenSignsManorsAgreementId(), sevenSings().getSevenSignsDawnTicketBundle()); castle.setTicketBuyCount(ticketCount + 1); } else diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java b/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java index 3e4d86252209632a4482485799be4c7122f0f00e..fcc4f83aae3a07ad507000fbbddf6633a8ceda27 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.ai.npc.ClanTrader; +import static com.l2jserver.gameserver.config.Configuration.clan; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.ClanPrivilege; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -90,17 +91,17 @@ public final class ClanTrader extends AbstractNpcAI } case "exchange-ba": { - htmltext = giveReputation(npc, player, Config.BLOODALLIANCE_POINTS, BLOOD_ALLIANCE, BLOOD_ALLIANCE_COUNT); + htmltext = giveReputation(npc, player, clan().getBloodAlliancePoints(), BLOOD_ALLIANCE, BLOOD_ALLIANCE_COUNT); break; } case "exchange-bo": { - htmltext = giveReputation(npc, player, Config.BLOODOATH_POINTS, BLOOD_OATH, BLOOD_OATH_COUNT); + htmltext = giveReputation(npc, player, clan().getBloodOathPoints(), BLOOD_OATH, BLOOD_OATH_COUNT); break; } case "exchange-ke": { - htmltext = giveReputation(npc, player, Config.KNIGHTSEPAULETTE_POINTS, KNIGHTS_EPAULETTE, KNIGHTS_EPAULETTE_COUNT); + htmltext = giveReputation(npc, player, clan().getKnightsEpaulettePoints(), KNIGHTS_EPAULETTE, KNIGHTS_EPAULETTE_COUNT); break; } } diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java b/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java index 9e2dbb1241084c170ae8031975b6dd53e578c5d3..dae8a1565d3ba19313b6f24c006b40e0eff72fe8 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java @@ -18,11 +18,7 @@ */ package com.l2jserver.datapack.ai.npc.ClassMaster; -import static com.l2jserver.gameserver.config.Config.ALLOW_CLASS_MASTERS; -import static com.l2jserver.gameserver.config.Config.ALLOW_ENTIRE_TREE; -import static com.l2jserver.gameserver.config.Config.ALTERNATE_CLASS_MASTER; -import static com.l2jserver.gameserver.config.Config.AUTO_LEARN_FS_SKILLS; -import static com.l2jserver.gameserver.config.Config.CLASS_MASTER_SETTINGS; +import static com.l2jserver.gameserver.config.Configuration.character; import static com.l2jserver.gameserver.model.events.EventType.ON_PLAYER_LEVEL_CHANGED; import static com.l2jserver.gameserver.network.SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT; import static com.l2jserver.gameserver.network.SystemMessageId.NOT_ENOUGH_ITEMS; @@ -65,14 +61,14 @@ public final class ClassMaster extends AbstractNpcAI addStartNpc(MR_CAT, MISS_QUEEN); addFirstTalkId(MR_CAT, MISS_QUEEN); addTalkId(MR_CAT, MISS_QUEEN); - if (ALTERNATE_CLASS_MASTER) + if (character().alternateClassMaster()) { setOnEnterWorld(true); registerTutorialEvent(); registerTutorialQuestionMark(); } - if (ALLOW_CLASS_MASTERS) + if (character().allowClassMasters()) { addSpawn(MR_CAT, new Location(147728, 27408, -2198, 16500)); addSpawn(MISS_QUEEN, new Location(147761, 27408, -2198, 16500)); @@ -192,7 +188,7 @@ public final class ClassMaster extends AbstractNpcAI } else if (event.startsWith("learn_skills")) { - player.giveAvailableSkills(AUTO_LEARN_FS_SKILLS, true); + player.giveAvailableSkills(character().autoLearnForgottenScrollSkills(), true); } else if (event.startsWith("increase_clan_level")) { @@ -221,7 +217,7 @@ public final class ClassMaster extends AbstractNpcAI private void onTutorialLink(L2PcInstance player, String request) { - if (!ALTERNATE_CLASS_MASTER || (request == null) || !request.startsWith("CO")) + if (!character().alternateClassMaster() || (request == null) || !request.startsWith("CO")) { return; } @@ -246,7 +242,7 @@ public final class ClassMaster extends AbstractNpcAI @Override public String onTutorialQuestionMark(L2PcInstance player, int number) { - if (!ALTERNATE_CLASS_MASTER || (number != CUSTOM_EVENT_ID)) + if (!character().alternateClassMaster() || (number != CUSTOM_EVENT_ID)) { return ""; } @@ -257,7 +253,7 @@ public final class ClassMaster extends AbstractNpcAI private void showQuestionMark(L2PcInstance player) { - if (!ALTERNATE_CLASS_MASTER) + if (!character().alternateClassMaster()) { return; } @@ -268,7 +264,7 @@ public final class ClassMaster extends AbstractNpcAI return; } - if (!CLASS_MASTER_SETTINGS.isAllowed(classId.level() + 1)) + if (!character().getClassMaster().isAllowed(classId.level() + 1)) { return; } @@ -278,13 +274,13 @@ public final class ClassMaster extends AbstractNpcAI private void showHtmlMenu(L2PcInstance player, int objectId, int level) { - if (!ALLOW_CLASS_MASTERS) + if (!character().allowClassMasters()) { String msg = getHtm(player.getHtmlPrefix(), "disabled.htm"); showResult(player, msg); return; } - if (!CLASS_MASTER_SETTINGS.isAllowed(level)) + if (!character().getClassMaster().isAllowed(level)) { final NpcHtmlMessage html = new NpcHtmlMessage(objectId); final int jobLevel = player.getClassId().level(); @@ -293,15 +289,15 @@ public final class ClassMaster extends AbstractNpcAI switch (jobLevel) { case 0: - if (CLASS_MASTER_SETTINGS.isAllowed(1)) + if (character().getClassMaster().isAllowed(1)) { sb.append("Come back here when you reached level 20 to change your class.<br>"); } - else if (CLASS_MASTER_SETTINGS.isAllowed(2)) + else if (character().getClassMaster().isAllowed(2)) { sb.append("Come back after your first occupation change.<br>"); } - else if (CLASS_MASTER_SETTINGS.isAllowed(3)) + else if (character().getClassMaster().isAllowed(3)) { sb.append("Come back after your second occupation change.<br>"); } @@ -311,11 +307,11 @@ public final class ClassMaster extends AbstractNpcAI } break; case 1: - if (CLASS_MASTER_SETTINGS.isAllowed(2)) + if (character().getClassMaster().isAllowed(2)) { sb.append("Come back here when you reached level 40 to change your class.<br>"); } - else if (CLASS_MASTER_SETTINGS.isAllowed(3)) + else if (character().getClassMaster().isAllowed(3)) { sb.append("Come back after your second occupation change.<br>"); } @@ -325,7 +321,7 @@ public final class ClassMaster extends AbstractNpcAI } break; case 2: - if (CLASS_MASTER_SETTINGS.isAllowed(3)) + if (character().getClassMaster().isAllowed(3)) { sb.append("Come back here when you reached level 76 to change your class.<br>"); } @@ -354,7 +350,7 @@ public final class ClassMaster extends AbstractNpcAI } final int minLevel = getMinLevel(currentClassId.level()); - if ((player.getLevel() >= minLevel) || ALLOW_ENTIRE_TREE) + if ((player.getLevel() >= minLevel) || character().allowEntireTree()) { final StringBuilder menu = new StringBuilder(100); for (ClassId cid : ClassId.values()) @@ -394,7 +390,7 @@ public final class ClassMaster extends AbstractNpcAI private void showTutorialHtml(L2PcInstance player) { final ClassId currentClassId = player.getClassId(); - if ((getMinLevel(currentClassId.level()) > player.getLevel()) && !ALLOW_ENTIRE_TREE) + if ((getMinLevel(currentClassId.level()) > player.getLevel()) && !character().allowEntireTree()) { return; } @@ -423,7 +419,7 @@ public final class ClassMaster extends AbstractNpcAI private boolean checkAndChangeClass(L2PcInstance player, int val) { final ClassId currentClassId = player.getClassId(); - if ((getMinLevel(currentClassId.level()) > player.getLevel()) && !ALLOW_ENTIRE_TREE) + if ((getMinLevel(currentClassId.level()) > player.getLevel()) && !character().allowEntireTree()) { return false; } @@ -436,14 +432,14 @@ public final class ClassMaster extends AbstractNpcAI final int newJobLevel = currentClassId.level() + 1; // Weight/Inventory check - if (!CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel).isEmpty() && !player.isInventoryUnder90(false)) + if (!character().getClassMaster().getRewardItems(newJobLevel).isEmpty() && !player.isInventoryUnder90(false)) { player.sendPacket(INVENTORY_LESS_THAN_80_PERCENT); return false; } // check if player have all required items for class transfer - for (ItemHolder holder : CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel)) + for (ItemHolder holder : character().getClassMaster().getRequireItems(newJobLevel)) { if (player.getInventory().getInventoryItemCount(holder.getId(), -1) < holder.getCount()) { @@ -453,7 +449,7 @@ public final class ClassMaster extends AbstractNpcAI } // get all required items for class transfer - for (ItemHolder holder : CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel)) + for (ItemHolder holder : character().getClassMaster().getRequireItems(newJobLevel)) { if (!player.destroyItemByItemId("ClassMaster", holder.getId(), holder.getCount(), player, true)) { @@ -462,7 +458,7 @@ public final class ClassMaster extends AbstractNpcAI } // reward player with items - for (ItemHolder holder : CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel)) + for (ItemHolder holder : character().getClassMaster().getRewardItems(newJobLevel)) { player.addItem("ClassMaster", holder.getId(), holder.getCount(), player, true); } @@ -480,7 +476,7 @@ public final class ClassMaster extends AbstractNpcAI player.broadcastUserInfo(); - if (CLASS_MASTER_SETTINGS.isAllowed(player.getClassId().level() + 1) && ALTERNATE_CLASS_MASTER && (((player.getClassId().level() == 1) && (player.getLevel() >= 40)) || ((player.getClassId().level() == 2) && (player.getLevel() >= 76)))) + if (character().getClassMaster().isAllowed(player.getClassId().level() + 1) && character().alternateClassMaster() && (((player.getClassId().level() == 1) && (player.getLevel() >= 40)) || ((player.getClassId().level() == 2) && (player.getLevel() >= 76)))) { showQuestionMark(player); } @@ -526,17 +522,17 @@ public final class ClassMaster extends AbstractNpcAI */ private static boolean validateClassId(ClassId oldCID, ClassId newCID) { - return (newCID != null) && (newCID.getRace() != null) && ((oldCID.equals(newCID.getParent()) || (ALLOW_ENTIRE_TREE && newCID.childOf(oldCID)))); + return (newCID != null) && (newCID.getRace() != null) && ((oldCID.equals(newCID.getParent()) || (character().allowEntireTree() && newCID.childOf(oldCID)))); } private static String getRequiredItems(int level) { - if ((CLASS_MASTER_SETTINGS.getRequireItems(level) == null) || CLASS_MASTER_SETTINGS.getRequireItems(level).isEmpty()) + if ((character().getClassMaster().getRequireItems(level) == null) || character().getClassMaster().getRequireItems(level).isEmpty()) { return "<tr><td>none</td></tr>"; } final StringBuilder sb = new StringBuilder(); - for (ItemHolder holder : CLASS_MASTER_SETTINGS.getRequireItems(level)) + for (ItemHolder holder : character().getClassMaster().getRequireItems(level)) { sb.append("<tr><td><font color=\"LEVEL\">"); sb.append(holder.getCount()); diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java b/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java index 3f19b194aab5301826d404390ca13df8a6998b53..7522fd303a989a4c7030c6fe6f9f6ebec1899f05 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.ai.npc.Fisherman; +import static com.l2jserver.gameserver.config.Configuration.character; + import java.util.List; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.model.L2SkillLearn; @@ -104,7 +105,7 @@ public class Fisherman extends AbstractNpcAI @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { - if ((player.getKarma() > 0) && !Config.ALT_GAME_KARMA_PLAYER_CAN_SHOP) + if ((player.getKarma() > 0) && !character().karmaPlayerCanShop()) { return npc.getId() + "-pk.htm"; } diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java index f81224e64316b3d09642e851f9a0b613830f172f..7dca0cebcca9af968ab768dd8db0cb80dc5ca78a 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.ai.npc.FortressSiegeManager; +import static com.l2jserver.gameserver.config.Configuration.fortSiege; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.instancemanager.FortSiegeManager; import com.l2jserver.gameserver.model.ClanPrivilege; @@ -107,7 +109,7 @@ public final class FortressSiegeManager extends AbstractNpcAI { htmltext = "FortressSiegeManager-10.html"; } - else if ((clan.getLevel() < FortSiegeManager.getInstance().getSiegeClanMinLevel())) + else if ((clan.getLevel() < fortSiege().getSiegeClanMinLevel())) { htmltext = "FortressSiegeManager-04.html"; } @@ -115,7 +117,7 @@ public final class FortressSiegeManager extends AbstractNpcAI { htmltext = "FortressSiegeManager-18.html"; } - else if ((clan.getCastleId() != 0) && (clan.getCastleId() != castle.getResidenceId()) && FortSiegeManager.getInstance().canRegisterJustTerritory()) + else if ((clan.getCastleId() != 0) && (clan.getCastleId() != castle.getResidenceId()) && fortSiege().justToTerritory()) { htmltext = "FortressSiegeManager-17.html"; } diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java index cb8c7a1d58631ca3716e2e83fbee6c2bba908d57..e8757fecd24acf43a3a506cc92d0852b86cb87cf 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.ai.npc.ManorManager; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.instancemanager.CastleManorManager; import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -90,7 +91,7 @@ public final class ManorManager extends AbstractNpcAI @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { - if (Config.ALLOW_MANOR) + if (general().allowManor()) { final int castleId = npc.getTemplate().getParameters().getInt("manor_id", -1); if (!player.canOverrideCond(PcCondOverride.CASTLE_CONDITIONS) && player.isClanLeader() && (castleId == player.getClan().getCastleId())) diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java b/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java index d2ee5180f20f5436b1eafa2d9f41ae0455906e62..4240df36cf43a9c885677bd035e8836168e08ad2 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.ai.npc.MercenaryCaptain; +import static com.l2jserver.gameserver.config.Configuration.territoryWar; + import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; @@ -106,8 +108,8 @@ public final class MercenaryCaptain extends AbstractNpcAI { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "36481-03.html")); - html.replace("%strider%", String.valueOf(TerritoryWarManager.MINTWBADGEFORSTRIDERS)); - html.replace("%gstrider%", String.valueOf(TerritoryWarManager.MINTWBADGEFORBIGSTRIDER)); + html.replace("%strider%", String.valueOf(territoryWar().getMinTerritoryBadgeForStriders())); + html.replace("%gstrider%", String.valueOf(territoryWar().getMinTerritoryBadgeForBigStrider())); player.sendPacket(html); break; } @@ -119,7 +121,7 @@ public final class MercenaryCaptain extends AbstractNpcAI case "strider": { final String type = st.nextToken(); - final int price = (type.equals("3")) ? TerritoryWarManager.MINTWBADGEFORBIGSTRIDER : TerritoryWarManager.MINTWBADGEFORSTRIDERS; + final int price = (type.equals("3")) ? territoryWar().getMinTerritoryBadgeForBigStrider() : territoryWar().getMinTerritoryBadgeForStriders(); final int badgeId = NPCS.get(npc.getId()); if (getQuestItemsCount(player, badgeId) < price) { diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java index 9c045e828ac7e834c0df0b1c3ef9a50c22188442..295e846d93e2f75fc1fea12f586d22b5b8a60daa 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.ai.npc.Teleports.GrandBossTeleporters; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import com.l2jserver.datapack.ai.individual.Valakas; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.QuestManager; @@ -119,7 +120,7 @@ public final class GrandBossTeleporters extends AbstractNpcAI if (status == 0) { L2GrandBossInstance valakas = GrandBossManager.getInstance().getBoss(29028); - valakasAI().startQuestTimer("beginning", Config.VALAKAS_WAIT_TIME * 60000, valakas, null); + valakasAI().startQuestTimer("beginning", grandBoss().getValakasWaitTime(), valakas, null); GrandBossManager.getInstance().setBossStatus(29028, 1); } } diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java index 31290c66a7598f38dd1fa9b5f243552d1f3e6524..dbc51dcc575b109bf5c34985c97663853af3ca7e 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.ai.npc.Teleports.SteelCitadelTeleport; +import static com.l2jserver.gameserver.config.Configuration.grandBoss; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.L2CommandChannel; @@ -63,7 +64,7 @@ public final class SteelCitadelTeleport extends AbstractNpcAI } final L2CommandChannel channel = player.getParty() == null ? null : player.getParty().getCommandChannel(); - if ((channel == null) || (channel.getLeader().getObjectId() != player.getObjectId()) || (channel.getMemberCount() < Config.BELETH_MIN_PLAYERS)) + if ((channel == null) || (channel.getLeader().getObjectId() != player.getObjectId()) || (channel.getMemberCount() < grandBoss().getBelethMinPlayers())) { return "32376-02a.htm"; } diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java b/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java index f5a2ed17a700705e6ec2494da489420fe7c09488..6c8d34148c9dc905f4b1c1bb192f75d681b011e8 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.ai.npc.TerritoryManagers; +import static com.l2jserver.gameserver.config.Configuration.territoryWar; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.data.xml.impl.MultisellData; import com.l2jserver.gameserver.enums.Race; @@ -100,7 +102,7 @@ public final class TerritoryManagers extends AbstractNpcAI // L2J Custom for minimum badges required. final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setFile(player.getHtmlPrefix(), "data/scripts/ai/npc/TerritoryManagers/36490-04.html"); - html.replace("%badge%", String.valueOf(TerritoryWarManager.MINTWBADGEFORNOBLESS)); + html.replace("%badge%", String.valueOf(territoryWar().getMinTerritoryBadgeForNobless())); player.sendPacket(html); break; } @@ -121,7 +123,7 @@ public final class TerritoryManagers extends AbstractNpcAI } case "MakeMeNoble": { - if (player.getInventory().getInventoryItemCount(itemId, -1) < TerritoryWarManager.MINTWBADGEFORNOBLESS) + if (player.getInventory().getInventoryItemCount(itemId, -1) < territoryWar().getMinTerritoryBadgeForNobless()) { // If the player does not have enough Territory Badges, it cannot continue. htmltext = "36490-02.html"; @@ -149,7 +151,7 @@ public final class TerritoryManagers extends AbstractNpcAI processNoblesseQuest(player, 247, null); // Take the Territory Badges. - player.destroyItemByItemId(event, itemId, TerritoryWarManager.MINTWBADGEFORNOBLESS, npc, true); + player.destroyItemByItemId(event, itemId, territoryWar().getMinTerritoryBadgeForNobless(), npc, true); // Give Noblesse Tiara to the player. player.addItem(event, 7694, 1, npc, true); // Set Noblesse status to the player. diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java b/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java index a25b710604ef4aebd369b33a450395eb61fc40e2..0eacf91b41c782655ddc13d0348c87e636fb7e4b 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.ai.npc.TownPets; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -52,7 +53,7 @@ public final class TownPets extends AbstractNpcAI { super(TownPets.class.getSimpleName(), "ai/npc"); - if (Config.ALLOW_PET_WALKERS) + if (general().allowPetWalkers()) { addSpawnId(PETS); } diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java b/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java index 55cfd9e133e492eddd47ac1daeca80cd470b5712..88d193f112bd9543428ae97d1555ece77bc64992 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.ai.npc.Trainers.HealerTrainer; +import static com.l2jserver.gameserver.config.Configuration.character; + import java.util.Collection; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.model.L2SkillLearn; @@ -128,7 +129,7 @@ public final class HealerTrainer extends AbstractNpcAI break; } - if (player.getAdena() < Config.FEE_DELETE_TRANSFER_SKILLS) + if (player.getAdena() < character().getFeeDeleteTransferSkills()) { player.sendPacket(SystemMessageId.CANNOT_RESET_SKILL_LINK_BECAUSE_NOT_ENOUGH_ADENA); break; @@ -160,7 +161,7 @@ public final class HealerTrainer extends AbstractNpcAI // Adena gets reduced once. if (hasSkills) { - player.reduceAdena("Cleanse", Config.FEE_DELETE_TRANSFER_SKILLS, npc, true); + player.reduceAdena("Cleanse", character().getFeeDeleteTransferSkills(), npc, true); } } break; diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java index 7e45101f7136dac81feb0529d09dd0c1c5352145..c0498ca3f640caceb8f048d168d8ada90fb3f27d 100644 --- a/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java +++ b/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.ai.npc.WyvernManager; +import static com.l2jserver.gameserver.config.Configuration.castle; + import java.util.HashMap; import java.util.Map; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.SevenSigns; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Fort; @@ -230,7 +231,7 @@ public final class WyvernManager extends AbstractNpcAI { htmltext = "wyvernmanager-02.html"; } - else if (Config.ALLOW_WYVERN_ALWAYS) + else if (castle().allowRideWyvernAlways()) { htmltext = replaceAll(npc, player.getHtmlPrefix()); } @@ -251,9 +252,9 @@ public final class WyvernManager extends AbstractNpcAI } case "RideWyvern": { - if (!Config.ALLOW_WYVERN_ALWAYS) + if (!castle().allowRideWyvernAlways()) { - if (!Config.ALLOW_WYVERN_DURING_SIEGE && (isInSiege(npc) || player.isInSiege())) + if (!castle().allowRideWyvernDuringSiege() && (isInSiege(npc) || player.isInSiege())) { player.sendMessage("You cannot summon wyvern while in siege."); return null; @@ -287,7 +288,7 @@ public final class WyvernManager extends AbstractNpcAI } else { - if (Config.ALLOW_WYVERN_ALWAYS) + if (castle().allowRideWyvernAlways()) { htmltext = replaceAll(npc, player.getHtmlPrefix()); } diff --git a/src/main/java/com/l2jserver/datapack/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java b/src/main/java/com/l2jserver/datapack/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java index cf4685d23689b5532ece5c2dbab0f55408a6b2b7..5fc94a2247def9dd511f7c9a7dec22cf72a5b023 100644 --- a/src/main/java/com/l2jserver/datapack/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java +++ b/src/main/java/com/l2jserver/datapack/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.conquerablehalls.RainbowSpringsChateau; +import static com.l2jserver.gameserver.config.Configuration.clanhall; + import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -34,7 +36,6 @@ import java.util.concurrent.ScheduledFuture; import com.l2jserver.commons.database.ConnectionFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.cache.HtmCache; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.datatables.SpawnTable; import com.l2jserver.gameserver.instancemanager.ClanHallSiegeManager; @@ -486,7 +487,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine { html = "game_manager010.htm"; } - else if (clan.getLevel() < Config.CHS_CLAN_MINLEVEL) + else if (clan.getLevel() < clanhall().getMinClanLevel()) { html = "game_manager011.htm"; } diff --git a/src/main/java/com/l2jserver/datapack/custom/Validators/SubClassSkills.java b/src/main/java/com/l2jserver/datapack/custom/Validators/SubClassSkills.java index 8ac26035850db440bfa421487dfe4ae2d00d77c3..096947b11f76801d74a19122a86a7fc6b238956a 100644 --- a/src/main/java/com/l2jserver/datapack/custom/Validators/SubClassSkills.java +++ b/src/main/java/com/l2jserver/datapack/custom/Validators/SubClassSkills.java @@ -18,11 +18,13 @@ */ package com.l2jserver.datapack.custom.Validators; +import static com.l2jserver.gameserver.config.Configuration.character; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.enums.IllegalActionPunishmentType; import com.l2jserver.gameserver.model.PcCondOverride; @@ -97,12 +99,12 @@ public final class SubClassSkills extends Quest @Override public String onEnterWorld(L2PcInstance player) { - if (!Config.SKILL_CHECK_ENABLE) + if (!general().skillCheckEnable()) { return null; } - if (player.canOverrideCond(PcCondOverride.SKILL_CONDITIONS) && !Config.SKILL_CHECK_GM) + if (player.canOverrideCond(PcCondOverride.SKILL_CONDITIONS) && !general().skillCheckGM()) { return null; } @@ -114,7 +116,7 @@ public final class SubClassSkills extends Quest { Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " has cert skill on subclass :" + s.getName() + "(" + s.getId() + "/" + s.getLevel() + "), class:" + ClassListData.getInstance().getClass(player.getClassId()).getClassName(), IllegalActionPunishmentType.NONE); - if (Config.SKILL_CHECK_REMOVE) + if (general().skillCheckRemove()) { player.removeSkill(s); } @@ -149,7 +151,7 @@ public final class SubClassSkills extends Quest int id, index; for (int i = VARS.length; --i >= 0;) { - for (int j = Config.MAX_SUBCLASS; j > 0; j--) + for (int j = character().getMaxSubclass(); j > 0; j--) { qName = VARS[i] + String.valueOf(j); qValue = st.getGlobalQuestVar(qName); @@ -277,7 +279,7 @@ public final class SubClassSkills extends Quest Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " has invalid cert skill :" + skill.getName() + "(" + skill.getId() + "/" + skill.getLevel() + "), level too high", IllegalActionPunishmentType.NONE); } - if (Config.SKILL_CHECK_REMOVE) + if (general().skillCheckRemove()) { player.removeSkill(skill); } diff --git a/src/main/java/com/l2jserver/datapack/custom/events/Elpies/Elpies.java b/src/main/java/com/l2jserver/datapack/custom/events/Elpies/Elpies.java index 89ba6163bb6da232c9eec6a1656e44d9265f1b60..5e3bfe530c94076b1ef975b6e1a6bc7e5672945c 100644 --- a/src/main/java/com/l2jserver/datapack/custom/events/Elpies/Elpies.java +++ b/src/main/java/com/l2jserver/datapack/custom/events/Elpies/Elpies.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.custom.events.Elpies; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import com.l2jserver.gameserver.ThreadPoolManager; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2EventMonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -89,7 +90,7 @@ public final class Elpies extends Event } // Check Custom Table - we use custom NPC's - if (!Config.CUSTOM_NPC_DATA) + if (!general().customNpcData()) { _log.info(getName() + ": Event can't be started because custom NPC table is disabled!"); eventMaker.sendMessage("Event " + getName() + " can't be started because custom NPC table is disabled!"); diff --git a/src/main/java/com/l2jserver/datapack/custom/events/Rabbits/Rabbits.java b/src/main/java/com/l2jserver/datapack/custom/events/Rabbits/Rabbits.java index 2e34a5fd06daf4aafca40265d91b0fbcbac64eea..324468ab420733ab1da60121b79946ad4777b822 100644 --- a/src/main/java/com/l2jserver/datapack/custom/events/Rabbits/Rabbits.java +++ b/src/main/java/com/l2jserver/datapack/custom/events/Rabbits/Rabbits.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.custom.events.Rabbits; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -97,7 +98,7 @@ public final class Rabbits extends Event } // Check starting conditions - if (!Config.CUSTOM_NPC_DATA) + if (!general().customNpcData()) { _log.info(getName() + ": Event can't be started, because custom NPCs are disabled!"); eventMaker.sendMessage("Event " + getName() + " can't be started because custom NPCs are disabled!"); diff --git a/src/main/java/com/l2jserver/datapack/custom/events/Race/Race.java b/src/main/java/com/l2jserver/datapack/custom/events/Race/Race.java index 01706989a667ddef9ba21461dcf76add289a5adf..971670fdcb9231d9c9edcc60afa084ce16c2af29 100644 --- a/src/main/java/com/l2jserver/datapack/custom/events/Race/Race.java +++ b/src/main/java/com/l2jserver/datapack/custom/events/Race/Race.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.custom.events.Race; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import com.l2jserver.gameserver.ThreadPoolManager; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -116,7 +117,7 @@ public final class Race extends Event { } // Check Custom Table - we use custom NPC's - if (!Config.CUSTOM_NPC_DATA) { + if (!general().customNpcData()) { _log.info(getName() + ": Event can't be started, because custom npc table is disabled!"); eventMaker.sendMessage("Event " + getName() + " can't be started because custom NPC table is disabled!"); return false; diff --git a/src/main/java/com/l2jserver/datapack/custom/events/TvT/TvTManager/TvTManager.java b/src/main/java/com/l2jserver/datapack/custom/events/TvT/TvTManager/TvTManager.java index e3e658262e2c53c7fd87ca1592d7401f90144a59..32f3ecd16405a557319b3d432b520b7898780c34 100644 --- a/src/main/java/com/l2jserver/datapack/custom/events/TvT/TvTManager/TvTManager.java +++ b/src/main/java/com/l2jserver/datapack/custom/events/TvT/TvTManager/TvTManager.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.custom.events.TvT.TvTManager; +import static com.l2jserver.gameserver.config.Configuration.tvt; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.handler.VoicedCommandHandler; import com.l2jserver.gameserver.instancemanager.AntiFeedManager; @@ -50,7 +51,7 @@ public final class TvTManager extends AbstractNpcAI implements IVoicedCommandHan addTalkId(MANAGER_ID); addStartNpc(MANAGER_ID); - if (Config.TVT_ALLOW_VOICED_COMMAND) + if (tvt().allowVoicedInfoCommand()) { VoicedCommandHandler.getInstance().registerHandler(this); } @@ -84,21 +85,21 @@ public final class TvTManager extends AbstractNpcAI implements IVoicedCommandHan { htmltext = getHtm(player.getHtmlPrefix(), "Karma.html"); } - else if ((playerLevel < Config.TVT_EVENT_MIN_LVL) || (playerLevel > Config.TVT_EVENT_MAX_LVL)) + else if ((playerLevel < tvt().getMinPlayerLevel()) || (playerLevel > tvt().getMaxPlayerLevel())) { htmltext = getHtm(player.getHtmlPrefix(), "Level.html"); - htmltext = htmltext.replaceAll("%min%", String.valueOf(Config.TVT_EVENT_MIN_LVL)); - htmltext = htmltext.replaceAll("%max%", String.valueOf(Config.TVT_EVENT_MAX_LVL)); + htmltext = htmltext.replaceAll("%min%", String.valueOf(tvt().getMinPlayerLevel())); + htmltext = htmltext.replaceAll("%max%", String.valueOf(tvt().getMaxPlayerLevel())); } - else if ((team1Count == Config.TVT_EVENT_MAX_PLAYERS_IN_TEAMS) && (team2Count == Config.TVT_EVENT_MAX_PLAYERS_IN_TEAMS)) + else if ((team1Count == tvt().getMaxPlayersInTeams()) && (team2Count == tvt().getMaxPlayersInTeams())) { htmltext = getHtm(player.getHtmlPrefix(), "TeamsFull.html"); - htmltext = htmltext.replaceAll("%max%", String.valueOf(Config.TVT_EVENT_MAX_PLAYERS_IN_TEAMS)); + htmltext = htmltext.replaceAll("%max%", String.valueOf(tvt().getMaxPlayersInTeams())); } - else if ((Config.TVT_EVENT_MAX_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.TVT_ID, player, Config.TVT_EVENT_MAX_PARTICIPANTS_PER_IP)) + else if ((tvt().getMaxParticipantsPerIP() > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.TVT_ID, player, tvt().getMaxParticipantsPerIP())) { htmltext = getHtm(player.getHtmlPrefix(), "IPRestriction.html"); - htmltext = htmltext.replaceAll("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.TVT_EVENT_MAX_PARTICIPANTS_PER_IP))); + htmltext = htmltext.replaceAll("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, tvt().getMaxParticipantsPerIP()))); } else if (TvTEvent.needParticipationFee() && !TvTEvent.hasParticipationFee(player)) { @@ -115,7 +116,7 @@ public final class TvTManager extends AbstractNpcAI implements IVoicedCommandHan { if (TvTEvent.removeParticipant(player.getObjectId())) { - if (Config.TVT_EVENT_MAX_PARTICIPANTS_PER_IP > 0) + if (tvt().getMaxParticipantsPerIP() > 0) { AntiFeedManager.getInstance().removePlayer(AntiFeedManager.TVT_ID, player); } @@ -141,9 +142,9 @@ public final class TvTManager extends AbstractNpcAI implements IVoicedCommandHan int[] teamsPlayerCounts = TvTEvent.getTeamsPlayerCounts(); htmltext = getHtm(player.getHtmlPrefix(), (!isParticipant ? "Participation.html" : "RemoveParticipation.html")); htmltext = htmltext.replaceAll("%objectId%", String.valueOf(npc.getObjectId())); - htmltext = htmltext.replaceAll("%team1name%", Config.TVT_EVENT_TEAM_1_NAME); + htmltext = htmltext.replaceAll("%team1name%", tvt().getTeam1Name()); htmltext = htmltext.replaceAll("%team1playercount%", String.valueOf(teamsPlayerCounts[0])); - htmltext = htmltext.replaceAll("%team2name%", Config.TVT_EVENT_TEAM_2_NAME); + htmltext = htmltext.replaceAll("%team2name%", tvt().getTeam2Name()); htmltext = htmltext.replaceAll("%team2playercount%", String.valueOf(teamsPlayerCounts[1])); htmltext = htmltext.replaceAll("%playercount%", String.valueOf(teamsPlayerCounts[0] + teamsPlayerCounts[1])); @@ -201,10 +202,10 @@ public final class TvTManager extends AbstractNpcAI implements IVoicedCommandHan int[] teamsPlayerCounts = TvTEvent.getTeamsPlayerCounts(); int[] teamsPointsCounts = TvTEvent.getTeamsPoints(); String htmltext = getHtm(player.getHtmlPrefix(), "Status.html"); - htmltext = htmltext.replaceAll("%team1name%", Config.TVT_EVENT_TEAM_1_NAME); + htmltext = htmltext.replaceAll("%team1name%", tvt().getTeam1Name()); htmltext = htmltext.replaceAll("%team1playercount%", String.valueOf(teamsPlayerCounts[0])); htmltext = htmltext.replaceAll("%team1points%", String.valueOf(teamsPointsCounts[0])); - htmltext = htmltext.replaceAll("%team2name%", Config.TVT_EVENT_TEAM_2_NAME); + htmltext = htmltext.replaceAll("%team2name%", tvt().getTeam2Name()); htmltext = htmltext.replaceAll("%team2playercount%", String.valueOf(teamsPlayerCounts[1])); htmltext = htmltext.replaceAll("%team2points%", String.valueOf(teamsPointsCounts[1])); return htmltext; diff --git a/src/main/java/com/l2jserver/datapack/custom/events/Wedding/Wedding.java b/src/main/java/com/l2jserver/datapack/custom/events/Wedding/Wedding.java index d4c62ce1ab1edc9fffaa50115d4adee9b1ae713c..dc999ab6ec4b0ea0a1982c5df7c143ec8df34dd5 100644 --- a/src/main/java/com/l2jserver/datapack/custom/events/Wedding/Wedding.java +++ b/src/main/java/com/l2jserver/datapack/custom/events/Wedding/Wedding.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.custom.events.Wedding; +import static com.l2jserver.gameserver.config.Configuration.customs; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.instancemanager.CoupleManager; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -118,14 +119,14 @@ public final class Wedding extends AbstractNpcAI { htmltext = sendHtml(partner, "NoFormal.html", null, null); } - else if ((player.getAdena() < Config.L2JMOD_WEDDING_PRICE) || (partner.getAdena() < Config.L2JMOD_WEDDING_PRICE)) + else if ((player.getAdena() < customs().getWeddingPrice()) || (partner.getAdena() < customs().getWeddingPrice())) { - htmltext = sendHtml(partner, "Adena.html", "%fee%", String.valueOf(Config.L2JMOD_WEDDING_PRICE)); + htmltext = sendHtml(partner, "Adena.html", "%fee%", String.valueOf(customs().getWeddingPrice())); } else { - player.reduceAdena("Wedding", Config.L2JMOD_WEDDING_PRICE, player.getLastFolkNPC(), true); - partner.reduceAdena("Wedding", Config.L2JMOD_WEDDING_PRICE, player.getLastFolkNPC(), true); + player.reduceAdena("Wedding", customs().getWeddingPrice(), player.getLastFolkNPC(), true); + partner.reduceAdena("Wedding", customs().getWeddingPrice(), player.getLastFolkNPC(), true); // Accept the wedding request player.setMarryAccepted(true); @@ -179,7 +180,7 @@ public final class Wedding extends AbstractNpcAI public String onFirstTalk(L2Npc npc, L2PcInstance player) { final String htmltext = getHtm(player.getHtmlPrefix(), "Start.html"); - return htmltext.replaceAll("%fee%", String.valueOf(Config.L2JMOD_WEDDING_PRICE)); + return htmltext.replaceAll("%fee%", String.valueOf(customs().getWeddingPrice())); } private String sendHtml(L2PcInstance player, String fileName, String regex, String replacement) @@ -195,7 +196,7 @@ public final class Wedding extends AbstractNpcAI private static boolean isWearingFormalWear(L2PcInstance player) { - if (Config.L2JMOD_WEDDING_FORMALWEAR) + if (customs().weddingFormalWear()) { final L2ItemInstance formalWear = player.getChestArmorInstance(); return (formalWear != null) && (formalWear.getId() == FORMAL_WEAR); diff --git a/src/main/java/com/l2jserver/datapack/features/SkillTransfer/SkillTransfer.java b/src/main/java/com/l2jserver/datapack/features/SkillTransfer/SkillTransfer.java index 0e4a97f3441d126ec2deadcadfdc0f0d77bcdc09..b916e9c2064def8dd5df3805a3c3ea713a6fb75d 100644 --- a/src/main/java/com/l2jserver/datapack/features/SkillTransfer/SkillTransfer.java +++ b/src/main/java/com/l2jserver/datapack/features/SkillTransfer/SkillTransfer.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.features.SkillTransfer; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.enums.IllegalActionPunishmentType; @@ -56,7 +57,7 @@ public final class SkillTransfer extends AbstractNpcAI super(SkillTransfer.class.getSimpleName(), "features"); setPlayerProfessionChangeId(this::onProfessionChange); setPlayerProfessionCancelId(this::onProfessionCancel); - setOnEnterWorld(Config.SKILL_CHECK_ENABLE); + setOnEnterWorld(general().skillCheckEnable()); } public void onProfessionChange(OnPlayerProfessionChange event) @@ -102,7 +103,7 @@ public final class SkillTransfer extends AbstractNpcAI @Override public String onEnterWorld(L2PcInstance player) { - if (!player.canOverrideCond(PcCondOverride.SKILL_CONDITIONS) || Config.SKILL_CHECK_GM) + if (!player.canOverrideCond(PcCondOverride.SKILL_CONDITIONS) || general().skillCheckGM()) { final int index = getTransferClassIndex(player); if (index < 0) @@ -127,7 +128,7 @@ public final class SkillTransfer extends AbstractNpcAI { final String className = ClassListData.getInstance().getClass(player.getClassId()).getClassName(); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " has too many transfered skills or items, skill:" + s.getName() + " (" + sk.getId() + "/" + sk.getLevel() + "), class:" + className, IllegalActionPunishmentType.BROADCAST); - if (Config.SKILL_CHECK_REMOVE) + if (general().skillCheckRemove()) { player.removeSkill(sk); } diff --git a/src/main/java/com/l2jserver/datapack/gracia/AI/EnergySeeds.java b/src/main/java/com/l2jserver/datapack/gracia/AI/EnergySeeds.java index 29b3ea877e225d9726fcd0ad406aba9ca98cadb8..9c4cb86ea63e09f74c74e1ebeb5c945b24ed1e6c 100644 --- a/src/main/java/com/l2jserver/datapack/gracia/AI/EnergySeeds.java +++ b/src/main/java/com/l2jserver/datapack/gracia/AI/EnergySeeds.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.gracia.AI; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -26,7 +28,6 @@ import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.datapack.quests.Q00692_HowtoOpposeEvil.Q00692_HowtoOpposeEvil; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.enums.audio.Sound; @@ -387,7 +388,7 @@ public class EnergySeeds extends AbstractNpcAI private void handleQuestDrop(L2PcInstance player, int itemId) { - double chance = HOWTOOPPOSEEVIL_CHANCE * Config.RATE_QUEST_DROP; + double chance = HOWTOOPPOSEEVIL_CHANCE * rates().getRateQuestDrop(); int numItems = (int) (chance / 100); chance = chance % 100; if (getRandom(100) < chance) diff --git a/src/main/java/com/l2jserver/datapack/gracia/instances/SeedOfDestruction/Stage1.java b/src/main/java/com/l2jserver/datapack/gracia/instances/SeedOfDestruction/Stage1.java index a09bd31627e087cbb03fd6e1531bc531ef883255..3e14c07293dd7d0f13810d4f1f5c2a428d601371 100644 --- a/src/main/java/com/l2jserver/datapack/gracia/instances/SeedOfDestruction/Stage1.java +++ b/src/main/java/com/l2jserver/datapack/gracia/instances/SeedOfDestruction/Stage1.java @@ -18,6 +18,9 @@ */ package com.l2jserver.datapack.gracia.instances.SeedOfDestruction; +import static com.l2jserver.gameserver.config.Configuration.general; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.File; import java.util.ArrayList; import java.util.HashMap; @@ -36,7 +39,6 @@ import org.w3c.dom.Node; import com.l2jserver.datapack.instances.AbstractInstance; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.enums.TrapAction; import com.l2jserver.gameserver.instancemanager.GraciaSeedsManager; @@ -237,7 +239,7 @@ public final class Stage1 extends AbstractInstance factory.setValidating(false); factory.setIgnoringComments(true); - File file = new File(Config.DATAPACK_ROOT + "/data/spawnZones/seed_of_destruction.xml"); + File file = new File(server().getDatapackRoot(), "/data/spawnZones/seed_of_destruction.xml"); if (!file.exists()) { _log.severe("[Seed of Destruction] Missing seed_of_destruction.xml. The quest wont work without it!"); @@ -444,7 +446,7 @@ public final class Stage1 extends AbstractInstance { _log.log(Level.WARNING, "[Seed of Destruction] Could not parse data.xml file: " + e.getMessage(), e); } - if (Config.DEBUG) + if (general().debug()) { _log.info("[Seed of Destruction] Loaded " + spawnCount + " spawns data."); _log.info("[Seed of Destruction] Loaded " + _spawnZoneList.size() + " spawn zones data."); diff --git a/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java b/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java index 3faf74417580d1342b73d55a4f545b5f38b269eb..646ad2080ff97a2341827c0dc29c997f0e44eb1b 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java +++ b/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers; +import static com.l2jserver.gameserver.config.Configuration.customs; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -263,7 +265,6 @@ import com.l2jserver.datapack.handlers.voicedcommandhandlers.Debug; import com.l2jserver.datapack.handlers.voicedcommandhandlers.Lang; import com.l2jserver.datapack.handlers.voicedcommandhandlers.StatsVCmd; import com.l2jserver.datapack.handlers.voicedcommandhandlers.Wedding; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.ActionHandler; import com.l2jserver.gameserver.handler.ActionShiftHandler; import com.l2jserver.gameserver.handler.AdminCommandHandler; @@ -558,12 +559,12 @@ public class MasterHandler { // TODO: Add configuration options for this voiced commands: // CastleVCmd.class, // SetVCmd.class, - (Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null), - (Config.BANKING_SYSTEM_ENABLED ? Banking.class : null), - (Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null), - (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null), - (Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null), - (Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null), + (customs().allowWedding() ? Wedding.class : null), + (customs().bankingEnabled() ? Banking.class : null), + (customs().chatAdmin() ? ChatAdmin.class : null), + (customs().multiLangEnable() && customs().multiLangVoiceCommand() ? Lang.class : null), + (customs().debugVoiceCommand() ? Debug.class : null), + (customs().allowChangePassword() ? ChangePassword.class : null), }; // TODO(Zoey76): Add this handler. diff --git a/src/main/java/com/l2jserver/datapack/handlers/actionhandlers/L2NpcAction.java b/src/main/java/com/l2jserver/datapack/handlers/actionhandlers/L2NpcAction.java index dddd5a7c61128720bae430d2e70e9cd06ebdbf17..e0a903850448962c83193555274f52814c5eedab 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/actionhandlers/L2NpcAction.java +++ b/src/main/java/com/l2jserver/datapack/handlers/actionhandlers/L2NpcAction.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.actionhandlers; +import static com.l2jserver.gameserver.config.Configuration.character; + import com.l2jserver.commons.util.Rnd; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.handler.IActionHandler; import com.l2jserver.gameserver.model.L2Object; @@ -135,7 +136,8 @@ public class L2NpcAction implements IActionHandler npc.showChatWindow(activeChar); } } - if ((Config.PLAYER_MOVEMENT_BLOCK_TIME > 0) && !activeChar.isGM()) + + if ((character().getNpcTalkBlockingTime() > 0) && !activeChar.isGM()) { activeChar.updateNotMoveUntil(); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/actionshifthandlers/L2NpcActionShift.java b/src/main/java/com/l2jserver/datapack/handlers/actionshifthandlers/L2NpcActionShift.java index e02a7661a87ef346a4b20fe32a2224167556a6de..ca6b73faa97606bea8867dd352ae297ae460955f 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/actionshifthandlers/L2NpcActionShift.java +++ b/src/main/java/com/l2jserver/datapack/handlers/actionshifthandlers/L2NpcActionShift.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.actionshifthandlers; +import static com.l2jserver.gameserver.config.Configuration.npc; + import java.util.Set; import com.l2jserver.datapack.handlers.bypasshandlers.NpcViewMod; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.handler.IActionShiftHandler; import com.l2jserver.gameserver.instancemanager.WalkingManager; @@ -180,7 +181,7 @@ public class L2NpcActionShift implements IActionShiftHandler } activeChar.sendPacket(html); } - else if (Config.ALT_GAME_VIEWNPC) + else if (npc().viewNpc()) { if (!target.isNpc()) { diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAdmin.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAdmin.java index ce7885fa525bd4fac6533a041091e317a21d89ac..e4d11ba700704c44986fe797925030f72df8213c 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAdmin.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAdmin.java @@ -18,10 +18,15 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.character; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.StringTokenizer; import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; +import org.aeonbits.owner.Mutable; + +import com.l2jserver.gameserver.config.Configuration; import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -220,68 +225,29 @@ public class AdminAdmin implements IAdminCommandHandler } AdminHtml.showAdminHtml(activeChar, "gm_menu.htm"); } - else if (command.startsWith("admin_setconfig")) - { + else if (command.startsWith("admin_set")) { StringTokenizer st = new StringTokenizer(command); st.nextToken(); - try - { - String pName = st.nextToken(); - String pValue = st.nextToken(); - if (Config.setParameterValue(pName, pValue)) - { - activeChar.sendMessage("Config parameter " + pName + " set to " + pValue); - } - else - { - activeChar.sendMessage("Invalid parameter!"); + try { + String configName = st.nextToken(); + String name = st.nextToken(); + String value = st.nextToken(); + + final var field = Configuration.class.getDeclaredField(configName); + if (field.getType().isInstance(Mutable.class)) { + try { + ((Mutable) field.get(Configuration.class)).setProperty(name, value); + activeChar.sendMessage("Set " + name + "=" + value + " in " + configName + "."); + } catch (Exception ex) { + activeChar.sendMessage("Failed to set " + name + "=" + value + " in " + configName + "."); + } } - } - catch (Exception e) - { + } catch (Exception ex) { activeChar.sendMessage("Usage: //setconfig <parameter> <value>"); - } - finally - { + } finally { showConfigPage(activeChar); } } - else if (command.startsWith("admin_set")) - { - StringTokenizer st = new StringTokenizer(command); - String[] cmd = st.nextToken().split("_"); - try - { - String[] parameter = st.nextToken().split("="); - String pName = parameter[0].trim(); - String pValue = parameter[1].trim(); - if (Config.setParameterValue(pName, pValue)) - { - activeChar.sendMessage("parameter " + pName + " succesfully set to " + pValue); - } - else - { - activeChar.sendMessage("Invalid parameter!"); - } - } - catch (Exception e) - { - if (cmd.length == 2) - { - activeChar.sendMessage("Usage: //set parameter=value"); - } - } - finally - { - if (cmd.length == 3) - { - if (cmd[2].equalsIgnoreCase("mod")) - { - AdminHtml.showAdminHtml(activeChar, "mods_menu.htm"); - } - } - } - } else if (command.startsWith("admin_gmon")) { // nothing @@ -343,15 +309,15 @@ public class AdminAdmin implements IAdminCommandHandler replyMSG.append("<center><table width=270><tr><td width=60><button value=\"Main\" action=\"bypass -h admin_admin\" width=60 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=150>Config Server Panel</td><td width=60><button value=\"Back\" action=\"bypass -h admin_admin4\" width=60 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table></center><br>"); replyMSG.append("<center><table width=260><tr><td width=140></td><td width=40></td><td width=40></td></tr>"); replyMSG.append("<tr><td><font color=\"00AA00\">Drop:</font></td><td></td><td></td></tr>"); - replyMSG.append("<tr><td><font color=\"LEVEL\">Rate EXP</font> = " + Config.RATE_XP + "</td><td><edit var=\"param1\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateXp $param1\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); - replyMSG.append("<tr><td><font color=\"LEVEL\">Rate SP</font> = " + Config.RATE_SP + "</td><td><edit var=\"param2\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateSp $param2\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); - replyMSG.append("<tr><td><font color=\"LEVEL\">Rate Drop Spoil</font> = " + Config.RATE_CORPSE_DROP_CHANCE_MULTIPLIER + "</td><td><edit var=\"param4\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateDropSpoil $param4\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td><font color=\"LEVEL\">Rate EXP</font> = " + rates().getRateXp() + "</td><td><edit var=\"param1\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateXp $param1\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td><font color=\"LEVEL\">Rate SP</font> = " + rates().getRateSp() + "</td><td><edit var=\"param2\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateSp $param2\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td><font color=\"LEVEL\">Rate Drop Spoil</font> = " + rates().getCorpseDropChanceMultiplier() + "</td><td><edit var=\"param4\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateDropSpoil $param4\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); replyMSG.append("<tr><td width=140></td><td width=40></td><td width=40></td></tr>"); replyMSG.append("<tr><td><font color=\"00AA00\">Enchant:</font></td><td></td><td></td></tr>"); - replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Stone</font> = " + Config.ENCHANT_CHANCE_ELEMENT_STONE + "</td><td><edit var=\"param8\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementStone $param8\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); - replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Crystal</font> = " + Config.ENCHANT_CHANCE_ELEMENT_CRYSTAL + "</td><td><edit var=\"param9\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementCrystal $param9\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); - replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Jewel</font> = " + Config.ENCHANT_CHANCE_ELEMENT_JEWEL + "</td><td><edit var=\"param10\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementJewel $param10\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); - replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Energy</font> = " + Config.ENCHANT_CHANCE_ELEMENT_ENERGY + "</td><td><edit var=\"param11\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementEnergy $param11\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Stone</font> = " + character().getEnchantChanceElementStone() + "</td><td><edit var=\"param8\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementStone $param8\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Crystal</font> = " + character().getEnchantChanceElementCrystal() + "</td><td><edit var=\"param9\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementCrystal $param9\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Jewel</font> = " + character().getEnchantChanceElementJewel() + "</td><td><edit var=\"param10\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementJewel $param10\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); + replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Energy</font> = " + character().getEnchantChanceElementEnergy() + "</td><td><edit var=\"param11\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementEnergy $param11\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); replyMSG.append("</table></body></html>"); adminReply.setHtml(replyMSG.toString()); diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAnnouncements.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAnnouncements.java index 706e67ba172b38459436b244e6352bbc2d93f99d..7eff1fe625fda9b7078c63eb8784563b4761fd0d 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAnnouncements.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminAnnouncements.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.StringTokenizer; import com.l2jserver.gameserver.cache.HtmCache; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.AnnouncementsTable; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.PageResult; @@ -74,7 +75,7 @@ public class AdminAnnouncements implements IAdminCommandHandler } else { - if (Config.GM_ANNOUNCER_NAME) + if (general().gmShowAnnouncerName()) { announce = announce + " [" + activeChar.getName() + "]"; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminBuffs.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminBuffs.java index 381092d8bf9ec8628a49b4f2bdd1cd7af2bf784b..71cd729adc390c9bad0d9ad1fc968ae3b6c88de1 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminBuffs.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminBuffs.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.StringTokenizer; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; @@ -197,7 +198,7 @@ public class AdminBuffs implements IAdminCommandHandler } else if (command.startsWith("admin_switch_gm_buffs")) { - if (Config.GM_GIVE_SPECIAL_SKILLS != Config.GM_GIVE_SPECIAL_AURA_SKILLS) + if (general().gmGiveSpecialSkills() != general().gmGiveSpecialAuraSkills()) { final boolean toAuraSkills = activeChar.getKnownSkill(7041) != null; switchSkills(activeChar, toAuraSkills); @@ -325,7 +326,7 @@ public class AdminBuffs implements IAdminCommandHandler // Send the packet activeChar.sendPacket(new NpcHtmlMessage(html.toString())); - if (Config.GMAUDIT) + if (general().gmAudit()) { GMAudit.auditGMAction(activeChar.getName() + " [" + activeChar.getObjectId() + "]", "getbuffs", target.getName() + " (" + Integer.toString(target.getObjectId()) + ")", ""); } @@ -351,7 +352,7 @@ public class AdminBuffs implements IAdminCommandHandler } showBuffs(activeChar, target, 1, false); - if (Config.GMAUDIT) + if (general().gmAudit()) { GMAudit.auditGMAction(activeChar.getName() + " [" + activeChar.getObjectId() + "]", "stopbuff", target.getName() + " (" + objId + ")", Integer.toString(skillId)); } @@ -374,7 +375,7 @@ public class AdminBuffs implements IAdminCommandHandler target.stopAllEffects(); activeChar.sendMessage("Removed all effects from " + target.getName() + " (" + objId + ")"); showBuffs(activeChar, target, 1, false); - if (Config.GMAUDIT) + if (general().gmAudit()) { GMAudit.auditGMAction(activeChar.getName() + " [" + activeChar.getObjectId() + "]", "stopallbuffs", target.getName() + " (" + objId + ")", ""); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminCHSiege.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminCHSiege.java index bc94969f1bc8893824994b5b6b5eaccae768a587..9a546d3cdb48db056bafa5bca8ec2b76a7435d3e 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminCHSiege.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminCHSiege.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.Calendar; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.instancemanager.ClanHallSiegeManager; @@ -61,7 +62,7 @@ public final class AdminCHSiege implements IAdminCommandHandler { final String[] split = command.split(" "); SiegableHall hall = null; - if (Config.NO_QUESTS) + if (general().noQuests()) { activeChar.sendMessage("AltDevNoQuests = true; Clan Hall Sieges are disabled!"); return false; diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminChangeAccessLevel.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminChangeAccessLevel.java index a57fe9b117aa2b37d7f2b98d6fdb82154c5f5829..d2cfae6056db3ca9f6af7f0b2deb8189466466ff 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminChangeAccessLevel.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminChangeAccessLevel.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import com.l2jserver.commons.database.ConnectionFactory; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2AccessLevel; @@ -94,7 +95,7 @@ public final class AdminChangeAccessLevel implements IAdminCommandHandler catch (SQLException se) { activeChar.sendMessage("SQLException while changing character's access level"); - if (Config.DEBUG) + if (general().debug()) { se.printStackTrace(); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEditChar.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEditChar.java index e2d5dad64da8e79bfccf8396329b5bdad845f00e..58d66ad4e7ef5b146d1f98c2a773da1c8c67c167 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEditChar.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEditChar.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.sql.Connection; import java.sql.PreparedStatement; import java.util.ArrayList; @@ -30,7 +32,6 @@ import java.util.StringTokenizer; import java.util.logging.Logger; import com.l2jserver.commons.database.ConnectionFactory; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.CharNameTable; import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.data.xml.impl.TransformData; @@ -189,7 +190,7 @@ public class AdminEditChar implements IAdminCommandHandler { setTargetKarma(activeChar, karma); } catch (Exception e) { - if (Config.DEVELOPER) { + if (general().developer()) { _log.warning("Set karma error: " + e); } activeChar.sendMessage("Usage: //setkarma <new_karma_value>"); @@ -213,9 +214,9 @@ public class AdminEditChar implements IAdminCommandHandler { activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); } } - catch (Exception e) { - if (Config.DEVELOPER) { - _log.warning("Set pk error: " + e); + catch (Exception ex) { + if (general().developer()) { + _log.warning("Set pk error: " + ex); } activeChar.sendMessage("Usage: //setpk <pk_count>"); } @@ -238,9 +239,9 @@ public class AdminEditChar implements IAdminCommandHandler { activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); } } - catch (Exception e) { - if (Config.DEVELOPER) { - _log.warning("Set pvp error: " + e); + catch (Exception ex) { + if (general().developer()) { + _log.warning("Set pvp error: " + ex); } activeChar.sendMessage("Usage: //setpvp <pvp_count>"); } @@ -263,9 +264,9 @@ public class AdminEditChar implements IAdminCommandHandler { activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); } } - catch (Exception e) { - if (Config.DEVELOPER) { - _log.warning("Set Fame error: " + e); + catch (Exception ex) { + if (general().developer()) { + _log.warning("Set Fame error: " + ex); } activeChar.sendMessage("Usage: //setfame <new_fame_value>"); } @@ -875,14 +876,14 @@ public class AdminEditChar implements IAdminCommandHandler { player.sendPacket(sm); // Admin information activeChar.sendMessage("Successfully Changed karma for " + player.getName() + " from (" + oldKarma + ") to (" + newKarma + ")."); - if (Config.DEBUG) { + if (general().debug()) { _log.fine("[SET KARMA] [GM]" + activeChar.getName() + " Changed karma for " + player.getName() + " from (" + oldKarma + ") to (" + newKarma + ")."); } } else { // tell admin of mistake activeChar.sendMessage("You must enter a value for karma greater than or equal to 0."); - if (Config.DEBUG) { + if (general().debug()) { _log.fine("[SET KARMA] ERROR: [GM]" + activeChar.getName() + " entered an incorrect value for new karma: " + newKarma + " for " + player.getName() + "."); } } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEffects.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEffects.java index 0788c0f0f4c63b2fd8339ee1b7de0502c1b159c2..fc4960bf74c92e88c62000147c8a6d6a41ac7cb0 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEffects.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEffects.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.Collection; import java.util.StringTokenizer; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.enums.Team; import com.l2jserver.gameserver.handler.IAdminCommandHandler; @@ -532,7 +533,7 @@ public class AdminEffects implements IAdminCommandHandler } catch (Exception e) { - if (Config.DEBUG) + if (general().debug()) { e.printStackTrace(); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEnchant.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEnchant.java index abca5db8e2985b09c75a85fd16d044944bee57c7..3893258a59bfc9088085448146fd3a28c4414adf 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEnchant.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEnchant.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -150,7 +151,7 @@ public class AdminEnchant implements IAdminCommandHandler } catch (StringIndexOutOfBoundsException e) { - if (Config.DEVELOPER) + if (general().developer()) { _log.warning("Set enchant error: " + e); } @@ -158,7 +159,7 @@ public class AdminEnchant implements IAdminCommandHandler } catch (NumberFormatException e) { - if (Config.DEVELOPER) + if (general().developer()) { _log.warning("Set enchant error: " + e); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEventEngine.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEventEngine.java index 989deb662b8a0c3fd90c0c39bd0e0dffa6409ac2..909c6b08c1dad597696f835d5a8f9e60cbd42647 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEventEngine.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminEventEngine.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; @@ -27,7 +29,6 @@ import java.io.PrintStream; import java.util.StringTokenizer; import com.l2jserver.commons.util.Rnd; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.data.xml.impl.TransformData; import com.l2jserver.gameserver.enums.audio.Music; @@ -103,7 +104,6 @@ public class AdminEventEngine implements IAdminCommandHandler showMainPage(activeChar); } } - else if (actualCommand.equals("admin_event_new")) { showNewEventPage(activeChar); @@ -113,7 +113,6 @@ public class AdminEventEngine implements IAdminCommandHandler // There is an exception here for not using the ST. We use spaces (ST delim) for the event info. tempBuffer += command.substring(10); showNewEventPage(activeChar); - } else if (actualCommand.startsWith("admin_event_see")) { @@ -123,7 +122,7 @@ public class AdminEventEngine implements IAdminCommandHandler { final NpcHtmlMessage adminReply = new NpcHtmlMessage(); - try (FileInputStream fis = new FileInputStream(Config.DATAPACK_ROOT + "/data/events/" + eventName); + try (FileInputStream fis = new FileInputStream(server().getDatapackRoot() + "/data/events/" + eventName); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr)) { @@ -138,17 +137,14 @@ public class AdminEventEngine implements IAdminCommandHandler } catch (Exception e) { - e.printStackTrace(); - } - } else if (actualCommand.startsWith("admin_event_del")) { // There is an exception here for not using the ST. We use spaces (ST delim) for the event name. String eventName = command.substring(16); - File file = new File(Config.DATAPACK_ROOT + "/data/events/" + eventName); + File file = new File(server().getDatapackRoot() + "/data/events/" + eventName); file.delete(); showMainPage(activeChar); } @@ -167,7 +163,7 @@ public class AdminEventEngine implements IAdminCommandHandler { try { - try (FileOutputStream file = new FileOutputStream(new File(Config.DATAPACK_ROOT, "data/events/" + tempName)); + try (FileOutputStream file = new FileOutputStream(new File(server().getDatapackRoot(), "data/events/" + tempName)); PrintStream p = new PrintStream(file)) { p.println(activeChar.getName()); @@ -442,7 +438,7 @@ public class AdminEventEngine implements IAdminCommandHandler private String showStoredEvents() { - final File dir = new File(Config.DATAPACK_ROOT, "/data/events"); + final File dir = new File(server().getDatapackRoot(), "/data/events"); if (dir.isFile()) { return "<font color=\"FF0000\">The directory '" + dir.getAbsolutePath() + "' is a file or is corrupted!</font><br>"; diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminExpSp.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminExpSp.java index 043035a9fbbad0f489f3d0e4415c40e673b40284..7c24450ebe2b267733b2a91865a2f1f56766b027 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminExpSp.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminExpSp.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.StringTokenizer; import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; @@ -153,7 +154,7 @@ public class AdminExpSp implements IAdminCommandHandler player.broadcastUserInfo(); // Admin information activeChar.sendMessage("Added " + expval + " xp and " + spval + " sp to " + player.getName() + "."); - if (Config.DEBUG) + if (general().debug()) { _log.fine("GM: " + activeChar.getName() + "(" + activeChar.getObjectId() + ") added " + expval + " xp and " + spval + " sp to " + player.getObjectId() + "."); } @@ -201,7 +202,7 @@ public class AdminExpSp implements IAdminCommandHandler player.broadcastUserInfo(); // Admin information activeChar.sendMessage("Removed " + expval + " xp and " + spval + " sp from " + player.getName() + "."); - if (Config.DEBUG) + if (general().debug()) { _log.fine("GM: " + activeChar.getName() + "(" + activeChar.getObjectId() + ") removed " + expval + " xp and " + spval + " sp from " + player.getObjectId() + "."); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHeal.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHeal.java index 297f1395a286cae80cdfe3d0f32f4a953440c373..bbe8bd882dab491dbfeea420764ed0a9ab2edb37 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHeal.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHeal.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.Collection; import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; @@ -57,7 +58,7 @@ public class AdminHeal implements IAdminCommandHandler } catch (StringIndexOutOfBoundsException e) { - if (Config.DEVELOPER) + if (general().developer()) { _log.warning("Heal error: " + e); } @@ -129,7 +130,7 @@ public class AdminHeal implements IAdminCommandHandler { target.setCurrentCp(target.getMaxCp()); } - if (Config.DEBUG) + if (general().debug()) { _log.fine("GM: " + activeChar.getName() + "(" + activeChar.getObjectId() + ") healed character " + target.getName()); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHtml.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHtml.java index 4ca27fa6e355821323c0b44fdb5e649bdd78219c..78239f839c2381ecacb26cbc4a5b1bd71b48b37a 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHtml.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminHtml.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.File; import java.util.StringTokenizer; import com.l2jserver.gameserver.cache.HtmCache; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; @@ -86,7 +87,7 @@ public class AdminHtml implements IAdminCommandHandler /** * Shows a html message to activeChar. * @param activeChar activeChar where html message is shown. - * @param path relative path from Config.DATAPACK_ROOT to html. + * @param path relative path from Configuration.getInstance().server().getDatapackRoot() to html. * @param reload {@code true} will reload html and show it {@code false} will show it from cache. */ public static void showHtml(L2PcInstance activeChar, String path, boolean reload) @@ -98,7 +99,7 @@ public class AdminHtml implements IAdminCommandHandler } else { - File file = new File(Config.DATAPACK_ROOT, path); + File file = new File(server().getDatapackRoot(), path); content = HtmCache.getInstance().loadFile(file); } final NpcHtmlMessage html = new NpcHtmlMessage(); diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminInvul.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminInvul.java index 3a47707c67899bbe3861ccdf610b165207322198..3e03a0265d594aa76abf457d24e61de46799e958 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminInvul.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminInvul.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -71,7 +72,7 @@ public class AdminInvul implements IAdminCommandHandler { activeChar.setIsInvul(false); text = activeChar.getName() + " is now mortal"; - if (Config.DEBUG) + if (general().debug()) { _log.fine("GM: Gm removed invul mode from character " + activeChar.getName() + "(" + activeChar.getObjectId() + ")"); } @@ -80,7 +81,7 @@ public class AdminInvul implements IAdminCommandHandler { activeChar.setIsInvul(true); text = activeChar.getName() + " is now invulnerable"; - if (Config.DEBUG) + if (general().debug()) { _log.fine("GM: Gm activated invul mode for character " + activeChar.getName() + "(" + activeChar.getObjectId() + ")"); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminKill.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminKill.java index 6530d1a0637297f71b4db5d96d60232d8a511a10..f5863589b3b011d9d9a68f6570caf270812f25e5 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminKill.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminKill.java @@ -18,10 +18,12 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.customs; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.StringTokenizer; import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; @@ -135,9 +137,9 @@ public class AdminKill implements IAdminCommandHandler } target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null); } - else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion()) + else if (customs().championEnable() && target.isChampion()) { - target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null); + target.reduceCurrentHp((target.getMaxHp() * customs().getChampionHp()) + 1, activeChar, null); } else { @@ -155,7 +157,7 @@ public class AdminKill implements IAdminCommandHandler target.setIsInvul(true); } } - if (Config.DEBUG) + if (general().debug()) { _log.fine("GM: " + activeChar.getName() + "(" + activeChar.getObjectId() + ")" + " killed character " + target.getObjectId()); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminLogin.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminLogin.java index 1cc4dc895935f321be8ba6638fa188c598b80b61..9fc60219db05e63e1e721b88cd12038453513b76 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminLogin.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminLogin.java @@ -18,10 +18,12 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.StringTokenizer; import com.l2jserver.gameserver.LoginServerThread; -import com.l2jserver.gameserver.config.Config; +import com.l2jserver.gameserver.config.converter.ServerListTypeConverter; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.gameserverpackets.ServerStatus; @@ -101,11 +103,12 @@ public class AdminLogin implements IAdminCommandHandler } catch (NumberFormatException e) { - newType = Config.getServerTypeId(modes); + newType = ServerListTypeConverter.getServerTypeId(modes); } - if (Config.SERVER_LIST_TYPE != newType) + + if (general().getServerListType() != newType) { - Config.SERVER_LIST_TYPE = newType; + general().setProperty("ServerListType", String.valueOf(newType)); LoginServerThread.getInstance().sendServerType(); activeChar.sendMessage("Server Type changed to " + getServerTypeName(newType)); showMainPage(activeChar); @@ -132,9 +135,9 @@ public class AdminLogin implements IAdminCommandHandler try { age = Integer.parseInt(mode); - if (Config.SERVER_LIST_AGE != age) + if (general().getServerListAge() != age) { - Config.SERVER_LIST_TYPE = age; + general().setProperty("ServerListAge", String.valueOf(age)); LoginServerThread.getInstance().sendServerStatus(ServerStatus.SERVER_AGE, age); activeChar.sendMessage("Server Age changed to " + age); showMainPage(activeChar); @@ -162,17 +165,14 @@ public class AdminLogin implements IAdminCommandHandler return true; } - /** - * @param activeChar - */ private void showMainPage(L2PcInstance activeChar) { final NpcHtmlMessage html = new NpcHtmlMessage(); html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/login.htm"); html.replace("%server_name%", LoginServerThread.getInstance().getServerName()); html.replace("%status%", LoginServerThread.getInstance().getStatusString()); - html.replace("%clock%", getServerTypeName(Config.SERVER_LIST_TYPE)); - html.replace("%brackets%", String.valueOf(Config.SERVER_LIST_BRACKET)); + html.replace("%clock%", getServerTypeName(general().getServerListType())); + html.replace("%brackets%", String.valueOf(general().getServerListBrackets())); html.replace("%max_players%", String.valueOf(LoginServerThread.getInstance().getMaxPlayer())); activeChar.sendPacket(html); } @@ -220,22 +220,16 @@ public class AdminLogin implements IAdminCommandHandler return nameType; } - /** - * - */ private void allowToAll() { LoginServerThread.getInstance().setServerStatus(ServerStatus.STATUS_AUTO); - Config.SERVER_GMONLY = false; + general().setProperty("ServerGMOnly", "false"); } - /** - * - */ private void gmOnly() { LoginServerThread.getInstance().setServerStatus(ServerStatus.STATUS_GM_ONLY); - Config.SERVER_GMONLY = true; + general().setProperty("ServerGMOnly", "true"); } @Override diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminMenu.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminMenu.java index 6b3fdb02ca05fb5c821ba628945a5f339c4b0265..746d0d8583dc1e938ad0994a206eed2d30910b3d 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminMenu.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminMenu.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.customs; + import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.handler.AdminCommandHandler; import com.l2jserver.gameserver.handler.IAdminCommandHandler; @@ -253,9 +254,9 @@ public class AdminMenu implements IAdminCommandHandler target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null); filename = "charmanage.htm"; } - else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion()) + else if (customs().championEnable() && target.isChampion()) { - target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null); + target.reduceCurrentHp((target.getMaxHp() * customs().getChampionHp()) + 1, activeChar, null); } else { diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPathNode.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPathNode.java index 74ee304ac2c14db94086a6167c57a05ea907e862..34bb938ca6ff97a2eceb9b40d43adbf15ad8a0bc 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPathNode.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPathNode.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.geodata; + import java.util.List; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.pathfinding.AbstractNodeLoc; @@ -69,8 +70,7 @@ public class AdminPathNode implements IAdminCommandHandler } else if (command.equals("admin_find_path")) { - if (Config.PATHFINDING == 0) - { + if (geodata().getPathFinding() == 0) { activeChar.sendMessage("PathFinding is disabled."); return true; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPunishment.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPunishment.java index 989126101bff67fd3eeb41d1738deb42a6543c14..b1d49f4f981b9decb52f9d193cf9b75dc02dc0fe 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPunishment.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPunishment.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.ip; + import java.net.InetAddress; import java.net.UnknownHostException; import java.text.SimpleDateFormat; @@ -27,7 +29,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.cache.HtmCache; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.CharNameTable; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.instancemanager.PunishmentManager; @@ -262,7 +263,7 @@ public class AdminPunishment implements IAdminCommandHandler { throw new UnknownHostException("You cannot ban any local address!"); } - else if (Config.GAME_SERVER_HOSTS.contains(addr.getHostAddress())) + else if (ip().getHosts().contains(addr.getHostAddress())) { throw new UnknownHostException("You cannot ban your gameserver's address!"); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminQuest.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminQuest.java index 29fc44955fb9192d1b81dacf5d114b0117aae1ff..3df800d011f216eb5bcdd5dfe208137d6c623340 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminQuest.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminQuest.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.File; import java.util.List; import java.util.Set; @@ -28,7 +30,6 @@ import javax.script.ScriptException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.instancemanager.QuestManager; import com.l2jserver.gameserver.model.actor.L2Character; @@ -123,14 +124,14 @@ public class AdminQuest implements IAdminCommandHandler } else { - File file = new File(Config.SCRIPT_ROOT, "com/l2jserver/datapack/" + parts[1]); + File file = new File(server().getScriptRoot(), "com/l2jserver/datapack/" + parts[1]); // Trying to reload by script name. if (!file.exists()) { Quest quest = QuestManager.getInstance().getQuest(parts[1]); if (quest != null) { - file = new File(Config.SCRIPT_ROOT, "com/l2jserver/datapack/" + quest.getClass().getName().replaceAll("\\.", "/") + ".java"); + file = new File(server().getScriptRoot(), "com/l2jserver/datapack/" + quest.getClass().getName().replaceAll("\\.", "/") + ".java"); } } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReload.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReload.java index 3d94b8b201bc6596a28e490b4ddf7d05f6246384..9d09a22fcda6a96b6caaa3e6fb727b1005ada1f6 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReload.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReload.java @@ -18,11 +18,15 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.File; import java.util.StringTokenizer; +import org.aeonbits.owner.Reloadable; + import com.l2jserver.gameserver.cache.HtmCache; -import com.l2jserver.gameserver.config.Config; +import com.l2jserver.gameserver.config.Configuration; import com.l2jserver.gameserver.data.sql.impl.CrestTable; import com.l2jserver.gameserver.data.sql.impl.TeleportLocationTable; import com.l2jserver.gameserver.data.xml.impl.AdminData; @@ -74,10 +78,34 @@ public class AdminReload implements IAdminCommandHandler final String type = st.nextToken(); switch (type.toLowerCase()) { - case "config": - { - Config.load(); - AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Configs."); + case "config": { + if (st.hasMoreElements()) { + final var configName = st.nextToken(); + try { + final var field = Configuration.class.getDeclaredField(configName); + if (Reloadable.class.isAssignableFrom(field.getType())) { + field.setAccessible(true); + ((Reloadable) field.get(null)).reload(); + AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded " + configName + " configuration."); + } else { + activeChar.sendMessage(configName + " configuration cannot be reloaded."); + } + } catch (Exception ex) { + activeChar.sendMessage("Failed to reload configuration " + configName + "."); + } + } else { + for (var field : Configuration.class.getDeclaredFields()) { + if (Reloadable.class.isAssignableFrom(field.getType())) { + try { + field.setAccessible(true); + ((Reloadable) field.get(null)).reload(); + } catch (Exception ex) { + activeChar.sendMessage("Failed to reload configuration " + field.getName() + "."); + } + } + } + AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded all configurations."); + } break; } case "access": @@ -130,7 +158,7 @@ public class AdminReload implements IAdminCommandHandler if (st.hasMoreElements()) { final String path = st.nextToken(); - final File file = new File(Config.DATAPACK_ROOT, "data/html/" + path); + final File file = new File(server().getDatapackRoot(), "data/html/" + path); if (file.exists()) { HtmCache.getInstance().reload(file); @@ -205,14 +233,14 @@ public class AdminReload implements IAdminCommandHandler } case "effect": { - final File file = new File(Config.SCRIPT_ROOT, "com/l2jserver/datapack/handlers/EffectMasterHandler.java"); + final File file = new File(server().getScriptRoot(), "com/l2jserver/datapack/handlers/EffectMasterHandler.java"); ScriptEngineManager.getInstance().compileScript(file); AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Effects."); break; } case "handler": { - final File file = new File(Config.SCRIPT_ROOT, "com/l2jserver/datapack/handlers/MasterHandler.java"); + final File file = new File(server().getScriptRoot(), "com/l2jserver/datapack/handlers/MasterHandler.java"); ScriptEngineManager.getInstance().compileScript(file); AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Handlers."); break; diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminRes.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminRes.java index 0ffc3e6b30d48c8f8d36e2e72e0e2431fb3ed236..07526f9e6eb6dc087530785991a2dd4118a1bb3a 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminRes.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminRes.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; @@ -126,7 +127,7 @@ public class AdminRes implements IAdminCommandHandler doResurrect((L2Character) obj); - if (Config.DEBUG) + if (general().debug()) { _log.fine("GM: " + activeChar.getName() + "(" + activeChar.getObjectId() + ") resurrected character " + obj.getObjectId()); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSkill.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSkill.java index abd0696a88a6c981baeb5ce31823a9eaf3f37805..1446531e99113dda456b87c5ebc9adc2e849a1bf 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSkill.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSkill.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.Map; import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.datatables.SkillData; @@ -474,7 +475,7 @@ public class AdminSkill implements IAdminCommandHandler player.sendSkillList(); // Admin info. activeChar.sendMessage("You gave the skill " + name + " to " + player.getName() + "."); - if (Config.DEBUG) + if (general().debug()) { _log.fine("[GM]" + activeChar.getName() + " gave skill " + name + " to " + player.getName() + "."); } @@ -509,7 +510,7 @@ public class AdminSkill implements IAdminCommandHandler player.removeSkill(skill); // Admin information activeChar.sendMessage("You removed the skill " + skillname + " from " + player.getName() + "."); - if (Config.DEBUG) + if (general().debug()) { _log.fine("[GM]" + activeChar.getName() + " removed skill " + skillname + " from " + player.getName() + "."); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSpawn.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSpawn.java index 2fef5e50e871f6f8efb32baa4567f017627ab16b..f76e08e7a645db63dcca550f5933fba8063b256d 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSpawn.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminSpawn.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.List; import java.util.NoSuchElementException; import java.util.StringTokenizer; @@ -26,7 +28,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import com.l2jserver.gameserver.SevenSigns; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.datatables.SpawnTable; @@ -413,7 +414,7 @@ public class AdminSpawn implements IAdminCommandHandler try { final L2Spawn spawn = new L2Spawn(template); - if (Config.SAVE_GMSPAWN_ON_CUSTOM) + if (general().saveGmSpawnOnCustom()) { spawn.setCustom(true); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTeleport.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTeleport.java index ca1bc2f7f989cfcf99f875b5279665f4137d7710..c929da50694927abe93b71a3c20dfb2864288742 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTeleport.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTeleport.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; @@ -27,7 +29,6 @@ import java.util.logging.Logger; import com.l2jserver.commons.database.ConnectionFactory; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.datatables.SpawnTable; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.instancemanager.MapRegionManager; @@ -131,7 +132,7 @@ public class AdminTeleport implements IAdminCommandHandler } catch (Exception e) { - if (Config.DEBUG) + if (general().debug()) { _log.info("admin_walk: " + e); } @@ -540,7 +541,7 @@ public class AdminTeleport implements IAdminCommandHandler try { spawn = new L2Spawn(target.getTemplate().getId()); - if (Config.SAVE_GMSPAWN_ON_CUSTOM) + if (general().saveGmSpawnOnCustom()) { spawn.setCustom(true); } @@ -563,7 +564,7 @@ public class AdminTeleport implements IAdminCommandHandler activeChar.sendMessage("Created " + target.getTemplate().getName() + " on " + target.getObjectId() + "."); - if (Config.DEBUG) + if (general().debug()) { _log.fine("Spawn at X=" + spawn.getX() + " Y=" + spawn.getY() + " Z=" + spawn.getZ()); _log.warning("GM: " + activeChar.getName() + "(" + activeChar.getObjectId() + ") moved NPC " + target.getObjectId()); @@ -591,7 +592,7 @@ public class AdminTeleport implements IAdminCommandHandler try { final L2Spawn spawnDat = new L2Spawn(target.getId()); - if (Config.SAVE_GMSPAWN_ON_CUSTOM) + if (general().saveGmSpawnOnCustom()) { spawn.setCustom(true); } @@ -615,5 +616,4 @@ public class AdminTeleport implements IAdminCommandHandler activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); } } - } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTerritoryWar.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTerritoryWar.java index 6c837ce9331a6aafec33346b0d51ba842f895f38..229cb41da91b5db37a58f1725c4b0cc29b9cd580 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTerritoryWar.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTerritoryWar.java @@ -18,6 +18,9 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.territoryWar; +import static java.util.concurrent.TimeUnit.MINUTES; + import java.util.Calendar; import java.util.List; import java.util.StringTokenizer; @@ -121,7 +124,7 @@ public class AdminTerritoryWar implements IAdminCommandHandler } else if (command.equalsIgnoreCase("admin_territory_war_end")) { - TerritoryWarManager.getInstance().setTWStartTimeInMillis(System.currentTimeMillis() - TerritoryWarManager.WARLENGTH); + TerritoryWarManager.getInstance().setTWStartTimeInMillis(System.currentTimeMillis() - MINUTES.toMillis(territoryWar().getWarLength())); } else if (command.equalsIgnoreCase("admin_territory_wards_list")) { diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTest.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTest.java index 0506bea428864fc20fdf3c4c112ad8c9be78bbd2..c5e959c4256ef63d82e971c4fa0788cb84fb5bb4 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTest.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTest.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.NoSuchElementException; import java.util.StringTokenizer; import com.l2jserver.gameserver.ThreadPoolManager; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; @@ -80,20 +81,15 @@ public class AdminTest implements IAdminCommandHandler } else if (command.equals("admin_known on")) { - Config.CHECK_KNOWN = true; + general().setProperty("CheckKnownList", "true"); } else if (command.equals("admin_known off")) { - Config.CHECK_KNOWN = false; + general().setProperty("CheckKnownList", "false"); } return true; } - /** - * @param activeChar - * @param id - * @param msu - */ private void adminTestSkill(L2PcInstance activeChar, int id, boolean msu) { L2Character caster; diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTvTEvent.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTvTEvent.java index 939991eaf68191aadc29f6be4e1793658245db4c..e967e3134243150492293a47227bafd68818e24f 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTvTEvent.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminTvTEvent.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.tvt; + import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -107,6 +108,6 @@ public class AdminTvTEvent implements IAdminCommandHandler return; } - new TvTEventTeleporter(playerInstance, Config.TVT_EVENT_PARTICIPATION_NPC_COORDINATES, true, true); + new TvTEventTeleporter(playerInstance, tvt().getParticipationNpcLoc(), true, true); } } diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java index 4fa08056737f3a09fd4e62f4b0c7711b0d3db23b..9650d85ca39b8ca785821703d1ebafb4562922bd 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.admincommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.vitality; + import java.util.StringTokenizer; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.actor.stat.PcStat; @@ -48,7 +49,7 @@ public class AdminVitality implements IAdminCommandHandler return false; } - if (!Config.ENABLE_VITALITY) + if (!vitality().enabled()) { activeChar.sendMessage("Vitality is not enabled on the server!"); return false; diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ClanWarehouse.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ClanWarehouse.java index a97d3cd858ea7d10e3b9c4dfe4f389d8404ef442..793cfcdb78cea344cec64bff16ed4b46d3afb4e8 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ClanWarehouse.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ClanWarehouse.java @@ -18,9 +18,11 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.customs; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.logging.Level; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.model.ClanPrivilege; import com.l2jserver.gameserver.model.actor.L2Character; @@ -75,7 +77,7 @@ public class ClanWarehouse implements IBypassHandler { if (command.toLowerCase().startsWith(COMMANDS[0])) // WithdrawC { - if (Config.L2JMOD_ENABLE_WAREHOUSESORTING_CLAN) + if (customs().enableWarehouseSortingClan()) { final NpcHtmlMessage msg = new NpcHtmlMessage(((L2Npc) target).getObjectId()); msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/WhSortedC.htm"); @@ -112,7 +114,7 @@ public class ClanWarehouse implements IBypassHandler activeChar.setActiveWarehouse(activeChar.getClan().getWarehouse()); activeChar.setInventoryBlockingStatus(true); - if (Config.DEBUG) + if (general().debug()) { _log.fine("Source: L2WarehouseInstance.java; Player: " + activeChar.getName() + "; Command: showDepositWindowClan; Message: Showing items to deposit."); } @@ -164,7 +166,7 @@ public class ClanWarehouse implements IBypassHandler player.sendPacket(new WareHouseWithdrawalList(player, WareHouseWithdrawalList.CLAN)); } - if (Config.DEBUG) + if (general().debug()) { _log.fine("Source: L2WarehouseInstance.java; Player: " + player.getName() + "; Command: showRetrieveWindowClan; Message: Showing stored items."); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Festival.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Festival.java index f6ac5bb750e2e07bfcc7a7d9fa0ece5785e047aa..7e6e0a6c384d6af1f7f86c0573ed0a695e9bb1bd 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Festival.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Festival.java @@ -18,13 +18,14 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.sevenSings; + import java.util.Calendar; import java.util.List; import java.util.logging.Level; import com.l2jserver.gameserver.SevenSigns; import com.l2jserver.gameserver.SevenSignsFestival; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.model.L2Party; import com.l2jserver.gameserver.model.L2Party.messageType; @@ -101,7 +102,7 @@ public class Festival implements IBypassHandler } // Check to see if the party has at least 5 members. - if (party.getMemberCount() < Config.ALT_FESTIVAL_MIN_PLAYER) + if (party.getMemberCount() < sevenSings().getFestivalMinPlayer()) { npc.showChatWindow(activeChar, 2, "b", false); return true; @@ -311,7 +312,7 @@ public class Festival implements IBypassHandler } else { - if (party.getMemberCount() > Config.ALT_FESTIVAL_MIN_PLAYER) + if (party.getMemberCount() > sevenSings().getFestivalMinPlayer()) { party.removePartyMember(activeChar, messageType.Expelled); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ItemAuctionLink.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ItemAuctionLink.java index 96cba167fa962634551a5c86e1afe42786bbc73a..882515a024f465658f89316603e4a53826a59c19 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ItemAuctionLink.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/ItemAuctionLink.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.text.SimpleDateFormat; import java.util.Date; import java.util.StringTokenizer; import java.util.logging.Level; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.instancemanager.ItemAuctionManager; import com.l2jserver.gameserver.model.actor.L2Character; @@ -50,7 +51,7 @@ public class ItemAuctionLink implements IBypassHandler return false; } - if (!Config.ALT_ITEM_AUCTION_ENABLED) + if (!general().itemAuctionEnabled()) { activeChar.sendPacket(SystemMessageId.NO_AUCTION_PERIOD); return true; diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Loto.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Loto.java index 7a0e30cd2b2d4e354d9848eb17e0cebc28bde187..337be811a31f335213e06afd7cf6e55ad8adf59c 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Loto.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Loto.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.text.DateFormat; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.idfactory.IdFactory; import com.l2jserver.gameserver.instancemanager.games.Lottery; @@ -191,7 +192,7 @@ public class Loto implements IBypassHandler return; } - long price = Config.ALT_LOTTERY_TICKET_PRICE; + long price = general().getLotteryTicketPrice(); int lotonumber = Lottery.getInstance().getId(); int enchant = 0; int type2 = 0; @@ -329,11 +330,11 @@ public class Loto implements IBypassHandler html.replace("%objectId%", String.valueOf(npc.getObjectId())); html.replace("%race%", "" + Lottery.getInstance().getId()); html.replace("%adena%", "" + Lottery.getInstance().getPrize()); - html.replace("%ticket_price%", "" + Config.ALT_LOTTERY_TICKET_PRICE); - html.replace("%prize5%", "" + (Config.ALT_LOTTERY_5_NUMBER_RATE * 100)); - html.replace("%prize4%", "" + (Config.ALT_LOTTERY_4_NUMBER_RATE * 100)); - html.replace("%prize3%", "" + (Config.ALT_LOTTERY_3_NUMBER_RATE * 100)); - html.replace("%prize2%", "" + Config.ALT_LOTTERY_2_AND_1_NUMBER_PRIZE); + html.replace("%ticket_price%", "" +general().getLotteryTicketPrice()); + html.replace("%prize5%", "" + (general().getLottery5NumberRate() * 100)); + html.replace("%prize4%", "" + (general().getLottery4NumberRate() * 100)); + html.replace("%prize3%", "" + (general().getLottery3NumberRate() * 100)); + html.replace("%prize2%", "" + general().getLottery2and1NumberPrize()); html.replace("%enddate%", "" + DateFormat.getDateInstance().format(Lottery.getInstance().getEndDate())); player.sendPacket(html); diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/OlympiadManagerLink.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/OlympiadManagerLink.java index d538efe2cb36f1cbfdd912a6e148f4ba6ae1c25c..7f3a7b6316ff0377a7b525862e2fe2d9a1b18fec 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/OlympiadManagerLink.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/OlympiadManagerLink.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.olympiad; + import java.util.Collection; import java.util.List; import java.util.logging.Level; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.NpcBufferTable; import com.l2jserver.gameserver.data.sql.impl.NpcBufferTable.NpcBufferData; import com.l2jserver.gameserver.data.xml.impl.MultisellData; @@ -59,9 +60,9 @@ public class OlympiadManagerLink implements IBypassHandler "olympiad" }; - private static final String FEWER_THAN = "Fewer than " + String.valueOf(Config.ALT_OLY_REG_DISPLAY); - private static final String MORE_THAN = "More than " + String.valueOf(Config.ALT_OLY_REG_DISPLAY); - private static final int GATE_PASS = Config.ALT_OLY_COMP_RITEM; + private static final String FEWER_THAN = "Fewer than " + String.valueOf(olympiad().getRegistrationDisplayNumber()); + private static final String MORE_THAN = "More than " + String.valueOf(olympiad().getRegistrationDisplayNumber()); + private static final int GATE_PASS = olympiad().getCompetitionRewardItem(); private static final int[] BUFFS = { @@ -157,11 +158,11 @@ public class OlympiadManagerLink implements IBypassHandler } } html.setFile(activeChar.getHtmlPrefix(), Olympiad.OLYMPIAD_HTML_PATH + "noble_registered.htm"); - if (Config.ALT_OLY_REG_DISPLAY > 0) + if (olympiad().getRegistrationDisplayNumber() > 0) { - html.replace("%listClassed%", classed < Config.ALT_OLY_REG_DISPLAY ? FEWER_THAN : MORE_THAN); - html.replace("%listNonClassedTeam%", teams < Config.ALT_OLY_REG_DISPLAY ? FEWER_THAN : MORE_THAN); - html.replace("%listNonClassed%", nonClassed < Config.ALT_OLY_REG_DISPLAY ? FEWER_THAN : MORE_THAN); + html.replace("%listClassed%", classed < olympiad().getRegistrationDisplayNumber() ? FEWER_THAN : MORE_THAN); + html.replace("%listNonClassedTeam%", teams < olympiad().getRegistrationDisplayNumber() ? FEWER_THAN : MORE_THAN); + html.replace("%listNonClassed%", nonClassed < olympiad().getRegistrationDisplayNumber() ? FEWER_THAN : MORE_THAN); } else { @@ -290,7 +291,7 @@ public class OlympiadManagerLink implements IBypassHandler if (buffCount > 0) { - html.setFile(activeChar.getHtmlPrefix(), buffCount == Config.ALT_OLY_MAX_BUFFS ? Olympiad.OLYMPIAD_HTML_PATH + "olympiad_buffs.htm" : Olympiad.OLYMPIAD_HTML_PATH + "olympiad_5buffs.htm"); + html.setFile(activeChar.getHtmlPrefix(), buffCount == olympiad().getMaxBuffs() ? Olympiad.OLYMPIAD_HTML_PATH + "olympiad_buffs.htm" : Olympiad.OLYMPIAD_HTML_PATH + "olympiad_5buffs.htm"); html.replace("%objectId%", String.valueOf(target.getObjectId())); activeChar.sendPacket(html); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/PrivateWarehouse.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/PrivateWarehouse.java index c8b2fd4eb4d38056fbd06bde46b356884af9fdf6..1b381c13af98e2b245ed4a831528cc1612e33ba7 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/PrivateWarehouse.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/PrivateWarehouse.java @@ -18,9 +18,11 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.customs; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.logging.Level; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -59,7 +61,7 @@ public class PrivateWarehouse implements IBypassHandler { if (command.toLowerCase().startsWith(COMMANDS[0])) // WithdrawP { - if (Config.L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE) + if (customs().enableWarehouseSortingPrivate()) { final NpcHtmlMessage msg = new NpcHtmlMessage(((L2Npc) target).getObjectId()); msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/WhSortedP.htm"); @@ -128,7 +130,7 @@ public class PrivateWarehouse implements IBypassHandler player.sendPacket(new WareHouseWithdrawalList(player, WareHouseWithdrawalList.PRIVATE)); } - if (Config.DEBUG) + if (general().debug()) { _log.fine("Source: L2WarehouseInstance.java; Player: " + player.getName() + "; Command: showRetrieveWindow; Message: Showing stored items."); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/RentPet.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/RentPet.java index 42a7df7e174b9d74ca232691129241c4ded2f9f8..f9ba349d6cdd2352679a1ee03285b5250ccb2f68 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/RentPet.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/RentPet.java @@ -18,9 +18,11 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.general; +import static com.l2jserver.gameserver.config.Configuration.npc; + import java.util.StringTokenizer; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -44,12 +46,12 @@ public class RentPet implements IBypassHandler return false; } - if (!Config.ALLOW_RENTPET) + if (!general().allowRentPet()) { return false; } - if (!Config.LIST_PET_RENT_NPC.contains(target.getId())) + if (!npc().getPetRentNPCs().contains(target.getId())) { return false; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/SkillList.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/SkillList.java index 0061287fd367994ee326793b319b285b108f904e..e031c849eb316ef48113aae5513aeff16408f651 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/SkillList.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/SkillList.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.character; + import java.util.List; import java.util.logging.Level; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.model.actor.L2Character; @@ -47,7 +48,7 @@ public class SkillList implements IBypassHandler return false; } - if (Config.ALT_GAME_SKILL_LEARN) + if (character().skillLearn()) { try { diff --git a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Wear.java b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Wear.java index 8648ebfa98e3fd73a90f26062bb24eb3d0317772..69d09184e0096ee9703785d8519544869525f18e 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Wear.java +++ b/src/main/java/com/l2jserver/datapack/handlers/bypasshandlers/Wear.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.bypasshandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.StringTokenizer; import java.util.logging.Level; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.BuyListData; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.model.actor.L2Character; @@ -45,7 +46,7 @@ public class Wear implements IBypassHandler return false; } - if (!Config.ALLOW_WEAR) + if (!general().allowWear()) { return false; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAll.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAll.java index b732a5aeab802b2a2abc90ce140bcb20271307e5..ad107c1f2a398167f5bf8cfaec17b8c722bbf80d 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAll.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAll.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.handlers.chathandlers; +import static com.l2jserver.gameserver.config.Configuration.general; + import java.util.Collection; import java.util.StringTokenizer; import java.util.logging.Logger; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.handler.VoicedCommandHandler; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.BlockList; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -45,9 +45,6 @@ public class ChatAll implements IChatHandler 0 }; - /** - * Handle chat type 'all' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String params, String text) { @@ -67,7 +64,7 @@ public class ChatAll implements IChatHandler else { command = text.substring(1); - if (Config.DEBUG) + if (general().debug()) { _log.info("Command: " + command); } @@ -80,7 +77,7 @@ public class ChatAll implements IChatHandler } else { - if (Config.DEBUG) + if (general().debug()) { _log.warning("No handler registered for bypass '" + command + "'"); } @@ -89,7 +86,7 @@ public class ChatAll implements IChatHandler } if (!vcd_used) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -119,9 +116,6 @@ public class ChatAll implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAlliance.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAlliance.java index fdb5ebc147de89c2fa8b2ec47d2754c4c32ed77a..9f8cd1488593385c125cdf1bb79cccf6440cc01c 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAlliance.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatAlliance.java @@ -18,12 +18,12 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; public class ChatAlliance implements IChatHandler { @@ -32,15 +32,12 @@ public class ChatAlliance implements IChatHandler 9 }; - /** - * Handle chat type 'alliance' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { if (activeChar.getClan() != null) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -51,9 +48,6 @@ public class ChatAlliance implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatBattlefield.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatBattlefield.java index 82d2813ca56b0c084c31294fa20399a54a953bad..8e902eae2e437539ec075732f1bbe4043ffe293e 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatBattlefield.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatBattlefield.java @@ -18,14 +18,14 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.instancemanager.TerritoryWarManager; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -38,15 +38,12 @@ public class ChatBattlefield implements IChatHandler 20 }; - /** - * Handle chat type 'battlefield' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { if (TerritoryWarManager.getInstance().isTWChannelOpen() && (activeChar.getSiegeSide() > 0)) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -63,9 +60,6 @@ public class ChatBattlefield implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatClan.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatClan.java index a0522564543fb8c8e2af5763f99270e8d2ddae5f..0ca5f3e9335e44102b11655baa7848a23d18c787 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatClan.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatClan.java @@ -18,12 +18,12 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -36,15 +36,12 @@ public class ChatClan implements IChatHandler 4 }; - /** - * Handle chat type 'clan' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { if (activeChar.getClan() != null) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -55,9 +52,6 @@ public class ChatClan implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatHeroVoice.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatHeroVoice.java index 74cbe3c3bd4ba3fe2fd53484218437d3491b63bf..bda964a40b1ad349d587779b8f6ece4045b636ea 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatHeroVoice.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatHeroVoice.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.BlockList; import com.l2jserver.gameserver.model.L2World; @@ -26,7 +27,6 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * Hero chat handler. @@ -39,15 +39,12 @@ public class ChatHeroVoice implements IChatHandler 17 }; - /** - * Handle chat type 'hero voice' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { if (activeChar.isHero() || activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -70,9 +67,6 @@ public class ChatHeroVoice implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatParty.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatParty.java index eb8e0787f4c2b3fae7af9cb0f679202db1d3bf20..8f163f0b512354f5407fc87b848a362e46b85f2a 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatParty.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatParty.java @@ -18,12 +18,12 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -36,15 +36,12 @@ public class ChatParty implements IChatHandler 3 }; - /** - * Handle chat type 'party' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { if (activeChar.isInParty()) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -55,9 +52,6 @@ public class ChatParty implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyMatchRoom.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyMatchRoom.java index 4898b3a88d8d9390f964859d95709012f93fae84..68bbf17bb44a9ffa52934473020b7bd524a32cad 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyMatchRoom.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyMatchRoom.java @@ -18,14 +18,14 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.PartyMatchRoom; import com.l2jserver.gameserver.model.PartyMatchRoomList; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -38,9 +38,6 @@ public class ChatPartyMatchRoom implements IChatHandler 14 }; - /** - * Handle chat type 'partymatchroom' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { @@ -49,7 +46,7 @@ public class ChatPartyMatchRoom implements IChatHandler PartyMatchRoom _room = PartyMatchRoomList.getInstance().getPlayerRoom(activeChar); if (_room != null) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -64,17 +61,9 @@ public class ChatPartyMatchRoom implements IChatHandler } } - /** - * Returns the chat types registered to this handler - */ @Override public int[] getChatTypeList() { return COMMAND_IDS; } - - public static void main(String[] args) - { - new ChatPartyMatchRoom(); - } } \ No newline at end of file diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomAll.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomAll.java index bc9036046a509f683b3da194b7d8ef5943706139..a2085aa933179aeebb1c49f0b37f7ac9caa94279 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomAll.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomAll.java @@ -18,12 +18,12 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -36,9 +36,6 @@ public class ChatPartyRoomAll implements IChatHandler 16 }; - /** - * Handle chat type 'party room all' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { @@ -46,7 +43,7 @@ public class ChatPartyRoomAll implements IChatHandler { if (activeChar.getParty().isInCommandChannel() && activeChar.getParty().isLeader(activeChar)) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -58,9 +55,6 @@ public class ChatPartyRoomAll implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomCommander.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomCommander.java index be71daf3842dbc3ac7b32f31337e11da3b24b5a9..49e612145634d118ab612bc44ba150accccf2895 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomCommander.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPartyRoomCommander.java @@ -18,12 +18,12 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -36,9 +36,6 @@ public class ChatPartyRoomCommander implements IChatHandler 15 }; - /** - * Handle chat type 'party room commander' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { @@ -46,7 +43,7 @@ public class ChatPartyRoomCommander implements IChatHandler { if (activeChar.getParty().isInCommandChannel() && activeChar.getParty().getCommandChannel().getLeader().equals(activeChar)) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -58,9 +55,6 @@ public class ChatPartyRoomCommander implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPetition.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPetition.java index dadb3e612218e6a454480a4744fd9d334c1ec0a0..a89fcf9694914b81ee02fa0d4b45cd1b24086ce2 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPetition.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatPetition.java @@ -18,12 +18,12 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.instancemanager.PetitionManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.util.Util; /** * A chat handler @@ -37,13 +37,10 @@ public class ChatPetition implements IChatHandler 7 }; - /** - * Handle chat type 'petition player' - */ @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; @@ -58,9 +55,6 @@ public class ChatPetition implements IChatHandler PetitionManager.getInstance().sendActivePetitionMessage(activeChar, text); } - /** - * Returns the chat types registered to this handler. - */ @Override public int[] getChatTypeList() { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatShout.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatShout.java index 77325b181aaaca89d4354f5f97f2eb46c5659576..8e24a367a41fd346a2e976a1f5821b8db3b847ad 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatShout.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatShout.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.instancemanager.MapRegionManager; import com.l2jserver.gameserver.model.BlockList; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * Shout chat handler. @@ -46,14 +46,14 @@ public class ChatShout implements IChatHandler @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; } final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - if (Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("on") || (Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("gm") && activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS))) + if (general().getGlobalChat().equalsIgnoreCase("on") || (general().getGlobalChat().equalsIgnoreCase("gm") && activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS))) { int region = MapRegionManager.getInstance().getMapRegionLocId(activeChar); for (L2PcInstance player : L2World.getInstance().getPlayers()) @@ -64,7 +64,7 @@ public class ChatShout implements IChatHandler } } } - else if (Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("global")) + else if (general().getGlobalChat().equalsIgnoreCase("global")) { if (!activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS) && !activeChar.getFloodProtectors().getGlobalChat().tryPerformAction("global chat")) { diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTell.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTell.java index d468fab1cdc5ea4f641331ba5e10592ac785cb44..e9e7e6185909497df2990c4e20816135a66f9052 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTell.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTell.java @@ -18,7 +18,9 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.character; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.BlockList; import com.l2jserver.gameserver.model.L2World; @@ -26,7 +28,6 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * Tell chat handler. @@ -45,13 +46,13 @@ public class ChatTell implements IChatHandler @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; } - if (Config.JAIL_DISABLE_CHAT && activeChar.isJailed() && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) + if (general().jailDisableChat() && activeChar.isJailed() && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) { activeChar.sendPacket(SystemMessageId.CHATTING_PROHIBITED); return; @@ -70,7 +71,7 @@ public class ChatTell implements IChatHandler if ((receiver != null) && !receiver.isSilenceMode(activeChar.getObjectId())) { - if (Config.JAIL_DISABLE_CHAT && receiver.isJailed() && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) + if (general().jailDisableChat() && receiver.isJailed() && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) { activeChar.sendMessage("Player is in jail."); return; @@ -87,8 +88,8 @@ public class ChatTell implements IChatHandler } if (!BlockList.isBlocked(receiver, activeChar)) { - // Allow reciever to send PMs to this char, which is in silence mode. - if (Config.SILENCE_MODE_EXCLUDE && activeChar.isSilenceMode()) + // Allow receiver to send PMs to this char, which is in silence mode. + if (character().silenceModeExclude() && activeChar.isSilenceMode()) { activeChar.addSilenceModeExcluded(receiver.getObjectId()); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTrade.java b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTrade.java index 5c79818f44bbadade016fe538693c8ec1682004b..bf6211f10a57fe7cf4d90730d1882cf2de6a57f2 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTrade.java +++ b/src/main/java/com/l2jserver/datapack/handlers/chathandlers/ChatTrade.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.chathandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.instancemanager.MapRegionManager; import com.l2jserver.gameserver.model.BlockList; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * Trade chat handler. @@ -46,14 +46,14 @@ public class ChatTrade implements IChatHandler @Override public void handleChat(int type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && general().getBanChatChannels().contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; } final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - if (Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("on") || (Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("gm") && activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS))) + if (general().getTradeChat().equalsIgnoreCase("on") || (general().getTradeChat().equalsIgnoreCase("gm") && activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS))) { int region = MapRegionManager.getInstance().getMapRegionLocId(activeChar); for (L2PcInstance player : L2World.getInstance().getPlayers()) @@ -64,7 +64,7 @@ public class ChatTrade implements IChatHandler } } } - else if (Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("global")) + else if (general().getTradeChat().equalsIgnoreCase("global")) { if (!activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS) && !activeChar.getFloodProtectors().getGlobalChat().tryPerformAction("global chat")) { diff --git a/src/main/java/com/l2jserver/datapack/handlers/custom/CustomAnnouncePkPvP.java b/src/main/java/com/l2jserver/datapack/handlers/custom/CustomAnnouncePkPvP.java index 87fc4b4cd3379d36ff3734ebeee82b3ffa1cc829..611ae603cfe99d763b06210377dd420499683800 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/custom/CustomAnnouncePkPvP.java +++ b/src/main/java/com/l2jserver/datapack/handlers/custom/CustomAnnouncePkPvP.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.custom; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.customs; + import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.events.Containers; import com.l2jserver.gameserver.model.events.EventType; @@ -36,16 +37,12 @@ public class CustomAnnouncePkPvP public CustomAnnouncePkPvP() { - if (Config.ANNOUNCE_PK_PVP) + if (customs().announcePkPvP()) { Containers.Players().addListener(new ConsumerEventListener(Containers.Players(), EventType.ON_PLAYER_PVP_KILL, (OnPlayerPvPKill event) -> OnPlayerPvPKill(event), this)); } } - /** - * @param event - * @return - */ private Object OnPlayerPvPKill(OnPlayerPvPKill event) { L2PcInstance pk = event.getActiveChar(); @@ -55,13 +52,13 @@ public class CustomAnnouncePkPvP } L2PcInstance player = event.getTarget(); - String msg = Config.ANNOUNCE_PVP_MSG; + String msg = customs().getAnnouncePvpMsg(); if (player.getPvpFlag() == 0) { - msg = Config.ANNOUNCE_PK_MSG; + msg = customs().getAnnouncePkMsg(); } msg = msg.replace("$killer", pk.getName()).replace("$target", player.getName()); - if (Config.ANNOUNCE_PK_PVP_NORMAL_MESSAGE) + if (customs().announcePkPvPNormalMessage()) { SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1); sm.addString(msg); diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Fishing.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Fishing.java index 99265ca4bc9ceb2e3e1c33ad52b2bd6427573300..54283411420cd27656c4b154c319eadf8264cfcc 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Fishing.java +++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Fishing.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.effecthandlers.instant; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.commons.util.Rnd; import com.l2jserver.gameserver.GeoData; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.StatsSet; @@ -79,7 +80,7 @@ public final class Fishing extends AbstractEffect final L2PcInstance player = activeChar.getActingPlayer(); - if (!Config.ALLOWFISHING && !player.canOverrideCond(PcCondOverride.SKILL_CONDITIONS)) + if (!general().allowFishing() && !player.canOverrideCond(PcCondOverride.SKILL_CONDITIONS)) { player.sendMessage("Fishing is disabled!"); return; diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/FoodForPet.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/FoodForPet.java index 091587026388335163411013aef0f89c65889f03..fa1ee9c13f07ba4e3b73049492eca983813c3a52 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/FoodForPet.java +++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/FoodForPet.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.effecthandlers.instant; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.MountType; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.actor.L2Character; @@ -62,7 +63,7 @@ public final class FoodForPet extends AbstractEffect if (activeChar.isPet()) { final L2PetInstance pet = (L2PetInstance) activeChar; - pet.setCurrentFed(pet.getCurrentFed() + (_normal * Config.PET_FOOD_RATE)); + pet.setCurrentFed(pet.getCurrentFed() + (_normal * rates().getPetFoodRate())); } else if (activeChar.isPlayer()) { diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/RestorationRandom.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/RestorationRandom.java index 5449be62b237966ea0d003b73f960322617c2377..68b8277861daf29a7ff0a9eb0cc007ecdb359f2d 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/RestorationRandom.java +++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/RestorationRandom.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.handlers.effecthandlers.instant; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.ArrayList; import java.util.List; import com.l2jserver.commons.util.Rnd; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.L2ExtractableProductItem; import com.l2jserver.gameserver.model.L2ExtractableSkill; import com.l2jserver.gameserver.model.StatsSet; @@ -110,7 +111,7 @@ public final class RestorationRandom extends AbstractEffect { continue; } - player.addItem("Extract", item.getId(), (long) (item.getCount() * Config.RATE_EXTRACTABLE), info.getEffector(), true); + player.addItem("Extract", item.getId(), (long) (item.getCount() * rates().getRateExtractable()), info.getEffector(), true); } } } diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Summon.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Summon.java index 233ae092aacad0bfea352c43b3304e24ee70d7ed..19d89fa00eea7f1ae0cc100cb4ae55276ce2c73a 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Summon.java +++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Summon.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.effecthandlers.instant; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.character; + import com.l2jserver.gameserver.data.json.ExperienceData; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.enums.Race; @@ -86,14 +87,14 @@ public final class Summon extends AbstractEffect summon.setItemConsume(_consumeItem); summon.setItemConsumeInterval(consumeItemInterval); - if (summon.getLevel() >= Config.MAX_PET_LEVEL) + if (summon.getLevel() >= character().getMaxPetLevel()) { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(Config.MAX_PET_LEVEL - 1)); - _log.warning(Summon.class.getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + Config.MAX_PET_LEVEL + ". Please rectify."); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(character().getMaxPetLevel() - 1)); + _log.warning(Summon.class.getSimpleName() + ": (" + summon.getName() + ") NpcID: " + summon.getId() + " has a level above " + character().getMaxPetLevel() + ". Please rectify."); } else { - summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % Config.MAX_PET_LEVEL)); + summon.getStat().setExp(ExperienceData.getInstance().getExpForLevel(summon.getLevel() % character().getMaxPetLevel())); } summon.setCurrentHp(summon.getMaxHp()); diff --git a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ExtractableItems.java b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ExtractableItems.java index 003f497d7261078d889a0cb8d78252e3850e3376..178d2f95126d748e3d69de128894a6b12e260549 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ExtractableItems.java +++ b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ExtractableItems.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.itemhandlers; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.List; import com.l2jserver.commons.util.Rnd; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IItemHandler; import com.l2jserver.gameserver.model.L2ExtractableProduct; import com.l2jserver.gameserver.model.actor.L2Playable; @@ -65,8 +66,8 @@ public class ExtractableItems implements IItemHandler { if (Rnd.get(100000) <= expi.getChance()) { - final int min = (int) (expi.getMin() * Config.RATE_EXTRACTABLE); - final int max = (int) (expi.getMax() * Config.RATE_EXTRACTABLE); + final int min = (int) (expi.getMin() * rates().getRateExtractable()); + final int max = (int) (expi.getMax() * rates().getRateExtractable()); int createItemAmount = (max == min) ? min : (Rnd.get((max - min) + 1) + min); if (createItemAmount == 0) diff --git a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Harvester.java b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Harvester.java index 38df1b9370cbdd008f37c00500c8dee7a6a0945d..d793685ea2c6a8790eec765b211fe5b66cbff586 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Harvester.java +++ b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Harvester.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.itemhandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IItemHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; @@ -37,7 +38,7 @@ public final class Harvester implements IItemHandler @Override public boolean useItem(L2Playable playable, L2ItemInstance item, boolean forceUse) { - if (!Config.ALLOW_MANOR) + if (!general().allowManor()) { return false; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ManaPotion.java b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ManaPotion.java index 3ca36a3ac5659fd92b048bfa49b92c409a853a79..54bd24e53bac62ac526fbc8db740f6cc71bfdbe8 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ManaPotion.java +++ b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/ManaPotion.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.itemhandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.customs; + import com.l2jserver.gameserver.model.actor.L2Playable; import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; import com.l2jserver.gameserver.network.SystemMessageId; @@ -28,7 +29,7 @@ public class ManaPotion extends ItemSkills @Override public boolean useItem(L2Playable playable, L2ItemInstance item, boolean forceUse) { - if (!Config.L2JMOD_ENABLE_MANA_POTIONS_SUPPORT) + if (!customs().enableManaPotionSupport()) { playable.sendPacket(SystemMessageId.NOTHING_HAPPENED); return false; diff --git a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Seed.java b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Seed.java index c034563ac079a214f018b61cfc10e92579b3f977..88fa9227bcb2382d5dcb9aec85c923207353dd93 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Seed.java +++ b/src/main/java/com/l2jserver/datapack/handlers/itemhandlers/Seed.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.itemhandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.gameserver.handler.IItemHandler; import com.l2jserver.gameserver.instancemanager.CastleManorManager; import com.l2jserver.gameserver.instancemanager.MapRegionManager; @@ -41,7 +42,7 @@ public class Seed implements IItemHandler @Override public boolean useItem(L2Playable playable, L2ItemInstance item, boolean forceUse) { - if (!Config.ALLOW_MANOR) + if (!general().allowManor()) { return false; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/targethandlers/CorpseMob.java b/src/main/java/com/l2jserver/datapack/handlers/targethandlers/CorpseMob.java index f4bb575d4ab694745f477b5449fbf50b8235fc94..3b41fe40de1f11396f827179da67d5843962ab8c 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/targethandlers/CorpseMob.java +++ b/src/main/java/com/l2jserver/datapack/handlers/targethandlers/CorpseMob.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.targethandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.npc; + import com.l2jserver.gameserver.handler.ITargetTypeHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -48,7 +49,7 @@ public class CorpseMob implements ITargetTypeHandler return EMPTY_TARGET_LIST; } - if (skill.hasEffectType(L2EffectType.HP_DRAIN) && ((L2Attackable) target).isOldCorpse(activeChar.getActingPlayer(), Config.CORPSE_CONSUME_SKILL_ALLOWED_TIME_BEFORE_DECAY, true)) + if (skill.hasEffectType(L2EffectType.HP_DRAIN) && ((L2Attackable) target).isOldCorpse(activeChar.getActingPlayer(), npc().getCorpseConsumeSkillAllowedTimeBeforeDecay(), true)) { return EMPTY_TARGET_LIST; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/targethandlers/PartyNotMe.java b/src/main/java/com/l2jserver/datapack/handlers/targethandlers/PartyNotMe.java index eaa7f8bc34f80d2fbfc1d32dca4abdc3233bf57d..c2add0bc5786146a1cc3e11b6a51b92b68b2da59 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/targethandlers/PartyNotMe.java +++ b/src/main/java/com/l2jserver/datapack/handlers/targethandlers/PartyNotMe.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.handlers.targethandlers; +import static com.l2jserver.gameserver.config.Configuration.character; + import java.util.ArrayList; import java.util.List; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.ITargetTypeHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; @@ -52,7 +53,7 @@ public class PartyNotMe implements ITargetTypeHandler { continue; } - else if (!Util.checkIfInRange(Config.ALT_PARTY_RANGE, activeChar, partyMember, true)) + else if (!Util.checkIfInRange(character().getPartyRange(), activeChar, partyMember, true)) { continue; } diff --git a/src/main/java/com/l2jserver/datapack/handlers/telnethandlers/ReloadHandler.java b/src/main/java/com/l2jserver/datapack/handlers/telnethandlers/ReloadHandler.java index 11989a94204cfe40cd07d91cee8e2543dd2e411f..e4b6c7f4d19f04b6b111db356527718312ee2a3c 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/telnethandlers/ReloadHandler.java +++ b/src/main/java/com/l2jserver/datapack/handlers/telnethandlers/ReloadHandler.java @@ -18,13 +18,14 @@ */ package com.l2jserver.datapack.handlers.telnethandlers; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.File; import java.io.PrintWriter; import java.net.Socket; import java.util.StringTokenizer; import com.l2jserver.gameserver.cache.HtmCache; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.sql.impl.TeleportLocationTable; import com.l2jserver.gameserver.data.xml.impl.MultisellData; import com.l2jserver.gameserver.data.xml.impl.NpcData; @@ -119,7 +120,7 @@ public class ReloadHandler implements ITelnetHandler { String questPath = st.hasMoreTokens() ? st.nextToken() : ""; - File file = new File(Config.SCRIPT_ROOT, "com/l2jserver/datapack/" + questPath); + File file = new File(server().getScriptRoot(), "com/l2jserver/datapack/" + questPath); if (file.isFile()) { try diff --git a/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Time.java b/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Time.java index 56235a403a889220f992832354f9d29a9c1d202f..c6ca7277a58a17ed32de1804c541584a8e79761e 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Time.java +++ b/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Time.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.handlers.usercommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.customs; + import java.text.SimpleDateFormat; import java.util.Date; import com.l2jserver.gameserver.GameTimeController; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IUserCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; @@ -74,7 +75,7 @@ public class Time implements IUserCommandHandler sm.addString(m); } activeChar.sendPacket(sm); - if (Config.L2JMOD_DISPLAY_SERVER_TIME) + if (customs().displayServerTime()) { activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis()))); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Unstuck.java b/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Unstuck.java index 7fe7fdf248f24f2a4c46393da49fc8482092ba67..6c37335fd17f8bef9b719939b9e8f1542a6d1eac 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Unstuck.java +++ b/src/main/java/com/l2jserver/datapack/handlers/usercommandhandlers/Unstuck.java @@ -20,6 +20,7 @@ package com.l2jserver.datapack.handlers.usercommandhandlers; import static com.l2jserver.gameserver.GameTimeController.MILLIS_IN_TICK; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; +import static com.l2jserver.gameserver.config.Configuration.character; import static com.l2jserver.gameserver.model.TeleportWhereType.TOWN; import static com.l2jserver.gameserver.network.SystemMessageId.THIS_SKILL_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT; import static com.l2jserver.gameserver.network.serverpackets.ActionFailed.STATIC_PACKET; @@ -28,7 +29,6 @@ import static java.util.concurrent.TimeUnit.SECONDS; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IUserCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.TvTEvent; @@ -84,7 +84,7 @@ public class Unstuck implements IUserCommandHandler return false; } - final int unstuckTimer = (activeChar.isGM() ? 1000 : Config.UNSTUCK_INTERVAL * 1000); + final int unstuckTimer = (activeChar.isGM() ? 1000 : character().getUnstuckInterval()); activeChar.forceIsCasting(GameTimeController.getInstance().getGameTicks() + (unstuckTimer / MILLIS_IN_TICK)); if (activeChar.isGM()) @@ -93,19 +93,19 @@ public class Unstuck implements IUserCommandHandler return true; } - if (Config.UNSTUCK_INTERVAL == FIVE_MINUTES) + if (character().getUnstuckInterval() == FIVE_MINUTES) { activeChar.doCast(ESCAPE_5_MINUTES); return true; } - if (Config.UNSTUCK_INTERVAL > 100) + if (character().getUnstuckInterval() > 100) { - activeChar.sendMessage("You use Escape: " + SECONDS.toMinutes(Config.UNSTUCK_INTERVAL) + " minutes."); + activeChar.sendMessage("You use Escape: " + SECONDS.toMinutes(character().getUnstuckInterval()) + " minutes."); } else { - activeChar.sendMessage("You use Escape: " + Config.UNSTUCK_INTERVAL + " seconds."); + activeChar.sendMessage("You use Escape: " +character().getUnstuckInterval() + " seconds."); } activeChar.getAI().setIntention(AI_INTENTION_IDLE); diff --git a/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Banking.java b/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Banking.java index 1b4b805c9521b0c2e59c4dea0819f0916cbe2752..b4f2908f94441dd453350bc4808dc852f287192d 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Banking.java +++ b/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Banking.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.handlers.voicedcommandhandlers; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.customs; + import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -40,40 +41,40 @@ public class Banking implements IVoicedCommandHandler { if (command.equals("bank")) { - activeChar.sendMessage(".deposit (" + Config.BANKING_SYSTEM_ADENA + " Adena = " + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar) / .withdraw (" + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar = " + Config.BANKING_SYSTEM_ADENA + " Adena)"); + activeChar.sendMessage(".deposit (" + customs().getBankingAdenaCount() + " Adena = " + customs().getBankingGoldbarCount() + " Goldbar) / .withdraw (" + customs().getBankingGoldbarCount() + " Goldbar = " + customs().getBankingAdenaCount() + " Adena)"); } else if (command.equals("deposit")) { - if (activeChar.getInventory().getInventoryItemCount(57, 0) >= Config.BANKING_SYSTEM_ADENA) + if (activeChar.getInventory().getInventoryItemCount(57, 0) >= customs().getBankingAdenaCount()) { - if (!activeChar.reduceAdena("Goldbar", Config.BANKING_SYSTEM_ADENA, activeChar, false)) + if (!activeChar.reduceAdena("Goldbar", customs().getBankingAdenaCount(), activeChar, false)) { return false; } - activeChar.getInventory().addItem("Goldbar", 3470, Config.BANKING_SYSTEM_GOLDBARS, activeChar, null); + activeChar.getInventory().addItem("Goldbar", 3470, customs().getBankingGoldbarCount(), activeChar, null); activeChar.getInventory().updateDatabase(); - activeChar.sendMessage("Thank you, you now have " + Config.BANKING_SYSTEM_GOLDBARS + " Goldbar(s), and " + Config.BANKING_SYSTEM_ADENA + " less adena."); + activeChar.sendMessage("Thank you, you now have " + customs().getBankingGoldbarCount() + " Goldbar(s), and " + customs().getBankingAdenaCount() + " less adena."); } else { - activeChar.sendMessage("You do not have enough Adena to convert to Goldbar(s), you need " + Config.BANKING_SYSTEM_ADENA + " Adena."); + activeChar.sendMessage("You do not have enough Adena to convert to Goldbar(s), you need " + customs().getBankingAdenaCount() + " Adena."); } } else if (command.equals("withdraw")) { - if (activeChar.getInventory().getInventoryItemCount(3470, 0) >= Config.BANKING_SYSTEM_GOLDBARS) + if (activeChar.getInventory().getInventoryItemCount(3470, 0) >= customs().getBankingGoldbarCount()) { - if (!activeChar.destroyItemByItemId("Adena", 3470, Config.BANKING_SYSTEM_GOLDBARS, activeChar, false)) + if (!activeChar.destroyItemByItemId("Adena", 3470, customs().getBankingGoldbarCount(), activeChar, false)) { return false; } - activeChar.getInventory().addAdena("Adena", Config.BANKING_SYSTEM_ADENA, activeChar, null); + activeChar.getInventory().addAdena("Adena", customs().getBankingAdenaCount(), activeChar, null); activeChar.getInventory().updateDatabase(); - activeChar.sendMessage("Thank you, you now have " + Config.BANKING_SYSTEM_ADENA + " Adena, and " + Config.BANKING_SYSTEM_GOLDBARS + " less Goldbar(s)."); + activeChar.sendMessage("Thank you, you now have " + customs().getBankingAdenaCount() + " Adena, and " + customs().getBankingGoldbarCount() + " less Goldbar(s)."); } else { - activeChar.sendMessage("You do not have any Goldbars to turn into " + Config.BANKING_SYSTEM_ADENA + " Adena."); + activeChar.sendMessage("You do not have any Goldbars to turn into " + customs().getBankingAdenaCount() + " Adena."); } } return true; diff --git a/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Lang.java b/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Lang.java index 13314950df1877ceb4dcafad0575933e4d09b8dd..733376588579bc2a1aec4fcdfcbcce1417143077 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Lang.java +++ b/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Lang.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.handlers.voicedcommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.customs; + import java.util.StringTokenizer; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; @@ -36,7 +37,7 @@ public class Lang implements IVoicedCommandHandler @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params) { - if (!Config.L2JMOD_MULTILANG_ENABLE || !Config.L2JMOD_MULTILANG_VOICED_ALLOW) + if (!customs().multiLangEnable() || !customs().multiLangVoiceCommand()) { return false; } @@ -45,7 +46,7 @@ public class Lang implements IVoicedCommandHandler if (params == null) { final StringBuilder html = StringUtil.startAppend(100); - for (String lang : Config.L2JMOD_MULTILANG_ALLOWED) + for (String lang : customs().getMultiLangAllowed()) { StringUtil.append(html, "<button value=\"", lang.toUpperCase(), "\" action=\"bypass -h voice .lang ", lang, "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>"); } diff --git a/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Wedding.java b/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Wedding.java index 6b95cb72e6bd51d0b6e2bc006191434724de953f..bf33ea577af17e12b958dfd784cff4d63c1ff4d2 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Wedding.java +++ b/src/main/java/com/l2jserver/datapack/handlers/voicedcommandhandlers/Wedding.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.handlers.voicedcommandhandlers; +import static com.l2jserver.gameserver.config.Configuration.customs; + import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -29,7 +31,6 @@ import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.SevenSigns; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.enums.PlayerAction; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; @@ -95,14 +96,14 @@ public class Wedding implements IVoicedCommandHandler int _partnerId = activeChar.getPartnerId(); int _coupleId = activeChar.getCoupleId(); - long AdenaAmount = 0; + long adenaAmount = 0; if (activeChar.isMarried()) { activeChar.sendMessage("You are now divorced."); - AdenaAmount = (activeChar.getAdena() / 100) * Config.L2JMOD_WEDDING_DIVORCE_COSTS; - activeChar.getInventory().reduceAdena("Wedding", AdenaAmount, activeChar, null); + adenaAmount = (activeChar.getAdena() / 100) * customs().getWeddingDivorceCosts(); + activeChar.getInventory().reduceAdena("Wedding", adenaAmount, activeChar, null); } else @@ -124,9 +125,9 @@ public class Wedding implements IVoicedCommandHandler } // give adena - if (AdenaAmount > 0) + if (adenaAmount > 0) { - partner.addAdena("WEDDING", AdenaAmount, null, false); + partner.addAdena("WEDDING", adenaAmount, null, false); } } CoupleManager.getInstance().deleteCouple(_coupleId); @@ -148,7 +149,7 @@ public class Wedding implements IVoicedCommandHandler else if (activeChar.getPartnerId() != 0) { activeChar.sendMessage("You are already engaged."); - if (Config.L2JMOD_WEDDING_PUNISH_INFIDELITY) + if (customs().weddingPunishInfidelity()) { activeChar.startAbnormalVisualEffect(true, AbnormalVisualEffect.BIG_HEAD); // give player a Big Head // lets recycle the sevensigns debuffs @@ -204,7 +205,7 @@ public class Wedding implements IVoicedCommandHandler return false; } - if ((ptarget.getAppearance().getSex() == activeChar.getAppearance().getSex()) && !Config.L2JMOD_WEDDING_SAMESEX) + if ((ptarget.getAppearance().getSex() == activeChar.getAppearance().getSex()) && !customs().weddingAllowSameSex()) { activeChar.sendMessage("Gay marriage is not allowed on this server!"); return false; @@ -456,9 +457,9 @@ public class Wedding implements IVoicedCommandHandler return false; } - final int teleportTimer = Config.L2JMOD_WEDDING_TELEPORT_DURATION * 1000; + final int teleportTimer = customs().getWeddingTeleportDuration(); activeChar.sendMessage("After " + (teleportTimer / 60000) + " min. you will be teleported to your partner."); - activeChar.getInventory().reduceAdena("Wedding", Config.L2JMOD_WEDDING_TELEPORT_PRICE, activeChar, null); + activeChar.getInventory().reduceAdena("Wedding", customs().getWeddingTeleportPrice(), activeChar, null); activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); // SoE Animation section diff --git a/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Quarry/Quarry.java b/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Quarry/Quarry.java index 2eadd82013a192ae9d43a4e81e2acb107fc6dc9d..cba876801f751c399dc7bfdef0237aa92a8205ae 100644 --- a/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Quarry/Quarry.java +++ b/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Quarry/Quarry.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.hellbound.AI.NPC.Quarry; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.datapack.hellbound.HellboundEngine; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; @@ -116,7 +117,7 @@ public final class Quarry extends AbstractNpcAI { if (getRandom(10000) < item.getChance()) { - npc.dropItem((L2PcInstance) npc.getTarget(), item.getId(), (int) (item.getCount() * Config.RATE_QUEST_DROP)); + npc.dropItem((L2PcInstance) npc.getTarget(), item.getId(), (int) (item.getCount() * rates().getRateQuestDrop())); break; } } diff --git a/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Warpgate/Warpgate.java b/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Warpgate/Warpgate.java index b9e5c0fb5529864b99dca85effb28c817e433b08..934f6e986191211320ac7ee01af73899af3cf4c7 100644 --- a/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Warpgate/Warpgate.java +++ b/src/main/java/com/l2jserver/datapack/hellbound/AI/NPC/Warpgate/Warpgate.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.hellbound.AI.NPC.Warpgate; +import static com.l2jserver.gameserver.config.Configuration.general; + import com.l2jserver.datapack.ai.npc.AbstractNpcAI; import com.l2jserver.datapack.hellbound.HellboundEngine; import com.l2jserver.datapack.quests.Q00130_PathToHellbound.Q00130_PathToHellbound; import com.l2jserver.datapack.quests.Q00133_ThatsBloodyHot.Q00133_ThatsBloodyHot; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.L2Character; @@ -116,7 +117,7 @@ public final class Warpgate extends AbstractNpcAI return false; } - if (Config.HELLBOUND_WITHOUT_QUEST) + if (general().hellboundWithoutQuest()) { return true; } diff --git a/src/main/java/com/l2jserver/datapack/hellbound/HellboundEngine.java b/src/main/java/com/l2jserver/datapack/hellbound/HellboundEngine.java index 532ba982f99a5cc8bcc949ebb5175fa6768bd2bc..4e110335c877e861565e6f6b6b677bb037ea17ce 100644 --- a/src/main/java/com/l2jserver/datapack/hellbound/HellboundEngine.java +++ b/src/main/java/com/l2jserver/datapack/hellbound/HellboundEngine.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.hellbound; +import static com.l2jserver.gameserver.config.Configuration.rates; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.instancemanager.GlobalVariablesManager; import com.l2jserver.gameserver.model.L2Spawn; @@ -352,7 +353,7 @@ public final class HellboundEngine extends AbstractNpcAI int reward = trust; if (useRates) { - reward = (int) (trust * (trust > 0 ? Config.RATE_HB_TRUST_INCREASE : Config.RATE_HB_TRUST_DECREASE)); + reward = (int) (trust * (trust > 0 ? rates().getRateHellboundTrustIncrease() : rates().getRateHellboundTrustDecrease())); } final int finalTrust = Math.max(getTrust() + reward, _minTrust); diff --git a/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java b/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java index c35f22227b13c333e4613cc0ed32a795677470f4..0606c65a157d4d3f707d702fed920fb58ef33444 100644 --- a/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java +++ b/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.hellbound; +import static com.l2jserver.gameserver.config.Configuration.customs; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,7 +59,6 @@ import com.l2jserver.datapack.hellbound.Instances.RankuFloor.RankuFloor; import com.l2jserver.datapack.hellbound.Instances.UrbanArea.UrbanArea; import com.l2jserver.datapack.quests.Q00130_PathToHellbound.Q00130_PathToHellbound; import com.l2jserver.datapack.quests.Q00133_ThatsBloodyHot.Q00133_ThatsBloodyHot; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.handler.AdminCommandHandler; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; @@ -128,7 +129,7 @@ public final class HellboundLoader { final Object instance = script.getDeclaredConstructor().newInstance(); if (instance instanceof IAdminCommandHandler) { AdminCommandHandler.getInstance().registerHandler((IAdminCommandHandler) instance); - } else if (Config.L2JMOD_HELLBOUND_STATUS && (instance instanceof IVoicedCommandHandler)) { + } else if (customs().hellboundStatus() && (instance instanceof IVoicedCommandHandler)) { VoicedCommandHandler.getInstance().registerHandler((IVoicedCommandHandler) instance); } } catch (Exception ex) { diff --git a/src/main/java/com/l2jserver/datapack/instances/AbstractInstance.java b/src/main/java/com/l2jserver/datapack/instances/AbstractInstance.java index 129a833da735e09ef165f18e07a05050ce001767..96d66948812624a2b9e8c908c146b869aa41ad54 100644 --- a/src/main/java/com/l2jserver/datapack/instances/AbstractInstance.java +++ b/src/main/java/com/l2jserver/datapack/instances/AbstractInstance.java @@ -18,12 +18,14 @@ */ package com.l2jserver.datapack.instances; +import static com.l2jserver.gameserver.config.Configuration.general; +import static java.util.concurrent.TimeUnit.SECONDS; + import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.List; import com.l2jserver.datapack.ai.npc.AbstractNpcAI; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.InstanceReenterType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2World; @@ -92,7 +94,7 @@ public abstract class AbstractInstance extends AbstractNpcAI handleRemoveBuffs(instance); } - if (Config.DEBUG_INSTANCES) + if (general().instanceDebug()) { _log.info("Instance " + inst.getName() + " (" + instance.getTemplateId() + ") has been created by player " + player.getName()); } @@ -101,10 +103,10 @@ public abstract class AbstractInstance extends AbstractNpcAI protected void finishInstance(InstanceWorld world) { - finishInstance(world, Config.INSTANCE_FINISH_TIME); + finishInstance(world, SECONDS.toMillis(general().getInstanceFinishTime())); } - protected void finishInstance(InstanceWorld world, int duration) + protected void finishInstance(InstanceWorld world, long duration) { final Instance inst = InstanceManager.getInstance().getInstance(world.getInstanceId()); @@ -227,7 +229,7 @@ public abstract class AbstractInstance extends AbstractNpcAI } } - if (Config.DEBUG_INSTANCES) + if (general().instanceDebug()) { _log.info("Time restrictions has been set for player in instance ID: " + world.getInstanceId() + " (" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time) + ")"); } diff --git a/src/main/java/com/l2jserver/datapack/instances/ChambersOfDelusion/Chamber.java b/src/main/java/com/l2jserver/datapack/instances/ChambersOfDelusion/Chamber.java index 1d16518ec09c64a1359f7943af123a48fffe6599..62c6fbed139a7b8dfed35aa19c9c7a8974529cde 100644 --- a/src/main/java/com/l2jserver/datapack/instances/ChambersOfDelusion/Chamber.java +++ b/src/main/java/com/l2jserver/datapack/instances/ChambersOfDelusion/Chamber.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.instances.ChambersOfDelusion; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.Calendar; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; @@ -25,7 +27,6 @@ import java.util.logging.Level; import com.l2jserver.datapack.instances.AbstractInstance; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Party; @@ -534,19 +535,19 @@ public abstract class Chamber extends AbstractInstance { if (getRandom(100) < 33) { - npc.dropItem(attacker, ENRIA, (int) (3 * Config.RATE_QUEST_DROP)); + npc.dropItem(attacker, ENRIA, (int) (3 * rates().getRateQuestDrop())); } if (getRandom(100) < 50) { - npc.dropItem(attacker, THONS, (int) (4 * Config.RATE_QUEST_DROP)); + npc.dropItem(attacker, THONS, (int) (4 * rates().getRateQuestDrop())); } if (getRandom(100) < 50) { - npc.dropItem(attacker, ASOFE, (int) (4 * Config.RATE_QUEST_DROP)); + npc.dropItem(attacker, ASOFE, (int) (4 * rates().getRateQuestDrop())); } if (getRandom(100) < 16) { - npc.dropItem(attacker, LEONARD, (int) (2 * Config.RATE_QUEST_DROP)); + npc.dropItem(attacker, LEONARD, (int) (2 * rates().getRateQuestDrop())); } npc.broadcastEvent("SCE_LUCKY", 2000, null); diff --git a/src/main/java/com/l2jserver/datapack/instances/CrystalCaverns/CrystalCaverns.java b/src/main/java/com/l2jserver/datapack/instances/CrystalCaverns/CrystalCaverns.java index e83be15045d632918716406a68d0ed4f3e51244f..c980843c50e37eb0039dc70330ed1cbd10706802 100644 --- a/src/main/java/com/l2jserver/datapack/instances/CrystalCaverns/CrystalCaverns.java +++ b/src/main/java/com/l2jserver/datapack/instances/CrystalCaverns/CrystalCaverns.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.instances.CrystalCaverns; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -28,7 +30,6 @@ import com.l2jserver.datapack.instances.AbstractInstance; import com.l2jserver.datapack.quests.Q00131_BirdInACage.Q00131_BirdInACage; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.TrapAction; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Object; @@ -1474,7 +1475,7 @@ public final class CrystalCaverns extends AbstractInstance private void giveRewards(L2PcInstance player, int instanceId, int bossCry, boolean isBaylor) { - final int num = Math.max((int) Config.RATE_DEATH_DROP_CHANCE_MULTIPLIER, 1); + final int num = Math.max(rates().getCorpseDropChanceMultiplier().intValue(), 1); L2Party party = player.getParty(); if (party != null) diff --git a/src/main/java/com/l2jserver/datapack/instances/FinalEmperialTomb/FinalEmperialTomb.java b/src/main/java/com/l2jserver/datapack/instances/FinalEmperialTomb/FinalEmperialTomb.java index a2d4223ddecee5d7391cefeb8ba94eefcc12b825..4c8ce581a9e8cb6b6fdab1ecd16f1344fe3c63f2 100644 --- a/src/main/java/com/l2jserver/datapack/instances/FinalEmperialTomb/FinalEmperialTomb.java +++ b/src/main/java/com/l2jserver/datapack/instances/FinalEmperialTomb/FinalEmperialTomb.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.instances.FinalEmperialTomb; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.File; import java.util.ArrayList; import java.util.HashMap; @@ -40,7 +42,6 @@ import com.l2jserver.datapack.instances.AbstractInstance; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2CommandChannel; @@ -259,7 +260,7 @@ public final class FinalEmperialTomb extends AbstractInstance factory.setValidating(false); factory.setIgnoringComments(true); - File file = new File(Config.DATAPACK_ROOT + "/data/spawnZones/final_emperial_tomb.xml"); + File file = new File(server().getDatapackRoot(), "/data/spawnZones/final_emperial_tomb.xml"); if (!file.exists()) { _log.severe("[Final Emperial Tomb] Missing final_emperial_tomb.xml. The quest wont work without it!"); diff --git a/src/main/java/com/l2jserver/datapack/quests/AbstractSagaQuest.java b/src/main/java/com/l2jserver/datapack/quests/AbstractSagaQuest.java index 3f6901f5bcd1a049fa5b000e799f85a324db3923..cd41c8fa511ee6fb07a0424bf92a52d970f4e15d 100644 --- a/src/main/java/com/l2jserver/datapack/quests/AbstractSagaQuest.java +++ b/src/main/java/com/l2jserver/datapack/quests/AbstractSagaQuest.java @@ -18,13 +18,14 @@ */ package com.l2jserver.datapack.quests; +import static com.l2jserver.gameserver.config.Configuration.character; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Party; import com.l2jserver.gameserver.model.L2World; @@ -496,7 +497,7 @@ public abstract class AbstractSagaQuest extends Quest { List<QuestState> partyQuestMembers = new ArrayList<>(); for (L2PcInstance player1 : party.getMembers()) { QuestState st1 = findQuest(player1); - if ((st1 != null) && player1.isInsideRadius(player, Config.ALT_PARTY_RANGE2, false, false)) { + if ((st1 != null) && player1.isInsideRadius(player, character().getPartyRange2(), false, false)) { if (st1.isCond(15)) { partyQuestMembers.add(st1); } diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java b/src/main/java/com/l2jserver/datapack/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java index 28e17cda04795671beb2fa3a47350e86c4137aea..98f36d74a073e9d056093c2deec57beb79baef6e 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00050_LanoscosSpecialBait; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -90,7 +91,7 @@ public class Q00050_LanoscosSpecialBait extends Quest if (st.getQuestItemsCount(ESSENCE_OF_WIND) < 100) { - float chance = 33 * Config.RATE_QUEST_DROP; + double chance = 33 * rates().getRateQuestDrop(); if (getRandom(100) < chance) { st.rewardItems(ESSENCE_OF_WIND, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java b/src/main/java/com/l2jserver/datapack/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java index ab12254a6d4a335c931fd185140e8d4438fb39a6..99741933ceabf6ebb7346c77d8f4e48b0d619ad6 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00051_OFullesSpecialBait; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -88,7 +89,7 @@ public class Q00051_OFullesSpecialBait extends Quest final QuestState st = getQuestState(partyMember, false); if (st.getQuestItemsCount(LOST_BAIT) < 100) { - float chance = 33 * Config.RATE_QUEST_DROP; + double chance = 33 * rates().getRateQuestDrop(); if (getRandom(100) < chance) { st.rewardItems(LOST_BAIT, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java b/src/main/java/com/l2jserver/datapack/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java index badb6d96398eda8d30033fc3d83bb18055a13d16..2717047db95ddf260fd7b7094ce106de0fba31bd 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00052_WilliesSpecialBait; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -88,7 +89,7 @@ public class Q00052_WilliesSpecialBait extends Quest final QuestState st = getQuestState(partyMember, false); if (st.getQuestItemsCount(TARLK_EYE) < 100) { - float chance = 33 * Config.RATE_QUEST_DROP; + double chance = 33 * rates().getRateQuestDrop(); if (getRandom(100) < chance) { st.rewardItems(TARLK_EYE, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java b/src/main/java/com/l2jserver/datapack/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java index ef28d0efe89a8c4314472459c41c398ee655e3fa..3d7f019776e8ab1711769af586b8edf7be1951a6 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00053_LinnaeusSpecialBait; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -93,7 +94,7 @@ public class Q00053_LinnaeusSpecialBait extends Quest if (st.getQuestItemsCount(CRIMSON_DRAKE_HEART) < 100) { - float chance = 33 * Config.RATE_QUEST_DROP; + double chance = 33 * rates().getRateQuestDrop(); if (getRandom(100) < chance) { st.rewardItems(CRIMSON_DRAKE_HEART, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java b/src/main/java/com/l2jserver/datapack/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java index 5f7ca5675cfa2641d5f6065d3a1f30687d98a528..7c5c348a008f498e6face1b95da28d680af20f17 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.quests.Q00125_TheNameOfEvil1; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; import com.l2jserver.datapack.quests.Q00124_MeetingTheElroki.Q00124_MeetingTheElroki; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -261,7 +262,7 @@ public class Q00125_TheNameOfEvil1 extends Quest { if (st.getQuestItemsCount(ORNITHOMIMUS_CLAW) < 2) { - float chance = ORNITHOMIMUS.get(npcId) * Config.RATE_QUEST_DROP; + double chance = ORNITHOMIMUS.get(npcId) * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.giveItems(ORNITHOMIMUS_CLAW, 1); @@ -273,7 +274,7 @@ public class Q00125_TheNameOfEvil1 extends Quest { if (st.getQuestItemsCount(DEINONYCHUS_BONE) < 2) { - float chance = DEINONYCHUS.get(npcId) * Config.RATE_QUEST_DROP; + double chance = DEINONYCHUS.get(npcId) * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.giveItems(DEINONYCHUS_BONE, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00255_Tutorial/Q00255_Tutorial.java b/src/main/java/com/l2jserver/datapack/quests/Q00255_Tutorial/Q00255_Tutorial.java index d1d488ebc30d6f46f744ca8c88a0ec08ec8aebf1..ad4f4cacb5828b035d9bb97781f3b7c791093c6e 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00255_Tutorial/Q00255_Tutorial.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00255_Tutorial/Q00255_Tutorial.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00255_Tutorial; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.character; + import com.l2jserver.gameserver.enums.Race; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.enums.audio.Voice; @@ -130,7 +131,7 @@ public class Q00255_Tutorial extends Quest public Q00255_Tutorial() { super(255, Q00255_Tutorial.class.getSimpleName(), "Tutorial"); - if (!Config.DISABLE_TUTORIAL) + if (character().tutorial()) { setOnEnterWorld(true); registerTutorialEvent(); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java b/src/main/java/com/l2jserver/datapack/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java index b8fdee1ae65651f0baf2a2fdc36ba1e6bf1567f1..ff2abaac70f361b7632644787effe3551b0d95ac 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.quests.Q00262_TradeWithTheIvoryTower; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -82,7 +83,7 @@ public final class Q00262_TradeWithTheIvoryTower extends Quest } final QuestState st = getQuestState(partyMember, false); - float chance = (MOBS_SAC.get(npc.getId()) * Config.RATE_QUEST_DROP); + double chance = MOBS_SAC.get(npc.getId()) * rates().getRateQuestDrop(); if (getRandom(10) < chance) { st.rewardItems(SPORE_SAC, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java b/src/main/java/com/l2jserver/datapack/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java index a06c2759490332851072147bbce6a87e7b8dbbd1..71fb861df030dfedc27038b1ee2c570c4616c4ca 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java @@ -18,9 +18,10 @@ */ package com.l2jserver.datapack.quests.Q00279_TargetOfOpportunity; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.Arrays; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -101,7 +102,7 @@ public final class Q00279_TargetOfOpportunity extends Quest } final QuestState st = getQuestState(pl, false); - if (getRandom(1000) < (int) (311 * Config.RATE_QUEST_DROP)) + if (getRandom(1000) < (int) (311 * rates().getRateQuestDrop())) { if (!st.hasQuestItems(SEAL_COMPONENTS[idx])) { diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java b/src/main/java/com/l2jserver/datapack/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java index a21a0b230e400de81cb48581f7ced830594c98c4..1b6f13619369f710a3ac6a504e42c6f77f88ed6d 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java @@ -18,11 +18,12 @@ */ package com.l2jserver.datapack.quests.Q00290_ThreatRemoval; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; import com.l2jserver.datapack.quests.Q00251_NoSecrets.Q00251_NoSecrets; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -184,7 +185,7 @@ public class Q00290_ThreatRemoval extends Quest final QuestState st = getQuestState(partyMember, false); int npcId = npc.getId(); - float chance = (MOBS_TAG.get(npcId) * Config.RATE_QUEST_DROP); + double chance = MOBS_TAG.get(npcId) * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.rewardItems(SEL_MAHUM_ID_TAG, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java b/src/main/java/com/l2jserver/datapack/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java index b158516a1d4d547e036f5d3ebdea0662c7759d4a..877c6f06f587324e0e94eb620cbfc934a265e038 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.quests.Q00308_ReedFieldMaintenance; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; import com.l2jserver.datapack.quests.Q00238_SuccessFailureOfBusiness.Q00238_SuccessFailureOfBusiness; import com.l2jserver.datapack.quests.Q00309_ForAGoodCause.Q00309_ForAGoodCause; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -216,7 +217,7 @@ public class Q00308_ReedFieldMaintenance extends Quest if (partyMember != null) { final QuestState st = getQuestState(partyMember, false); - float chance = (MUCROKIAN.get(npc.getId()) * Config.RATE_QUEST_DROP); + double chance = MUCROKIAN.get(npc.getId()) * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { if (npc.getId() == AWAKENED_MUCROKIAN) diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java b/src/main/java/com/l2jserver/datapack/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java index 12778890a34ee933b13e93ebf5f1adde4a381cdd..c038b905aaf476f66362c2a362a35fe868b6a359 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java @@ -18,12 +18,13 @@ */ package com.l2jserver.datapack.quests.Q00309_ForAGoodCause; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; import com.l2jserver.datapack.quests.Q00239_WontYouJoinUs.Q00239_WontYouJoinUs; import com.l2jserver.datapack.quests.Q00308_ReedFieldMaintenance.Q00308_ReedFieldMaintenance; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -218,7 +219,7 @@ public class Q00309_ForAGoodCause extends Quest if (partyMember != null) { final QuestState st = getQuestState(partyMember, false); - float chance = (MUCROKIANS.get(npc.getId()) * Config.RATE_QUEST_DROP); + double chance = MUCROKIANS.get(npc.getId()) * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { if (npc.getId() == CORRUPTED_MUCROKIAN) diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java b/src/main/java/com/l2jserver/datapack/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java index 1b14e4458e3f451929f06468be00b04d355e727b..897de24a9e930f595ebbf88fa2a2dc6a39333300 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java @@ -18,6 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00350_EnhanceYourWeapon; +import static com.l2jserver.gameserver.config.Configuration.server; + import java.io.File; import java.util.ArrayList; import java.util.HashMap; @@ -34,7 +36,6 @@ import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.model.AbsorberInfo; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -415,7 +416,7 @@ public class Q00350_EnhanceYourWeapon extends Quest { factory.setValidating(false); factory.setIgnoringComments(true); - File file = new File(Config.DATAPACK_ROOT, "data/levelUpCrystalData.xml"); + File file = new File(server().getDatapackRoot(), "data/levelUpCrystalData.xml"); if (!file.exists()) { LOG.error("Missing levelUpCrystalData.xml. The quest wont work without it!"); return; diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java b/src/main/java/com/l2jserver/datapack/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java index 7643052826607531b7925c28cc23d71b2a12a876..e8f01a5feba4a0cd8b44db1c6a59228e07dfa17e 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00610_MagicalPowerOfWaterPart2; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.npc; + import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; @@ -144,8 +145,8 @@ public class Q00610_MagicalPowerOfWaterPart2 extends Quest @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { - final int respawnMinDelay = (int) (43200000 * Config.RAID_MIN_RESPAWN_MULTIPLIER); - final int respawnMaxDelay = (int) (129600000 * Config.RAID_MAX_RESPAWN_MULTIPLIER); + final int respawnMinDelay = (int) (43200000 * npc().getRaidMinRespawnMultiplier()); + final int respawnMaxDelay = (int) (129600000 * npc().getRaidMaxRespawnMultiplier()); final int respawnDelay = getRandom(respawnMinDelay, respawnMaxDelay); cancelQuestTimer("despawn_ashutar", npc, null); saveGlobalQuestVar("Q00610_respawn", String.valueOf(System.currentTimeMillis() + respawnDelay)); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java b/src/main/java/com/l2jserver/datapack/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java index 65ec1e6ec5c429ee597e3dce18e591ae155ad1c2..1dda29985bf73ff408e9ac2ff827062720401b17 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00616_MagicalPowerOfFirePart2; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.npc; + import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; @@ -144,8 +145,8 @@ public class Q00616_MagicalPowerOfFirePart2 extends Quest @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { - final int respawnMinDelay = (int) (43200000 * Config.RAID_MIN_RESPAWN_MULTIPLIER); - final int respawnMaxDelay = (int) (129600000 * Config.RAID_MAX_RESPAWN_MULTIPLIER); + final int respawnMinDelay = (int) (43200000 * npc().getRaidMinRespawnMultiplier()); + final int respawnMaxDelay = (int) (129600000 * npc().getRaidMaxRespawnMultiplier()); final int respawnDelay = getRandom(respawnMinDelay, respawnMaxDelay); cancelQuestTimer("despawn_nastron", npc, null); saveGlobalQuestVar("Q00616_respawn", String.valueOf(System.currentTimeMillis() + respawnDelay)); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java b/src/main/java/com/l2jserver/datapack/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java index 8388ea4321f49e9205071272d2957a68d7a62d64..1b242c72224a359f5ef28e894e7c889f222e793d 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.quests.Q00626_ADarkTwilight; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -124,7 +125,7 @@ public class Q00626_ADarkTwilight extends Quest if (partyMember != null) { final QuestState st = getQuestState(partyMember, false); - final float chance = (MONSTERS.get(npc.getId()) * Config.RATE_QUEST_DROP); + final double chance = MONSTERS.get(npc.getId()) * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.giveItems(BLOOD_OF_SAINT, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java b/src/main/java/com/l2jserver/datapack/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java index a21dd64f5c37d0e88dd6e3c51786cbef87a2e525..09eca987986766c881c33ed456928ac3c30c391b 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.quests.Q00627_HeartInSearchOfPower; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -164,7 +165,7 @@ public class Q00627_HeartInSearchOfPower extends Quest if (partyMember != null) { final QuestState st = getQuestState(partyMember, false); - final float chance = (MONSTERS.get(npc.getId()) * Config.RATE_QUEST_DROP); + final double chance = MONSTERS.get(npc.getId()) * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.giveItems(BEAD_OF_OBEDIENCE, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java b/src/main/java/com/l2jserver/datapack/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java index 2418600f13b04ad7983e00d54eccc103ed083146..31d4a3ca52b668355a5635239dc807a4d3111069 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00637_ThroughOnceMore; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -85,7 +86,7 @@ public final class Q00637_ThroughOnceMore extends Quest final long count = st.getQuestItemsCount(NECRO_HEART); if (count < 10) { - int chance = (int) (Config.RATE_QUEST_DROP * DROP_CHANCE); + int chance = (int) (rates().getRateQuestDrop() * DROP_CHANCE); int numItems = chance / 100; chance = chance % 100; if (getRandom(100) < chance) diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java b/src/main/java/com/l2jserver/datapack/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java index 1ebb73b61fe8623f836bd2a49f6cbc6c5b9cbef0..e1829ade852e6588b22043500e53c64434f589f1 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00643_RiseAndFallOfTheElrokiTribe; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -195,7 +196,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest if (Util.contains(MOBS1, npcId)) { - float chance = (CHANCE_MOBS1 * Config.RATE_QUEST_DROP); + double chance = CHANCE_MOBS1 * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.rewardItems(BONES_OF_A_PLAINS_DINOSAUR, 2); @@ -209,7 +210,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest if (Util.contains(MOBS2, npcId)) { - float chance = (CHANCE_MOBS2 * Config.RATE_QUEST_DROP); + double chance = CHANCE_MOBS2 * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.rewardItems(BONES_OF_A_PLAINS_DINOSAUR, 1); @@ -219,7 +220,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest if (npcId == DEINONYCHUS) { - float chance = (CHANCE_DEINO * Config.RATE_QUEST_DROP); + double chance = CHANCE_DEINO * rates().getRateQuestDrop(); if (getRandom(1000) < chance) { st.rewardItems(BONES_OF_A_PLAINS_DINOSAUR, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java b/src/main/java/com/l2jserver/datapack/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java index 60140c35c95fa807e059500aab739eddcfc76643..82fe30768bcf00fc78bd1aa31b65484e3602bdaf 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00688_DefeatTheElrokianRaiders; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -131,7 +132,7 @@ public class Q00688_DefeatTheElrokianRaiders extends Quest final QuestState st = getQuestState(partyMember, false); - float chance = (DROP_RATE * Config.RATE_QUEST_DROP); + double chance = (DROP_RATE * rates().getRateQuestDrop()); if (getRandom(1000) < chance) { st.rewardItems(DINOSAUR_FANG_NECKLACE, 1); diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00690_JudesRequest/Q00690_JudesRequest.java b/src/main/java/com/l2jserver/datapack/quests/Q00690_JudesRequest/Q00690_JudesRequest.java index fe7a4f21977475e84aca1781c392803c9093dc00..406a2af80548a0c4775f623d0e10df16fc8e9f67 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00690_JudesRequest/Q00690_JudesRequest.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00690_JudesRequest/Q00690_JudesRequest.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.quests.Q00690_JudesRequest; -import com.l2jserver.gameserver.config.Config; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -144,7 +145,7 @@ public class Q00690_JudesRequest extends Quest chance = 246; } // Apply the quest drop rate: - chance *= Config.RATE_QUEST_DROP; + chance *= rates().getRateQuestDrop(); // Normalize chance %= 1000; diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java b/src/main/java/com/l2jserver/datapack/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java index 43434c2580ef0617e29ea81475c6a505bb0a1cea..386d781a30880da99982eee1095dc08c6f27ba04 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.quests.Q00691_MatrasSuspiciousRequest; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -135,7 +136,7 @@ public final class Q00691_MatrasSuspiciousRequest extends Quest } final QuestState st = getQuestState(pl, false); - int chance = (int) (Config.RATE_QUEST_DROP * REWARD_CHANCES.get(npc.getId())); + int chance = (int) (rates().getRateQuestDrop() * REWARD_CHANCES.get(npc.getId())); int numItems = Math.max((chance / 1000), 1); chance = chance % 1000; if (getRandom(1000) <= chance) diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java b/src/main/java/com/l2jserver/datapack/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java index 7d557197d4225bac5526431eb777c6d296698229..3e030a549f68852dead0edb4dcd9fe1fd40360e0 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java @@ -18,10 +18,11 @@ */ package com.l2jserver.datapack.quests.Q00692_HowtoOpposeEvil; +import static com.l2jserver.gameserver.config.Configuration.rates; + import java.util.HashMap; import java.util.Map; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -183,7 +184,7 @@ public final class Q00692_HowtoOpposeEvil extends Quest final int npcId = npc.getId(); if ((st != null) && QUEST_MOBS.containsKey(npcId)) { - int chance = (int) (QUEST_MOBS.get(npcId).getCount() * Config.RATE_QUEST_DROP); + int chance = (int) (QUEST_MOBS.get(npcId).getCount() * rates().getRateQuestDrop()); int numItems = chance / 1000; chance = chance % 1000; if (getRandom(1000) < chance) diff --git a/src/main/java/com/l2jserver/datapack/quests/Q10272_LightFragment/Q10272_LightFragment.java b/src/main/java/com/l2jserver/datapack/quests/Q10272_LightFragment/Q10272_LightFragment.java index 901df5f5537c7dae28d7b5811d81afb6af7cc00c..a5ec73dcac9a98f30c7de4be5a2a81a9a022958f 100644 --- a/src/main/java/com/l2jserver/datapack/quests/Q10272_LightFragment/Q10272_LightFragment.java +++ b/src/main/java/com/l2jserver/datapack/quests/Q10272_LightFragment/Q10272_LightFragment.java @@ -18,8 +18,9 @@ */ package com.l2jserver.datapack.quests.Q10272_LightFragment; +import static com.l2jserver.gameserver.config.Configuration.rates; + import com.l2jserver.datapack.quests.Q10271_TheEnvelopingDarkness.Q10271_TheEnvelopingDarkness; -import com.l2jserver.gameserver.config.Config; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -148,7 +149,7 @@ public class Q10272_LightFragment extends Quest final long count = st.getQuestItemsCount(FRAGMENT_POWDER); if (count < 100) { - int chance = (int) (Config.RATE_QUEST_DROP * DROP_CHANCE); + int chance = (int) (rates().getRateQuestDrop() * DROP_CHANCE); int numItems = chance / 100; chance = chance % 100; if (getRandom(100) < chance) diff --git a/src/test/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReloadTest.java b/src/test/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReloadTest.java new file mode 100644 index 0000000000000000000000000000000000000000..757b23e5c4f15256d058648bff173280302f88a4 --- /dev/null +++ b/src/test/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReloadTest.java @@ -0,0 +1,37 @@ +package com.l2jserver.datapack.handlers.admincommandhandlers; + +import static com.l2jserver.gameserver.config.Configuration.general; +import static org.testng.Assert.assertFalse; + +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import com.l2jserver.gameserver.handler.IAdminCommandHandler; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; + +/** + * Admin Reload test. + * @author Zoey76 + * @version 2.6.1.0 + */ +public class AdminReloadTest { + + private final IAdminCommandHandler cmd = new AdminReload(); + + @Mock + private L2PcInstance activeChar; + + @BeforeMethod + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void useAdminCommandTest() { + general().setProperty("EverybodyHasAdminRights", "true"); + cmd.useAdminCommand("admin_reload config general", activeChar); + assertFalse(general().everybodyHasAdminRights()); + } +}