Christian Koop
92ff9cebd5
feat: Rework how the Core-Logger works and is used
...
Implement own logger to prefix message with plugin name (if available) and CraftaroCore.
We prefix with both because the Core is shaded and this way it is clearly logged "which" Core is logging what.
This is also the reason why the Logger's name is now `CoreLogger.class.getCanonicalName()`
instead of CraftaroCore to uniquely identify each logger. (similar to what Bukkit's PluginLogger does).
2024-02-02 18:10:03 +01:00
Christian Koop
e0dd19e91a
style: Reformat/Auto-format DependencyLoader class
...
Also gets rid of some unused imports
2024-02-02 17:02:09 +01:00
ceze88
1ec750cacf
Move dependency folder, add dependency version info
2024-02-02 16:27:52 +01:00
ceze88
eeb2724e04
Update dependencies
2024-02-02 16:04:14 +01:00
ceze88
3233c92679
Update AdventureUtils.java
2024-02-01 13:03:31 +01:00
Christian Koop
638b793040
Introduce a new hook system (right now only with Hologram support)
...
My plans with this hook system are to make it easier to understand and maintain – Hopefully it is also more flexible
Hooks now have a dedicated activation-life-cycle – I think this allows it to contain all the logic to do what
it needs to do but also provide some helper methods like `#canBeActivated`.
The activation should be used by the hooks to reduce the memory and performancec impact when not used.
The de-activation also allows hooks to clean up themselves and not rely on the plugins used by the hook or
the plugin using the hook to clean up.
For example:
You can see that the `DecentHologramsHook` has few class variables and they are kept as
small as possible and reasonable when not activated.
In `#deactivate` I call `#removeAll` to remove all holograms that still exist and I call `ArrayList#trimToSize` to reduce it's size again.
This has a similar effect to setting the class varaible null or to a new List but with this I can make that field *final*.
The exact implementation details and capabilities vary on the third-party plugins being supported by hooks,
so it needs to be flexible and easy to understand, so we can easily add support for more plugins and especially
new plugin categories like Maps (dynmap, BlueMap, PlexMap, ...).
2024-01-30 19:43:30 +01:00
Christian Koop
d8564d1c1c
docs: Deprecates all current/soon old hook classes
2024-01-30 17:51:22 +01:00
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