Commit Graph

436 Commits

Author SHA1 Message Date
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