Skript Mirror Open Book Snippet

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

  • LOOKING FOR A VERSION OF SKRIPT?

    You can always check out skUnity Downloads for downloads and any other information about Skript!

Status
Not open for further replies.

aescraft

Well-Known Member
Mar 1, 2017
295
13
0
36
I found this snippet and I was trying to use it, but for some reason, it wont work.
The snippet:

Code:
import:
  org.bukkit.Bukkit
  io.netty.buffer.Unpooled
 
option nms:
  get:
    set {_nms} to Bukkit.getServer().getClass().getPackage().getName().split("\.")[3]
    return "net.minecraft.server.%{_nms}%"
 
import:
  {@nms}.PacketPlayOutCustomPayload
  {@nms}.PacketDataSerializer
  {@nms}.EnumHand
  {@nms}.MinecraftKey
 
 
#will change to Open Book packet in 1.14: https://wiki.vg/Pre-release_protocol#Open_Book
effect open book %itemstack% to %player%:
  trigger:
    set {_p} to expression-2
    set {_held} to tool of {_p}
    set {_book} to expression-1
 
    set tool of {_p} to {_book}
 
    set {_serializer} to a new PacketDataSerializer(Unpooled.buffer()).a(EnumHand.MAIN_HAND!)
    set {_key} to MinecraftKey.a("minecraft:open_book")
    set {_packet} to a new PacketPlayOutCustomPayload({_key}, {_serializer})
    {_p}.getHandle().playerConnection!.sendPacket({_packet})
 
    set tool of {_p} to {_held}

The Code:

Code:
command /openbook:
  permission: skript.admin
  trigger:
    set {item} to written book
    set {_nbt} to "{generation:0,pages:['{""text"":""page1""}','{""text"":""test""}'],author:""Administrator"",title:""Test"",resolved:1b}"
    set nbt of {item} to {_nbt}
    open book {item} to player

The error:

Code:
16.09 15:44:53 [Server] WARN [Skript] No matching method: PacketDataSerializer#a called with (1 (Double))
16.09 15:44:53 [Server] WARN [Skript] Did you pass the wrong parameters? Here are the parameter signatures for a:
16.09 15:44:53 [Server] WARN [Skript] * a(java.util.UUID)
16.09 15:44:53 [Server] WARN [Skript] * a(java.util.Date)
16.09 15:44:53 [Server] WARN [Skript] * a(long[])
16.09 15:44:53 [Server] WARN [Skript] * a(java.lang.Enum)
16.09 15:44:53 [Server] WARN [Skript] * a(java.lang.Class)
16.09 15:44:53 [Server] WARN [Skript] * a(net.minecraft.server.v1_14_R1.MovingObjectPositionBlock)
16.09 15:44:53 [Server] WARN [Skript] * a(net.minecraft.server.v1_14_R1.IChatBaseComponent)
16.09 15:44:53 [Server] WARN [Skript] * a(java.lang.String)
16.09 15:44:53 [Server] WARN [Skript] * a(net.minecraft.server.v1_14_R1.BlockPosition)
16.09 15:44:53 [Server] WARN [Skript] * a(net.minecraft.server.v1_14_R1.ItemStack)
16.09 15:44:53 [Server] WARN [Skript] * a(byte[])
16.09 15:44:53 [Server] WARN [Skript] * a(int)
16.09 15:44:53 [Server] WARN [Skript] * a(java.lang.String,int)
16.09 15:44:53 [Server] WARN [Skript] * a(net.minecraft.server.v1_14_R1.MinecraftKey)
16.09 15:44:53 [Server] WARN [Skript] * a(net.minecraft.server.v1_14_R1.NBTTagCompound)
16.09 15:44:53 [Server] WARN [Skript] * a(int[])
16.09 15:44:53 [Server] WARN [Skript] * a()
16.09 15:44:53 [Server] WARN [Skript] Did you misspell the method? You may have meant to type one of the following:
16.09 15:44:53 [Server] WARN [Skript] * b
16.09 15:44:53 [Server] WARN [Skript] * i
16.09 15:44:53 [Server] WARN [Skript] * e
16.09 15:44:53 [Server] WARN [Skript] * o
16.09 15:44:53 [Server] WARN [Skript] * j
16.09 15:44:53 [Server] WARN [Skript] * p
16.09 15:44:53 [Server] WARN [Skript] * d
16.09 15:44:53 [Server] WARN [Skript] * h
16.09 15:44:53 [Server] WARN [Skript] * q
16.09 15:44:53 [Server] WARN [Skript] * k
16.09 15:44:53 [Server] WARN [Skript] * l
16.09 15:44:53 [Server] WARN [Skript] * c
16.09 15:44:53 [Server] WARN [Skript] * m
16.09 15:44:53 [Server] WARN [Skript] * wait
16.09 15:44:53 [Server] WARN [Skript] constructor PacketPlayOutCustomPayload#<init> called with (minecraft:open_book (MinecraftKey), null (Null)) threw a NullPointerException: null
16.09 15:44:53 [Server] WARN [Skript] No matching method: Double#sendPacket called with (<none> (Object))

I'm using paper 187 and skript mirror 2.0 and skript 2.4-beta7

Thanks!
 
Status
Not open for further replies.