BlurOne-GIT / Cowardless

A Minecraft plugin that replaces players who log out during combat with an NPC to be killed instead.
https://modrinth.com/plugin/cowardless
GNU General Public License v3.0
1 stars 0 forks source link

Towny compatibility #5

Open LukinHasEuro opened 1 month ago

LukinHasEuro commented 1 month ago

Make it so when a player enters a Towny town protection they can still be hit 🙏

BlurOne-GIT commented 1 month ago

I do not understand the problem. Please elaborate.

LukinHasEuro commented 1 month ago

The issue is, the plugin does not even load. And what I meant by towny compatibility was disabling the PvP protection once entering a town's territory, basically just a addon

BlurOne-GIT commented 1 month ago

About the plugin not loading, could you please provide me with the error logs, server software and version?

LukinHasEuro commented 1 month ago

Yeah: [14:00:18] [Server thread/ERROR]: [ModernPluginLoadingStrategy] Could not load plugin 'cowardless-2.2.1-spigot-0-1.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: net/minecraft/server/level/EntityPlayer at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:127) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:35) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at io.papermc.paper.plugin.entrypoint.strategy.modern.ModernPluginLoadingStrategy.loadProviders(ModernPluginLoadingStrategy.java:116) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:38) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at org.bukkit.craftbukkit.v1_20_R3.CraftServer.loadPlugins(CraftServer.java:507) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:274) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1141) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:322) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] at java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/level/EntityPlayer at java.lang.Class.forName0(Native Method) ~[?:?] at java.lang.Class.forName(Class.java:534) ~[?:?] at java.lang.Class.forName(Class.java:513) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:78) ~[slice-api-1.20.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] ... 9 more Caused by: java.lang.ClassNotFoundException: net.minecraft.server.level.EntityPlayer at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:197) ~[slice-api-1.20.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:164) ~[slice-api-1.20.4-R0.1-SNAPSHOT.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?] at java.lang.Class.forName0(Native Method) ~[?:?] at java.lang.Class.forName(Class.java:534) ~[?:?] at java.lang.Class.forName(Class.java:513) ~[?:?] at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:78) ~[slice-api-1.20.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[slice-1.20.4.jar:git-Slice-"21c48c4"] ... 9 more I only could find this log, I was using a paper fork, but here I tried with spigot to see if it would work, the paper version gives the same error though.

BlurOne-GIT commented 1 month ago

If you are using a paper fork, don't bother trying with the spigot version. Still, if you've tried woth the paper version and it's still not working, the only thing I can think of, by the contents of the logs, is the possibility of your server running with Mojang mappings instead of Spigot mappings. Tell me if you happen to know.

LukinHasEuro commented 1 month ago

Okay, i'll try with regular paper

LukinHasEuro commented 1 month ago

[20:41:22 INFO]: [CowardlessPaper] Enabling CowardlessPaper v2.2.1-paper-0 [20:41:22 ERROR]: Error occurred while enabling CowardlessPaper v2.2.1-paper-0 (Is it up to date?) java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at code.blurone.cowardless.CowardlessPaper.onEnable(CowardlessPaper.kt:54) ~[Cowardless-paper-2.2.1-paper-0.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:287) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:188) ~[paper-1.20.4.jar:git-Paper-497] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.4.jar:git-Paper-497] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugin(CraftServer.java:639) ~[paper-1.20.4.jar:git-Paper-497] at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugins(CraftServer.java:550) ~[paper-1.20.4.jar:git-Paper-497] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:671) ~[paper-1.20.4.jar:git-Paper-497] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:431) ~[paper-1.20.4.jar:git-Paper-497] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:309) ~[paper-1.20.4.jar:git-Paper-497] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1131) ~[paper-1.20.4.jar:git-Paper-497] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper-1.20.4.jar:git-Paper-497] at java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:197) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:164) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?] at java.lang.

New error

BlurOne-GIT commented 1 month ago

Going by the java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics, I'm guessing that I did not package the Kotlin dependencies (which I did not know there were) correctly into the jar. I'm assuming this was not a problem on my server since I use other of my plugins which are also developed with Kotlin, but probably packaged correctly. Would you mind trying this? https://modrinth.com/plugin/kotlinmc/version/m55WPzuu

LukinHasEuro commented 1 month ago

It worked! Since it has no message to actually warn the player is in combat, do you think I could pair it with a different combatlog plugin?

BlurOne-GIT commented 1 month ago

I have implemented an "unobtrusive" way to tell the player whether it's in combat, by making the vignette turn red. You can enable it by setting the red_warning property to true in the configs.

LukinHasEuro commented 1 month ago

What about a command whitelist? like certain commands player can use during combat. such as chat commands, /global for example