Commit Graph

863 Commits

Author SHA1 Message Date
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
8310541b91
Fix ServerVersion#UNKNOWN being treated like a normal version
This is required for unit tests (especially the `Bukkit#getServer != null` check).
But it seems faulty to even trat an unknown version like a normal one.
2022-06-26 01:39:39 +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
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
5debcf20f9
Update junit-jupiter dependency from v.5.8.1 to v5.8.2 2022-04-15 18:34:54 +02:00
Christian Koop
d1fafd301d
Configure pitest for mutation tests 2022-04-15 18:34:29 +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
22d0c395e4
Fixes typo in MethodMapping class 2022-03-18 14:33:50 +01:00
Christian Koop
e51da054bf
Merge pull request #36 from ItsAZZA/development
Add Otherside Music Disc to CompatibleMaterial
2022-03-17 09:08:54 +01:00
ItsAZZA
cffd47a58b Merge branch 'development' of https://github.com/ItsAZZA/SongodaCore into development 2022-02-13 21:12:22 +02:00
ItsAZZA
33ef151c07 Adds missing Music Disc Otherside 2022-02-13 21:12:10 +02: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
c9f7e73b8b
Adds MethodMapping for Chunk#getWorld in Spigot 1.17
This fixes NPEs in `BlockUtils#updateAdjacentComparators` as a method named `D` exists but returns void and not the needed World.
2022-02-10 18:56:42 +01:00
Christian Koop
f887ba6c48
Version 2.6.11 2022-01-21 17:44:18 +01:00
Christian Koop
910e07dd90
Removes Dependabot 2022-01-02 23:11:55 +01:00
Christian Koop
6cd6506142
GitHub-Actions: Only run SonarCloud when token is set
Pull Requests often don't have the token (e.g. somebody outside of Songoda created it)
2022-01-02 23:10:08 +01:00
Christian Koop
b375c6b2be
Updates dependency org.jetbrains:annotations to v23.0.0 2022-01-02 22:44:58 +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
29badc823a Fixed Iron Golems on 1.11-1.12. 2021-12-22 17:59:41 -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
Niko
028799721d Lootables input accepts lowercase entries
Make it so the lootables AnvilGUI can take in lowercase names for items.
2021-12-17 20:12:39 +02: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