I got an error
my files looked like this
SkinChanger/dolphin.custom.skin/geometry.json
	
	
	
		Code:
	
	
		  {
"geometry.dolphin.custom.skin": {
    "bones": [
      {
        "name": "body",
        "pivot": [ 0.0, 24.0, 0.0 ],
        "cubes": [
          {
            "origin": [ -4.0, 12.0, -2.0 ],
            "size": [ 8, 12, 4 ],
            "uv": [ 16, 16 ]
          }
        ]
      }
    ]
  }
}
	 
 and SkinChanger/dolphin.custom.skin/skin.png is a regular skin image
	
	
		
		
	
	
 
11:17:53 [FATAL] Exception hgappened while ticking server
java.lang.NoSuchFieldError: premium
        at com.github.suprememortal.skinchanger.SkinChangerPlugin.changeSkin(SkinChangerPlugin.java:84) ~[?:?]
        at com.github.suprememortal.skinchanger.SkinChangerCommand.execute(SkinChangerCommand.java:39) ~[?:?]
        at cn.nukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:257) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.dispatchCommand(Server.java:751) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Player.handleDataPacket(Player.java:2749) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at java.util.ArrayList.forEach(Unknown Source) ~[?:1.8.0_231]
        at cn.nukkit.network.Network.processPackets(Network.java:197) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.network.Network.processBatch(Network.java:180) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Player.handleDataPacket(Player.java:2080) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.network.RakNetInterface.handleEncapsulated(RakNetInterface.java:157) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.raknet.server.ServerHandler.handlePacket(ServerHandler.java:132) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.network.RakNetInterface.process(RakNetInterface.java:66) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.network.Network.processInterfaces(Network.java:80) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.tick(Server.java:1121) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.tickProcessor(Server.java:903) [nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.start(Server.java:880) [nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.<init>(Server.java:565) [nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Nukkit.main(Nukkit.java:112) [nukkit-1.0-SNAPSHOT.jar:?]
11:17:53 [FATAL]
"Nukkit Asynchronous Task Handler #4" Id=31 WAITING on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at sun.misc.Unsafe.park(Native Method)
        -  waiting on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
        at java.util.concurrent.SynchronousQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        ...
"Nukkit Asynchronous Task Handler #3" Id=30 WAITING on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at sun.misc.Unsafe.park(Native Method)
        -  waiting on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
        at java.util.concurrent.SynchronousQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        ...
"Nukkit Asynchronous Task Handler #2" Id=29 WAITING on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at sun.misc.Unsafe.park(Native Method)
        -  waiting on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
        at java.util.concurrent.SynchronousQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        ...
"Nukkit Asynchronous Task Handler #1" Id=28 WAITING on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at sun.misc.Unsafe.park(Native Method)
        -  waiting on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
        at java.util.concurrent.SynchronousQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        ...
"Nukkit Asynchronous Task Handler #0" Id=27 WAITING on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at sun.misc.Unsafe.park(Native Method)
        -  waiting on java.util.concurrent.SynchronousQueue$TransferStack@28f150
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
        at java.util.concurrent.SynchronousQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        ...
"Watchdog" Id=26 TIMED_WAITING on cn.nukkit.utils.Watchdog@1aaa756
        at java.lang.Object.wait(Native Method)
        -  waiting on cn.nukkit.utils.Watchdog@1aaa756
        at cn.nukkit.utils.Watchdog.run(Watchdog.java:64)
"Timer-0" Id=25 WAITING on java.util.TaskQueue@15d001f
        at java.lang.Object.wait(Native Method)
        -  waiting on java.util.TaskQueue@15d001f
        at java.lang.Object.wait(Unknown Source)
        at java.util.TimerThread.mainLoop(Unknown Source)
        at java.util.TimerThread.run(Unknown Source)
"Thread-5" Id=19 TIMED_WAITING
        at java.lang.Thread.sleep(Native Method)
        at gt.creeperface.holograms.task.HologramUpdater.run(HologramUpdater.java:146)
"luckperms-scheduler" Id=23 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@92827f
        at sun.misc.Unsafe.park(Native Method)
        -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@92827f
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        ...
"Java2D Disposer" Id=22 WAITING on java.lang.ref.ReferenceQueue$Lock@1094e0c
        at java.lang.Object.wait(Native Method)
        -  waiting on java.lang.ref.ReferenceQueue$Lock@1094e0c
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at sun.java2d.Disposer.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
"threadDeathWatcher-3-1" Id=20 TIMED_WAITING
        at java.lang.Thread.sleep(Native Method)
        at io.netty.util.ThreadDeathWatcher$Watcher.run(ThreadDeathWatcher.java:150)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Unknown Source)
"nioEventLoopGroup-2-1" Id=18 RUNNABLE (in native)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
        -  locked io.netty.channel.nio.SelectedSelectionKeySet@1efd12c
        -  locked java.util.Collections$UnmodifiableSet@f76276
        -  locked sun.nio.ch.WindowsSelectorImpl@18876d
        at sun.nio.ch.SelectorImpl.select(Unknown Source)
        at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:759)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:400)
        ...
