Skip to content
Merged

MV5 #2824

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1010 commits
Select commit Hold shift + click to select a range
6fb620c
Fix failing tests caused by new class and config changes
benwoo1110 Jan 16, 2025
d83d6c6
Improve safe location search config comments
benwoo1110 Jan 16, 2025
3a9eb88
Merge pull request #3151 from Multiverse/ben/mv5/block-safety
benwoo1110 Jan 16, 2025
5b97c3f
Fix mv dumps unable to get latest.log if world-container is changed
benwoo1110 Jan 16, 2025
9be7c75
Defaults mv dumps to use paste.dev as paste.gg is down
benwoo1110 Jan 16, 2025
c49653e
Add world property toggle allow anchor spawn
benwoo1110 Jan 16, 2025
52a4059
Fix typo in anchor respawn method name
benwoo1110 Jan 16, 2025
9884ec2
Fix tests by adding new anchor-respawn property to worlds.yml files
benwoo1110 Jan 16, 2025
83e197a
Implement config option for debug permission
benwoo1110 Jan 16, 2025
971a159
Fix config tests
benwoo1110 Jan 16, 2025
ed5a13b
Implement default-respawn-to-world-spawn config option and refactor r…
benwoo1110 Jan 16, 2025
9d54cc4
Properly register world and teleport permissions
benwoo1110 Jan 17, 2025
14a541c
Fix debug permission config not applying
benwoo1110 Jan 17, 2025
51731cd
Only suggest destination that sender have permission for
benwoo1110 Jan 17, 2025
4dc6163
Don't log permission checks for console
benwoo1110 Jan 17, 2025
2cfcdad
Improve teleport tab complete handling
benwoo1110 Jan 17, 2025
7a6d328
Fix minor issues with teleport CommandCompletion
benwoo1110 Jan 17, 2025
b664985
Log unknown world flag
benwoo1110 Jan 17, 2025
5742670
Implement better spawn command permission checking and tab complete
benwoo1110 Jan 17, 2025
b68e8a2
Localise teleport "you" message
benwoo1110 Jan 17, 2025
53c9cbe
More configuration option for respawning
benwoo1110 Jan 18, 2025
e3fded9
Major refactor to support developer api
benwoo1110 Jan 18, 2025
4eb9ff6
Remove old tests
benwoo1110 Jan 18, 2025
b3e633b
Fix and remove some useless todos
benwoo1110 Jan 18, 2025
b17afbd
Merge pull request #3155 from Multiverse/ben/mv5/api
benwoo1110 Jan 18, 2025
c1e6614
Implement generator as an api
benwoo1110 Jan 18, 2025
449f85e
Ensure all imports in api does not import other multiverse.core packages
benwoo1110 Jan 18, 2025
b8db6e2
Implement MultiverseCoreApi
benwoo1110 Jan 18, 2025
bb91a74
Make ItemEconomy a service
benwoo1110 Jan 19, 2025
36aa144
Implement MVRespawnEvent as Cancellable and remove respawn method
benwoo1110 Jan 19, 2025
4362453
Implement MVWorldPropertyChangeEvent
benwoo1110 Jan 19, 2025
55cd6b7
Make WorldConfigNodes reference MultiverseWorld instead of LoadedMult…
benwoo1110 Jan 19, 2025
d6a70bb
Fix MultiverseWorld#isLoadedWorld returning wrong value
benwoo1110 Jan 19, 2025
b646937
Make config set methods return Try<Void>
benwoo1110 Jan 19, 2025
31524f9
Remove FilesManipulator and merge with FileUtils
benwoo1110 Jan 19, 2025
365b871
Send correct price formatting when player has not enough money
benwoo1110 Jan 19, 2025
a269c02
Add `/mvss` alias and state pitch and yaw when setting
zax71 Jan 19, 2025
96b174c
Improve syntax for `/mv setspawn`
zax71 Jan 19, 2025
9660b0c
Allow not specifying a world to `/mv who`
zax71 Jan 19, 2025
9a55e35
Add `/mvw` alias for `/mv who`
zax71 Jan 19, 2025
d9cf3f5
Merge pull request #3156 from Multiverse/zax71/mv5/improvedLocation
benwoo1110 Jan 20, 2025
c5a8134
Switch to using `@Flags("resolve=issuerAware")`
zax71 Jan 20, 2025
525171a
De-interface all classes and remove api package
benwoo1110 Jan 23, 2025
402fa87
Refactor classes to reduce public exposure
benwoo1110 Jan 23, 2025
ddc4785
Dont call registerConditions in constructor
benwoo1110 Jan 23, 2025
d7c1954
Merge pull request #3158 from Multiverse/ben/mv5/revamp-api
dumptruckman Jan 23, 2025
f6e91fb
Disable checkstyle indentation module forceStrictCondition.
dumptruckman Jan 24, 2025
4170904
Add common replacement keys.
dumptruckman Jan 24, 2025
fb75953
Fix many checkstyle and sonarqube issues on commands.
dumptruckman Jan 24, 2025
abe9ddd
Update a few places using common replacements.
dumptruckman Jan 24, 2025
715d1cb
Fix checkstyle and sonarqube issues found in AnchorManager.
dumptruckman Jan 24, 2025
54f0325
Fix potential source of infinite recursion.
dumptruckman Jan 24, 2025
6d32393
Remove instance initializer on HashMap.
dumptruckman Jan 24, 2025
949c470
Reuse random in RegenWorldOptions.
dumptruckman Jan 24, 2025
d3274cc
Merge pull request #3159 from Multiverse/dtm/mv5/sonarqube-fixes
dumptruckman Jan 24, 2025
8096a4e
Use ACFUtil for random instance
benwoo1110 Jan 24, 2025
906fac1
Make bypass gamemode and playerlimit permission false even when oped
benwoo1110 Jan 24, 2025
21b8008
Private constructor for TestingMode to prevent instantiation
benwoo1110 Jan 24, 2025
0002582
Convert GameRuleValue class to a record
benwoo1110 Jan 24, 2025
1397d14
Slightly lower complexity of RegenWorldOptions.
dumptruckman Jan 24, 2025
d6f4bca
Slightly lower complexity of AnchorManager.
dumptruckman Jan 24, 2025
9d72c7b
Reduce complexity of CreateCommand.
dumptruckman Jan 24, 2025
28f6098
Rename flags package to flag.
dumptruckman Jan 24, 2025
78d0e14
Add reusable page and filter flags.
dumptruckman Jan 24, 2025
68595d4
Extract LogPoster out of DumpsCommand.
dumptruckman Jan 24, 2025
c692632
Reduce complexity of DumpsCommand.
dumptruckman Jan 24, 2025
7aacd73
Op should have teleport permissions
benwoo1110 Jan 25, 2025
580e876
Merge pull request #3161 from Multiverse/dtm/mv5/more-fixes
benwoo1110 Jan 25, 2025
d6f63ee
Private constructor for TestingMode to prevent instantiation
benwoo1110 Jan 24, 2025
12c9911
Convert GameRuleValue class to a record
benwoo1110 Jan 24, 2025
367b909
Fix more sonarcloud nitpicks
benwoo1110 Jan 24, 2025
548dc7d
Removed unused sendPlayerToDefaultWorld method
benwoo1110 Jan 24, 2025
878d1d8
Merge remote-tracking branch 'origin/MV5' into MV5
benwoo1110 Jan 25, 2025
164e0ff
Fix javadoc error with p tag
benwoo1110 Jan 25, 2025
ee15740
Read server.properties files to get default world
benwoo1110 Jan 25, 2025
3861737
Merge pull request #3162 from Multiverse/ben/mv5/server-props
benwoo1110 Jan 25, 2025
2b70c8b
Merge pull request #3157 from Multiverse/zax71/mv5/whoCommandAutoWorld
benwoo1110 Jan 25, 2025
dee05cb
Suggesting destination use CommandSender instead of CommandIssuer
benwoo1110 Jan 25, 2025
0fceff0
Fix comment style in PluginServiceLocator
benwoo1110 Jan 25, 2025
1ffdc4a
Add more common api getters and expose PluginServiceLocator
benwoo1110 Jan 25, 2025
18fd974
Cleanup MultiverseCoreApi tests
benwoo1110 Jan 25, 2025
5d09bce
Revamp how submodules should depend on mvcore
benwoo1110 Jan 25, 2025
547c123
Fix MultiversePlugin abstract methods should be public
benwoo1110 Jan 25, 2025
d6ea377
Rename getServiceProvider to getServiceLocator
benwoo1110 Jan 25, 2025
c4f5ae3
Fix protocol version logic
benwoo1110 Jan 25, 2025
f8b41ce
Fix isIteratingOverLevelsMethod being null
benwoo1110 Jan 25, 2025
df11141
Fix protocol version inequality (again lol)
benwoo1110 Jan 25, 2025
35c4392
Increase ThrowsCount checkstyle to permit max of 2.
dumptruckman Jan 27, 2025
72a7b2b
Reduce complexity of DumpsLogPoster.
dumptruckman Jan 27, 2025
1eaa76c
mapAsyncAttempt should call thenApply instead of thenApplyAsync
benwoo1110 Jan 27, 2025
5cb7fc8
Use sealed classes for HttpAPIClient and implementations.
dumptruckman Jan 27, 2025
4cad57f
Refactor all config node variables to be camelcase
benwoo1110 Jan 27, 2025
92b13a5
Make finer teleport config option apply to spawn permissions as well
benwoo1110 Jan 27, 2025
92548a3
Ensure mapAsyncAttempt is not forcing mapper AsyncAttempt to run synced
benwoo1110 Jan 27, 2025
e910e88
Fallback to WorldManager#getDefaultWorld when removing players from w…
benwoo1110 Jan 27, 2025
a7ca449
Merge pull request #3164 from Multiverse/dtm/mv5/more-fixes-2
dumptruckman Jan 27, 2025
c679736
Implement using generator settings when creating world
benwoo1110 Jan 28, 2025
761455a
Fix teleporter not parsed correctly
benwoo1110 Jan 28, 2025
06e7b30
Use player.performCommand and check returns true
benwoo1110 Jan 28, 2025
cdfea86
Add tests for spawn command
benwoo1110 Jan 28, 2025
95ca397
Implement Try<Void> for config save methods
benwoo1110 Jan 28, 2025
13d75b1
Use try with loading api service
benwoo1110 Jan 28, 2025
40cafbd
Add support for custom biome provider plugins
benwoo1110 Jan 28, 2025
e83f909
Fix tests due to biome string change
benwoo1110 Jan 28, 2025
f76c3e1
Remove unused AsyncSafetyTeleporter in MVPlayerListener
benwoo1110 Jan 31, 2025
0ffb55c
Use build logic from custom gradle plugins.
dumptruckman Feb 3, 2025
74c311b
Update to 1.0.1 of gradle plugins.
dumptruckman Feb 3, 2025
e6313ce
Add biome tab completion and docs
benwoo1110 Feb 3, 2025
288a87d
Fix tests issues with Biome.values()
benwoo1110 Feb 3, 2025
757ea60
Merge pull request #3168 from Multiverse/dtm/mv5/gradle-plugins
benwoo1110 Feb 3, 2025
eb20386
Add reflection method to get field value from field name
benwoo1110 Feb 6, 2025
b701da1
Got the config done but DI is hard
zax71 Feb 12, 2025
188a60a
Remove validDuration from ConfirmQueuePayload and directly reference …
benwoo1110 Feb 13, 2025
9956142
Merge pull request #3169 from Multiverse/zax71/MV5/confirm-command-cu…
benwoo1110 Feb 13, 2025
fb7e496
Move addonToCommaSeperated to StringFormatter class
benwoo1110 Feb 15, 2025
2de0c32
Add command context for MultiverseWorld array
benwoo1110 Feb 15, 2025
3160ac3
Urlencode mclogs payload
benwoo1110 Feb 15, 2025
a47125d
Add back legacy gamerule commands
zax71 Feb 16, 2025
ab65c01
Fix remove command tab complete
benwoo1110 Feb 17, 2025
bb9591c
Merge pull request #3172 from Multiverse/zax71/mv5/legacy-gamerule-names
benwoo1110 Feb 17, 2025
5db01b8
Fix mv anchor tab completion
benwoo1110 Feb 23, 2025
95bd849
Add time to placeholderApi
benwoo1110 Feb 23, 2025
61e2d00
Refactor permission checking with scope enum
benwoo1110 Feb 23, 2025
733a561
Add teleport test for when finer permission is disabled
benwoo1110 Feb 23, 2025
fe0be3e
Fix destination's velocity not applying
benwoo1110 Feb 23, 2025
a9fd4db
Add debug block for checking safe location
benwoo1110 Feb 25, 2025
16f8f3c
Fix spectator mode not flying
benwoo1110 Feb 25, 2025
02127fa
Update to 1.0.2 of gradle plugins.
benwoo1110 Feb 26, 2025
1a3baf2
Remove old dep relocations
benwoo1110 Feb 26, 2025
54ebdcb
Refactor config handling to only serialise and deserialise on load an…
benwoo1110 Feb 26, 2025
f46449f
Fix possible null issue with gamerule completion
benwoo1110 Feb 28, 2025
74e595b
Add destination and debug mode tab completion for /mv config
benwoo1110 Feb 28, 2025
cfd7be2
Ensure VersionMigrator is applied in the correct order
benwoo1110 Feb 28, 2025
e9e0407
Refactor null name with hidden method
benwoo1110 Feb 28, 2025
babcec1
Rename WorldPurger to LegacyWorldPurger
benwoo1110 Feb 28, 2025
0ed41e3
Merge branch 'main' into MV5
benwoo1110 Mar 1, 2025
a2d7bbc
Merge branch 'main' into MV5
benwoo1110 Mar 1, 2025
ef47a70
Default firstSpawnOverride to false
benwoo1110 Mar 2, 2025
dd27991
Fix config test
benwoo1110 Mar 3, 2025
4551eae
Fix MVDebugModeEvent not being called
benwoo1110 Mar 5, 2025
ca7ac56
Make destination classes final
benwoo1110 Mar 5, 2025
ac8896e
Use Try class instead of catching throwable for ConfirmCommand
benwoo1110 Mar 6, 2025
781dc35
Use runTaskLater instead of scheduleSyncDelayTask
benwoo1110 Mar 6, 2025
ac2ca92
Remove colour code when resolving alias name in commands
benwoo1110 Mar 6, 2025
626e6d0
Implement alias tab completion for destinations
benwoo1110 Mar 6, 2025
120b51e
Minor refactor to PlayerPortalEvent
benwoo1110 Mar 8, 2025
dc9a386
Implement a default command exception handler to show stacktrace
benwoo1110 Mar 8, 2025
caa35ed
Refactor runQueuedCommand to relay failure reason to caller
benwoo1110 Mar 15, 2025
02b3fa6
Merge pull request #3179 from Multiverse/ben/mv5/run-queue
benwoo1110 Mar 16, 2025
96f1778
Cleanup DumpService
benwoo1110 Mar 16, 2025
e43f7de
Refactor ConfirmMode to config package
benwoo1110 Mar 16, 2025
f5aa3f3
Add javadocs to various classes
benwoo1110 Mar 16, 2025
dc3acc8
Rename MVCoreConfig to CoreConfig
benwoo1110 Mar 16, 2025
2608a12
Merge pull request #3181 from Multiverse/ben/mv5/cleanup
benwoo1110 Mar 22, 2025
2f73856
Refactor configuration to confighandle package
benwoo1110 Mar 24, 2025
f4bca52
Remove need for OpenBukkitCommandIssuer
benwoo1110 Mar 24, 2025
d960ec0
Remove MVLocalesListener as it is handled by ACF
benwoo1110 Mar 24, 2025
c020a29
Implement QueuedCommandAction functional interface
benwoo1110 Mar 24, 2025
818c416
Fix listeners test
benwoo1110 Mar 24, 2025
81ea960
CommandQueuePayload's OTP should be a String instead of int
benwoo1110 Mar 24, 2025
9295318
Fix unmodifiable set in AnchorManager.
dumptruckman Mar 16, 2025
1a8c2c3
Use lambda expression in AnchorManager.
dumptruckman Mar 16, 2025
8cb3500
Mark everything under commandtools package as Internal.
dumptruckman Mar 17, 2025
bc9122c
Rename commandtools package to command.
dumptruckman Mar 25, 2025
510c4b2
Revert "Mark everything under commandtools package as Internal."
dumptruckman Mar 25, 2025
7664964
Move confighandle package contents to config.handle.
dumptruckman Mar 25, 2025
92297ce
Move confighandle.functions package to config package.
dumptruckman Mar 25, 2025
8ddbadf
Move confighandle.migration package to config package.
dumptruckman Mar 25, 2025
552533f
Move confighandle.node package to config package.
dumptruckman Mar 25, 2025
09da352
Reorganize config.functions package into config.nodes.
dumptruckman Mar 25, 2025
441e6da
Merge pull request #3183 from Multiverse/dtm/mv5/cleanup-2
dumptruckman Mar 25, 2025
294c695
Include its Destination object in DestinationSuggestionPacket to simp…
benwoo1110 Mar 25, 2025
1b379bb
Cleanup hasAnySpawnPermission to remove duplicated code
benwoo1110 Mar 25, 2025
cca6c16
Merge branch 'ben/mv5/dest-packet' into MV5
benwoo1110 Mar 25, 2025
34991a7
Minor codestyle and null checking cleanup
benwoo1110 Mar 25, 2025
bf3fba5
Implement mv world events - Load, Unload, Clone, Regen, Remove
benwoo1110 Mar 25, 2025
8eab3c1
Add support for localize Message within ContentDisplay api
benwoo1110 Mar 25, 2025
290a12c
Refactor method of getting only the world alias without fallback
benwoo1110 Mar 25, 2025
8b181cb
Add missing world properties in /mv info
benwoo1110 Mar 25, 2025
0dce629
Better handling for a list of attempts with AttemptsAggregate
benwoo1110 Mar 25, 2025
0b39e94
Implement runnable method and add javadocs to AttemptsAggregate
benwoo1110 Mar 26, 2025
cf37956
Add docs for AsyncAttempt
benwoo1110 Mar 26, 2025
7861ac7
Remove unused of Async class
benwoo1110 Mar 26, 2025
ab4856c
Merge pull request #3184 from Multiverse/ben/mv5/attempt-aggregate
benwoo1110 Mar 26, 2025
e94cc41
Refactor protocol version to derive from plugin's version string
benwoo1110 Mar 26, 2025
4728449
Remove need for MinBackwardsCompatibleVersion
benwoo1110 Mar 28, 2025
035728e
Merge pull request #3185 from Multiverse/ben/mv5/protocol-version
benwoo1110 Mar 29, 2025
c439412
Common class to compile reusable regex pattern
benwoo1110 Mar 29, 2025
729ee19
Remove need for QueuedCommandAction functional interface
benwoo1110 Mar 29, 2025
8bfa604
Improve biome provider and generator error handling
benwoo1110 Apr 5, 2025
57ff66a
Improve localization for exceptions
benwoo1110 Apr 5, 2025
0ec184c
Improve error handling for location with unloaded worlds
benwoo1110 Apr 5, 2025
8934133
Implement equals, hashcode and string for UnloadedWorldLocation
benwoo1110 Apr 5, 2025
da32488
Use UnloadedWorldLocation for LocationManipulation
benwoo1110 Apr 5, 2025
7db9e99
Refactor anchors with MultiverseAnchor class and better location hand…
benwoo1110 Apr 5, 2025
0ea7375
Merge pull request #3189 from Multiverse/ben/mv5/mvanchor
benwoo1110 Apr 6, 2025
e5eb9a7
Refactor migrator action to its own package
benwoo1110 Apr 6, 2025
5efbeab
Implement option to disable legacy aliases
benwoo1110 Apr 6, 2025
40f80e8
Make showLegacyAliases false by default
benwoo1110 Apr 6, 2025
ad51e92
Fix config tests
benwoo1110 Apr 6, 2025
cf287ab
Implement new way of having flags with FlagBuilder class
benwoo1110 Apr 6, 2025
91e503e
Refactor all commands to use FlagBuilder and fix legacy alias bugs
benwoo1110 Apr 7, 2025
8b53085
Use UnloadedWorldLocation for all destinations and fix some edge cases
benwoo1110 Apr 8, 2025
67f5e47
Add a script to automatically convert locale properties to enum value
benwoo1110 Apr 8, 2025
ee3f26b
Refactor destination parsing to have error reasoning
benwoo1110 Apr 8, 2025
3c85f13
Add support for command args with spaces by using quotes
benwoo1110 Apr 8, 2025
cb45ae1
Reduce wait time for async teleport test
benwoo1110 Apr 8, 2025
d333cf5
Use isBooleanProp on MultiverseWorld getters
benwoo1110 Apr 8, 2025
7e9ca7c
Refactor spawning to use MobsSpawnConfig with SpawnCategory support
benwoo1110 Apr 8, 2025
3b5a1c1
Implement MobsSpawnConfigCommand fully
benwoo1110 Apr 8, 2025
c0dd151
Add purge entities commands
benwoo1110 Apr 8, 2025
af7a717
Fix minor purge entity syntax issues
benwoo1110 Apr 8, 2025
8e17d2a
Add todo on spawn reasoning filter
benwoo1110 Apr 8, 2025
d0671a2
Merge pull request #3192 from Multiverse/ben/mv5/revamp-mobs-spawn
benwoo1110 Apr 8, 2025
6aebd29
Do not need to set generator if generator string is empty
benwoo1110 Apr 8, 2025
9a3b28f
Refactor list suggester to use addonToCommaSeperated util method
benwoo1110 Apr 9, 2025
c1b60c1
Use reflection to get spawn category of entity types
benwoo1110 Apr 9, 2025
3cf1a9f
Check null input for addonToCommaSeperated
benwoo1110 Apr 9, 2025
4fc4d76
PlayerFinder use REPatterns for uuid and comma
benwoo1110 Apr 9, 2025
0e6a63d
Fix InjectionTest commands number
benwoo1110 Apr 9, 2025
677dd47
Improve entity spawn config info command output
benwoo1110 Apr 9, 2025
77994b9
Fix info command flag tab complete when in console
benwoo1110 Apr 9, 2025
807f7c1
Merge branch 'main' into MV5
benwoo1110 Apr 9, 2025
b615213
Fix entity spawn config syntax
benwoo1110 Apr 9, 2025
58de984
Fix edge cases with parseQuotesInArgs and add tests
benwoo1110 Apr 9, 2025
4ca8cfc
Parse quotes for tab complete as well
benwoo1110 Apr 9, 2025
4fba35b
Automatically set default value of ListConfigNode to an ArrayList
benwoo1110 Apr 10, 2025
c159b16
Don't set ticks per spawn for SpawnCategory MISC
benwoo1110 Apr 10, 2025
dc83349
Add default failure logging for config load methods
benwoo1110 Apr 10, 2025
fca6951
Fix clone command syntax
benwoo1110 Apr 10, 2025
5ce2eed
Fix import command syntax
benwoo1110 Apr 11, 2025
757057d
Fix permissions of newly added commands
benwoo1110 Apr 11, 2025
8ee4e00
Add support for controlling non-living entity spawn
benwoo1110 Apr 13, 2025
1b8abc2
Rename mobsSpawnConfig to entitySpawnConfig
benwoo1110 Apr 13, 2025
63b5393
Refactor worldRef for spawn config
benwoo1110 Apr 13, 2025
bbb5ecb
Add spawn limit setting
benwoo1110 Apr 13, 2025
15dfc16
Remove ACF overrides as it has been fixed upstream
benwoo1110 Apr 13, 2025
a568ab6
Better organise test resource files into folders
benwoo1110 Apr 13, 2025
0f21b61
Better organise test resource files into folders
benwoo1110 Apr 13, 2025
702ef3c
Abstract out MultiverseModuleBinder
benwoo1110 Apr 13, 2025
2db3589
Add shutdownDependencyInjection to MultiverseModule
benwoo1110 Apr 13, 2025
c9a0dd3
Implement materials tab complete
benwoo1110 Apr 19, 2025
b9e29fd
Fix entity spawn config modify value optional
benwoo1110 Apr 20, 2025
ee3a1f3
Rename NullLocation to NullSpawnLocation
benwoo1110 Apr 25, 2025
fa5bbec
Improve passing of location object and error handling
benwoo1110 Apr 25, 2025
269bbf8
Improve mv modify messages
benwoo1110 Apr 28, 2025
45b9dd3
Introduce a cool new banner
benwoo1110 Apr 28, 2025
7a99940
Add wiki website link
benwoo1110 Apr 28, 2025
bd0a3dd
Update to an even cooler banner
benwoo1110 Apr 28, 2025
5bdec28
Prep for release
benwoo1110 Apr 29, 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@v4
with:
java-version: '11'
java-version: '21'
distribution: 'adopt'
cache: gradle

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/generic.platform_uploads.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ jobs:
files: '["${{ github.workspace }}/${{ inputs.plugin_name }}-${{ steps.release-info.outputs.tag_name }}.jar"]'
name: ${{ steps.release-info.outputs.tag_name }}
changelog: ${{ steps.release-artifact.outputs.body }}
game_versions: 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17.1, 1.17, 1.16.5, 1.16.4, 1.16.3, 1.16.2, 1.16.1, 1.16, 1.15.2, 1.15.1, 1.15, 1.14.4, 1.14.3, 1.14.2, 1.14.1, 1.14, 1.13.2, 1.13.1, 1.13
game_versions: 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2
version_type: ${{ steps.parse-release-type.outputs.release_type }}
loaders: bukkit, spigot, paper
dependencies: ${{ inputs.modrinth_dependencies }}
Expand All @@ -121,7 +121,7 @@ jobs:
changelog: ${{ steps.release-artifact.outputs.body }}
changelog_type: markdown
display_name: ${{ steps.release-info.outputs.tag_name }}
game_versions: 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17, 1.16, 1.15, 1.14, 1.13
game_versions: 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2
release_type: ${{ steps.parse-release-type.outputs.release_type }}
project_relations: ${{ inputs.dbo_project_relations }}
file_path: ${{ github.workspace }}/${{ inputs.plugin_name }}-${{ steps.release-info.outputs.tag_name }}.jar
Expand All @@ -136,5 +136,5 @@ jobs:
channel: ${{ steps.parse-release-type.outputs.release_type }}
files: '[{"path": "${{ github.workspace }}/${{ inputs.plugin_name }}-${{ steps.release-info.outputs.tag_name }}.jar", "platforms": ["PAPER"]}]'
description: ${{ steps.release-artifact.outputs.body }}
platform_dependencies: '{"PAPER": ["1.13-1.21.5"]}'
platform_dependencies: '{"PAPER": ["1.18.2-1.21.5"]}'
plugin_dependencies: ${{ inputs.hangar_plugin_dependencies }}
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@v4
with:
java-version: '11'
java-version: '21'
distribution: 'adopt'
cache: gradle

Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img src="config/multiverse2-long.png" alt="Multiverse Logo">
<img src="config/multiverse-banner.png" alt="Multiverse Logo">
</p>

