Updated to Java 17.

This commit is contained in:
MobiusDevelopment
2021-10-13 21:39:56 +00:00
parent a47d1bf797
commit cdbc38c32b
213 changed files with 1072 additions and 758 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -5,8 +5,9 @@ Use mega downloader to download https://megadownloader.en.softonic.com/
System: https://mega.nz/#!s8lghARA!f7Hi1Yx5JWrNjT3kMRaGK_StI1Tnrxnhia8kaG8edSs System: https://mega.nz/#!s8lghARA!f7Hi1Yx5JWrNjT3kMRaGK_StI1Tnrxnhia8kaG8edSs
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/pzykzq2vpy4po2u/L2J_Mobius_1.0_Ertheia_Geodata.zip Geodata: http://www.mediafire.com/file/pzykzq2vpy4po2u/L2J_Mobius_1.0_Ertheia_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -4,8 +4,9 @@ Client: https://drive.google.com/uc?id=0Bz1qNvCniabUMDhOd3RpUzBNSW8&export=downl
Mirror: https://mega.nz/#!h1FXyByZ!XmyZBtk4qSOlKb435rx7X372_NreN1PTH8l7A4lNCoo Mirror: https://mega.nz/#!h1FXyByZ!XmyZBtk4qSOlKb435rx7X372_NreN1PTH8l7A4lNCoo
System: https://mega.nz/#!Rx1SCIBC!W5pM7xljB_6UwXaHp_aW8sqY1SJXp5LFa121YGRrb74 System: https://mega.nz/#!Rx1SCIBC!W5pM7xljB_6UwXaHp_aW8sqY1SJXp5LFa121YGRrb74
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/jme7lm3imhu97m5/L2J_Mobius_2.5_Underground_Geodata.zip Geodata: http://www.mediafire.com/file/jme7lm3imhu97m5/L2J_Mobius_2.5_Underground_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -4,8 +4,9 @@ Client: https://drive.google.com/uc?id=0B_wJFNF_2fcJTE5oVm96emtlSlE&export=downl
Mirror: https://mega.nz/#!Uo9TTCSQ!JDstscgcLFY3GeM3Q6j8nUq7jpixzqIV1Gl4z2ob0eA Mirror: https://mega.nz/#!Uo9TTCSQ!JDstscgcLFY3GeM3Q6j8nUq7jpixzqIV1Gl4z2ob0eA
System: https://mega.nz/#!Fp8QBYYD!jLmMH7wisNk198-A7AYqhA1VMDru_OXpJbunXpBh4ww System: https://mega.nz/#!Fp8QBYYD!jLmMH7wisNk198-A7AYqhA1VMDru_OXpJbunXpBh4ww
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/sviy5wsbdcgf5ve/L2J_Mobius_3.0_Helios_Geodata.zip Geodata: http://www.mediafire.com/file/sviy5wsbdcgf5ve/L2J_Mobius_3.0_Helios_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -4,8 +4,9 @@ Client: https://drive.google.com/uc?id=1MA8eTpTZHblC9Iki4xXdWWbS4HGednDq&export=
Mirror: https://mega.nz/#!0eB0RIZS!RGm506vctH72n7H9tCNpepWfIfs1AvFB5NkcsNcMYA4 Mirror: https://mega.nz/#!0eB0RIZS!RGm506vctH72n7H9tCNpepWfIfs1AvFB5NkcsNcMYA4
System: https://mega.nz/#!Fk0SAK6L!v3JSzKN6QuNzINgel0wp7zXovh0DOYzqxcm7etQOSLI System: https://mega.nz/#!Fk0SAK6L!v3JSzKN6QuNzINgel0wp7zXovh0DOYzqxcm7etQOSLI
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/3wru8ll42xoqzn4/L2J_Mobius_4.0_GrandCrusade_Geodata.zip Geodata: http://www.mediafire.com/file/3wru8ll42xoqzn4/L2J_Mobius_4.0_GrandCrusade_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -5,8 +5,9 @@ Use mega downloader to download https://megadownloader.en.softonic.com/
System: https://mega.nz/#!ZgtSUQKR!CNGdlcf2TRiDKvH8NJowEQUfafoJyzsv-g2SM9kpOB4 System: https://mega.nz/#!ZgtSUQKR!CNGdlcf2TRiDKvH8NJowEQUfafoJyzsv-g2SM9kpOB4
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/arc7w3cbiukz0wj/L2J_Mobius_5.0_Salvation_Geodata.zip Geodata: http://www.mediafire.com/file/arc7w3cbiukz0wj/L2J_Mobius_5.0_Salvation_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -3,8 +3,9 @@ L2J-Mobius Etina's Fate
Client: https://drive.google.com/uc?id=1L4hcPsh5T3TOf_LcePonnMeQvcDm9DDV&export=download Client: https://drive.google.com/uc?id=1L4hcPsh5T3TOf_LcePonnMeQvcDm9DDV&export=download
System: https://mega.nz/#!B10W0QSR!xon-5i8Z8g5-VoJPTt16leYVIVV8GosQE_OSH1j7pnM System: https://mega.nz/#!B10W0QSR!xon-5i8Z8g5-VoJPTt16leYVIVV8GosQE_OSH1j7pnM
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/3cjttcj5ij8fsxl/L2J_Mobius_5.5_EtinasFate_Geodata.zip Geodata: http://www.mediafire.com/file/3cjttcj5ij8fsxl/L2J_Mobius_5.5_EtinasFate_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -6,8 +6,9 @@ Use mega downloader to download https://megadownloader.en.softonic.com/
Client mirror 2: https://drive.google.com/uc?id=1yeYwrQEIcmAz5Ha1R05c3QgntRPy9y0V&export=download Client mirror 2: https://drive.google.com/uc?id=1yeYwrQEIcmAz5Ha1R05c3QgntRPy9y0V&export=download
System: https://mega.nz/#!xolCkYjD!TpdBo8SwYpPYJN86H_r5AxZljTZAfyj-o2H9cfy2bNc System: https://mega.nz/#!xolCkYjD!TpdBo8SwYpPYJN86H_r5AxZljTZAfyj-o2H9cfy2bNc
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/dcpw8w5u60alw14/L2J_Mobius_6.0_Fafurion_Geodata.zip Geodata: http://www.mediafire.com/file/dcpw8w5u60alw14/L2J_Mobius_6.0_Fafurion_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -3,8 +3,9 @@ Client Mirror 1: https://drive.google.com/uc?id=1rXtgV9l67b5lBeK_wmCKITE1DQ7EgEJ
Client Mirror 2: https://drive.google.com/uc?id=1IugZjcpS5n9_EJPLCecB3H_tLmVlqo2L&export=download Client Mirror 2: https://drive.google.com/uc?id=1IugZjcpS5n9_EJPLCecB3H_tLmVlqo2L&export=download
System: https://mega.nz/#!98likSra!vP3uaDwJs8oiY5q60UzBSXAbgNELWX_dycWb98Mz96U System: https://mega.nz/#!98likSra!vP3uaDwJs8oiY5q60UzBSXAbgNELWX_dycWb98Mz96U
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/94ekkgj1xmr5rb1/L2J_Mobius_7.0_PreludeOfWar_Geodata.zip Geodata: http://www.mediafire.com/file/94ekkgj1xmr5rb1/L2J_Mobius_7.0_PreludeOfWar_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -2,8 +2,9 @@ L2J-Mobius Homunculus
Client: https://drive.google.com/u/0/uc?id=1Xlk2uzmxveJtrvaWXmZ6wBVFjd6E-ws7&export=download Client: https://drive.google.com/u/0/uc?id=1Xlk2uzmxveJtrvaWXmZ6wBVFjd6E-ws7&export=download
System: https://mega.nz/file/xl1njaTY#BdVHadGs9bTDyrDE3QgBGvAqkmqSqPtn8hLpcCil1Fs System: https://mega.nz/file/xl1njaTY#BdVHadGs9bTDyrDE3QgBGvAqkmqSqPtn8hLpcCil1Fs
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/muw8zo6v7cl7ujt/L2J_Mobius_8.2_Homunculus_Geodata.zip Geodata: http://www.mediafire.com/file/muw8zo6v7cl7ujt/L2J_Mobius_8.2_Homunculus_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -120,7 +120,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isOwnerClan(Npc npc, PlayerInstance player) private boolean isOwnerClan(Npc npc, PlayerInstance player)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -156,7 +157,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -175,7 +177,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -222,7 +225,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -230,11 +236,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -246,7 +254,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -277,7 +286,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if (MANAGERS.get(npc.getId()) == ManagerType.CASTLE) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if (type == ManagerType.CASTLE)
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -285,6 +297,7 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
return htmltext; return htmltext;
} }

