Skip to content

Latest commit

 

History

History
499 lines (348 loc) · 20.2 KB

CHANGELOG.md

File metadata and controls

499 lines (348 loc) · 20.2 KB

Changelog

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.

[0.6.2][0.6.2]

Added

  • None.

Changed

  • None.

Fixed

  • Fix attacks tasks not being cancelled correctly.

Removed

  • None

[0.6.1][0.6.1]

Added

  • None.

Changed

  • 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

Fixed

  • Fix scheduler not running properly for flags.

Removed

  • None

[0.6.0][0.6.0]

Added

  • Add support for Folia, bump min. Towny version to 0.100.0.0. by @LlmDl in #324

Changed

  • Bump com.palmergames.bukkit.towny:towny from 0.99.5.0 to 0.99.6.0 by @dependabot in #308

Fixed

  • None

Removed

  • None

[0.5.4][0.5.4]

Known-Issues

Added

  • Make use of new Town#isAllowedToWar Towny feature. by @LlmDl in #221

Changed

  • 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

Fixed

  • None

Removed

  • None

0.5.3 Oct 20, 2022

Known-Issues

Added

  • 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)

Changed

  • Update usages of the deprecated TownyMessaging#sendResidentMessage calls to use Spigot's Player#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

Fixed

  • War Beacon blocks are no longer checked against when War Beacons are disabled. (#107, @LlmDl)
  • Fix FlaggedInteractCooldown not parsing with TimeTools. (#116, @LlmDl)

Removed

  • 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]

0.5.2 - 21/11/21

Known-Issues

Added

  • 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 to warzone.editable_materials for complete fire protection when this is false.
      • 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)

Changed

  • 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.
  • 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... over Object[], mimicking String.format().

    • Avoids passing args as new Object[]{arg1,arg2,etc}

Fixed

  • Fix Cell#parse(WorldCoord) (Also from #88)

Deprecated API

  • 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 Tag 0.5.1b. This changelog represents the latter, which is an amended release.

Added

  • French Translation (fr_FR) (#83, @Bibithom)

  • 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.

Fixed

  • An issue with canceling null hologramThreads. (#85, @LlmDl)

  • Adjust implementation of the WarZoneListener, and how FlagWar utilizes WarZones. (#86, @LlmDl)

0.5.0 - 2021-10-13

Added

  • 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)

Changed

  • 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 of scheduleSyncRepeatingTask() with runTaskTimer().

    • Should be purely aesthetic, but also removes a deprecation warning. SSRT simply calls RTT under the hood.

Fixed

  • 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

Added

  • FlagWarAPI#isUnderAttack(Nation); returns TRUE if any Town in the supplied Nation contains a cell under attack.

  • New OutlawListener to listen for the OutlawTeleportEvent

    • 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.

Changed

  • 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.
  • 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.

Removed

  • Deployment to GitHub Packages

0.3.0 - 2021-07-17

Added

  • Added Optional Holograms for War Flags (#58, @gaffy00)
    • Requires HolographicDisplays to function.

Changed

  • Build Targets: Java 16 (was 8), Paper 1.17.1, Towny 0.97.0.12

Removed

  • alternatives Maven profile from the FlagWar pom file.

  • API: CellUnderAttack#isFlag(Block)

    • Previously deprecated; use #isFlagTimer(Block) or #isFlagPart(Block) instead.

Fixed

  • WarZoneListener Functionality

0.2.0 - 2021-06-18

Added

  • 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.

Changed

  • 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

Removed

  • WarZoneListener (Disabled)

    • Had some issues with functionality negatively affecting gameplay.
  • Catches for Towny's EconomyException (Deprecated)

Fixed

  • 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

Added

  • Localization feature for supporting multiple languages, using ResourcePacks.
    • Adds LocaleUtil and Translate classes.
    • English (US) included as baseline translation.

Changed

  • Target Bukkit API 1.14, matching Towny.

  • Made logger calls "lazy" (Using lambda expressions)

Fixed

  • 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

Added

  • 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)

Changed

  • Split off from TownyAdvanced/Towny, adopting the Apache License (v2).

  • Package space renamed to io.github.townyadvanced.flagwar

  • Un-ignored some .idea/ files for better interoperability among developers using IDEA.

Pre-History

  • FlagWar created by @Zren as "Cell War", then merged into Towny. Maintained for over ten years as part of Towny, before the decoupling effort.