"Abandoned connection cleanup thread" Id=17 TIMED_WAITING on java.lang.ref.ReferenceQueue$Lock@1e8c38c
        at java.lang.Object.wait(Native Method)
        -  waiting on java.lang.ref.ReferenceQueue$Lock@1e8c38c
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
"RakNet Thread #15" Id=15 TIMED_WAITING
        at java.lang.Thread.sleep(Native Method)
        at cn.nukkit.raknet.server.SessionManager.tickProcessor(SessionManager.java:96)
        at cn.nukkit.raknet.server.SessionManager.run(SessionManager.java:70)
        at cn.nukkit.raknet.server.SessionManager.<init>(SessionManager.java:58)
        at cn.nukkit.raknet.server.RakNetServer.run(RakNetServer.java:101)
"Thread-1" Id=13 TIMED_WAITING on org.jline.utils.NonBlockingPumpReader@4516ec
        at java.lang.Object.wait(Native Method)
        -  waiting on org.jline.utils.NonBlockingPumpReader@4516ec
        at org.jline.utils.NonBlockingPumpReader.wait(NonBlockingPumpReader.java:55)
        at org.jline.utils.NonBlockingPumpReader.read(NonBlockingPumpReader.java:101)
        at org.jline.utils.NonBlockingReader.read(NonBlockingReader.java:57)
        at org.jline.keymap.BindingReader.readCharacter(BindingReader.java:133)
        at org.jline.keymap.BindingReader.readBinding(BindingReader.java:110)
        at org.jline.keymap.BindingReader.readBinding(BindingReader.java:61)
        at org.jline.reader.impl.LineReaderImpl.readBinding(LineReaderImpl.java:786)
        ...
"WindowsStreamPump" Id=11 RUNNABLE
        at com.sun.jna.Native.invokeInt(Native Method)
        at com.sun.jna.Function.invoke(Function.java:390)
        at com.sun.jna.Function.invoke(Function.java:323)
        at com.sun.jna.Library$Handler.invoke(Library.java:236)
        at org.jline.terminal.impl.jna.win.$Proxy16.WaitForSingleObject(Unknown Source)
        at org.jline.terminal.impl.jna.win.JnaWinSysTerminal.readConsoleInput(JnaWinSysTerminal.java:176)
        at org.jline.terminal.impl.jna.win.JnaWinSysTerminal.processConsoleInput(JnaWinSysTerminal.java:99)
        at org.jline.terminal.impl.AbstractWindowsTerminal.pump(AbstractWindowsTerminal.java:459)
        ...
"Attach Listener" Id=5 RUNNABLE
"Signal Dispatcher" Id=4 RUNNABLE
"Finalizer" Id=3 WAITING on java.lang.ref.ReferenceQueue$Lock@1ea3bc0
        at java.lang.Object.wait(Native Method)
        -  waiting on java.lang.ref.ReferenceQueue$Lock@1ea3bc0
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" Id=2 WAITING on java.lang.ref.Reference$Lock@193e5bf
        at java.lang.Object.wait(Native Method)
        -  waiting on java.lang.ref.Reference$Lock@193e5bf
        at java.lang.Object.wait(Unknown Source)
        at java.lang.ref.Reference.tryHandlePending(Unknown Source)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
"main" Id=1 RUNNABLE
        at sun.management.ThreadImpl.dumpThreads0(Native Method)
        at sun.management.ThreadImpl.dumpAllThreads(Unknown Source)
        at cn.nukkit.utils.Utils.getAllThreadDumps(Utils.java:112)
        at cn.nukkit.Server.tickProcessor(Server.java:935)
        at cn.nukkit.Server.start(Server.java:880)
        at cn.nukkit.Server.<init>(Server.java:565)
        at cn.nukkit.Nukkit.main(Nukkit.java:112)