The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
If a change is missing, it is likely simple or was forgotten about when this log was updated. 😓
Feel free to PR corrections to this file.
- None.
- None.
- Fix attacks tasks not being cancelled correctly.
- None
- None.
- Bump com.github.spotbugs:spotbugs-annotations from 4.7.3 to 4.8.3
- Bump org.apache.maven.plugins:maven-checkstyle-plugin from 3.3.0 to 3.3.1
- Bump com.puppycrawl.tools:checkstyle from 10.12.4 to 10.12.7
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.1.2 to 3.2.5
- Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.1.2 to 3.2.5
- Fix scheduler not running properly for flags.
- None
- Add support for Folia, bump min. Towny version to 0.100.0.0. by @LlmDl in #324
- Bump com.palmergames.bukkit.towny:towny from 0.99.5.0 to 0.99.6.0 by @dependabot in #308
- None
- None
- Possibly fixed: See #168 — Impossible to attack plots that have blocks placed at world build height. Marked as release-blocker. Testers that want to test that it is fixed would be appreciated.
- Make use of new Town#isAllowedToWar Towny feature. by @LlmDl in #221
- Bump Snapshot and Baseline Targets by @TheFlagCourier in #196
- Bump towny from 0.98.4.0 to 0.98.4.3 by @dependabot in #197
- Bump checkstyle from 10.3.4 to 10.4 by @dependabot in #193
- Bump maven-shade-plugin from 3.4.0 to 3.4.1 by @dependabot in #190
- Bump maven-checkstyle-plugin from 3.2.0 to 3.2.1 by @dependabot in #214
- Bump bstats-bukkit from 3.0.0 to 3.0.1 by @dependabot in #223
- Bump checkstyle from 10.4 to 10.8.0 by @dependabot in #229
- Bump annotations from 23.0.0 to 24.0.1 by @dependabot in #231
- Bump maven-surefire-plugin from 2.22.2 to 3.0.0 by @dependabot in #241
- Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 by @dependabot in #235
- Bump maven-compiler-plugin from 3.10.1 to 3.11.0 by @dependabot in #236
- Bump maven-failsafe-plugin from 2.22.2 to 3.0.0 by @dependabot in #243
- Bump checkstyle from 10.8.0 to 10.9.2 by @dependabot in #245
- Bump towny from 0.98.6.0 to 0.99.0.2 by @dependabot in #251
- Bump bstats-bukkit from 3.0.1 to 3.0.2 by @dependabot in #247
- Bump checkstyle from 10.9.2 to 10.9.3 by @dependabot in #246
- Bump maven-failsafe-plugin from 3.0.0 to 3.1.2 by @dependabot in #272
- Bump maven-surefire-plugin from 3.0.0 to 3.1.2 by @dependabot in #273
- Bump maven-checkstyle-plugin from 3.2.1 to 3.3.0 by @dependabot in #264
- Bump checkstyle from 10.9.3 to 10.12.0 by @dependabot in #268
- Bump towny from 0.99.0.2 to 0.99.1.3 by @dependabot in #274
- Bump towny from 0.99.1.3 to 0.99.5.0 by @dependabot in #287
- Bump checkstyle from 10.12.0 to 10.12.1 by @dependabot in #281
- Bump maven-source-plugin from 3.2.1 to 3.3.0 by @dependabot in #275
- Bump maven-shade-plugin from 3.4.1 to 3.5.1 by @dependabot in #279
- Transfer of Maintainership by @TheFlagCourier in #288
- Bump com.puppycrawl.tools:checkstyle from 10.12.1 to 10.12.4 by @dependabot in #303
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 by @dependabot in #300
- None
- None
0.5.3 Oct 20, 2022
- Possibly fixed: See #168 — Impossible to attack plots that have blocks placed at world build height. Marked as release-blocker.
- Russian Translation (#101, @HighError)
- Accuracy switch for broadcast locations. (#168)
- Ability to place flags in worlds marked as having ceilings. (#168)
- Sea-level based restrictions added to compensate.
- Feature: Neighbouring plots protect from attack. (#141, @LlmDl)
- Update usages of the deprecated
TownyMessaging#sendResidentMessage
calls to use Spigot'sPlayer#sendMessage
. (#108, @LlmDl) - Updated Dependencies (via Dependabot)
- Switch Towny repository from JitPack to Glare's Repository.
- Allow for an empty editable materials list. (#117, @LlmDl)
- Switch Towny repository from JitPack to Glare's Repository.
- Update the static min towny versions. (#142, @LlmDl)
- Updated Dependencies (Dependabot)
- Towny 0.97.3.0 to 0.98.3.8
- bstats-bukkit 2.2.1 to 3.0.0
- maven-checkstyle-plugin 3.1.2 to 3.2.0
- maven-compiler-plugin 3.8.1 to 3.10.1
- maven-javadoc-plugin 3.3.1 to 3.4.1
- maven-shade-plugin 3.3.0-SNAPSHOT to 3.3.0
- maven-site-plugin 3.9.1 to 3.12.1
- spotbugs-annotations 4.5.2 to 4.7.2
- holographicdisplays-api 2.4.5 to 2.4.9
- checkstyle 9.1 to 10.3.3
- War Beacon blocks are no longer checked against when War Beacons are disabled. (#107, @LlmDl)
- Fix FlaggedInteractCooldown not parsing with TimeTools. (#116, @LlmDl)
- Removed deprecated time methods.
- CellUnderAttack
formatTime(int, String)
- CellAttackEvent
getTime()
[long]setTime(long)
- FlagWarAPI
getFlaggedTimestamp(Town)
- FlagWar
getMaterialShiftTime()
[long]
- FlagWarConfig
getFlagWaitingTime()
[long]getTimeBetweenFlagColorChange()
[long]getTimeToWaitAfterFlagged()
[long]
- CellUnderAttack
0.5.2 - 21/11/21
- Impossible to attack plots that have blocks placed at world build height. Marked as release-blocker for the next release (0.5.3, or, 0.6.0)
-
VALIDATED_TOWNY_VER
version field:- Stores a manually-updated version string, containing the highest tested version of Towny that we've validated FlagWar for.
- If a newer version of Towny is run, a startup warning is issued from either of the following translation keys.
startup.check-towny.new.stable-release
- "Running Version of Towny released after FlagWar version. Are you up-to-date?"
startup.check-towny.new.pre-release
- "This Towny Pre-Release is newer than what we've tested. Please report any issues."
- French and Spanish (MX) keys were machine-translated using bing translate. If you are familiar with either, feel free to drop in and make sure that the translation is appropriate.
-
rules.nations_can_toggle_neutral
config setting. Default:FALSE
(#96, @LlmDl)- Replaces the now removed option that was in Towny. If False, prevents Towny from allowing Nations to become neutral.
- ℹ️It is important for users to not run FlagWar 0.5.1, or older, with Towny 0.97.2.15, or newer. The required API used for determining player-set neutrality in older releases is no longer present in newer Towny versions.
-
WarZone Configuration Section and Enhancements (#88, @LlmDl)
- Bumps Config version to 1.5
- New Config section 'warzone' containing the following keys:
warzone.editable_materials
(list)- List of materials that can be interacted with in war zones; Or, alternatively, cannot be interacted with.
- Accepts wildcards
*
and negations-{material}
.
warzone.item_use
(boolean)- Enables / Disables item usage in war_zones.
warzone.switch
(boolean)- Enables / Disables use of switches in war zones.
warzone.fire
(boolean)- Enables / Disables fire in war zones, add
-fire
towarzone.editable_materials
for complete fire protection when this is false.
- Enables / Disables fire in war zones, add
warzone.explosions
(boolean)- Enables / Disables explosions in war zones.
warzone.explosions_break_blocks
(boolean)- Enables / Disables explosions effecting Blocks.
- API: Enhanced FlagWarConfig
- Add
#setEditableMaterials()
(void) - Add
#isAllowingExplosionsInWarZone()
(bool) - Add
#isAllowingExplosionsToBreakBlocks()
(bool) - Add
#isAllowingFireInWarZone()
(bool) - Add
#isAllowingSwitchInWarZone()
(bool) - Add
#isAllowingItemUseInWarZone()
(bool) - Add
#isEditableMaterialInWarZone(Material)
(bool)
- Add
-
Build System
- Bumped SpotBugs-Annotations, Checkstyle, and IntelliJ Java Annotations
- Bumped Minimum Towny Version to 0.97.3.0. Same as validated version.
-
Refactored Holograph line population methods to reduce complexity. (commit: b08e1fa41a74019a2559d1dac7c2430f78ef22fc)
- This is a code-quality change, and should have no bearing on server operations.
-
Changed how time is tracked and calculated: (#89)
- FlagWar will now use Duration and Instant instead of the primitive
long
when storing cool-downs and timestamps.
- FlagWar will now use Duration and Instant instead of the primitive
-
Changed how payments / fees are calculated: Using BigDecimal to avoid IEEE754 floating-point inconsistencies. Scale to 2, use "Bankers' Rounding" (HALF_EVEN)
-
Refactored how Messaging.debug(string, args) functions: Use
Object...
overObject[]
, mimicking String.format().- Avoids passing args as
new Object[]{arg1,arg2,etc}
- Avoids passing args as
- Fix
Cell#parse(WorldCoord)
(Also from #88)
CellAttackEvent#getTime()
(long)CellAttackEvent#setTime(long)
CellUnderAttack#formatTime(int, string)
(String)FlagWarAPI#getFlaggedTimestamp(Town)
(long)FlagWarConfig#getFlagWaitingTime()
(long)FlagWarConfig#getTimeBetweenFlagColorChange()
(long)FlagWarConfig#getTimeToWaitAfterFlagged()
(long)
0.5.1 - 2021-10-27
Note, two editions of 0.5.1 exist: Git Tag
0.5.1
and Git Tag0.5.1b
. This changelog represents the latter, which is an amended release.
-
Expansion of the WarZoneListener (#87, @LlmDl)
- Now implements listeners for the following Towny Events:
TownyBurnEvent
TownyExplodingBlocksEvent
TownyExplosionDamagesEntityEvent
TownBlockPVPTestEvent
- Follows the Towny WarZoneConfig like the Build/Destroy/Switch/ItemUse events do.
- Also adds
Cell#parse(WorldCoord)
method for convenience.
- Now implements listeners for the following Towny Events:
0.5.0 - 2021-10-13
-
New Option to require a specific number of attackers to be online in the attacking Town and/or Nation. (#72, @LlmDl)
- Modifies behavior. Originally, this quota was determined by the same method used for defenders.
-
New Option to have conquered Town blocks unclaimed instead of transferred to the attacker. (#73, @LlmDl)
-
Towny Target:
- Minimum version required is 0.97.2.0. It is recommended to use the latest version available to you.
-
FlagWar will now respect Towny's per-world settings for allowing war. (#69 nice..., @LlmDl)
- Originally used exclusively for Towny's EventWar.
-
GitHub Actions
- Now tests against Eclipse Temurin, from Adoptium.
- Tests against both JDK 16 and JDK 17.
-
In
CellUnderAttack.class
, replace uses ofscheduleSyncRepeatingTask()
withrunTaskTimer()
.- Should be purely aesthetic, but also removes a deprecation warning. SSRT simply calls RTT under the hood.
-
Fixed NullPointerException found in OutlawEventListener. (#79, @LlmDl)
-
Fixed Jitpack building.
- Specifically uses Microsoft's build of OpenJDK 17, and Maven 3.8.3 (As opposed to Oracle JDK 8, Maven 3.6.1)
- Tested Working
0.4.0 - 2021-08-12
-
FlagWarAPI#isUnderAttack(Nation)
; returnsTRUE
if any Town in the supplied Nation contains a cell under attack. -
New
OutlawListener
to listen for theOutlawTeleportEvent
- Outlaws cannot be teleported away during an attack while in enemy territory (or enemy Nation Zone) during an active war.
- Add
error.outlaw.cannot-teleport-here
translation key, sent to the outlaw.
-
rules.time_to_wait_after_flagged
replaced by `rules.prevented_interaction_cooldown, which uses DHMS formatting.- The (long)
FlagWarConfig#getTimeToWaitAfterFlagged()
API endpoint remains, but will default if the node is missing or empty. (Default Value:600000l
, 10 minutes.) - This change should reflect the purpose of the node, which has never prevented follow-up attacks.
- The (long)
-
Bumped Towny dependency to 0.97.0.22; set 0.97.0.17 as Min_Towny_Version
-
Bumped Config Version to 1.3 (Post 0.3.0...)
-
Set Bukkit API version flag to 1.16 (From 1.17)
- Reflects "Support API-1" policy.
- Deployment to GitHub Packages
0.3.0 - 2021-07-17
- Build Targets: Java 16 (was 8), Paper 1.17.1, Towny 0.97.0.12
-
alternatives
Maven profile from the FlagWar pom file. -
API:
CellUnderAttack#isFlag(Block)
- Previously deprecated; use
#isFlagTimer(Block)
or#isFlagPart(Block)
instead.
- Previously deprecated; use
- WarZoneListener Functionality
0.2.0 - 2021-06-18
-
Checkstyle configuration, based on traditional Sun style guidelines with some modified rules.
-
A Messaging utility class, with debug methods. Config option to enable debug messaging. (PR #40)
-
A viewer-friendly Changelog (this document).
-
The ability to change War Flag timer materials. (Pull Request #49, @gaffy00)
- Phase timing can be adjusted by increasing the ratio of specific materials.
- Example: Using
matX, matX, matX, matY, matY, matZ
produces a flag with three phases, at a 3:2:1 timing ratio.
-
Change
config:flag.waiting_time
to work as expected. Now reflects total length of a flag, not of the flag phase. (PR #38) -
Bumped Dependencies: Towny 0.97.0.6, Java 11, Paper 1.16, Annotations (various), Checkstyle Configuration
-
WarZoneListener (Disabled)
- Had some issues with functionality negatively affecting gameplay.
-
Catches for Towny's
EconomyException
(Deprecated)
-
Incorrect formatting of colored messages containing formatting characters. (PR #48, @gaffy00)
-
Localization Issues with parsing Regions and Region Variants (PR #43, @Mrredstone5230)
-
Beacons not rendering (PR #40)
0.1.1 - 2021-03-03
- Localization feature for supporting multiple languages, using ResourcePacks.
- Adds
LocaleUtil
andTranslate
classes. - English (US) included as baseline translation.
- Adds
-
Target Bukkit API 1.14, matching Towny.
-
Made logger calls "lazy" (Using lambda expressions)
-
Null listeners preventing plugin loading.
-
Certain setting being loaded from Towny's in-built implementation, instead of self-contained settings.
0.1.0 - 2021-02-18
-
FlagWarAPI wrapper class.
-
.gitattributes
to enforce and preserve file formatting on Git operations. -
Dependabot dependency tracking.
-
WarZoneListener specific to FlagWar (Broken)
-
Standalone Plugin Configuration (Not CommentedConfiguration based)
-
Split off from TownyAdvanced/Towny, adopting the Apache License (v2).
- See the NOTICE file for 3rd-party licenses.
-
Package space renamed to
io.github.townyadvanced.flagwar
-
Un-ignored some
.idea/
files for better interoperability among developers using IDEA.
- FlagWar created by @Zren as "Cell War", then merged into Towny. Maintained for over ten years as part of Towny, before the decoupling effort.