Commit Graph

389 Commits

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