Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MV5 #2824

Draft
wants to merge 730 commits into
base: main
Choose a base branch
from
Draft

MV5 #2824

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
730 commits
Select commit Hold shift + click to select a range
c2ff8a4
Make unsettable properties have null name
benwoo1110 Sep 11, 2023
ef0cb4b
Do not apply spawn location if it's a null location
benwoo1110 Sep 11, 2023
c0f2168
Copy spawn location only if seed didnt change on regen
benwoo1110 Sep 11, 2023
58c13c1
Copy spawn location when cloning world
benwoo1110 Sep 11, 2023
aa06300
Fix some checktyle issue in WorldPurger
benwoo1110 Sep 11, 2023
61570b1
Merge pull request #3012 from Multiverse/ben/mv5/improve-world-purge
benwoo1110 Sep 11, 2023
329901a
Remove public from config nodes and remove names that are the same as…
benwoo1110 Sep 11, 2023
ca9b244
Merge pull request #3011 from Multiverse/ben/mv5/upstream-checkstyle
dumptruckman Sep 11, 2023
5a474d7
Merge pull request #3010 from Multiverse/ben/mv5/nested-locale-message
dumptruckman Sep 11, 2023
86e2ab4
Change checkstyle workflow back to PR annotations without failure.
dumptruckman Sep 11, 2023
d77fb43
Add continue-on-error to step as well.
dumptruckman Sep 11, 2023
ffec23c
Add docs and fix more checkstyles
benwoo1110 Sep 11, 2023
690d956
Merge branch 'MV5' into world-revamp-continue
benwoo1110 Sep 11, 2023
46d115b
Fix LocalizationTest
benwoo1110 Sep 11, 2023
d3fa42a
Merge pull request #3013 from Multiverse/world-revamp-continue
dumptruckman Sep 11, 2023
39f3805
Fix all imports once and for all
benwoo1110 Sep 11, 2023
dd4b01f
Fix a lot of checkstyles throughout
benwoo1110 Sep 11, 2023
1dfdb61
Set back throw count to 0
benwoo1110 Sep 11, 2023
e005b26
Add a todo about the todo checkstyle to enable todo warning after mv
benwoo1110 Sep 11, 2023
9dbe7e2
Merge pull request #3014 from Multiverse/ben/mv5/a-lot-of-checkstyle
benwoo1110 Sep 11, 2023
256ac67
Optimise all imports
benwoo1110 Sep 11, 2023
e31ef14
Fix import order checkstyle and remove comment
benwoo1110 Sep 11, 2023
1812315
Merge pull request #3015 from Multiverse/ben/mv5/import-refactor
benwoo1110 Sep 11, 2023
474630d
Move package to org.mvplugins.multiverse.core
benwoo1110 Sep 11, 2023
48f9e65
Change third party relocate to `org.mvplugins.multiverse.external.`
benwoo1110 Sep 11, 2023
df7e333
Merge pull request #3016 from Multiverse/ben/mv5/repackage
benwoo1110 Sep 11, 2023
ede47e8
Fix import order check.
dumptruckman Sep 12, 2023
f6ba48c
Apply new import order changes
benwoo1110 Sep 12, 2023
5178d68
Merge pull request #3017 from Multiverse/dtm/checkstyle/imports
benwoo1110 Sep 12, 2023
d6c8d53
Merge branch 'MV5' into MV5-always-spawn-location
benwoo1110 Sep 12, 2023
57b27ce
Fix hk2 ServiceLocatorGenerator
benwoo1110 Sep 12, 2023
dc3ec52
Merge branch 'MV5' into MV5-always-spawn-location
benwoo1110 Sep 12, 2023
b78941c
Refactor join-destination config and use async teleport
benwoo1110 Sep 12, 2023
80dba50
Merge pull request #2991 from zax71/MV5-always-spawn-location
benwoo1110 Sep 12, 2023
a458497
Implement player world actions and some refactor
benwoo1110 Sep 12, 2023
f9bd7f1
Split PlayerWorldAction to PlayerWorldTeleporter and EnforcementHandler
benwoo1110 Sep 12, 2023
0e43444
Merge pull request #3018 from Multiverse/ben/mv5/player-world-action
benwoo1110 Sep 12, 2023
245fac9
Implement new AsyncSafetyTeleporter
benwoo1110 Sep 12, 2023
ef2b42d
Check for destination's checkTeleportSafety
benwoo1110 Sep 12, 2023
6f01483
Cleanup commands checkstyle and flags
benwoo1110 Sep 12, 2023
9ddfa59
Merge branch 'MV5' into ben/mv5/teleporter
benwoo1110 Sep 12, 2023
ba93195
Move logic of teleporting players out of world from world manager
benwoo1110 Sep 12, 2023
fbab3bc
Nuke the old world manager
benwoo1110 Sep 12, 2023
db0d5da
Merge pull request #3020 from Multiverse/ben/mv5/nuke-worldmanager
dumptruckman Sep 13, 2023
bc1a2ff
Merge branch 'MV5' into ben/mv5/teleporter
benwoo1110 Sep 13, 2023
404ab73
Fix imports
benwoo1110 Sep 13, 2023
2642d94
Clearer docs for tolerance and radius for getSafeLocation
benwoo1110 Sep 13, 2023
82c84c2
Implement AsyncResult, a wrapper for CompletableFuture
benwoo1110 Sep 13, 2023
2f3306a
Add class level docs for AsyncResult
benwoo1110 Sep 13, 2023
3df46bc
Add AsyncAttempt for example purposes.
dumptruckman Sep 13, 2023
23b4299
Fully implement AsyncResult
benwoo1110 Sep 14, 2023
94bcca9
Add warning of player still in world while unloading
benwoo1110 Sep 14, 2023
bf8244e
Refactor some async attempt handling
benwoo1110 Sep 14, 2023
91f9842
Merge pull request #3022 from Multiverse/dtm/mv5/teleporter_attempt
benwoo1110 Sep 14, 2023
180680f
Add method to get MultiverseWorld from a bukkit world.
benwoo1110 Sep 20, 2023
fb240a1
Add context resolving for MultiverseWorld class
benwoo1110 Sep 20, 2023
b99de26
Use MultiverseWorld instead of worldname string for RemoveCommand
benwoo1110 Sep 20, 2023
80fcf8f
Fix remove success message key
benwoo1110 Sep 20, 2023
bbfc1a0
Cleanup MultiverseCommand and add docs
benwoo1110 Sep 20, 2023
6ba51fa
Implement lowercased enum completion and fix some checkstyles
benwoo1110 Sep 20, 2023
cce0418
Cleanup NodeGroup with docs and annotation
benwoo1110 Sep 20, 2023
7fcfa64
Merge pull request #3024 from Multiverse/ben/mv5/mv-world-oncontext
benwoo1110 Sep 20, 2023
2e0ce51
Merge pull request #3026 from Multiverse/ben/mv5/enum-completion
benwoo1110 Sep 20, 2023
5dba08d
Merge pull request #3025 from Multiverse/ben/mv5/fix-remove-locale
benwoo1110 Sep 20, 2023
e4bff69
Pass multiverse core instance directly into WorldConfigNodes
benwoo1110 Sep 20, 2023
6611ec4
Make defaultValue a supplier and fix some checkstyle in ConfigNode
benwoo1110 Sep 20, 2023
6fe87fb
Implement autocomplete and string parsing for config handling
benwoo1110 Sep 20, 2023
4084cd4
Move property handling to a separate class
benwoo1110 Sep 20, 2023
f2e193e
Improve node suggest javadocs
benwoo1110 Sep 20, 2023
a2f6e20
Add injection test for AsyncSafetyTeleporter
benwoo1110 Sep 21, 2023
980d678
Merge branch 'MV5' into ben/mv5/teleporter
benwoo1110 Sep 21, 2023
2e56794
Remove UnsafeCallWrapper as now we use varv Try
benwoo1110 Sep 21, 2023
5db5b94
Fix some related checkstyles
benwoo1110 Sep 21, 2023
42ca91d
Add /mv info
zax71 Sep 21, 2023
896524b
Check some checkstyles for info command
benwoo1110 Sep 22, 2023
41f9989
Fix more checkstyles and use LinkedHashMap for info command
benwoo1110 Sep 22, 2023
61e3ffb
Add null value formatting for MapContentProvider
benwoo1110 Sep 22, 2023
3a6c523
Add more properties to info command and refactor
benwoo1110 Sep 22, 2023
13dc1bd
Support more variety of message payload for MVCommandIssuer
benwoo1110 Sep 22, 2023
4095829
Replace properties method in MVConfig to StringPropertyHandle
benwoo1110 Sep 22, 2023
ac174dc
Add /mv generators
zax71 Sep 22, 2023
62a4e7e
Merge pull request #3028 from Multiverse/ben/mv5/remove-unsafecallwra…
benwoo1110 Sep 23, 2023
01cfcc5
Merge pull request #3019 from Multiverse/ben/mv5/teleporter
benwoo1110 Sep 23, 2023
5845fdd
Merge pull request #3027 from Multiverse/ben/mv5/config-suggest-parser
benwoo1110 Sep 23, 2023
38aa2ac
Merge pull request #3030 from Multiverse/zax71/MV5/InfoCommand
benwoo1110 Sep 23, 2023
d880ea9
Merge pull request #3031 from Multiverse/ben/mv5/issuer-methods
benwoo1110 Sep 23, 2023
d6ccbd9
Fix some checkstyles for generator command
benwoo1110 Sep 23, 2023
d08e6fa
Merge pull request #3032 from Multiverse/zax71/MV5/GeneratorsCommand
benwoo1110 Sep 23, 2023
b2c1aaf
Make sure nodes is not null and fix some checkstyles
benwoo1110 Sep 23, 2023
c78dbcd
Implement ListValueNode and modify actions
benwoo1110 Sep 24, 2023
7c6d7d5
Merge /mv gamerule and /mv gamerules
zax71 Sep 24, 2023
8d50835
Implement gamerule reset
benwoo1110 Sep 25, 2023
a44361f
Merge pull request #3034 from Multiverse/zax71/MV5/gameruleCommandMerge
benwoo1110 Sep 25, 2023
af7d5a8
Remove useless MultiverseCoreListener
benwoo1110 Sep 25, 2023
454bcd3
Refactor and fix checkstyles for some listeners
benwoo1110 Sep 25, 2023
0c37c9e
Merge pull request #3033 from Multiverse/ben/mv5/list-value-node
benwoo1110 Sep 25, 2023
a6f4f2d
Add /mv who and /mv whoall
zax71 Feb 24, 2024
c640a25
Add i18n and tell user when a world is empty when using /mv who
zax71 Feb 24, 2024
c24f198
Add `/mv version`
zax71 Feb 24, 2024
90b8729
Add Ben and Zax71 to authors
zax71 Feb 24, 2024
7276da7
Implement i18n
zax71 Feb 24, 2024
b1a5907
`/mv spawn` basic features
zax71 Feb 24, 2024
39c533e
Use safetyTeleporter and add i18n
zax71 Feb 24, 2024
631ed29
Rename to `/mv spawn tp` in preparation for `/mv spawn set`
zax71 Feb 24, 2024
1a508a5
Add logic for spawn and setspawn
zax71 Mar 8, 2024
6982d8e
Add null check for world
zax71 Mar 8, 2024
caed081
Update Ben's name
zax71 Mar 8, 2024
278c51d
Merge pull request #3056 from Multiverse/zax71MV5/versionCommand
benwoo1110 Mar 12, 2024
7b20cd6
Merge branch 'MV5' into zax71/MV5/whoCommand
benwoo1110 Mar 12, 2024
fef9ba4
Allow /mv list to show world names instead of aliases
zax71 Aug 27, 2024
62c9497
Fix colouring on `/mv modify`
zax71 Aug 27, 2024
949ba46
Add legacy aliases
zax71 Aug 27, 2024
833c33e
Merge pull request #3094 from Multiverse/zax71/mv5/mvm-coloring
benwoo1110 Aug 28, 2024
533e843
Merge pull request #3055 from Multiverse/zax71/MV5/whoCommand
benwoo1110 Aug 28, 2024
ad3a6fc
Fix WorldManager#getWorld from bukkit World not mapping to worldname
benwoo1110 Aug 28, 2024
1d1f594
Implement anchor commands
benwoo1110 Aug 28, 2024
e0d0ee0
Add onFailure methods to AsyncAttempt class.
benwoo1110 Aug 28, 2024
fe79580
Merge pull request #3099 from Multiverse/ben/mv5/AsyncAttempt
benwoo1110 Aug 29, 2024
d83ecd3
Merge pull request #3097 from Multiverse/ben/mv5/getWorld-bukkit
benwoo1110 Aug 29, 2024
d530c2a
Fix some formatting issues.
benwoo1110 Aug 30, 2024
7735053
Merge pull request #3095 from Multiverse/zax71/mv5/legacy-aliases
benwoo1110 Aug 30, 2024
8cbf2bc
Merge branch 'MV5' into zax71/MV5/spawnCommand
benwoo1110 Aug 30, 2024
330d4fb
Improve spawn command messaging
benwoo1110 Aug 30, 2024
1ec4e4b
Improve setspawn command location param
benwoo1110 Aug 30, 2024
f00e296
Proper spawn permission checking
benwoo1110 Aug 30, 2024
7bde4c1
Merge pull request #3057 from Multiverse/zax71/MV5/spawnCommand
benwoo1110 Aug 30, 2024
4be2034
Merge pull request #3093 from Multiverse/Zax71/MV5/implement-1420
benwoo1110 Sep 10, 2024
c05d140
Update placeholderAPI repo and version
benwoo1110 Sep 15, 2024
1528fdf
Merge pull request #3105 from Multiverse/ben/mv5/papi-dep
benwoo1110 Sep 15, 2024
54736ba
Remove old SerializationConfig dependency
benwoo1110 Sep 15, 2024
7368ff2
Add tests for version command
benwoo1110 Sep 15, 2024
64584cc
Fix gradle group id
benwoo1110 Sep 14, 2024
c3674e0
Revamp hk2 injection to support injection in dependent plugins
benwoo1110 Sep 14, 2024
a68b78e
Make contract for core specific listeners and commands
benwoo1110 Sep 15, 2024
11e2dea
Properly implement entryfee for world config
benwoo1110 Sep 18, 2024
1ea3531
Merge pull request #3104 from Multiverse/ben/mv5/multi-plugin-hk2-sup…
benwoo1110 Oct 12, 2024
18f4600
Merge pull request #3107 from Multiverse/ben/mv5/version-cmd-test
benwoo1110 Oct 12, 2024
9c929fc
Fix modify command string parsing
benwoo1110 Oct 12, 2024
7868a19
Dont need to deserialize enum if it is already an enum
benwoo1110 Oct 12, 2024
42cfd9d
Fix enforcementHandler being null in WorldConfigNodes
benwoo1110 Oct 12, 2024
7def05e
Fix version command test
benwoo1110 Oct 12, 2024
5a9b977
Merge pull request #3116 from Multiverse/ben/mv5/fix-version-test
benwoo1110 Oct 12, 2024
c8e50ff
Merge pull request #3115 from Multiverse/ben/mv5/config-improvements
benwoo1110 Oct 12, 2024
bc27f05
Merge pull request #3106 from Multiverse/ben/mv5/remove-old-serial
benwoo1110 Oct 14, 2024
1ba0505
Merge pull request #3109 from Multiverse/ben/mv5/entryfee-currency
benwoo1110 Oct 14, 2024
a226ae5
Merge pull request #3098 from Multiverse/ben/mv5/anchorcommands
benwoo1110 Oct 14, 2024
234d42f
Make tests run on java 21 instead of 17
benwoo1110 Oct 14, 2024
38aa534
Bump mockbukkit to latest 1.21 version
benwoo1110 Oct 14, 2024
061b90c
Config gha to use java 21 for build
benwoo1110 Oct 14, 2024
4264c0c
Merge pull request #3119 from Multiverse/ben/mv5/java-21
benwoo1110 Nov 10, 2024
e889e40
Fix bstats shadowing and archive name build issues
benwoo1110 Nov 14, 2024
38dd001
Fix and refactor cloneWorld hasWorldFolder check
benwoo1110 Nov 14, 2024
b7d0671
Implement more detailed world manager tests
benwoo1110 Nov 14, 2024
30e8b93
Fix null and empty world name checking
benwoo1110 Nov 14, 2024
20af035
Implement tests for WorldNameChecker class
benwoo1110 Nov 14, 2024
0b89738
Update to mockbukkit 4.0
benwoo1110 Nov 16, 2024
d415a7f
Re-add MaterialConverter class and add tests
benwoo1110 Nov 17, 2024
1eeb265
Merge pull request #3127 from Multiverse/ben/mv5/testssss
benwoo1110 Nov 20, 2024
d3f6b11
Refactor to remove need for ParsedDestination and add destination tests
benwoo1110 Nov 20, 2024
f5b5148
Use a record NewAndRemovedWorlds instead of generic tuple for clarity
benwoo1110 Nov 21, 2024
cee6a48
Implement ExactDestination#fromLocation
benwoo1110 Nov 21, 2024
e15dd7e
Implement DestinationInstance#getIdentifier shortcut
benwoo1110 Nov 21, 2024
faf8d1a
Merge pull request #3129 from Multiverse/ben/mv5/material-converter
benwoo1110 Nov 21, 2024
e2050c8
Merge pull request #3130 from Multiverse/ben/mv5/improve-destination
benwoo1110 Nov 21, 2024
b434903
Merge pull request #3131 from Multiverse/ben/mv5/NewAndRemovedWorlds
benwoo1110 Nov 21, 2024
0cc1676
Fix finer permission checking filter
benwoo1110 Nov 21, 2024
8a28bca
Expose MV's completion and context instances in CommandManager
benwoo1110 Nov 21, 2024
8ebb5cf
Merge branch 'main' into ben/mv5/merge-main
benwoo1110 Nov 22, 2024
295259a
Merge pull request #3132 from Multiverse/ben/mv5/merge-main
benwoo1110 Nov 22, 2024
e59089f
Fix mvimport description locale
benwoo1110 Nov 22, 2024
668856d
Add temporary publishing repo
benwoo1110 Nov 23, 2024
b1afd8f
Implement MVTeleportDestinationEvent event
benwoo1110 Nov 23, 2024
9781e83
Remove unused MVPlayerTouchedPortalEvent
benwoo1110 Nov 23, 2024
c0ceb4f
Rename MVVersionEvent to MVDumpsDebugInfoEvent for clarity
benwoo1110 Nov 23, 2024
07ed9fb
Cleanup MVConfigReloadEvent and deprecate MVRespawnEvent
benwoo1110 Nov 23, 2024
e93e2aa
Implement MVWorldDeleteEvent event
benwoo1110 Nov 24, 2024
8d852c5
Add todo for MVWorldPropertyChangeEvent
benwoo1110 Nov 24, 2024
d077461
Rename MVDumpsDebugInfoEvent methods to reflect the class name change
benwoo1110 Nov 24, 2024
470e657
Merge pull request #3133 from Multiverse/ben/mv5/events
benwoo1110 Nov 24, 2024
ecf0260
Revert "Remove unused MVPlayerTouchedPortalEvent"
benwoo1110 Nov 24, 2024
aac076f
Ignore ordering for potential worlds list test.
dumptruckman Nov 25, 2024
7e8ba18
Fix worlds config file name from worlds2 to worlds
benwoo1110 Nov 27, 2024
6c6553b
Delete old entryfee path from world config during migration
benwoo1110 Nov 27, 2024
6a351fd
Backup old mv4's worlds config to `worlds.yml.old`
benwoo1110 Nov 27, 2024
0d6daa1
Improve MultiverseWorld command context error handling
benwoo1110 Nov 27, 2024
c6983a5
Ensure value is not null for the relevant PropertyModifyAction
benwoo1110 Nov 27, 2024
974887d
Throw error if number parsing fails
benwoo1110 Nov 27, 2024
75a98f9
Improve gamerule value suggestion
benwoo1110 Nov 27, 2024
ea87f2a
Implement more customisable way of doing permission checking
benwoo1110 Nov 29, 2024
32f609e
Teleport command no longer need to override hasPermission
benwoo1110 Nov 29, 2024
8e64b18
Merge pull request #3136 from Multiverse/ben/mv5/gamerule-value
benwoo1110 Dec 7, 2024
12ed188
Implement better permission checking for spawn command
benwoo1110 Dec 11, 2024
f55bacc
Improve error handling for string parser
benwoo1110 Dec 11, 2024
80ad788
Abstract common action for command testing to a base class
benwoo1110 Dec 11, 2024
0700d48
Add test for config command
benwoo1110 Dec 11, 2024
63b6ab2
Allow customisation of flag group prefix used
benwoo1110 Dec 11, 2024
d8b56b9
Properly implement teleport intercept config option
benwoo1110 Dec 12, 2024
018e154
Improve teleport intercept config comment
benwoo1110 Dec 12, 2024
a5009bf
Merge pull request #3141 from Multiverse/ben/mv5/flag-group
benwoo1110 Dec 20, 2024
3bdc7f4
Merge pull request #3140 from Multiverse/ben/mv5/command-tests
benwoo1110 Dec 20, 2024
8410175
Merge pull request #3137 from Multiverse/ben/mv5/command-permissions
benwoo1110 Dec 20, 2024
d06407f
Merge pull request #3142 from Multiverse/ben/mv5/teleport-intercept
benwoo1110 Dec 20, 2024
f20b4f2
Bump mockbukkit with canGenerateStructures method support
benwoo1110 Dec 31, 2024
22e1854
Actually implement check command
benwoo1110 Dec 31, 2024
c6ceba8
Implement configurable default and per-player locale
benwoo1110 Jan 1, 2025
7ae9d26
Add config methods for the 2 new locale config nodes
benwoo1110 Jan 1, 2025
1885298
Implement more detailed localization config tests
benwoo1110 Jan 1, 2025
92f3225
Merge pull request #3145 from Multiverse/ben/mv5/check-command
benwoo1110 Jan 2, 2025
69ab1d3
Ensure parent locales field is using the same instance in CommandManager
benwoo1110 Jan 2, 2025
7db5f8c
Merge pull request #3146 from Multiverse/ben/mv5/improve-locales
benwoo1110 Jan 2, 2025
88171da
Fix invalid gamerule error
benwoo1110 Jan 2, 2025
8fdb137
Fix regen command syntax description and minor notes
benwoo1110 Jan 2, 2025
33e440f
Fix regen command random seed flag
benwoo1110 Jan 3, 2025
a5ba422
Fix crash when CommandManager calling Plugin#getConfig before config …
benwoo1110 Jan 3, 2025
f67777b
Allow delete world command to delete unloaded worlds
benwoo1110 Jan 3, 2025
88bb593
Refactor and implement tests for create and delete command
benwoo1110 Jan 3, 2025
78b9ad5
Fix anchor command inheriting from CoreCommand
benwoo1110 Jan 3, 2025
b8f2ebd
Enable tests for counting number of commands as a service
benwoo1110 Jan 3, 2025
5a90d51
Implement tests for regen command
benwoo1110 Jan 3, 2025
df1cb2c
Fix config typo in auto-purge-entities comments
benwoo1110 Jan 4, 2025
17bb856
Add --unsafe flag to teleport command
benwoo1110 Jan 4, 2025
5259f6a
Fix spawn location in world config should use SpawnLocation class not…
benwoo1110 Jan 4, 2025
e492c28
Implement more tests for regen command
benwoo1110 Jan 5, 2025
50ed9e2
Merge pull request #3147 from Multiverse/ben/mv5/regen-test
benwoo1110 Jan 5, 2025
08ac65e
Add missing SPAWN_FAILED message key
benwoo1110 Jan 5, 2025
71e47d2
Add support for creating worlds with single biome
benwoo1110 Jan 5, 2025
ddedf2c
Fix failed tests caused by new biome property
benwoo1110 Jan 5, 2025
5dddfbe
Merge pull request #3149 from Multiverse/ben/mv5/single-biome
benwoo1110 Jan 5, 2025
9e38142
Make file utils a service and optimise server folder file search
benwoo1110 Jan 8, 2025
97b6d24
Implement attempt thenRun and thenAccept
benwoo1110 Jan 8, 2025
2e309ca
Refactor safety teleporter with AsyncSafetyTeleporterAction
benwoo1110 Jan 8, 2025
d8d8607
Convert all usage of AsyncSafetyTeleporter to new api
benwoo1110 Jan 9, 2025
25e704d
Implement test for teleport command
benwoo1110 Jan 9, 2025
918d54f
Only allow proper true/false strings to be parsed
benwoo1110 Jan 9, 2025
3e69dd4
Fix teleport test build error
benwoo1110 Jan 9, 2025
d9aae1a
Remove unused TeleportResult.Success enum
benwoo1110 Jan 9, 2025
0f1a9eb
Fix double migrator action class name
benwoo1110 Jan 10, 2025
c0c9814
Improve config node deserialization handling
benwoo1110 Jan 10, 2025
68717d5
Implement double serialization to fix scale config node
benwoo1110 Jan 10, 2025
34ea244
Add tests for setPropertyString
benwoo1110 Jan 10, 2025
067a88e
Fix scale double migration
benwoo1110 Jan 10, 2025
303ac03
Add default serialisers for all number types
benwoo1110 Jan 10, 2025
199da71
Add docs for new AsyncSafetyTeleporter
benwoo1110 Jan 10, 2025
5f15cce
Add tests for multiple player teleport
benwoo1110 Jan 10, 2025
7c2b7e5
Fix a test for ConfigTeleportInterceptTest
benwoo1110 Jan 10, 2025
bb6d236
Merge pull request #3150 from Multiverse/ben/mv5/revamp-teleport
benwoo1110 Jan 10, 2025
df7b9a3
Implement correct default scale for nether and end environment
benwoo1110 Jan 10, 2025
f37ee00
Implement --unsafe flag for spawn command
benwoo1110 Jan 10, 2025
cdb5fc0
Implement option to resolve world by alias for commands and destinations
benwoo1110 Jan 10, 2025
2949b96
Improve message output for tp command with proper fail reason
benwoo1110 Jan 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .github/workflows/generic.checkstyle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,15 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
continue-on-error: true
steps:
- uses: actions/checkout@v3

