Commit Graph

664 Commits

Author SHA1 Message Date
Christian Koop
50dfbf8dad
! Renames Hook Interface to OutdatedHookInterface for the new hooks
The interface is used/imported in two other Craftaro plugins (FabledSkyBlock and UltimateStacker).

I've worked on a new hook system which is easier to understand and maintain and hopefully also
allows for some more flexibility.

To introduce the new hooks without breaking changes (or as little as possible), this interface had to move.
2024-01-30 17:51:22 +01:00
Christian Koop
29f2d0b643
Disables the update checker of the nbt-api library 2024-01-30 17:51:22 +01:00
ceze88
a4b7e2d28d Add minimessage and utility class for it 2024-01-30 17:14:58 +01:00
ceze88
b610b98547 Fix java 8 support for dependency loader 2024-01-29 16:31:03 +01:00
ceze88
82c7c49e41 Remove removed method 2024-01-24 19:05:06 +01:00
ceze88
52b93e873c Fix LinkageError in rare cases 2024-01-23 19:17:29 +01:00
Christian Koop
5850e1a0ec
Downgrade HikariCP to v4.0.3 to properly support Java 8 2024-01-15 21:08:45 +01:00
Christian Koop
0e8f52b1be
Implement workaround for migrated SQLite databases applying migrations
The migration version -1 is already written into the new database before the old one has been converted.
This causes the migration to be run on the converted database because in addition to the migrated
version (e.g. 8) the -1 is already written to the table.
And now you just need to be kind of lucky to not retrieve that wrong version.

