JitseB / NPCLib

(Minecraft) NPCLib – Basic non-player character library.
MIT License
197 stars 49 forks source link

1_16_R3 incompatible #164

Open x9nico opened 3 years ago

x9nico commented 3 years ago

Describe the bug A clear and concise description of what the bug is.

NPCLib usage option NPCLib can be used in multiple ways, please provide the number corresponding to your usage option.

Option 3

NPCLib JAR name npclib-plugin-2.12.1-SNAPSHOT.jar

Server version E.g. CraftBukkit version git-Spigot-a1f2566-97b0057 (MC: 1.13.2) (Implementing API version 1.13.2-R0.1-SNAPSHOT) (use command /version)

Purpur version git-Purpur-1131 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)

To Reproduce Steps to reproduce the behavior: Just start your server With purpur 1.16.5

image

schiasileon commented 3 years ago

same problem

keksgauner commented 3 years ago

up to v1_16_R3 == 1.16.5 I think you need an update

keksgauner commented 3 years ago

I checked my server with Bukkit.getBukkitVersion() and getServer().getClass().getPackage().getName() I got 1.16.5-R0.1-SNAPSHOT and org.bukkit.craftbukkit.v1_16_R3 back there is a v1_16_R3. But there is still this Error NPCLib Failed to initiate. Your server's version (v1_16_R3) is not supported

The plugin try to get the version with this.getServer().getClass().getPackage().getName().split("\.")[3]; I got v1_16R3 this is right But why it cannot get with Class.forName("net.jitse.npclib.nms." + versionName + ".NPC" + versionName); the right class

Oh I see there is no nms

schiasileon commented 3 years ago

I figured it out. You need to shade the -plugin and not -api version because the api version does not include the nms packages thus not finding the classes.

keksgauner commented 3 years ago

Yes you need

<dependency>
<groupId>net.jitse</groupId>
    <artifactId>npclib-plugin</artifactId>
    <version>2.12.1-SNAPSHOT</version>
    <scope>compile</scope>
</dependency>

In Intellij you must exract the project to the root of your plugin. (Sorry for my english)