- uses: dbelyaev/[email protected]
continue-on-error: true
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
checkstyle_version: 10.12.2
checkstyle_config: ./config/mv_checks.xml
level: warning
2 changes: 1 addition & 1 deletion .github/workflows/generic.github_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:

- uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '21'
distribution: 'adopt'
cache: gradle

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generic.test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '21'
distribution: 'adopt'
cache: gradle

Expand Down
233 changes: 194 additions & 39 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,16 +1,33 @@
import org.apache.tools.ant.filters.ReplaceTokens
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
id 'java-library'
id 'maven-publish'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'com.gradleup.shadow' version '8.3.5'
id "org.jetbrains.kotlin.jvm" version "2.0.21"
}

version = System.getenv('GITHUB_VERSION') ?: 'local'
group = 'com.onarandombox.multiversecore'
group = 'org.mvplugins.multiverse.core'
description = 'Multiverse-Core'

java.sourceCompatibility = JavaVersion.VERSION_11
compileJava {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

compileTestJava {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}

compileTestKotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_21)
javaParameters.set(true)
}
}

repositories {
mavenLocal()
Expand Down Expand Up @@ -39,37 +56,106 @@ repositories {
maven {
url = uri('https://repo.maven.apache.org/maven2/')
}

maven {
name = 'aikar repo'
url = uri('https://repo.aikar.co/content/groups/aikar/')
}

maven {
name = 'glaremasters repo'
url = 'https://repo.glaremasters.me/repository/towny/'
}

maven {
name = "helpchatRepoReleases"
url = uri("https://repo.helpch.at/releases/")
}

maven {
name = 'papermc repo'
url = 'https://repo.papermc.io/repository/maven-public/'
}
}

configurations {
// Add configuration for server API
compileOnly.extendsFrom serverApi
runtimeClasspath.extendsFrom serverApi

// Add configuration for external plugins
implementation.extendsFrom externalPlugin

// Add configuration for dependencies that will be included in fat jar
compileClasspath.extendsFrom shadowed
testCompileClasspath.extendsFrom shadowed
testRuntimeClasspath.extendsFrom shadowed
oldTestCompileClasspath.extendsFrom shadowed
oldTestRuntimeClasspath.extendsFrom shadowed

// Add configuration for old tests
oldTestImplementation.extendsFrom implementation
oldTestRuntime.extendsFrom runtime
}

dependencies {
implementation 'org.bukkit:bukkit:1.13.2-R0.1-SNAPSHOT'
serverApi 'org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT'

implementation('com.github.MilkBowl:VaultAPI:1.7') {
// Economy
externalPlugin('com.github.MilkBowl:VaultAPI:1.7.1') {
exclude group: 'org.bukkit', module: 'bukkit'
}

compileOnly('me.main__.util:SerializationConfig:1.7') {
exclude group: 'org.bukkit', module: 'bukkit'
// PlaceholderAPI
externalPlugin 'me.clip:placeholderapi:2.11.6'

// Command Framework
shadowed 'co.aikar:acf-paper:0.5.1-SNAPSHOT'

// Config
shadowed('io.github.townyadvanced.commentedconfiguration:CommentedConfiguration:1.0.1') {
exclude group: 'org.spigotmc', module: 'spigot-api'
}
compileOnly('com.pneumaticraft.commandhandler:CommandHandler:11') {
exclude group: 'org.bukkit', module: 'bukkit'
exclude group: 'junit', module: 'junit'

// Utils
shadowed 'io.vavr:vavr:0.10.4'
shadowed 'org.glassfish.hk2:hk2-locator:3.0.3'
shadowed('org.glassfish.hk2:hk2-inhabitant-generator:3.0.3') {
exclude group: 'org.apache.maven', module: 'maven-core'
}
compileOnly 'com.dumptruckman.minecraft:buscript:2.0-SNAPSHOT'
compileOnly 'org.bstats:bstats-bukkit:2.2.1'
compileOnly('com.dumptruckman.minecraft:Logging:1.1.1') {
shadowed('com.dumptruckman.minecraft:Logging:1.1.1') {
exclude group: 'junit', module: 'junit'
}
compileOnly 'de.themoep.idconverter:mappings:1.2-SNAPSHOT'
compileOnly 'org.jetbrains:annotations:16.0.2'
shadowed 'de.themoep.idconverter:mappings:1.2-SNAPSHOT'
shadowed('org.bstats:bstats-bukkit:3.1.0') {
exclude group: 'org.bukkit', module: 'bukkit'
}
shadowed 'net.minidev:json-smart:2.4.9'
shadowed 'org.jetbrains:annotations:22.0.0'
shadowed 'io.papermc:paperlib:1.0.8'

testImplementation 'org.spigotmc:spigot-api:1.19.3-R0.1-SNAPSHOT'
// Tests
testImplementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.21'
testImplementation 'org.mockbukkit.mockbukkit:mockbukkit-v1.21:4.24.1'
testImplementation('com.googlecode.json-simple:json-simple:1.1.1') {
exclude group: 'junit', module: 'junit'
}
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:3.11.2'
testImplementation 'commons-io:commons-io:2.4'
testImplementation 'org.jetbrains.kotlin:kotlin-test'
testImplementation 'com.natpryce:hamkrest:1.8.0.1'
testImplementation 'org.mockito.kotlin:mockito-kotlin:4.1.0'

// Old Tests
oldTestImplementation 'org.spigotmc:spigot-api:1.20.1-R0.1-SNAPSHOT'
oldTestImplementation('com.googlecode.json-simple:json-simple:1.1.1') {
exclude group: 'junit', module: 'junit'
}
oldTestImplementation 'junit:junit:4.13.1'
oldTestImplementation 'org.mockito:mockito-core:3.11.2'
oldTestImplementation 'commons-io:commons-io:2.7'

// Annotation Processors
annotationProcessor 'org.glassfish.hk2:hk2-metadata-generator:3.0.3'
testAnnotationProcessor 'org.glassfish.hk2:hk2-metadata-generator:3.0.3'
}


Expand All @@ -78,11 +164,11 @@ java {
withJavadocJar()
}

tasks.withType(JavaCompile) {
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}

tasks.withType(Javadoc) {
tasks.withType(Javadoc).configureEach {
options.encoding = 'UTF-8'
}

Expand All @@ -92,28 +178,52 @@ configurations {
it.outgoing.artifacts.removeIf { it.buildDependencies.getDependencies(null).contains(jar) }
it.outgoing.artifact(shadowJar)
}
}

testCompileOnly.extendsFrom compileOnly
testRuntimeOnly.extendsFrom testCompileOnly

shadowed.extendsFrom compileOnly {
canBeResolved = true
sourceSets {
oldTest {
java {
compileClasspath += main.output
runtimeClasspath += main.output
srcDir file('src/old-test/java')
}
resources.srcDir file('src/old-test/resources')
}
}


publishing {
publications {
maven(MavenPublication) {
from components.java

pom.withXml {
asNode().dependencies.'*'.findAll() {
it.scope.text() == 'runtime' && project.configurations.implementation.allDependencies.find { dep ->
dep.name == it.artifactId.text()
}
Node pomNode = asNode()

// Remove Kotlin dependency
pomNode.dependencies.'*'.findAll() {
it.groupId.text() == 'org.jetbrains.kotlin'
}.each() {
it.parent().remove(it)
}

// Switch runtime deps to provided
pomNode.dependencies.'*'.findAll() {
it.scope.text() == 'runtime'
}.each() {
it.scope*.value = 'provided'
}

// Add spigot api to pom
project.configurations.serverApi.allDependencies.each { dependency ->
pomNode.dependencies[0].appendNode("dependency").with {
it.appendNode("groupId", dependency.group)
it.appendNode("artifactId", dependency.name)
it.appendNode("version", dependency.version)
it.appendNode("scope", "provided")
}
}
}
}
}
Expand All @@ -133,6 +243,13 @@ publishing {
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials(PasswordCredentials)
}

maven {
// todo: remove before mv5 release
name = "multiverseBeta"
url = "https://repo.c0ding.party/multiverse-beta"
credentials(PasswordCredentials)
}
}
}

Expand All @@ -151,6 +268,19 @@ task prepareSource(type: Sync) {
compileJava {
source = prepareSource.outputs
}
tasks.withType(JavaCompile) {
configure(options) {
options.compilerArgs << '-Aorg.glassfish.hk2.metadata.location=META-INF/hk2-locator/Multiverse-Core'
}
}

compileKotlin {
// We're not using Kotlin in the plugin itself, just tests!
enabled = false
}
configurations.findAll { !it.name.startsWith('test') }.each {
it.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}

processResources {
def props = [version: "${project.version}"]
Expand All @@ -175,20 +305,45 @@ javadoc {
project.configurations.api.canBeResolved = true

shadowJar {
relocate 'me.main__.util', 'com.onarandombox.serializationconfig'
relocate 'com.pneumaticraft.commandhandler', 'com.onarandombox.commandhandler'
relocate 'buscript', 'com.onarandombox.buscript'
relocate 'org.bstats', 'com.onarandombox.bstats'
relocate 'com.dumptruckman.minecraft.util.Logging', 'com.onarandombox.MultiverseCore.utils.CoreLogging'
relocate 'com.dumptruckman.minecraft.util.DebugLog', 'com.onarandombox.MultiverseCore.utils.DebugFileLogger'
relocate 'org.codehaus.jettison', 'com.onarandombox.jettison'
relocate 'de.themoep.idconverter', 'com.onarandombox.idconverter'
relocate 'co.aikar', 'org.mvplugins.multiverse.external.acf'
relocate 'com.dumptruckman.minecraft.util.Logging', 'org.mvplugins.multiverse.core.utils.CoreLogging'
relocate 'com.dumptruckman.minecraft.util.DebugLog', 'org.mvplugins.multiverse.core.utils.DebugFileLogger'
relocate 'de.themoep.idconverter', 'org.mvplugins.multiverse.external.idconverter'
relocate 'io.github.townyadvanced.commentedconfiguration', 'org.mvplugins.multiverse.external.commentedconfiguration'
relocate 'me.main__.util', 'org.mvplugins.multiverse.external.serializationconfig'
relocate 'org.bstats', 'org.mvplugins.multiverse.external.bstats'
relocate 'com.sun', 'org.mvplugins.multiverse.external.sun'
relocate 'net.minidev', 'org.mvplugins.multiverse.external.minidev'
relocate 'org.objectweb', 'org.mvplugins.multiverse.external.objectweb'
relocate 'io.vavr', 'org.mvplugins.multiverse.external.vavr'
relocate 'jakarta', 'org.mvplugins.multiverse.external.jakarta'
relocate 'javassist', 'org.mvplugins.multiverse.external.javassist'
relocate 'org.aopalliance', 'org.mvplugins.multiverse.external.aopalliance'
relocate 'org.glassfish', 'org.mvplugins.multiverse.external.glassfish'
relocate 'org.jvnet', 'org.mvplugins.multiverse.external.jvnet'
relocate 'org.intellij', 'org.mvplugins.multiverse.external.intellij'
relocate 'org.jetbrains', 'org.mvplugins.multiverse.external.jetbrains'
relocate 'io.papermc.lib', 'org.mvplugins.multiverse.external.paperlib'

configurations = [project.configurations.shadowed]

archiveFileName = "$baseName-$version.$extension"
classifier = ''
archiveClassifier.set('')

dependencies {
exclude(dependency {
it.moduleGroup == 'org.jetbrains.kotlin'
})
}
//classifier = ''
}

build.dependsOn shadowJar
jar.enabled = false

test {
useJUnitPlatform()

testLogging {
exceptionFormat = 'full'
}
}
Loading
Loading