Just a hacky workaround (I know)
2024-01-15 21:07:54 +01:00
Christian Koop
adcf8619ec
Slight refactoring of dependency/Dependency.java class
* Re-uses constructors to reduce duplicate code
* Makes sure the constructor with relocate-argument actually sets `this.relocate`
* Use `this.` for accessing class variables
2024-01-13 18:43:01 +01:00
Christian Koop
21bf900448
Make SongodaPlugin#getDependencies non-abstract and return empty Set
Most plugins don't have additional dependencies so this should make migrating existing plugins a bit easier.
2024-01-13 18:40:22 +01:00
ceze88
d4de86f6a5 Fix asm version again 2024-01-13 18:25:45 +01:00
Christian Koop
2f1f814d43
Do not directly modify dependency Set provided by the plugin
Modifying the Set directory makes assumptions about the created Set.
About it's type/implementation (maybe it is immutable/read-only?) and about
it's usage/way-of-use that does not break the plugin by adding stuff a Set that might be used differently too etc.
2024-01-13 17:36:42 +01:00
ceze88
3f62b36b26 Fix asm dependency 2024-01-12 17:01:40 +01:00
ceze88
cd3acd87f5 Shade asm into the core, not all java versions contains it. Fix shading for reactivestreams. 2024-01-12 16:27:02 +01:00
ceze88
dcf9fa4a29 Fix shading for LibraryLoader 2024-01-11 11:44:33 +01:00
ceze88
0a76ad4943 Use jitpack for libraryloader 2024-01-07 14:59:13 +01:00
ceze88
16e419b537 Fix pom.xml 2024-01-04 12:44:54 +01:00
ceze88
ad7b703282 Implementing runtime lib loading 2024-01-01 15:04:23 +01:00
Christian Koop
a17252b805
chore: Updates item-nbt-api to v2.12.2 for Spigot 1.20.4 support 2023-12-10 17:08:52 +01:00
ceze88
d69510cae7 Fix casting errors 2023-11-18 16:47:06 +01:00
dependabot[bot]
3d75eef3b4
Bump world.bentobox:bentobox from 1.15.5 to 1.24.1 (#85)
Bumps [world.bentobox:bentobox](https://github.com/BentoBoxWorld/BentoBox) from 1.15.5 to 1.24.1.
- [Release notes](https://github.com/BentoBoxWorld/BentoBox/releases)
- [Commits](https://github.com/BentoBoxWorld/BentoBox/compare/1.15.5...1.24.1)

---
updated-dependencies:
- dependency-name: world.bentobox:bentobox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-07 00:10:27 +01:00
dependabot[bot]
21657902b3
Bump com.gmail.nossr50.mcMMO:mcMMO from 2.1.200 to 2.1.225 (#82)
Bumps [com.gmail.nossr50.mcMMO:mcMMO](https://github.com/mcMMO-Dev/mcMMO) from 2.1.200 to 2.1.225.
- [Release notes](https://github.com/mcMMO-Dev/mcMMO/releases)
- [Changelog](https://github.com/mcMMO-Dev/mcMMO/blob/master/Changelog.txt)
- [Commits](https://github.com/mcMMO-Dev/mcMMO/commits)

---
updated-dependencies:
- dependency-name: com.gmail.nossr50.mcMMO:mcMMO
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 22:37:04 +01:00
dependabot[bot]
65b10fbba6
Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.0 to 3.5.1 (#80)
Bumps [org.apache.maven.plugins:maven-shade-plugin](https://github.com/apache/maven-shade-plugin) from 3.5.0 to 3.5.1.
- [Release notes](https://github.com/apache/maven-shade-plugin/releases)
- [Commits](https://github.com/apache/maven-shade-plugin/compare/maven-shade-plugin-3.5.0...maven-shade-plugin-3.5.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-shade-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 22:14:30 +01:00
dependabot[bot]
73437503b2
Bump org.mariadb.jdbc:mariadb-java-client from 3.0.8 to 3.2.0 (#63)
Bumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.0.8 to 3.2.0.
- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)
- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.0.8...3.2.0)

---
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 22:06:29 +01:00
dependabot[bot]
289a856a1a
Bump com.zaxxer:HikariCP from 5.0.1 to 5.1.0 (#78)
Bumps [com.zaxxer:HikariCP](https://github.com/brettwooldridge/HikariCP) from 5.0.1 to 5.1.0.
- [Changelog](https://github.com/brettwooldridge/HikariCP/blob/dev/CHANGES)
- [Commits](https://github.com/brettwooldridge/HikariCP/compare/HikariCP-5.0.1...HikariCP-5.1.0)

---
updated-dependencies:
- dependency-name: com.zaxxer:HikariCP
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 21:52:41 +01:00
dependabot[bot]
0b119cac91
Bump com.intellectualsites.bom:bom-1.18.x from 1.18 to 1.31 (#77)
Bumps [com.intellectualsites.bom:bom-1.18.x](https://github.com/IntellectualSites/bom) from 1.18 to 1.31.
- [Release notes](https://github.com/IntellectualSites/bom/releases)
- [Commits](https://github.com/IntellectualSites/bom/compare/1.18...1.31)

---
updated-dependencies:
- dependency-name: com.intellectualsites.bom:bom-1.18.x
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 21:18:21 +01:00
dependabot[bot]
636a281b07
Bump com.github.decentsoftware-eu:decentholograms from 2.8.3 to 2.8.4 (#75)
Bumps [com.github.decentsoftware-eu:decentholograms](https://github.com/DecentSoftware-eu/DecentHolograms) from 2.8.3 to 2.8.4.
- [Release notes](https://github.com/DecentSoftware-eu/DecentHolograms/releases)
- [Commits](https://github.com/DecentSoftware-eu/DecentHolograms/compare/2.8.3...2.8.4)

---
updated-dependencies:
- dependency-name: com.github.decentsoftware-eu:decentholograms
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 20:46:30 +01:00
dependabot[bot]
a808627d5f
Bump de.tr7zw:item-nbt-api from 2.12.0 to 2.12.1 (#73)
Bumps de.tr7zw:item-nbt-api from 2.12.0 to 2.12.1.

---
updated-dependencies:
- dependency-name: de.tr7zw:item-nbt-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 20:00:31 +01:00
ceze88
55a29c2af1 Fix converting errors for EpicFarming and EpicHoppers 2023-11-06 14:22:06 +01:00
Christian Koop
c79b835e9a
feat: Adds convenience overload method SongodaPlugin#initDatabase
Takes DataMigration... instead of an List. Similar how it used to be in the old API.
Reduces visual clutter in plugin code in my opinion
2023-10-24 02:41:09 +02:00
Christian Koop
eaf96d51de
style: Fixes typo in comment 2023-10-24 01:29:40 +02:00
Christian Koop
2afdfaa082
fix: Replace wrong 'MySQL' in logged database warnings with correct db 2023-10-24 01:15:23 +02:00
Christian Koop
8cde264f75
style: optimize imports in database related classes 2023-10-24 01:12:54 +02:00
Christian Koop
2f6d21c969
fix: Don't catch exceptions when initializing the database
Catching the exception here circumvents the error handing in `SongodaPlugin#onEnable()`.
+ catching the errors without throwing a new one leads to plugins continuing their initialization
before being disabled.
Poluting the server log with additional exceptions and everything because something is broken but surpressed
2023-10-24 01:03:09 +02:00
Christian Koop
4816438f93
Don't run database migrations on plugin enable with issues connecting
Migrations rely on `this.databaseConnector` being set which might be true if something fails
2023-10-23 19:06:08 +02:00
Christian Koop
0bbc5afd2f
chore: Updates item-nbt-api to support Spigot 1.20.2 2023-10-19 17:14:16 +02:00
ceze88
204677c3a9 Fix issue checking if the migration table exists or not 2023-09-04 20:02:53 +02:00
Christian Koop
10f0d28673
Updates UltimateClaims dependency to latest snapshot 2023-08-25 10:32:30 +02:00
dependabot[bot]
5345452f2a
Bump net.tnemc:Reserve from 0.1.3.0 to 0.1.5.4 (#62)
Bumps net.tnemc:Reserve from 0.1.3.0 to 0.1.5.4.

---
updated-dependencies:
- dependency-name: net.tnemc:Reserve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-20 09:19:22 +02:00
Christian Koop
ebd83688d3
Updates UltimateClaims dependency to v2.0.0-b2-SNAPSHOT 2023-08-15 22:33:20 +02:00
ceze88
012a0d173c Fix issues if there were too many migrations to run. Escape SQL values 2023-08-02 18:31:04 +02:00
ceze88
8920e7e2f9 Update UltimateClaims hook 2023-08-02 18:30:12 +02:00
ceze88
fdf79eeee3 New delete methods, start auto increment from one for databases 2023-07-25 19:54:05 +02:00
ceze88
54ef2c0b29 Fixes getNextId method for empty databases. Adds some new saving methods. TODO: clean up this class 2023-07-24 12:23:10 +02:00
ceze88
9d94232ab5 Fixes NPE when the entity is not stacked 2023-07-24 11:58:39 +02:00
ceze88
3ff333d1b4 Adds loadBatch with conditions and delete with custom uuid column 2023-07-20 16:35:15 +02:00
ceze88
abd51e0e82 Fix item stacking when using large numbers 2023-07-17 12:20:48 +02:00
ceze88
98e03a2861 Fix drop issues in some cases where mobs don't drop loot 2023-07-16 20:29:00 +02:00
ceze88
8a31f3e0c2 Update method for the latest api method 2023-07-16 19:41:30 +02:00
ceze88
4955954bd6 Fix package name 2023-07-16 17:59:24 +02:00
dependabot[bot]
f24f250d36
Bump decentholograms from 2.2.5 to 2.8.3 (#58)
Bumps [decentholograms](https://github.com/DecentSoftware-eu/DecentHolograms) from 2.2.5 to 2.8.3.
- [Release notes](https://github.com/DecentSoftware-eu/DecentHolograms/releases)
- [Commits](https://github.com/DecentSoftware-eu/DecentHolograms/compare/2.2.5...2.8.3)

---
updated-dependencies:
- dependency-name: com.github.decentsoftware-eu:decentholograms
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-01 17:39:25 +02:00
dependabot[bot]
885c64435d
Bump inject-maven-plugin from 1.3 to 1.4 (#56)
Bumps [inject-maven-plugin](https://github.com/marcelmay/inject-maven-plugin) from 1.3 to 1.4.
- [Release notes](https://github.com/marcelmay/inject-maven-plugin/releases)
- [Commits](https://github.com/marcelmay/inject-maven-plugin/compare/inject-maven-plugin-1.3...inject-maven-plugin-1.4)

---
updated-dependencies:
- dependency-name: de.m3y.maven:inject-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-01 17:38:41 +02:00
Christian Koop
3575bd25b9
Use non-shaded class name when loading the H2 driver 2023-07-01 13:39:44 +02:00
Christian Koop
199840f845
Minor code style fixes/refactoring in H2Connector 2023-07-01 13:39:44 +02:00
Christian Koop
fafc4baaa3
Fixes username and password in H2Connector being mixed up 2023-07-01 13:39:44 +02:00
ceze88
2962a5cef8 Improve data loading to make it easier for plugins to create new data instances when deserialized 2023-07-01 09:54:09 +02:00
Christian Koop
1b2b2a41a3
Updates UltimateStacker-API dependency to use the new name+version 2023-06-30 22:53:43 +02:00
Christian Koop
8c80d86cc5
pom.xml: Adds some empty lines for clarification/grouping of shade arti. 2023-06-30 16:38:40 +02:00
Christian Koop
b8c14253ad
Fix version for UltimateStackerAPI dependency from 1.0 to 1.0.0 2023-06-30 16:17:56 +02:00
Christian Koop
2aa367c8e3
Merge branch 'feature/new-improved-database-system' into development 2023-06-29 17:14:28 +02:00
ceze88
84c7d1da4b Fix database converter, fix uuid data support. Adds test for database 2023-06-29 16:04:12 +02:00
Christian Koop
9ac1da984d
Renamed method argument l to location in LocationUtils#isInArea 2023-06-29 09:37:42 +02:00
ceze88
5d0b0409da Updates jooq to latest java 8 and hikaricp 2023-06-28 12:13:39 +02:00
ceze88
5d9cab5613 Merge branch 'development' into feature/new-improved-database-system
# Conflicts:
#	Core/pom.xml
#	Core/src/main/java/com/craftaro/core/SongodaPlugin.java
2023-06-28 11:58:09 +02:00
Christian Koop
2becc27bda
Include all of XSeries in the core instead of specific classes 2023-06-25 12:09:27 +02:00
Christian Koop
572cf3d805
Adds a lot of this. in GUI releated classes 2023-06-24 16:00:57 +02:00
Christian Koop
7ce74de993
Deprecates CompatibleSound in favor of XSound from the XSeries library 2023-06-24 15:58:38 +02:00
Christian Koop
b09338f78f
Adds a lot of this. in some files 2023-06-24 12:57:57 +02:00
Christian Koop
49eb5437e9
Updates item-nbt-api dependency to v2.11.3 2023-06-24 12:55:15 +02:00
Christian Koop
bac3c1b16e
Re-implemented CompatibleMaterial + changed usages to XMaterial 2023-06-20 20:22:29 +02:00
Christian Koop
d4fe43fd35
Adds XSeries's XMaterial class to the shaded dependencies 2023-06-18 01:01:28 +02:00
Christian Koop
fbf6531f08
Updates maven-shade-plugin from v3.3.0 to v3.5.0 2023-06-18 01:00:48 +02:00
Christian Koop
b6e1d0afca
Exclude license files etc. when shading third-party libraries 2023-06-18 01:00:23 +02:00
Christian Koop
9e73e2a87d
Fixes some code style issues 2023-06-18 00:33:07 +02:00
Christian Koop
3b92b69cc6
Fixes some code style issues 2023-06-17 16:34:50 +02:00
Christian Koop
3203e4b799
Deprecate some utility classes that still need some additional work 2023-06-17 16:31:13 +02:00
Christian Koop
f1fa34f891
Deprecates most parts of NumberUtils and refactors #isInt(String)
Trying to parse an empty or null String throws an `NumberFormatException` so we don't need that check.
2023-06-17 16:30:27 +02:00
Christian Koop
24007b5d17
Slight refactor of PlayerUtils and marking some methods as Deprecated
The Deprecations need to be taken care of at a later point in time.
Most methods do have a strong use-case in relation to commands and should be placed
in a more appropriate class.
2023-06-17 16:30:27 +02:00
Christian Koop
f348ddef45
Deprecate some unused or no-longer-needed utility classes 2023-06-17 16:30:27 +02:00
Christian Koop
c43bc093cc
Replace EntityUtils with new NmsEntity implementation and deprecate it 2023-06-17 15:45:23 +02:00
Christian Koop
4c32936367
Fix package path used in SongodaCore#hasShading 2023-06-17 13:35:19 +02:00
Christian Koop
bba24097fd
Rename SongodaCoreConstants into CraftaroCoreConstants and update them 2023-06-17 13:06:57 +02:00
ceze88
ee9d6016bf
Big changes to the database system
This a modified version of the original commit b2180b0c73.

I changed/removed:
* project version bump (a lot of unrealated file changes, wrong version in regards to breaking changes)
* Hacky changes to the NMS class
* Reverted changes to SSpawner (We want to keep the class variables final
and there doesn't seem to be a big advantage in overwriting basically the whole classe's content
when you could just create a new instance instead, as intended)
* Commit name (old name was `(changes will be in next commit)`)
2023-06-11 12:55:04 +02:00
Christian Koop
421e515d85
Bump CraftaroCore version to v3.0.0-SNAPSHOT 2023-06-11 00:37:11 +02:00
Christian Koop
636775bbef
Rename Maven modules from SongodaCore to CraftaroCore 2023-06-11 00:37:11 +02:00
Christian Koop
e8639f3540
Fix forgotten package name changes
Forgotten in a33da058e29e4ed1ee018b8d51f503e07547d18a
2023-06-11 00:37:11 +02:00
Christian Koop
dd4a7bd04e
Removes pitest as a maven plugin
It is used for mutation testing but realistically we don't even write that many tests.
Just adds complexity and because it is not often used, causes trouble when it hasn't been touched for months/years
2023-06-11 00:37:11 +02:00
Christian Koop
5da3769a47
Move every class from com.songoda package to com.craftaro 2023-06-11 00:37:11 +02:00
Christian Koop
f66964b2ee
Refactor Nms class to be more readable and make it final 2023-06-10 22:14:54 +02:00
Christian Koop
1e0de3d844
If the product's license check fails, periodically broadcast a message 2023-06-09 15:20:33 +02:00
Christian Koop
d0abbf26ec
Don't use Apache commons-io to read HTTP response body bytes
At least in Spigot 1.19 it is not available by default - That much we can do ourselves in that case.
2023-06-09 15:20:33 +02:00
Christian Koop
5f02c06ce8
Bump core revision from 9 to 10
To make sure the Core with the `/craftaro license` command wins the 'newest-core-battle'
2023-06-09 15:20:33 +02:00
Christian Koop
f8a9e81388
Improve colors and formatting for /craftaro license command 2023-06-09 15:20:33 +02:00
Christian Koop
3f89267e8e
Don't fully shutdown the plugin when license verification fails
The goal here is to keep the plugin enabled and initialize the Core.
This is needed for the `/craftaro license` command to work etc.

Sadly this also means other plugins checking for the plugin being the
(including the `/plugins` command), report the plugin as enabled
and seemingly ready (Although the plugin's API is not).
2023-06-09 15:20:33 +02:00
Christian Koop
1998fd7ff9
Remove broken command '/craftaro myip`
The API endpoint doesn't exist anymore.
The command is part of the old SongodaAuth license system.
2023-06-09 15:20:33 +02:00
Christian Koop
c6d688b6b7
Implements new Craftaro Product Verification Flows replacing SongodaAuth 2023-06-09 15:20:33 +02:00
Christian Koop
eac02d51fe
Removes org.yaml.snakeyaml as shaded dependency
It is already included in Spigot. Probably forgot to revert this with c725ea69d6.

This causes weird Exceptions/Errors in Folia (and/or Paper?).
2023-05-18 19:17:47 +02:00
ceze88
755124c070 Update UltimateStacker hook 2023-05-18 19:08:44 +02:00
ceze88
624221c532 Update UltimateStacker version 2023-05-18 19:08:33 +02:00
Christian Koop
9c4923cd42
Release v2.6.22
I'm creating this release to push the GitHub Actions and Dependabot changes to the main branch.
Dependabot should find at least 2 outdated actions dependencies and create a PR for them.


Please check #47 for a list of *most* changes.
2023-05-07 15:19:04 +02:00