View File

@@ -35,7 +35,8 @@ public class OpBlinkSkillCondition implements ISkillCondition
public OpBlinkSkillCondition(StatSet params) public OpBlinkSkillCondition(StatSet params)
{ {
switch (params.getEnum("direction", Position.class)) final Position position = params.getEnum("direction", Position.class);
switch (position)
{ {
case BACK: case BACK:
{ {

View File

@@ -43,10 +43,11 @@ public class ConditionHasResidence extends Condition
return false; return false;
} }
boolean test = false;
final StatSet params = getParameters(); final StatSet params = getParameters();
final int id = params.getInt("id"); final int id = params.getInt("id");
boolean test = false; final ResidenceType type = params.getEnum("type", ResidenceType.class);
switch (params.getEnum("type", ResidenceType.class)) switch (type)
{ {
case CASTLE: case CASTLE:
{ {

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -2,8 +2,9 @@ L2J-Mobius Return of the Queen Ant Chapter 2
Client: https://drive.google.com/u/0/uc?id=1wvBeoNFljviXafRBRey8McnEdVF-z0fK&export=download Client: https://drive.google.com/u/0/uc?id=1wvBeoNFljviXafRBRey8McnEdVF-z0fK&export=download
System: https://mega.nz/file/o4sSWCDS#62_BEm7U-kKFwxAeVPkJl7lhn5Za4JiiPkcMvMeNDqg System: https://mega.nz/file/o4sSWCDS#62_BEm7U-kKFwxAeVPkJl7lhn5Za4JiiPkcMvMeNDqg
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: https://www.mediafire.com/file/wz1b8ko7h971fq8/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Geodata.zip Geodata: https://www.mediafire.com/file/wz1b8ko7h971fq8/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -32,8 +32,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -42,7 +42,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -38,7 +38,7 @@ public class FileLogFormatter extends Formatter
final StringJoiner sj = new StringJoiner("\t", "", Config.EOL); final StringJoiner sj = new StringJoiner("\t", "", Config.EOL);
sj.add(dateFormat.format(new Date(record.getMillis()))); sj.add(dateFormat.format(new Date(record.getMillis())));
sj.add(record.getLevel().getName()); sj.add(record.getLevel().getName());
sj.add(String.valueOf(record.getThreadID())); sj.add(String.valueOf(record.getLongThreadID()));
sj.add(record.getLoggerName()); sj.add(record.getLoggerName());
sj.add(record.getMessage()); sj.add(record.getMessage());
return sj.toString(); return sj.toString();

View File

@@ -3,7 +3,7 @@ L2J-Mobius Harbringers of War
Client: https://mega.nz/#!Y01jxYrR!JvKWdxg5-Oc0pFvKouOdwToqQnEG1yBtfHmnm7zG7ZQ Client: https://mega.nz/#!Y01jxYrR!JvKWdxg5-Oc0pFvKouOdwToqQnEG1yBtfHmnm7zG7ZQ
System: https://mega.nz/#!Igt2TaqJ!nOS9UjNg8Mof7nUvmxN5V1TwYpU151UkyZVuG47TrwU System: https://mega.nz/#!Igt2TaqJ!nOS9UjNg8Mof7nUvmxN5V1TwYpU151UkyZVuG47TrwU
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Totally fun project! Totally fun project!

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -4,8 +4,9 @@ Base idea is to use C6 branch for C4 client.
Client: https://mega.nz/file/dwcyga6Q#70bMDfvuQ6aiQEA_aI7JrPn66NzIZ289iZ0QfJj5MmE Client: https://mega.nz/file/dwcyga6Q#70bMDfvuQ6aiQEA_aI7JrPn66NzIZ289iZ0QfJj5MmE
System: https://mega.nz/file/c09XTS7Y#MoIzoOZ8q-aAiKuE4XzB4JpJU67Eql61SHD4VhqP9Mw System: https://mega.nz/file/c09XTS7Y#MoIzoOZ8q-aAiKuE4XzB4JpJU67Eql61SHD4VhqP9Mw
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/q0j6uawuq5fjo0k/L2J_Mobius_C4_ScionsOfDestiny_Geodata.zip Geodata: http://www.mediafire.com/file/q0j6uawuq5fjo0k/L2J_Mobius_C4_ScionsOfDestiny_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -35,6 +35,9 @@ public class FileLogFormatter extends Formatter
@Override @Override
public String format(LogRecord record) public String format(LogRecord record)
{ {
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL); // Java 1.8
// return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
// Java 16
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getLongThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
} }
} }

View File

@@ -3,8 +3,9 @@ L2J-Mobius Interlude
Client: https://drive.google.com/uc?id=1LcKCQTbRXJvteJcuvc_rnX8i2gT1fcHB&export=download Client: https://drive.google.com/uc?id=1LcKCQTbRXJvteJcuvc_rnX8i2gT1fcHB&export=download
System: https://mega.nz/#!t49wiKgZ!PzVAcxcg2o8gRkAiMjH7CUO6lKrBG27npg2JPL1uEq8 System: https://mega.nz/#!t49wiKgZ!PzVAcxcg2o8gRkAiMjH7CUO6lKrBG27npg2JPL1uEq8
JDK: http://www.mediafire.com/file/cgh3zupv80qdwv4/bellsoft-jdk15.0.2%252B10-windows-amd64.msi JDK: https://www.mediafire.com/file/7n2v2ws8281knej/bellsoft-jdk17%252B35-windows-amd64.msi
Eclipse: http://www.mediafire.com/file/h0gmazpv9hm6gjp/eclipse-java-2020-12-R-win32-x86_64.zip XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/rspmpv0hzid20hx/eclipse-java-2021-09-R-win32-x86_64_JDK17.zip
Geodata: http://www.mediafire.com/file/4k2pi3qa8rqt299/L2J_Mobius_C6_Interlude_Geodata.zip Geodata: http://www.mediafire.com/file/4k2pi3qa8rqt299/L2J_Mobius_C6_Interlude_Geodata.zip

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15 org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -137,8 +137,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15 org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -152,7 +152,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=4 org.eclipse.jdt.core.formatter.alignment_for_assignment=4
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=0
@@ -282,7 +281,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=do not insert
@@ -356,7 +354,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -515,7 +512,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true

View File

@@ -52,8 +52,8 @@
</not> </not>
</condition> </condition>
</fail> </fail>
<available classname="java.util.stream.Stream" property="JDK15.present" /> <available classname="java.util.stream.Stream" property="JDK17.present" />
<fail unless="JDK15.present" message="Java 15 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." /> <fail unless="JDK17.present" message="Java 17 is required. But your version is Java ${ant.java.version} and probably JDK is not installed." />
</target> </target>
<target name="init" depends="checkRequirements" description="Create the output directories."> <target name="init" depends="checkRequirements" description="Create the output directories.">
@@ -62,7 +62,7 @@
</target> </target>
<target name="compile" depends="init" description="Compile the source."> <target name="compile" depends="init" description="Compile the source.">
<javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="15" target="15" encoding="UTF-8" /> <javac srcdir="${src}" classpathref="classpath" destdir="${build.bin}" compiler="modern" debug="true" debuglevel="lines,vars,source" includeantruntime="false" source="17" target="17" encoding="UTF-8" />
</target> </target>
<target name="jar" depends="compile" description="Create the jar files."> <target name="jar" depends="compile" description="Create the jar files.">

View File

@@ -126,7 +126,8 @@ public class WyvernManager extends AbstractNpcAI
{ {
return false; return false;
} }
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -162,7 +163,8 @@ public class WyvernManager extends AbstractNpcAI
private boolean isInSiege(Npc npc) private boolean isInSiege(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -186,7 +188,8 @@ public class WyvernManager extends AbstractNpcAI
private String getResidenceName(Npc npc) private String getResidenceName(Npc npc)
{ {
switch (MANAGERS.get(npc.getId())) final ManagerType type = MANAGERS.get(npc.getId());
switch (type)
{ {
case CASTLE: case CASTLE:
{ {
@@ -233,7 +236,10 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
else if ((MANAGERS.get(npc.getId()) == ManagerType.CASTLE) && SevenSigns.getInstance().isSealValidationPeriod() && (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE) == SevenSigns.CABAL_DUSK)) else
{
final ManagerType type = MANAGERS.get(npc.getId());
if ((type == ManagerType.CASTLE) && SevenSigns.getInstance().isSealValidationPeriod() && (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE) == SevenSigns.CABAL_DUSK))
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -241,11 +247,13 @@ public class WyvernManager extends AbstractNpcAI
{ {
htmltext = replaceAll(npc, player); htmltext = replaceAll(npc, player);
} }
}
break; break;
} }
case "Help": case "Help":
{ {
htmltext = MANAGERS.get(npc.getId()) == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html"); final ManagerType type = MANAGERS.get(npc.getId());
htmltext = type == ManagerType.CASTLE ? replacePart(player, "wyvernmanager-03.html") : replacePart(player, "wyvernmanager-03b.html");
break; break;
} }
case "RideWyvern": case "RideWyvern":
@@ -257,7 +265,8 @@ public class WyvernManager extends AbstractNpcAI
player.sendMessage("You cannot summon wyvern while in siege."); player.sendMessage("You cannot summon wyvern while in siege.");
return null; return null;
} }
if ((MANAGERS.get(npc.getId()) == ManagerType.CASTLE) && SevenSigns.getInstance().isSealValidationPeriod() && ((SevenSigns.getInstance()).getSealOwner(SevenSigns.SEAL_STRIFE) == SevenSigns.CABAL_DUSK)) final ManagerType type = MANAGERS.get(npc.getId());
if ((type == ManagerType.CASTLE) && SevenSigns.getInstance().isSealValidationPeriod() && ((SevenSigns.getInstance()).getSealOwner(SevenSigns.SEAL_STRIFE) == SevenSigns.CABAL_DUSK))
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }
@@ -292,7 +301,8 @@ public class WyvernManager extends AbstractNpcAI
} }
else else
{ {
if ((MANAGERS.get(npc.getId()) == ManagerType.CASTLE) && SevenSigns.getInstance().isSealValidationPeriod() && (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE) == SevenSigns.CABAL_DUSK)) final ManagerType type = MANAGERS.get(npc.getId());
if ((type == ManagerType.CASTLE) && SevenSigns.getInstance().isSealValidationPeriod() && (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE) == SevenSigns.CABAL_DUSK))
{ {
htmltext = "wyvernmanager-dusk.html"; htmltext = "wyvernmanager-dusk.html";
} }

View File

@@ -76,7 +76,8 @@ public class FirstClassTransferTalk extends AbstractNpcAI
return htmltext += "no.html"; return htmltext += "no.html";
} }
switch (MASTERS.get(npc.getId())) final Race race = MASTERS.get(npc.getId());
switch (race)
{ {
case HUMAN: case HUMAN:
{ {

Some files were not shown because too many files have changed in this diff Show More