- Ensure each level tag creates its own `StatsSet` instance.
- Correctly add each level's data to the template individually,
preventing overwrites.
- Modernize modified block using final `var` for local variables.
- Add `TransformDataTest` to verify correct parsing of multi-level
transformation data.
Reported by: genuinelyinsane
AntiFeedManager: Fixed race condition in `tryAddClient` by using atomic
`getAndUpdate` for limit checks.
ListenersContainer: Optimized volatile access using local snapshots to
reduce memory barriers.
RaidBossPointsManager: Switched inner maps to `ConcurrentHashMap` to
ensure thread-safe updates to player raid points.
Quest: Optimized lazy initialization with local variable snapshots and
resolved unused lambda parameters.
SummonEffectsTable: Enhanced thread safety and efficiency using
ConcurrentHashMap and atomic computeIfAbsent refactoring.
Explicitly left out "com.l2jserver.gameserver.model.drops.strategy"
lambda warnings, I want to review the the drop strategy on another
commit.
Enabled `SystemMessageId` and `NpcStringId` localization loading on
`GameServer`.
Set Spanish (`es`) as example language for all features.
Changed `MultiLangSystemMessageAllowed` and `MultiLangNpcStringAllowed`
to Set for better performance.
Added support for localized `NpcStringId` and `SystemMessageId`.
Upgraded and cleaned up related code.
Simplified duplicated code.
Updated SLF4J from 2.0.16 to 2.0.17
Updated Log4J from 2.24.3 to 2.25.3
Updated Gson from 2.12.1 to 2.13.2
Updated L2j Server Commons from 2.6.8.1 to 2.6.9.0
Updated JUnit from 5.11.4 to 6.0.1
Updated Mockito from 5.15.2 to 5.21.0
Updated AssertJ from 3.27.0 to 3.27.6
Updated DependencyCheck from 12.0.2 to 12.1.9
Updated Assembly from 3.7.1 to 3.8.0
Updated Compiler from 3.13.0 to 3.14.1
Updated JAR from 3.4.2 to 3.5.0
Updated Surefure from 3.5.2 to 3.5.4
When PartyEvenlyDistributeAllOtherItems is True or an equipment was
added to the PartyEvenlyDistributeItems list, equipment would lose it's
enchantment when picking it up while in a party.
With this fix, only items with a count above 1 are evenly distributed.
Updated Log4J from 2.24.1 to 2.24.3
Updated JDA from 5.1.2 to 5.2.1
Updated L2J Commons from 2.6.8.0 to 2.6.8.1
Updated JUnit Jupiter from 5.11.3 to 5.11.4
Updated AssertJ Core from 3.26.3 to 3.27.0
Updated Maven Surefire plugin from 3.5.1 to 3.5.2
- Changed configurations that should be converted to milliseconds.
- Implemented Day to Millisecond converter.
- Added missing JavaDocs.
- Added relevant unit tests.
issues
- Removed static constants for Olympiad and Siege, allowing reloading of
these configurations without server restart.
Improvements on startup:
From 110s on IDE on debug mode, down to 65s (on my machine).
From 32s on IDE, down to 24s (on my machine).
Reported-by: finaldestination4016
Migrated logging to slf4j
* style: Added load times logging to Gameserver
* refactor(logging): Migrated logging to slf4j
Fixed some warnings along the way
* refactor(logging): Removed slf4j bridge and JUL
* Minor changes to loggers refactor
Approved-by: Zoey76