Is there an existing issue for this?
🐛 Describe the bug
Basically when I try using version 3.4.0 or 3.5.0 on paper 1.21.6
I will receive following error message:
[IF] An error occurred while handling a click event
java.lang.RuntimeException: Something went wrong while opening Anvil Input NMS inventory.
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.AnvilInputNMS.open(AnvilInputNMS.java:125) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.AnvilInputFeature.lambda$handleOpen$3(AnvilInputFeature.java:166) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.PipelineContext.loop(PipelineContext.java:43) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.PipelineContext.proceed(PipelineContext.java:53) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.PipelineContext.execute(PipelineContext.java:59) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.Pipeline.execute(Pipeline.java:118) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.PlatformView.open(PlatformView.java:107) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.PlatformView.navigateTo(PlatformView.java:169) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.context.PlatformConfinedContext.openForPlayer(PlatformConfinedContext.java:38) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.context.PlatformConfinedContext.openForPlayer(PlatformConfinedContext.java:31) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.context.PlatformRenderContext.openForPlayer(PlatformRenderContext.java:301) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.context.SlotClickContext.openForPlayer(SlotClickContext.java:157) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.view.currency.CurrenciesCreatingView.lambda$onFirstRender$0(CurrenciesCreatingView.java:74) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.component.ItemComponent.clicked(ItemComponent.java:217) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.ComponentClickHandlerCallInterceptor.intercept(ComponentClickHandlerCallInterceptor.java:33) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.ComponentClickHandlerCallInterceptor.intercept(ComponentClickHandlerCallInterceptor.java:11) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.PipelineContext.loop(PipelineContext.java:43) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.PipelineContext.proceed(PipelineContext.java:53) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.PipelineContext.execute(PipelineContext.java:59) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.pipeline.Pipeline.execute(Pipeline.java:118) ~[JECurrency-Premium-2.0.0.jar:?]
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.IFInventoryListener.onInventoryClick(IFInventoryListener.java:57) ~[JECurrency-Premium-2.0.0.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.21.6-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:71) ~[paper-api-1.21.6-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.21.6-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3207) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:59) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:14) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:29) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:155) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1449) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:176) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:129) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1429) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1423) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:139) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1380) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1388) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1265) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:310) ~[paper-1.21.6.jar:1.21.6-48-4d854e6]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.IncompatibleClassChangeError: Found interface org.bukkit.inventory.InventoryView, but class was expected
at JECurrency-Premium-2.0.0.jar/de.jexcellence.currency.shaded.if.AnvilInputNMS.open(AnvilInputNMS.java:96) ~[JECurrency-Premium-2.0.0.jar:?]
... 43 more
[17:29:47 INFO]: [2025-07-20 17:29:47] [SEVERE] IF: An error occurred while handling a click event
[17:29:47 INFO]: java.lang.RuntimeException: Something went wrong while opening Anvil Input NMS inventory.
✔️ Expected behavior
The inventory should open as usual
👣 Steps to Reproduce
use the anvilinput example of the repository, in an paper environment newest version of paper 1.21.6 and either IF 3.4.0 or 3.5.0 both causing issues.
💻 Platform
⭐ Server Version
1.21.6
📚 Library Version
3.4.0, 3.5.0
✍️ Additional context
package de.jexcellence.currency.view.currency;
import me.devnatan.inventoryframework.AnvilInput;
import me.devnatan.inventoryframework.View;
import me.devnatan.inventoryframework.ViewConfigBuilder;
import me.devnatan.inventoryframework.ViewType;
import me.devnatan.inventoryframework.context.RenderContext;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.jetbrains.annotations.NotNull;
public class AnvilInputSample extends View {
final AnvilInput anvilInput = AnvilInput.createAnvilInput();
@Override
public void onInit(@NotNull ViewConfigBuilder config) {
config.cancelOnClick();
config.type(ViewType.ANVIL);
config.title("Anvil Input Sample");
config.use(anvilInput);
}
@Override
public void onFirstRender(@NotNull RenderContext render) {
ItemStack itemStack = new ItemStack(Material.DIAMOND);
ItemMeta itemMeta = itemStack.getItemMeta();
itemMeta.setDisplayName("Type something here");
itemStack.setItemMeta(itemMeta);
render.firstSlot(itemStack);
render.resultSlot().onClick((ctx) -> {
ctx.getPlayer().sendMessage("You typed: " + anvilInput.get(ctx));
});
}
}
this is how my class looks like and how i registered the classes
this.viewFrame = ViewFrame
.create(this)
.install(AnvilInputFeature.AnvilInput)
.defaultConfig(config -> {
config.cancelOnClick();
config.cancelOnDrag();
config.cancelOnDrop();
config.cancelOnPickup();
config.interactionDelay(Duration.ofMillis(100));
})
.with(
new CurrenciesCreatingView(),
new CurrenciesActionOverviewView(),
new CurrencyIdentifierAnvilView(),
new CurrencySymbolAnvilView(),
new CurrencyPrefixAnvilView(),
new CurrencySuffixAnvilView(),
new AnvilInputSample()
)
.register();
Is there an existing issue for this?
🐛 Describe the bug
Basically when I try using version 3.4.0 or 3.5.0 on paper 1.21.6
I will receive following error message:
✔️ Expected behavior
The inventory should open as usual
👣 Steps to Reproduce
use the anvilinput example of the repository, in an paper environment newest version of paper 1.21.6 and either IF 3.4.0 or 3.5.0 both causing issues.
💻 Platform
⭐ Server Version
1.21.6
📚 Library Version
3.4.0, 3.5.0
✍️ Additional context
package de.jexcellence.currency.view.currency;
import me.devnatan.inventoryframework.AnvilInput;
import me.devnatan.inventoryframework.View;
import me.devnatan.inventoryframework.ViewConfigBuilder;
import me.devnatan.inventoryframework.ViewType;
import me.devnatan.inventoryframework.context.RenderContext;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.jetbrains.annotations.NotNull;
public class AnvilInputSample extends View {
}
this is how my class looks like and how i registered the classes
this.viewFrame = ViewFrame
.create(this)
.install(AnvilInputFeature.AnvilInput)
.defaultConfig(config -> {
config.cancelOnClick();
config.cancelOnDrag();
config.cancelOnDrop();
config.cancelOnPickup();
config.interactionDelay(Duration.ofMillis(100));
})
.with(
new CurrenciesCreatingView(),
new CurrenciesActionOverviewView(),
new CurrencyIdentifierAnvilView(),
new CurrencySymbolAnvilView(),
new CurrencyPrefixAnvilView(),
new CurrencySuffixAnvilView(),
new AnvilInputSample()
)
.register();