Releases: IntellectualSites/fastasyncvoxelsniper
3.2.1
- Fix overlay permission @NotMyFault
📦 Dependency updates
- Update dependency org.jetbrains:annotations to v25 @renovate (#383)
- Update dependency gradle to v8.10.2 @renovate (#382)
- Update crowdin/github-action action to v2.2.0 @renovate (#381)
- Update dependency com.gradleup.shadow to v8.3.2 @renovate (#380)
- Update crowdin/github-action action to v2.1.3 @renovate (#379)
- Update dependency com.gradleup.shadow to v8.3.1 @renovate (#378)
- Update dependency gradle to v8.10.1 @renovate (#377)
- Update crowdin/github-action action to v2.1.2 @renovate (#376)
- Update dependency xyz.jpenilla.run-paper to v2.3.1 @renovate (#375)
- Update dependency gradle to v8.10 @renovate (#374)
- Update gradle/actions action to v4 @renovate (#373)
- Update crowdin/github-action action to v2.1.1 @renovate (#372)
- Update crowdin/github-action action to v2.1.0 @renovate (#370)
- Update dependency gradle to v8.9 @renovate (#369)
3.2.0
🐛 Fixes
- Fix incompatibility with newest FAWE version (LinBus update) @PierreSchwang (#367)
📦 Dependency updates
- Update dependency gradle to v8.8 @renovate (#363)
- Update crowdin/github-action action to v2 @renovate (#362)
- Update dependency com.intellectualsites.bom:bom-newest to v1.45 @renovate (#361)
- Update crowdin/github-action action to v1.20.4 @renovate (#360)
- Update crowdin/github-action action to v1.20.3 @renovate (#359)
- Update dependency xyz.jpenilla.run-paper to v2.3.0 @renovate (#358)
- Update dependency xyz.jpenilla.run-paper to v2.2.4 @renovate (#357)
- Update dependency com.intellectualsites.bom:bom-newest to v1.44 @renovate (#356)
3.1.1
📦 Dependency updates
- Update gradle/wrapper-validation-action action to v3 @renovate (#355)
- Update dependency io.github.gradle-nexus.publish-plugin to v2 @renovate (#354)
- Update crowdin/github-action action to v1.20.2 @renovate (#353)
- Update crowdin/github-action action to v1.20.1 @renovate (#352)
- Update dependency gradle to v8.7 @renovate (#351)
- Update crowdin/github-action action to v1.20.0 @renovate (#350)
- Update dependency gradle to v8.6 @renovate (#347)
- Update dependency com.intellectualsites.bom:bom-newest to v1.43 @renovate (#349)
- Update release-drafter/release-drafter action to v6 @renovate (#348)
- Update gradle/wrapper-validation-action action to v2 @renovate (#344)
- Update dependency com.intellectualsites.bom:bom-newest to v1.42 @renovate (#341)
- Update dependency xyz.jpenilla.run-paper to v2.2.3 @renovate (#346)
- Update crowdin/github-action action to v1.19.0 @renovate (#343)
- Update dependency io.papermc.hangar-publish-plugin to v0.1.2 @renovate (#345)
3.1.0
🐛 Fixes
- Fix 'Sniper not found' on login @Aurelien30000 (#335)
📦 Dependency updates
- Update dependency com.modrinth.minotaur to v2.8.7 @renovate (#336)
- Update dependency io.papermc.hangar-publish-plugin to v0.1.1 @renovate (#337)
- Update actions/upload-artifact action to v4 @renovate (#338)
- Update github/codeql-action action to v3 @renovate (#339)
- Update crowdin/github-action action to v1.15.2 @renovate (#327)
- Update dependency com.modrinth.minotaur to v2.8.6 @renovate (#328)
- Update dependency xyz.jpenilla.run-paper to v2.2.2 @renovate (#329)
- Update dependency gradle to v8.5 @renovate (#330)
- Update AButler/upload-release-assets action to v3 @renovate (#331)
- Update actions/setup-java action to v4 @renovate (#332)
3.0.0
💥 Breaking changes
- Switch command framework to cloud @Aurelien30000 (#322)
🐛 Fixes
- Fixes #298 @NotMyFault (#316)
- Fix scanner brush height logic & typos @Aurelien30000 (#306)
- Addresses issues related to maven publish scm block @BlockyTheDev (#309)
✨ Features
- Re-implement run server task @TheMeinerLP (#315)
- Replace url with uri @TheMeinerLP (#314)
✅ Chore
- Fixes #298 @NotMyFault (#316)
- Update modrinth's list of supported versions @NotMyFault (#313)
- Updated the Wiki URLS @0x00zer0day (#312)
📦 Dependency updates
- Update dependency com.modrinth.minotaur to v2.8.5 @renovate (#323)
- Update dependency com.intellectualsites.bom:bom-newest to v1.39 @renovate (#324)
- Update dependency org.jetbrains:annotations to v24.1.0 @renovate (#325)
- Update crowdin/github-action action to v1.15.1 @renovate (#320)
- Update dependency gradle to v8.4 @renovate (#321)
- Update crowdin/github-action action to v1.13.1 @renovate (#310)
- Update dependency com.intellectualsites.bom:bom-newest to v1.38 @renovate (#311)
3.0.0-SNAPSHOT-3
- Fix default permission @Aurelien30000
3.0.0-SNAPSHOT-2
- Fixes performer commands #318 @Aurelien30000
3.0.0-SNAPSHOT
💥 3.0.0 switches from a custom command framework to cloud.
If you notice, a command doesn't work, acts differently compared to 2.x or something else may be wrong, don't hesitate to file an issue.
General Command Management
I have opted to use the annotations extension of the cloud command system. In my opinion, this is better suited to the current brush format handling which is all done inside brush classes.
Executors have been kept and brush & performer command are still handled inside their classes.
Snipe
class has been extended for a usage as a commander, because FAVS relies on a lot on this class.CommandRegistry
is the main place for the whole handling behind the scenes. Otherwise, commands are registered as usually done in cloud, with some specific annotations when needed.
SniperCommander
class is the commander to use with cloud command system. If the player exists, it returns its sniper. Otherwise, it returns a simple SniperSender
, similar to CommandSender
.
Command Manager
FAVS uses the paper command manager, when available, to enjoy some improvements. Falls back to bukkit command manager otherwise.
- Async tab-completions are enabled if available.
Snipe
,PerformerSnipe
&Toolkit
classes are registered into the injector in order to be injected in command methods.- Command exceptions are adapted and customized with the FAVS message syntax.
Command Post-Processor
FAVS requires the command post-processor ins order handle specific FAVS behavior.
- Handles the
@RequireToolkit
annotation, makes sure the toolkit is available and the value stored. - Handles the
@DynamicRange
annotation, used to define a range from non-constant variables, using reflection. - Prepares the brush & performer when needed, their
Snipe
and stores them.
Annotations & Parser
FAVS uses some annotations to facilitate development, based on common rules and behaviors.
- Handles the
@RequireToolkit
annotation, modifies the command meta. - Handles the custom command execution method handler, which should differ for brush & performer. Cloud commands are designed to live in a class instance, this is not suitable to the current management of brush & performer. I have opted for a custom execution method which uses the brush & performer instance from the execution context instead of the base instance. This avoid extra parameters for each command method.
Arguments
FAVS needs a lot of custom arguments for either factories, registries, custom types, custom needs, etc.
Suggestions & parsers are also declared via annotations in custom classes.
Other Changes
- Fixes #286
- Fixes #288
- Fixes #291
- Fixes #294
- Fixes #305
- Re-add
meteor
as an alias of the comet brush.
- All classes related to internal command managing from VS have been removed.
FastAsyncVoxelSniper
class has been removed. As far as I know, this class was useless and is now for sure.- Some classes and methods have been added or refactored, but the overall code base is the same to try keeping maximum compatibility.
- Some translations have been reorganized or removed.
- Some code format has been modified, there will be another pull request next year hopefully to unify comments format.
- Improvements to brush properties loading. Previously, all aliases were loaded, subsequently loading the same brush several times.
- Modern switch syntax has replaced old ones.
- General improvements.
Known Problems:
- There is currently one small issue with static/literal arguments and their aliases. Tab-completions are not handled for all aliases due to https://github.com/Incendo/cloud/blob/master/cloud-core/src/main/java/cloud/commandframework/arguments/StaticArgument.java#L134.
- Brigadier extension is voluntarily not used due to some incompatibilities with FAVS commands syntax.
### Submitter Checklist
- [x] Make sure you are opening from a topic branch (**/feature/fix/docs/ branch** (right side)) and not your main branch.
- [x] Ensure that the pull request title represents the desired changelog entry.
- [x] New public fields and methods are annotated with `@since TODO`.
- [x] I read and followed the [contribution guidelines](https://github.com/IntellectualSites/.github/blob/main/CONTRIBUTING.md).
2.9.4
🐛 Fixes
- Fix setBlock StackOverflow @Aurelien30000 (#289)
- Improve over(under)lay brushes @Aurelien30000 (#284)
✨ Features
- Improve generate tree brush with persistent leaves @Aurelien30000 (#293)
📦 Dependency updates
- Update dependency com.modrinth.minotaur to v2.8.4 @renovate (#302)
- Update crowdin/github-action action to v1.13.0 @renovate (#303)
- Update actions/checkout action to v4 @renovate (#304)
- Update dependency io.papermc.hangar-publish-plugin to v0.1.0 @renovate (#283)
- Update dependency com.intellectualsites.bom:bom-newest to v1.37 @renovate (#281)
- Update dependency gradle to v8.3 @renovate (#282)
2.9.3
🐛 Fixes
- Fix legacy stencils support @Aurelien30000 (#270)
- Fix typo in updater checker URL @Aurelien30000 (#272)
- Fix pattern parsing & some pattern outputs @Aurelien30000 (#265)
📦 Dependency updates
- Update plugin com.modrinth.minotaur to v2.8.3 - autoclosed @renovate (#275)
- Update crowdin/github-action action to v1.12.0 @renovate (#276)
- Update dependency com.intellectualsites.bom:bom-newest to v1.34 @renovate (#277)
- Update plugin com.modrinth.minotaur to v2.8.2 @renovate (#274)
- Update dependency gradle to v8.2.1 @renovate (#273)
- Update crowdin/github-action action to v1.11.0 @renovate (#266)
- Update dependency com.intellectualsites.bom:bom-newest to v1.31 @renovate (#267)
- Update dependency gradle to v8.2 @renovate (#268)
- Update dependency net.minecrell.plugin-yml.bukkit to v0.6.0 @renovate (#269)