[![Modrinth](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/plugin/multiverse-core)
Expand All @@ -16,7 +16,7 @@

# About

[Multiverse](https://dev.bukkit.org/projects/multiverse-core) was created at the dawn of Bukkit multiworld support. It has since then grown into a **complete world management solution!** Multiverse provides the easiest to use world management solution for your Minecraft server, big or small, and with great addons like [Portals](https://dev.bukkit.org/projects/multiverse-portals) and [NetherPortals](https://dev.bukkit.org/projects/multiverse-netherportals/), what's not to love!
[Multiverse](https://modrinth.com/plugin/multiverse-core) was created at the dawn of Bukkit multiworld support. It has since then grown into a **complete world management solution!** Multiverse provides the easiest to use world management solution for your Minecraft server, big or small, and with great addons like [Portals](https://dev.bukkit.org/projects/multiverse-portals) and [NetherPortals](https://dev.bukkit.org/projects/multiverse-netherportals/), what's not to love!

Now it's time to create your very own Multiverse server, do check out our [Wiki](https://github.com/Multiverse/Multiverse-Core/wiki) and [Usage Guide](https://github.com/Multiverse/Multiverse-Core/wiki/Basics) to get started. Feel free to hop onto our [Discord](https://discord.gg/NZtfKky) if you have any question or just want to have a chat with us!

Expand All @@ -27,20 +27,22 @@ Now it's time to create your very own Multiverse server, do check out our [Wiki]
* [Multiverse-Inventories](https://github.com/Multiverse/Multiverse-Inventories) -> Have separated players stats and inventories per world or per group of worlds.
* [Multiverse-SignPortals](https://github.com/Multiverse/Multiverse-SignPortals) -> Signs as teleporters!

## Usage Guide

We have a cool new website hosting our Wiki: https://mvplugins.org

## Building
Simply build the source with Gradle:
```
./gradlew build
```
More details are available on the [build instructions wiki page](https://github.com/Multiverse/Multiverse-Core/wiki/Building).


## Contributing

**Want to help improve Multiverse?** There are several ways you can support and contribute to the project.
* Take a look at our "Bug: Unconfirmed" issues, where you can find issues that need extra testing and investigation.
* Want others to love Multiverse too? You can join the [Multiverse Discord community](https://discord.gg/NZtfKky) and help others with issues and setup!
* A Multiverse guru? You can update our [Wiki](https://github.com/Multiverse/Multiverse-Core/wiki) with your latest tip, tricks and guides! The wiki open for all to edit and improve.
* A Multiverse guru? You can update our [Wiki](https://github.com/Multiverse/multiverse-web) with your latest tip, tricks and guides! The wiki open for all to edit and improve.
* Love coding? You could look at ["State: Open to PR"](https://github.com/Multiverse/Multiverse-Core/labels/State%3A%20Open%20to%20PR) and ["Resolution: Accepted"](https://github.com/Multiverse/Multiverse-Core/labels/Resolution%3A%20Accepted) issues. We're always happy to receive bug fixes and feature additions as [pull requests](https://www.freecodecamp.org/news/how-to-make-your-first-pull-request-on-github-3/).
* If you'd like to make a financial contribution to the project, do consider joining our [Patreon](https://www.patreon.com/dumptruckman) or make a one-time donation [here](https://paypal.me/dumptruckman)!

Expand Down
202 changes: 66 additions & 136 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,122 +1,109 @@
import org.apache.tools.ant.filters.ReplaceTokens

plugins {
id 'java-library'
id 'maven-publish'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'org.mvplugins.multiverse-plugin' version '1.2.0'
}

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

java.sourceCompatibility = JavaVersion.VERSION_11

repositories {
mavenLocal()
mavenCentral()

maven {
url = uri('https://hub.spigotmc.org/nexus/content/repositories/snapshots/')
name = 'aikar repo'
url = uri('https://repo.aikar.co/content/groups/aikar/')
}

maven {
url = uri('https://repo.onarandombox.com/content/groups/public')
name = 'glaremasters repo'
url = 'https://repo.glaremasters.me/repository/towny/'
}

maven {
url = uri('https://hub.spigotmc.org/nexus/content/groups/public/')
name = "helpchatRepoReleases"
url = uri("https://repo.helpch.at/releases/")
}
}

maven {
url = uri('https://jitpack.io')
}
configure(apiDependencies) {
serverApiVersion = '1.18.2-R0.1-SNAPSHOT'
mockBukkitServerApiVersion = '1.21'
mockBukkitVersion = '4.31.1'
}

maven {
url = uri('https://repo.minebench.de/')
dependencies {
// Economy
externalPlugin('com.github.MilkBowl:VaultAPI:1.7.1') {
exclude group: 'org.bukkit', module: 'bukkit'
}

maven {
url = uri('https://repo.maven.apache.org/maven2/')
}
}
// PlaceholderAPI
externalPlugin 'me.clip:placeholderapi:2.11.6'

dependencies {
implementation 'org.bukkit:bukkit:1.13.2-R0.1-SNAPSHOT'
// Command Framework
shadowed 'co.aikar:acf-paper:0.5.1-SNAPSHOT'

implementation('com.github.MilkBowl:VaultAPI:1.7') {
exclude group: 'org.bukkit', module: 'bukkit'
// Config
shadowed('io.github.townyadvanced.commentedconfiguration:CommentedConfiguration:1.0.1') {
exclude group: 'org.spigotmc', module: 'spigot-api'
}

compileOnly('me.main__.util:SerializationConfig:1.7') {
exclude group: 'org.bukkit', module: 'bukkit'
// 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.pneumaticraft.commandhandler:CommandHandler:11') {
exclude group: 'org.bukkit', module: 'bukkit'
shadowed('com.dumptruckman.minecraft:Logging:1.1.1') {
exclude group: 'junit', module: 'junit'
}
compileOnly 'com.dumptruckman.minecraft:buscript:2.0-SNAPSHOT'
compileOnly 'org.bstats:bstats-bukkit:2.2.1'
compileOnly('com.dumptruckman.minecraft:Logging:1.1.1') {
exclude group: 'junit', module: 'junit'
shadowed 'de.themoep.idconverter:mappings:1.2-SNAPSHOT'
shadowed('org.bstats:bstats-bukkit:3.1.0') {
exclude group: 'org.bukkit', module: 'bukkit'
}
compileOnly 'de.themoep.idconverter:mappings:1.2-SNAPSHOT'
compileOnly 'org.jetbrains:annotations:16.0.2'
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('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'
}


java {
withSourcesJar()
withJavadocJar()
testImplementation("org.hamcrest:hamcrest:3.0")
}

tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
ext.bitlyAccessToken = System.getenv('BITLY_ACCESS_TOKEN') ?: 'bitly-access-token'

tasks.withType(Javadoc) {
options.encoding = 'UTF-8'
tasks.register('prepareSource', Sync) {
inputs.property 'bitlyAccessToken', bitlyAccessToken
from sourceSets.main.java
into "$buildDir/src"
filter(ReplaceTokens, tokens: [
'bitly-access-token': bitlyAccessToken,
])
}


configurations {
[apiElements, runtimeElements].each {
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
}
shadowJar {
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 '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'
}

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()
}
}.each() {
it.scope*.value = 'provided'
}
}
}
}
repositories {
maven {
name = "GitHubPackages"
Expand All @@ -135,60 +122,3 @@ publishing {
}
}
}


ext.bitlyAccessToken = System.getenv('BITLY_ACCESS_TOKEN') ?: 'bitly-access-token'

task prepareSource(type: Sync) {
inputs.property 'bitlyAccessToken', bitlyAccessToken
from sourceSets.main.java
into "$buildDir/src"
filter(ReplaceTokens, tokens: [
'bitly-access-token': bitlyAccessToken,
])
}

compileJava {
source = prepareSource.outputs
}

processResources {
def props = [version: "${project.version}"]
inputs.properties props
filteringCharset 'UTF-8'
filesMatching('plugin.yml') {
expand props
}

// This task should never be skipped. The tests depend on this having been run but we want the new version number
// that is created after tests are run and before we run again to publish.
outputs.upToDateWhen { false }
}


javadoc {
source = sourceSets.main.allJava
classpath = configurations.compileClasspath
}


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'

configurations = [project.configurations.shadowed]

archiveFileName = "$baseName-$version.$extension"
classifier = ''
}

build.dependsOn shadowJar
jar.enabled = false
1 change: 1 addition & 0 deletions config/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
out.txt
20 changes: 20 additions & 0 deletions config/convert-locale-enum.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
filepath = "../src/main/resources/multiverse-core_en.properties"

enumList = []

with open(filepath) as f:
for line in f:
line = line.strip()
if len(line) == 0:
enumList.append("")
elif line.startswith("#"):
enumList.append(line.replace("#", "//"))
else:
parts = line.split("=")
if (len(parts) < 2):
continue
parts = parts[0].split(".")[1:]
enumList.append("_".join([p.upper() for p in parts]) + ",")

with open("out.txt", "w") as f:
f.write("\n".join(enumList))
Binary file added config/multiverse-banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading