Commit Graph

87 Commits

Author SHA1 Message Date
Christian Koop
404a94c307
Move from MockBukkit to Mockito in automated tests
MockBukkit is not able to mock all of Bukkit's API
and broke with a change in PaperMC causing all our
current tests to fail. It is also version dependant.

But with Mockito you have to do everything manually right now.
No helping functionality (like creating a new mock player which automatically
will be returned in `Bukkit#getOnlinePlayers()`)

I took this opportunity to learn a bit about Mocking in Bukkit
and decided on Mockito.
It looks like we could easily write our own MockBukkit
alternative in the future.

I am not really happy how `Mockito#verify` works tho.
I find it annoying not to be able to directly assert
on the calls made to a method.
You have to create an InOrder instance first for the
mock and in the end verify with `Mockito#times(0)`/`Mockito#never()`
and `Mockito#any()` for each argument a method takes, to assert a total of n calls.
2022-11-15 22:49:09 +01:00
Christian Koop
b07f67e0d6
Unify and cleanup all pom.xml-files
This also moves all the dependency declarations of the NMS modules
from the Core-Module to its own NMS-Module.
This module might get merged with the NMS-API module in the future.
2022-08-28 19:13:59 +02:00
Christian Koop
5c15d66415
Deprecate MethodMapping class
I do not intend to update it to support another version.
All implementations using it should be recoded and use the NMS modules instead if needed
2022-08-27 22:43:07 +02:00
Christian Koop
72c96bc09a
Adds Contract annotation to CompatibleMaterial#getMaterial 2022-08-21 20:39:50 +02:00
Christian Koop
a06d27ab90
Version v3.0.0-SNAPSHOT 2022-08-19 10:06:58 +02:00
Christian Koop
61b784b3e8
Merge branch 'development' into development-v3 2022-08-18 22:57:46 +02:00
Christian Koop
b568d51151
Release v2.6.15-DEV 2022-08-08 23:12:06 +02:00
Christian Koop
5e1f1b802c
Introduce new CI/CD pipeline using GitHub Actions
A lot is happening in this release!

tl;dr: GitHub Actions runs tests, compiles the project, signs the jar files, deploys them to the Maven repo; Pushing a git tag issues a release instead of snapshot deployment; -SNAPSHOT is always added to the version otherwise; Core Version is now injected by maven instead of manually updating it in one of the classes


We now use GitHub Actions to run automated tests, compile the project, sign the resulting jar files, and always deploy a version to the Maven repo.
By default, a snapshot release is published but by creating a git tag, a release deploy can be triggered.

Additionally the Core version is not manually updated in one of the classes but injected after compiling it.
I think I found the most stable and easiest way to do this in maven,
although I'd have wished for it to be easier and maybe not after the class file has already been created.
2022-08-07 19:33:38 +02:00
Fernando Pettinelli
1ab918a32e Version 2.6.14-DEV 2022-07-13 01:50:25 -04:00
Christian Koop
269aaa99b8
Update MethodMapping class for Minecraft 1.19 2022-06-28 12:19:12 +02:00
Fernando Pettinelli
2929c628ed 2.6.13 - Added Apache Commons Lang3 and Text. More 1.19 fixes. 2022-06-26 12:27:20 -04: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
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
88b0b03326
Add 1.19 Materials to CompatibleMaterial 2022-06-20 14:52:18 +02: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
22d0c395e4
Fixes typo in MethodMapping class 2022-03-18 14:33:50 +01:00
ItsAZZA
33ef151c07 Adds missing Music Disc Otherside 2022-02-13 21:12:10 +02: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
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
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
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
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
070f1adee7
Fixes CompatibleBiome#isCompatible and #getBiome
`#isCompatible` always returned true and `#getBiome` could result in an Exception because of biomes not having any version information configured (silencing it should not be the way to go but Minecraft 1.18 updates \o/)
2021-12-10 19:35:30 +01:00
Christian Koop
7f055c4391
MethodMapping: Introduces a way to check another name if first try fails
Don't like the method ignoring the frickin exception but for now logging it is fine too I guess
2021-12-10 19:14:11 +01:00
Christian Koop
354e7ea2f0
Version 2.6.4 2021-12-10 18:13:22 +01:00
Christian Koop
75db60efae
Hotfix CompatibleBiome class in Minecraft 1.18
It still has the same problems as the current implementation but at least it doesn't throw an exception
2021-12-09 22:16:28 +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
Christian Koop
cd34b24517
Version 2.6.2 2021-12-07 17:19:13 +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
6a3fe4691f
CompatibleParticleHandler: Minor code cleanup 2021-12-02 16:33:24 +01:00
Christian Koop
5da52ca60e
Update dependency spigot-api to 1.18 2021-12-02 16:33:24 +01:00
Christian Koop
4335022c3e
CompatibleSound: Minor code cleanup
The whole class needs some work and should probably be used similar to `CompatibleMaterial`
2021-12-02 16:33:24 +01:00
Christian Koop
f8d218ff3d
CompatibleMaterial: Adds missing materials to some property methods
For `#isFuel`, `#isItem`, and `#isInteractable`
2021-12-02 16:33:24 +01:00
Christian Koop
7d255685ed
ServerProject and ServerVersion: Adds support for BukkitMock 2021-12-02 16:32:48 +01:00
Christian Koop
fd2809f982
Version 2.5.14 2021-11-01 22:30:51 +01:00