diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 703fe8fcb56cad398c88672ca1a6a8bcc1cbea3e..cf6931b9504454c0d1c96ce04ea6828edc3fb297 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,5 +1,4 @@ eclipse.preferences.version=1 encoding//src/main/java=UTF-8 encoding//src/main/resources=UTF-8 -encoding//src/main/resources/data=UTF-8 encoding/<project>=UTF-8 diff --git a/pom.xml b/pom.xml index 02cf2d38834b008dc8b79b25fafd13672bdafc1a..d7d5049eaffcc517ef9b33ac47cde8d9d57be854 100644 --- a/pom.xml +++ b/pom.xml @@ -4,19 +4,15 @@ <groupId>com.l2jserver</groupId> <artifactId>l2j-server-datapack</artifactId> <version>2.6.1.0-SNAPSHOT</version> - <name>L2J DataPack Server</name> + <name>L2J DataPack</name> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <slf4j.version>1.7.25</slf4j.version> - <log4j.version>2.11.1</log4j.version> - <InMemoryJavaCompiler.version>1.3.0</InMemoryJavaCompiler.version> - <gson.version>2.8.5</gson.version> - <weupnp.version>0.1.4</weupnp.version> - <!-- Test --> - <testng.version>6.14.3</testng.version> - <mockito-core.version>2.24.5</mockito-core.version> + <slf4j.version>1.7.26</slf4j.version> + <!-- Plugins --> + <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> + <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version> </properties> <dependencies> <dependency> @@ -24,48 +20,49 @@ <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-slf4j-impl</artifactId> - <version>${log4j.version}</version> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>${log4j.version}</version> - </dependency> - <dependency> - <groupId>org.mdkt.compiler</groupId> - <artifactId>InMemoryJavaCompiler</artifactId> - <version>${InMemoryJavaCompiler.version}</version> - </dependency> - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - <version>${gson.version}</version> - </dependency> - <dependency> - <groupId>org.bitlet</groupId> - <artifactId>weupnp</artifactId> - <version>${weupnp.version}</version> - </dependency> <dependency> <groupId>com.l2jserver</groupId> <artifactId>l2j-server-game</artifactId> <version>2.6.1.0-SNAPSHOT</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-core.version}</version> - <scope>test</scope> - </dependency> </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>${maven-jar-plugin.version}</version> + <executions> + <execution> + <id>default-jar</id> + <phase>never</phase> + <configuration> + <finalName>unwanted</finalName> + <classifier>unwanted</classifier> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <version>${maven-assembly-plugin.version}</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <finalName>${project.artifactId}-${project.version}</finalName> + <appendAssemblyId>false</appendAssemblyId> + <descriptors> + <descriptor>src/main/assembly/zip.xml</descriptor> + </descriptors> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> </project> \ No newline at end of file diff --git a/src/main/assembly/zip.xml b/src/main/assembly/zip.xml new file mode 100644 index 0000000000000000000000000000000000000000..6a6292c6510524ed8c1a2a1d5fe6fa44984e5197 --- /dev/null +++ b/src/main/assembly/zip.xml @@ -0,0 +1,24 @@ +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> + <id>zip</id> + <includeBaseDirectory>false</includeBaseDirectory> + <formats> + <format>zip</format> + </formats> + <fileSets> + <fileSet> + <directory>src/main/java/</directory> + <includes> + <include>**</include> + </includes> + <outputDirectory>./script</outputDirectory> + </fileSet> + <fileSet> + <directory>src/main/resources/</directory> + <includes> + <include>**</include> + </includes> + <outputDirectory>.</outputDirectory> + </fileSet> + </fileSets> +</assembly> \ No newline at end of file diff --git a/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java b/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java index 8ef7d87615b0610f66997584299b9d69e9bb8161..874359949589ac9f60b960bdf15f09aaca0149b5 100644 --- a/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java +++ b/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java @@ -18,8 +18,8 @@ */ package com.l2jserver.datapack.gracia; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.l2jserver.datapack.gracia.AI.EnergySeeds; import com.l2jserver.datapack.gracia.AI.Lindvior; @@ -46,12 +46,11 @@ import com.l2jserver.datapack.gracia.vehicles.SoIController.SoIController; * Gracia class-loader. * @author Pandragon */ -public final class GraciaLoader -{ - private static final Logger _log = Logger.getLogger(GraciaLoader.class.getName()); +public final class GraciaLoader { - private static final Class<?>[] SCRIPTS = - { + private static final Logger LOG = LoggerFactory.getLogger(GraciaLoader.class); + + private static final Class<?>[] SCRIPTS = { // AIs EnergySeeds.class, Lindvior.class, @@ -79,18 +78,13 @@ public final class GraciaLoader SoDController.class, }; - public static void main(String[] args) - { - _log.info(GraciaLoader.class.getSimpleName() + ": Loading Gracia related scripts."); - for (Class<?> script : SCRIPTS) - { - try - { + public static void main(String[] args) { + LOG.info("Loading Gracia scripts..."); + for (Class<?> script : SCRIPTS) { + try { script.getDeclaredConstructor().newInstance(); - } - catch (Exception e) - { - _log.log(Level.SEVERE, GraciaLoader.class.getSimpleName() + ": Failed loading " + script.getSimpleName() + ":", e); + } catch (Exception ex) { + LOG.error("Failed loading {}!", script.getSimpleName(), ex); } } } diff --git a/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java b/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java index eb003206a73fb49e891ad18f025da7c3bdc0c753..3faf74417580d1342b73d55a4f545b5f38b269eb 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java +++ b/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java @@ -21,6 +21,7 @@ package com.l2jserver.datapack.handlers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.l2jserver.commons.util.Util; import com.l2jserver.datapack.handlers.actionhandlers.L2ArtefactInstanceAction; import com.l2jserver.datapack.handlers.actionhandlers.L2DecoyAction; import com.l2jserver.datapack.handlers.actionhandlers.L2DoorInstanceAction; @@ -282,12 +283,10 @@ import com.l2jserver.gameserver.handler.VoicedCommandHandler; * @author UnAfraid * @author Zoey76 */ -public class MasterHandler -{ +public class MasterHandler { private static final Logger LOG = LoggerFactory.getLogger(MasterHandler.class); - private static final Class<?>[] ACTION_HANDLERS = - { + private static final Class<?>[] ACTION_HANDLERS = { L2ArtefactInstanceAction.class, L2DecoyAction.class, L2DoorInstanceAction.class, @@ -300,8 +299,7 @@ public class MasterHandler L2TrapAction.class, }; - private static final Class<?>[] ACTION_SHIFT_HANDLERS = - { + private static final Class<?>[] ACTION_SHIFT_HANDLERS = { L2DoorInstanceActionShift.class, L2ItemInstanceActionShift.class, L2NpcActionShift.class, @@ -310,8 +308,7 @@ public class MasterHandler L2SummonActionShift.class, }; - private static final Class<?>[] ADMIN_HANDLERS = - { + private static final Class<?>[] ADMIN_HANDLERS = { AdminAdmin.class, AdminAnnouncements.class, AdminBBS.class, @@ -386,8 +383,7 @@ public class MasterHandler AdminZone.class, }; - private static final Class<?>[] BYPASS_HANDLERS = - { + private static final Class<?>[] BYPASS_HANDLERS = { Augment.class, Buy.class, BuyShadowItem.class, @@ -421,8 +417,7 @@ public class MasterHandler Wear.class, }; - private static final Class<?>[] CHAT_HANDLERS = - { + private static final Class<?>[] CHAT_HANDLERS = { ChatAll.class, ChatAlliance.class, ChatBattlefield.class, @@ -438,8 +433,7 @@ public class MasterHandler ChatTrade.class, }; - private static final Class<?>[] COMMUNITY_HANDLERS = - { + private static final Class<?>[] COMMUNITY_HANDLERS = { ClanBoard.class, FavoriteBoard.class, FriendsBoard.class, @@ -450,8 +444,7 @@ public class MasterHandler RegionBoard.class, }; - private static final Class<?>[] ITEM_HANDLERS = - { + private static final Class<?>[] ITEM_HANDLERS = { BeastSoulShot.class, BeastSpiritShot.class, BlessedSpiritShot.class, @@ -485,15 +478,13 @@ public class MasterHandler TeleportBookmark.class, }; - private static final Class<?>[] PUNISHMENT_HANDLERS = - { + private static final Class<?>[] PUNISHMENT_HANDLERS = { BanHandler.class, ChatBanHandler.class, JailHandler.class, }; - private static final Class<?>[] USER_COMMAND_HANDLERS = - { + private static final Class<?>[] USER_COMMAND_HANDLERS = { ClanPenalty.class, ClanWarsList.class, Dismount.class, @@ -511,8 +502,7 @@ public class MasterHandler SiegeStatus.class, }; - private static final Class<?>[] TARGET_HANDLERS = - { + private static final Class<?>[] TARGET_HANDLERS = { Area.class, AreaCorpseMob.class, AreaFriendly.class, @@ -552,8 +542,7 @@ public class MasterHandler Unlockable.class, }; - private static final Class<?>[] TELNET_HANDLERS = - { + private static final Class<?>[] TELNET_HANDLERS = { ChatsHandler.class, DebugHandler.class, HelpHandler.class, @@ -564,8 +553,7 @@ public class MasterHandler ThreadHandler.class, }; - private static final Class<?>[] VOICED_COMMAND_HANDLERS = - { + private static final Class<?>[] VOICED_COMMAND_HANDLERS = { StatsVCmd.class, // TODO: Add configuration options for this voiced commands: // CastleVCmd.class, @@ -584,8 +572,7 @@ public class MasterHandler // CustomAnnouncePkPvP.class // }; - public static void main(String[] args) - { + public static void main(String[] args) { LOG.info("Loading Handlers..."); loadHandlers(VoicedCommandHandler.getInstance(), VOICED_COMMAND_HANDLERS); loadHandlers(ActionHandler.getInstance(), ACTION_HANDLERS); @@ -602,24 +589,18 @@ public class MasterHandler LOG.info("Handlers Loaded..."); } - private static void loadHandlers(IHandler<?, ?> handler, Class<?>[] classes) - { - for (Class<?> c : classes) - { - if (c == null) - { + private static void loadHandlers(IHandler<?, ?> handler, Class<?>[] classes) { + for (Class<?> c : classes) { + if (c == null) { continue; } - try - { + try { handler.registerByClass(c); - } - catch (Exception ex) - { + } catch (Exception ex) { LOG.error("Failed loading handler {}!", c.getSimpleName(), ex); } } - LOG.info("{}: Loaded {} handlers.", handler.getClass().getSimpleName(), handler.size()); + LOG.info("Loaded {} {}.", handler.size(), Util.splitWords(handler.getClass().getSimpleName())); } } \ No newline at end of file diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPForge.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPForge.java index 57783d7820b936761771813cd34192461b9fb81b..3dbaba7fb2506779e4a8910a667666a842aebd0c 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPForge.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminPForge.java @@ -208,7 +208,7 @@ public final class AdminPForge implements IAdminCommandHandler private void showValuesPage(L2PcInstance activeChar, String[] opCodes, String format) { String sendBypass = null; - String valuesHtml = HtmCache.getInstance().getHtmForce(activeChar.getHtmlPrefix(), "data/html/admin/pforge/values.htm"); + String valuesHtml = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/pforge/values.htm"); if (opCodes.length == 3) { valuesHtml = valuesHtml.replace("%opformat%", "chd"); 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 28ea8b389c70f237cb1713ab0c7553df33698882..29fc44955fb9192d1b81dacf5d114b0117aae1ff 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminQuest.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminQuest.java @@ -28,6 +28,7 @@ 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; @@ -122,14 +123,14 @@ public class AdminQuest implements IAdminCommandHandler } else { - File file = new File(ScriptEngineManager.SCRIPT_FOLDER, parts[1]); + File file = new File(Config.SCRIPT_ROOT, "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(ScriptEngineManager.SCRIPT_FOLDER, quest.getClass().getName().replaceAll("\\.", "/") + ".java"); + file = new File(Config.SCRIPT_ROOT, "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 a934b15f158ca0d15dc7bca6464f5ef83f3b68b2..3d94b8b201bc6596a28e490b4ddf7d05f6246384 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReload.java +++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminReload.java @@ -205,14 +205,14 @@ public class AdminReload implements IAdminCommandHandler } case "effect": { - final File file = new File(ScriptEngineManager.SCRIPT_FOLDER, "handlers/EffectMasterHandler.java"); + final File file = new File(Config.SCRIPT_ROOT, "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(ScriptEngineManager.SCRIPT_FOLDER, "handlers/MasterHandler.java"); + final File file = new File(Config.SCRIPT_ROOT, "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/telnethandlers/ReloadHandler.java b/src/main/java/com/l2jserver/datapack/handlers/telnethandlers/ReloadHandler.java index 89a861b9c729723a3142892e535d0eeea8c86e0d..11989a94204cfe40cd07d91cee8e2543dd2e411f 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/telnethandlers/ReloadHandler.java +++ b/src/main/java/com/l2jserver/datapack/handlers/telnethandlers/ReloadHandler.java @@ -24,6 +24,7 @@ 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; @@ -118,7 +119,7 @@ public class ReloadHandler implements ITelnetHandler { String questPath = st.hasMoreTokens() ? st.nextToken() : ""; - File file = new File(ScriptEngineManager.SCRIPT_FOLDER, questPath); + File file = new File(Config.SCRIPT_ROOT, "com/l2jserver/datapack/" + questPath); if (file.isFile()) { try diff --git a/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java b/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java index 9dc438251a52450fe2b847474d1ea3504014cf8b..c35f22227b13c333e4613cc0ed32a795677470f4 100644 --- a/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java +++ b/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java @@ -18,7 +18,8 @@ */ package com.l2jserver.datapack.hellbound; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.l2jserver.datapack.handlers.admincommandhandlers.AdminHellbound; import com.l2jserver.datapack.handlers.voicedcommandhandlers.Hellbound; @@ -66,12 +67,11 @@ import com.l2jserver.gameserver.handler.VoicedCommandHandler; * Hellbound class-loader. * @author Zoey76 */ -public final class HellboundLoader -{ - private static final Logger _log = Logger.getLogger(HellboundLoader.class.getName()); +public final class HellboundLoader { - private static final Class<?>[] SCRIPTS = - { + private static final Logger LOG = LoggerFactory.getLogger(HellboundLoader.class); + + private static final Class<?>[] SCRIPTS = { // Commands AdminHellbound.class, Hellbound.class, @@ -116,31 +116,23 @@ public final class HellboundLoader Q00133_ThatsBloodyHot.class, }; - public static void main(String[] args) - { - _log.info(HellboundLoader.class.getSimpleName() + ": Loading Hellbound related scripts:"); + public static void main(String[] args) { + LOG.info("Loading Hellbound scripts..."); // Data HellboundPointData.getInstance(); HellboundSpawns.getInstance(); // Engine HellboundEngine.getInstance(); - for (Class<?> script : SCRIPTS) - { - try - { + for (Class<?> script : SCRIPTS) { + try { final Object instance = script.getDeclaredConstructor().newInstance(); - if (instance instanceof IAdminCommandHandler) - { + if (instance instanceof IAdminCommandHandler) { AdminCommandHandler.getInstance().registerHandler((IAdminCommandHandler) instance); - } - else if (Config.L2JMOD_HELLBOUND_STATUS && (instance instanceof IVoicedCommandHandler)) - { + } else if (Config.L2JMOD_HELLBOUND_STATUS && (instance instanceof IVoicedCommandHandler)) { VoicedCommandHandler.getInstance().registerHandler((IVoicedCommandHandler) instance); } - } - catch (Exception e) - { - _log.severe(HellboundLoader.class.getSimpleName() + ": Failed loading " + script.getSimpleName() + ":" + e.getMessage()); + } catch (Exception ex) { + LOG.error("Failed loading {}!", script.getSimpleName(), ex); } } }