Christian Koop
a06d27ab90
Version v3.0.0-SNAPSHOT
2022-08-19 10:06:58 +02:00
Christian Koop
d5ddde3e08
Migrate CustomizableGui from old Config to SongodaYamlConfig
2022-08-18 23:09:21 +02:00
Christian Koop
20b7a353b8
Adds SongodaYamlConfig#getAsEntry(String) for convenience
...
If you are reading a config dynamically instead of fully creating it
with all the entries beforehand, this method can be used
to easily access the *converted/casted* values.
2022-08-18 23:08:58 +02:00
Christian Koop
78b6039d39
Add contract to ConfigEntry#getString(String)
for non-null-argument
...
The contract basically says that if you provide a
non-null argument to the method, it cannot return
a null value.
2022-08-18 23:07:18 +02:00
Christian Koop
3a09c19dbb
Adds getter to ConfigEntry for List<String>
2022-08-18 23:06:22 +02:00
Christian Koop
da3c89450e
Remove usage of Locale classes
2022-08-18 23:05:21 +02:00
Christian Koop
61b784b3e8
Merge branch 'development' into development-v3
2022-08-18 22:57:46 +02:00
ceze88
430e203a65
Fix connection with MySQL
2022-08-09 16:27:28 +02:00
Christian Koop
b568d51151
Release v2.6.15-DEV
2022-08-08 23:12:06 +02:00
Christian Koop
b3be6700f9
Fixes NoSuchMethodException since MC 1.19.1 in chat package
...
Sadly, NMS-Package-Version did not change between 1.19.0 and 1.19.1
https://wiki.vg/index.php?title=Protocol&type=revision&diff=17688&oldid=17663
Co-authored-by: Fernando Pettinelli <fernandopettinellifreire@gmail.com>
2022-08-08 23:10:42 +02:00
Christian Koop
5e1f1b802c
Introduce new CI/CD pipeline using GitHub Actions
...
A lot is happening in this release!
tl;dr: GitHub Actions runs tests, compiles the project, signs the jar files, deploys them to the Maven repo; Pushing a git tag issues a release instead of snapshot deployment; -SNAPSHOT is always added to the version otherwise; Core Version is now injected by maven instead of manually updating it in one of the classes
We now use GitHub Actions to run automated tests, compile the project, sign the resulting jar files, and always deploy a version to the Maven repo.
By default, a snapshot release is published but by creating a git tag, a release deploy can be triggered.
Additionally the Core version is not manually updated in one of the classes but injected after compiling it.
I think I found the most stable and easiest way to do this in maven,
although I'd have wished for it to be easier and maybe not after the class file has already been created.
2022-08-07 19:33:38 +02:00
ceze88
0ae9c6fcdb
New method to get MySQL connection for HikariCP
2022-08-07 16:36:30 +02:00
Fernando Pettinelli
1ab918a32e
Version 2.6.14-DEV
2022-07-13 01:50:25 -04:00
Fernando Pettinelli
c8be1229e8
Fixes for AnvilView, WildStacker and mcMMO.
2022-07-13 01:49:36 -04:00
Fernando Pettinelli
2b7cfcc29a
Added ChatMessage fix.
2022-07-03 03:37:49 -04:00
Fernando Pettinelli
2929c628ed
2.6.13 - Added Apache Commons Lang3 and Text. More 1.19 fixes.
2022-06-26 12:27:20 -04:00
Christian Koop
84515e7004
Minor code cleanup in SongodaYamlConfig constructor
...
keeps the logger effectively final + makes Codacity' static code analysis happy
2022-06-26 13:57:12 +02:00
Christian Koop
ed7b454625
Fix Exception when calling #emergencyStop inside onPluginEnable
2022-06-26 13:46:38 +02:00
Christian Koop
73685b62dd
Mark overwritten and empty config methods in SongodaPlugin as deprecated
...
The methods should not be used
2022-06-26 13:46:35 +02:00
Christian Koop
7ef00bb8f9
Adjust log levels in SongodaYamlConfig
...
Level.FINER is currently not logged anthough the Logger is set to ALL and isLoggable returns true for FINER.
There's an bug existing bug report at Spigot: https://hub.spigotmc.org/jira/browse/SPIGOT-7018
2022-06-26 13:46:29 +02:00
Christian Koop
532d96f6c1
Add adventure-api
to SongodaCore dependencies
2022-06-26 13:28:10 +02:00
Christian Koop
b0f006aed0
Fix SongodaYamlConfig not creating parent directory when saving
...
Caused an IOException if the PluginDataDir didn't exist yet.
2022-06-26 13:26:13 +02:00
Christian Koop
e7e3c3d21d
Disable test CompatibileMaterialTest#getMaterialForAllBukkitMaterials
...
It is highly version dependent and breaks often because of that
2022-06-26 13:25:10 +02:00
Christian Koop
c9a48387de
Fix SongodaYamlConfigTest leaving created backup files in tmp dir
2022-06-26 13:24:16 +02:00
Christian Koop
fce5c5c6a1
Remove Config related methods in SongodaPlugin
...
Escept for #getExtraConfigs which got renamed, the other methods are no longer required and have been removed.
Additionally the config methods defined by Bukkit's JavaPlugin class
have been overwritten with empty bodies.
This prevents the default behaviour trying to access stuff that's not there
or should not be considered a valid config to use.
2022-06-26 02:38:29 +02:00
Christian Koop
4bc0e991ab
Removes #getConsole in SongodaPlugin
2022-06-26 02:33:09 +02:00
Christian Koop
eb10b3f70a
Introduce new SongodaYamlConfig and ConfigEntry classes
...
This introduces an additional abstraction layer on top of the YamlConfiguration.
This is the class that should normally be used by plugins.
2022-06-26 01:51:53 +02:00
Christian Koop
02ab8d4bb2
Fix YamlConfiguration dumping null values and empty tree nodes
2022-06-26 01:39:39 +02:00
Christian Koop
885cc9a87e
Fix YamlConfiruration#getKeys("")
not returning root node keys
2022-06-26 01:39:39 +02:00
Christian Koop
2683bc12c0
Fix exception on loading empty file in YamlConfiguration
2022-06-26 01:39:39 +02:00
Christian Koop
2262652577
Make YamlConfiguration insertion-sorted
...
This ensured that the order of the keys is deterministic and be controlled by the developer.
2022-06-26 01:39:39 +02:00
Christian Koop
f6e207cdda
Rename IConfiguration#getOrDefault
to #getOr
2022-06-26 01:39:39 +02:00
Fernando Pettinelli
b110a69285
1.19 fixes
2022-06-25 17:59:06 -04:00
Christian Koop
2272fe7b97
Release v2.6.13-DEV
2022-06-20 17:27:01 +02:00
Christian Koop
73c6b9a558
Fixes MathUtils unit tests
...
Started failing with changes in d25514743f
2022-06-16 20:59:50 +02:00
Christian Koop
d25514743f
Improve exception message for the Eval class
2022-06-16 13:21:58 +02:00
Christian Koop
547425dec9
Update maven-shade-plugin from 3.3.0-SNAPSHOT
to 3.3.0
2022-06-07 19:45:24 +02:00
Christian Koop
fc658d51c0
Adds Spigot 1.19 NMS module
2022-06-07 19:31:32 +02:00
Christian Koop
41bd5c633a
Adds Enum support to YamlConfiguration class ( #41 )
2022-04-27 23:34:27 +02:00
Christian Koop
8f15df3601
Removes the default implementations for #save(File) and #load(File)
...
Overwriting an implementing class quickly becomes a potential hassle as there is no guarantee how they are implementend
#41
2022-04-27 23:31:53 +02:00
Christian Koop
6d6fa7210a
Replace Songoda's YAML Configuration wrapper with an own implementation
...
Because Spigot 1.18 still hasn't fixed a critical bug like PaperMC did, I recoded the current YAML Configuration classes and access SnakeYaml directly instead of using the Spigot wrapper.
This implementation approach also allows for adding node comments using the lib instead of some woodo string manipulation.
#41
// I might move this into my own library in the future, lets see :p
2022-04-27 21:42:20 +02:00
Christian Koop
2a037e2853
Update required snakeyaml version from 1.26 to 1.30 ( #41 )
...
We probably want to take a look at what Spigot 1.8 comes with and if we are compatible or if we want to shade the lib into the Core instead.
Maybe we can have some kind of automatic legacy system that downloads an addional jar automatically when an unsupported Spigot version is detected... Lets see what time brings
2022-04-27 21:42:20 +02:00
Christian Koop
f6b091bb79
Uses the asyncPool in DataManagerAbstract#asyncFuture
( #22 )
2022-03-18 16:17:15 +01:00
Christian Koop
7a85bd7a2a
Merge pull request #22 from divios/patch-1
...
Added `DataManagerAbstract#asyncFuture`
2022-03-18 16:16:37 +01:00
Christian Koop
7ca814c747
Release v2.6.12
2022-03-18 14:47:22 +01:00
Christian Koop
a42d03aec3
Fixes empty slots in ConfigEditorGui item select
2022-03-18 14:33:50 +01:00
Christian Koop
a0050aadd6
Adds Minecraft 1.18.2 support
2022-03-18 14:33:50 +01:00
Christian Koop
8c0c281d9b
Deprecates Core's NBTItem implementations in favor of item-nbt-api
2022-03-18 14:33:50 +01:00
Christian Koop
e57342ab2a
Fixes error reporting on plugin startup to not print Exception correctly
2022-02-10 18:57:19 +01:00
Christian Koop
f887ba6c48
Version 2.6.11
2022-01-21 17:44:18 +01:00
Christian Koop
ffbd84875e
Properly relocate shaded dependency
2022-01-02 22:44:06 +01:00
Fernando Pettinelli
1514fd4fae
Version 2.6.10
2021-12-22 18:07:14 -03:00
Fernando Pettinelli
de20a5b73c
Version 2.6.9
2021-12-20 19:29:28 -03:00
Fernando Pettinelli
f4519bc030
HolographicDisplays 3 support.
2021-12-20 19:29:00 -03:00
Christian Koop
16c0b470f9
Comments out unused reflection access
2021-12-20 20:26:03 +01:00
Fernando Pettinelli
253883c735
Hologram hook rework. Only tested with DecentHolograms, needs further testing.
2021-12-18 23:15:46 -03:00
Christian Koop
edde5f9963
Version 2.6.8
2021-12-18 18:18:47 +01:00
Christian Koop
b89c14860c
Fix some more MethodMapping related stuff (NMS)
2021-12-18 18:16:44 +01:00
ItsAZZA
3d58c0777e
Lootables input accepts lowercase entries ( #32 )
...
Make it so the lootables AnvilGUI can take in lowercase names for items.
2021-12-18 00:39:06 +01:00
Christian Koop
331f77b65d
Version 2.6.7
2021-12-14 21:01:27 +01:00
Christian Koop
fbb61cf9f6
Further usage of MethodMapping
and ClassMapping
classes
2021-12-14 20:55:46 +01:00
Christian Koop
9b5eda60b3
Updates BlockUtils to use MethodMapping
and ClassMapping
2021-12-13 18:00:36 +01:00
Christian Koop
71fb43e6ff
Removes ItemUtils#setMaxStack
2021-12-13 17:59:25 +01:00
Christian Koop
f9b2562d3d
Version 2.6.6
2021-12-11 15:37:21 +01:00
Christian Koop
b033c059a3
Fix MethodMapping and its usage in ItemUtils
2021-12-11 15:00:24 +01:00
Christian Koop
f6caad3983
Version 2.6.5
2021-12-10 19:46:24 +01:00
Christian Koop
354e7ea2f0
Version 2.6.4
2021-12-10 18:13:22 +01:00
Christian Koop
e521e4930f
Make SWorldBorder compatible with Minecraft 1.18
2021-12-09 22:05:53 +01:00
Christian Koop
f8aed3c87e
Version 2.6.3
2021-12-09 04:52:24 +01:00
ItsAZZA
93c7b802f6
Fix wrong dye data value for Gray in #getDyeColor ( #31 )
2021-12-08 09:46:36 +01:00
Christian Koop
cd34b24517
Version 2.6.2
2021-12-07 17:19:13 +01:00
Christian Koop
de06070dac
Deprecate the method NMSUtils#getCraftClass
in favor of ClassMapping
2021-12-07 16:41:31 +01:00
Brianna
d7010d7483
Method mapping.
2021-12-06 11:12:59 -06:00
Christian Koop
776ead9870
Version 2.6.1
2021-12-02 20:30:26 +01:00
Christian Koop
6c8c8a3a29
Introduces a cross-version way to send packets via NMSManager
2021-12-02 20:29:28 +01:00
Christian Koop
4f5300f44c
Version 2.6.0
2021-12-02 16:42:09 +01:00
Christian Koop
1c441e755a
Restore compatibility after commit reverts
...
I'm currently reverting some breaking changes so I can introduce them later and some imports broke in future commits. This fixes them
One of the related commits (may not exist anymore): 3d328df7ad
2021-12-02 16:42:09 +01:00
Christian Koop
7ff7a46bf5
Implement NMS stuff for Minecraft 1.18
2021-12-02 16:33:24 +01:00
Christian Koop
d64dfbf5c6
Add unit tests for CompatibleMaterial
...
This especially eases adding support for new Minecraft versions
2021-12-02 16:32:48 +01:00
Christian Koop
fd2809f982
Version 2.5.14
2021-11-01 22:30:51 +01:00
Christian Koop
6453c7b6f6
Recode BlockUtils#updateAdjacentComparators
to work in older versions
...
The old implementation relied on methods that were only available in newer versions - This should be more future proof
2021-11-01 22:27:12 +01:00
Christian Koop
7c6817c470
Minor cleanup of #27
...
* Code style
* Method name and access modifier
* JavaDoc
2021-11-01 20:29:16 +01:00
Christian Koop
af9def96b3
Merge branch 'Exortions/SongodaCore:master' into development ( #27 )
2021-11-01 20:18:04 +01:00
Exortions
3aaed3bcde
Remove duplicate code
...
This commit removes the duplicate error message run when the plugin crashes and turns it into one method 'crash'. This method takes in a throwable, which will be printed once the error message is logged.
2021-11-01 11:23:42 -07:00
Christian Koop
e379ae601d
Fixed typo
2021-10-30 23:45:22 +02:00
Christian Koop
ba7054c1e7
Fix failing test cases
...
The disabled test cases have been written without looking at the implementation - But it looks like the implementation is faulty and needs a patch.
We'll take a look at a later time and decide about backwards compatibility etc.
2021-10-30 15:19:53 +02:00
Christian Koop
b4d1f4fc60
Implement first unit tests
2021-10-30 14:53:23 +02:00
Christian Koop
93fbc6463f
General code cleanup [DEV-2]
...
Hopefully no breaking changes
2021-10-30 14:10:57 +02:00
Christian Koop
97feaf3b9c
Removes @author
and @since
from class comments
...
These kind of information can easily be found in git/on GitHub
2021-10-30 14:10:22 +02:00
Christian Koop
39bdd862fb
Apply new code style [DEV-2]
2021-10-30 14:10:22 +02:00
Christian Koop
749c3a9a28
Version 2.5.13
2021-10-27 19:51:54 +02:00
Christian Koop
aa587361ed
Version 2.5.13-SNAPSHOT
2021-10-26 23:05:54 +02:00
Christian Koop
6a858c9c30
DataManagerAbstract: Add single threaded task queue (experimental)
...
We had some reports about server outright crashing because EpicFurnaces (maybe others too) because there are too many async tasks queue at once. Every async task scheduled to spigot (as of 1.17) creates a new thread
This should help a bit and the `FIXME` has to be taken care of when more time is at hand... The whole data storing stuff is just bad which shows as soon as servers (or the plugin use e.g. many furnaces) get bigger... (am a bit annoyed 🤷 )
2021-10-26 23:05:37 +02:00
Christian Koop
0bdb0af890
Merge branch 'development'
2021-10-26 21:19:53 +02:00
Fernando Pettinelli
fb8d38f54b
Version 2.5.12
2021-10-16 21:37:26 -03:00
Christian Koop
9605ac5ded
Prevents #getRandomPlayer from throwing an Exception on 0 online players
2021-10-02 14:58:14 +02:00
Christian Koop
ce72ab7291
Fix numbers being formatted wrong on some machines [DEV-5]
...
My system is configured to use German causing the method to use the wrong decimal seperator for the given format
2021-10-02 11:27:18 +02:00
Fernando Pettinelli
820b7ffbd3
Version 2.5.11
2021-09-30 13:03:36 -03:00
divios
c0a2bc8cc5
Added asyncFuture
...
Added a method to run a task async but return a CompletableFuture. Useful if you want the task to be asynchronous but also wait for it to finish and concatenate another task or more functionalities with the CompletableFuture API
2021-09-12 11:08:08 +02:00
Christian Koop
799bf30651
Version 2.5.10
2021-08-30 21:53:47 +02:00
Fernando Pettinelli
a601b86d68
Added Residence support.
2021-08-29 17:44:17 -04:00
Fernando Pettinelli
6951a7f4ad
Merge remote-tracking branch 'origin/development' into development
2021-08-29 16:03:20 -04:00
Fernando Pettinelli
3ee798fe23
Add PIGLIN_BRUTE_SPAWN_EGG material.
2021-08-29 16:03:08 -04:00
Christian Koop
5921be70bb
Version 2.5.9
2021-08-29 15:49:06 +02:00
Christian Koop
2ed245389f
Allows respecting Unbreaking-Enchantment [SD-8182]
2021-08-29 15:49:06 +02:00
Christian Koop
03e2360a98
Updated logging to mostly use java.util.logging.Logger
[SD-8645]
2021-08-29 13:49:01 +02:00
Christian Koop
c5569adc10
Change formatting a bit
2021-08-18 20:56:05 +02:00
ajgeiss0702
9f5daa2503
Don't try to change item meta when there is none
2021-08-06 20:40:56 -07:00
Christian Koop
60ceac5eb6
Version 2.5.8
2021-07-08 17:50:13 +02:00
Christian Koop
8eefbce68d
Change dependency com.github.Zrips.Jobs
version from LATEST to v4.17.2
2021-07-08 17:50:13 +02:00
Christian Koop
6dbf806e7d
EditorConfig
2021-07-08 15:37:37 +02:00
Christian Koop
a73ed7908e
Update pom.xml files and project structure
...
* Should fix IntelliJ sometimes not finding classes
* Should make things easier to understand and maintain
* Rename `LICENSE.md` to `LICENSE`
2021-07-08 15:37:37 +02:00
Christian Koop
f5bf5903c7
Dependency: Update mcMMO from v2.1.50 to v2.1.200
...
This fixes failing maven builds reporting a http repo being used and blocked - As only the patch version has been increased, there should be no problem related to this update (Core's only getting compiled against it's API anyway)
2021-07-06 13:15:17 +02:00
Fernando Pettinelli
e6398bca1f
Version 2.5.7
2021-06-30 10:24:50 -04:00
Brianna
dddbc32459
version 2.5.6
2021-06-21 17:18:51 -05:00
Brianna
711125aa67
Added support for Worldborders in 1.17
2021-06-21 17:18:18 -05:00
Brianna
ebf0d06434
version 2.5.5
2021-06-13 18:08:18 -05:00
Brianna
c861aafe82
Added Lootables to SongodaCore.
2021-06-13 18:04:16 -05:00
Brianna
7430fcc34a
version 2.5.4
2021-06-13 16:58:57 -05:00
Brianna
947e0d5b2d
version 2.5.3
2021-06-13 13:23:29 -05:00
Brianna
76ea7f128f
Ease of access.
2021-06-13 13:23:21 -05:00
Brianna
a608ac4cc7
version 2.5.2
2021-06-13 10:26:16 -05:00
Brianna
7c0ce2505c
Use JDK 16 on the 1.17 module while using JDK 8 on everything else
2021-06-13 10:26:08 -05:00
Brianna
ff1c267de7
version 2.5.1
2021-06-13 10:10:46 -05:00
Brianna
b27d07dc47
version 2.5
2021-06-12 20:15:56 -05:00
dependabot[bot]
1ee756504a
Bump snakeyaml from 1.25 to 1.26 in /Core
...
Bumps [snakeyaml](https://bitbucket.org/asomov/snakeyaml ) from 1.25 to 1.26.
- [Commits](https://bitbucket.org/asomov/snakeyaml/branches/compare/snakeyaml-1.26..snakeyaml-1.25 )
---
updated-dependencies:
- dependency-name: org.yaml:snakeyaml
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-06-12 20:10:36 -05:00
Brianna
7ab0c4d106
1.17 Support
2021-06-12 20:04:20 -05:00
Brianna
3d415d6da6
Removed some illegal access reflection.
2021-06-09 12:33:53 -05:00
Brianna
e0bed2d80e
Added WorldBorder support.
2021-06-01 16:14:23 -05:00
Brianna
4c4c80734c
version 2.4.57
2021-06-01 12:13:43 -05:00
Brianna
ca4da1f748
Added String equation handler.
2021-06-01 12:13:39 -05:00
Brianna
462479d476
version 2.4.56
2021-05-27 17:16:49 -05:00
Brianna
07cb02a4ca
Removed Songoda ads. Ugh.
2021-05-27 10:39:37 -05:00
Brianna
f2fb4bb65e
version 2.4.55
2021-05-27 09:57:21 -05:00
Christian Koop
3d5ab04c79
CompatibleParticleHandler: Add support to send to a specific player
2021-05-27 09:56:20 -05:00
Brianna
1dd3f00978
Added WorldCore with some spawner functions.
2021-05-27 09:56:15 -05:00
Brianna
a818050daf
Moved the compatibility API to its own module.
2021-05-27 09:56:04 -05:00
Brianna
07eb0d5710
Stacker plugin hook adjustment.
2021-05-27 09:55:55 -05:00
Brianna
853c6b2b40
version 2.4.54
2021-05-27 09:55:02 -05:00
Brianna
108ec6a2ed
Allow updating holograms in bulk
...
This improves performance when using *HolographicDisplays* drastically on many holograms.
Plugins like *EpicAnchors* might need to manage and update a lot of holograms frequently, causing SongodaCore to fetch all the holograms from the external API (My test setup reduced the time needed to update from ~30ms to ~1ms)
2021-05-27 09:53:45 -05:00
Christian Koop
e218704d5b
Fix bulk hologram update
...
Fixing a bug introduced in 1474980b63a9d4dd26bd84a5e433e585b54d51d5 causing some holograms to not update properly
2021-05-27 09:53:02 -05:00
Christian Koop
1db6c9bf79
Version 2.4.53
2021-05-27 09:52:08 -05:00
Christian Koop
dde2fd36c6
Allow updating holograms in bulk
...
This improves performance when using *HolographicDisplays* drastically on many holograms.
Plugins like *EpicAnchors* might need to manage and update a lot of holograms frequently, causing SongodaCore to fetch all the holograms from the external API (My test setup reduced the time needed to update from ~30ms to ~1ms)
2021-05-27 09:52:04 -05:00
Christian Koop
040eb14982
Fix NPE when using uppercase color chars in lang files (SD-7134)
2021-05-27 09:51:58 -05:00
Fernando Pettinelli
5b5bb17df9
Version 2.4.52
2021-04-15 12:19:12 -04:00
Fernando Pettinelli
17077dff78
Fix NoSuchMethodError on older versions.
2021-04-15 12:18:50 -04:00
Brianna
398d47c915
version 2.4.51
2021-04-12 13:03:52 -05:00
Fernando Pettinelli
9b9f0b9a52
Version 2.4.50
2021-04-11 15:20:47 -04:00
Christian Koop
f545dcc2d9
Fix charset not being detected correctly on UTF-8 files (SD-7843)
...
With this patch, the tested bytes are whole words/lines. This ensures that multi-byte characters (like in UTF-8) are not detected as malformed input and `ISO-8859-1` being detected because it just doesn't care about anything and replaces everything it doesn't know with something it does... Why no error? Would like to know that too :/
This *should* not be able to break existig files or plugins.
2021-04-06 18:46:56 +02:00
Christian Koop
21f8487988
Code cleanup and optimization
...
* I replaced some calls to the *Java Stream API*
* Using `new ArrayList<>()` instead of `new ArrayList()` because *SongodaCore* is compiled with Java 8
2021-04-06 18:46:56 +02:00