Show Geyser's players' skins on your server!

Overview

GeyserSkinManager

There is currently no config - drop in and it works!

Known caveats:

  • Only tested on Paper and Spigot 1.16+. 1.13 might break, but this will be fixed in the future.
  • If using without BungeeCord, this plugin requires Geyser-Spigot installed on the server; Floodgate alone will not work.
  • If using with BungeeCord, Geyser-BungeeCord must be installed on the BungeeCord server.
  • Persona skins are not supported

How to set up BungeeCord:

  • Install GeyserSkinManager-BungeeCord on your BungeeCord server
  • Install GeyserSkinManager-Spigot on all Spigot servers you wish to have the skin applied to. It is not required that the plugin be installed to all servers. Geyser-Spigot should not be installed.
  • Done.

Camotoy's Discord server: https://discord.gg/jNNC4CZtsN

Comments
  • Not showing up

    Not showing up

    So I installed the plugin on my spigot server (Not using bungeecord) and when I logged my bedrock device using floodgate and viewed the player skin from my Java account, it came up as the alex/steve default skin.

    I don't know if I missed something.

    opened by ghost 7
  • Problem when transferring between server's on bungee

    Problem when transferring between server's on bungee

    There seems to be a problem where a bedrock player's skin is removed when transferring servers on bungeecord The bedrock player still sees their skin but java players see Steve or Alex

    opened by Hellohi3654 2
  • The error occurs in environments using the latest Waterfall,Geyser and Floodgate.

    The error occurs in environments using the latest Waterfall,Geyser and Floodgate.

    Hello

    I get the following error when using the latest versions of Waterfall (Build#493), Geyser (Build#1112) and Floodgate (Build#68): The BE player skin is not visible to the Java player.

    Please forgive me that my English is not very good. Thank you.

    Error dispatching event ServerConnectedEvent(player=JumalaSubBE, server=net.md_5.bungee.ServerConnection@98d52f99) to listener com.github.camotoy.geyserskinmanager.bungeecord.BungeecordSkinEventListener@30568ac9
    java.lang.NoSuchMethodError: org/geysermc/connector/network/session/GeyserSession.getClientData()Lorg/geysermc/connector/network/session/auth/BedrockClientData; (loaded from file:/home/container/plugins/Geyser-BungeeCord.jar by PluginClassloader(desc=PluginDescription(name=Geyser-BungeeCord, main=org.geysermc.geyser.platform.bungeecord.GeyserBungeePlugin, version=2.0.4-SNAPSHOT, author=GeyserMC, depends=[], softDepends=[], file=plugins/Geyser-BungeeCord.jar, description=null, libraries=[]))) called from class com.github.camotoy.geyserskinmanager.common.skinretriever.GeyserSkinRetriever (loaded from file:/home/container/plugins/GeyserSkinManager-BungeeCord.jar by PluginClassloader(desc=PluginDescription(name=GeyserSkinManager-BungeeCord, main=com.github.camotoy.geyserskinmanager.bungeecord.GeyserSkinManager, version=1.5-SNAPSHOT, author=Camotoy, depends=[Geyser-BungeeCord], softDepends=[], file=plugins/GeyserSkinManager-BungeeCord.jar, description=null, libraries=[]))).
            at com.github.camotoy.geyserskinmanager.common.skinretriever.GeyserSkinRetriever.getBedrockSkin(GeyserSkinRetriever.java:55) ~[?:?]
            at com.github.camotoy.geyserskinmanager.bungeecord.BungeecordSkinEventListener.onServerConnected(BungeecordSkinEventListener.java:41) ~[?:?]
            at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
            at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
            at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
            at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
            at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at net.md_5.bungee.event.EventBus.post(EventBus.java:50) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:466) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at net.md_5.bungee.ServerConnector.handle(ServerConnector.java:219) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at net.md_5.bungee.protocol.packet.Login.handle(Login.java:228) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:114) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:314) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:435) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:487) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:385) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[server.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:f33b035:493]
            at java.lang.Thread.run(Thread.java:889) ~[?:?]
    
    opened by Jumala9163 1
  • The Bedrock version of the skin does not reflect properly.

    The Bedrock version of the skin does not reflect properly.

    The skin of the Bedrock version looks broken when viewed from the Java version.

    I'm using the latest version of both plugins.

    Here is the error log

    [23:00:46] [Netty Worker IO Thread #9/INFO]: [BEZeus11271|/192.168.50.161:0] <-> ServerConnector [akarin] has connected [23:00:46] [WebSocketConnectReadThread-53/INFO] [Geyser-BungeeCord]: Got a message from skin uploader: received a skin with invalid geometry: the image width and height doesn't match the geometry data width and height [23:00:47] [Netty Worker IO Thread #9/INFO]: [SAcc] BEZeus11271 Login from -- [23:00:47] [pool-17-thread-1/WARN] [GeyserSkinManager-BungeeCord]: Failed to upload player skin for 00000000-0000-0000-0009-01f3115b17f3 [23:00:47] [pool-17-thread-1/ERROR]: java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! [23:00:47] [pool-17-thread-1/ERROR]: at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) [23:00:47] [pool-17-thread-1/ERROR]: at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) [23:00:47] [pool-17-thread-1/ERROR]: at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) [23:00:47] [pool-17-thread-1/ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [23:00:47] [pool-17-thread-1/ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [23:00:47] [pool-17-thread-1/ERROR]: at java.base/java.lang.Thread.run(Thread.java:833) [23:00:47] [pool-17-thread-1/ERROR]: Caused by: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! [23:00:47] [pool-17-thread-1/ERROR]: at java.desktop/sun.awt.image.IntegerInterleavedRaster.setDataElements(IntegerInterleavedRaster.java:297) [23:00:47] [pool-17-thread-1/ERROR]: at java.desktop/java.awt.image.BufferedImage.setRGB(BufferedImage.java:1017) [23:00:47] [pool-17-thread-1/ERROR]: at com.github.camotoy.geyserskinmanager.common.SkinUtils.toBufferedImage(SkinUtils.java:184) [23:00:47] [pool-17-thread-1/ERROR]: at com.github.camotoy.geyserskinmanager.common.SkinUploader.uploadSkinInner(SkinUploader.java:57) [23:00:47] [pool-17-thread-1/ERROR]: at com.github.camotoy.geyserskinmanager.common.SkinUploader.lambda$uploadSkin$0(SkinUploader.java:45) [23:00:47] [pool-17-thread-1/ERROR]: at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) [23:00:47] [pool-17-thread-1/ERROR]: ... 3 more

    opened by Fuwayuka 1
  • Skin manager error.

    Skin manager error.

    [12:22:24 ERROR]: Could not pass event PlayerJoinEvent to GeyserSkinManager v1.5-SNAPSHOT java.lang.NoSuchMethodError: 'org.geysermc.connector.network.session.auth.BedrockClientData org.geysermc.connector.network.session.GeyserSession.getClientData()' at com.github.camotoy.geyserskinmanager.common.skinretriever.GeyserSkinRetriever.getBedrockSkin(GeyserSkinRetriever.java:55) ~[GeyserSkinManager.jar:?] at com.github.camotoy.geyserskinmanager.spigot.listener.PaperEventListener.onPlayerJoin(PaperEventListener.java:23) ~[GeyserSkinManager.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor323.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:git-Paper-15] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.postChunkLoadJoin(PlayerList.java:359) ~[paper-1.18.jar:git-Paper-15] at net.minecraft.server.players.PlayerList.lambda$placeNewPlayer$1(PlayerList.java:301) ~[paper-1.18.jar:git-Paper-15] at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:306) ~[?:?] at net.minecraft.network.Connection.tick(Connection.java:526) ~[?:?] at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:201) ~[?:?] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1635) ~[paper-1.18.jar:git-Paper-15] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:480) ~[paper-1.18.jar:git-Paper-15] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1469) ~[paper-1.18.jar:git-Paper-15] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1263) ~[paper-1.18.jar:git-Paper-15] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[paper-1.18.jar:git-Paper-15] at java.lang.Thread.run(Thread.java:833) ~[?:?]

    [22:15:50] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to GeyserSkinManager v1.5-SNAPSHOT java.lang.NoSuchMethodError: 'org.geysermc.connector.network.session.auth.BedrockClientData org.geysermc.connector.network.session.GeyserSession.getClientData()' at com.github.camotoy.geyserskinmanager.common.skinretriever.GeyserSkinRetriever.getBedrockSkin(GeyserSkinRetriever.java:55) ~[GeyserSkinManager.jar:?] at com.github.camotoy.geyserskinmanager.spigot.listener.PaperEventListener.onPlayerJoin(PaperEventListener.java:23) ~[GeyserSkinManager.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor321.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:git-Paper-25] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.postChunkLoadJoin(PlayerList.java:359) ~[paper-1.18.jar:git-Paper-25] at net.minecraft.server.players.PlayerList.lambda$placeNewPlayer$1(PlayerList.java:301) ~[paper-1.18.jar:git-Paper-25] at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:306) ~[?:?] at net.minecraft.network.Connection.tick(Connection.java:526) ~[?:?] at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:201) ~[?:?] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1636) ~[paper-1.18.jar:git-Paper-25] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:480) ~[paper-1.18.jar:git-Paper-25] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1470) ~[paper-1.18.jar:git-Paper-25] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1264) ~[paper-1.18.jar:git-Paper-25] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.jar:git-Paper-25] at java.lang.Thread.run(Thread.java:833) ~[?:?]

    Dump: https://dump.geysermc.org/3CRDaB2g7R54oS8bBxL3XIssNc2k7da1

    opened by hoehoetvhss 1
  • Steve issue

    Steve issue

    When I load into my server on bedrock, I noticed that with the first few seconds, their where Steve skins above placed custom heads also the other players online would have a Steve skin also.

    Please fix.

    opened by ghost 1
  • 1.19 Support

    1.19 Support

    Hi, With the new Wild Update just having come out, we am wondering when/if this plugin is updating to support 1.19.

    Can we please have an approximate date?

    Thanks

    opened by BobtheBob123456 6
  • Failed to upload player skin

    Failed to upload player skin

    [23:48:46 WARN]: [GeyserSkinManager] Failed to upload player skin for 00000000-0000-0000-0009-01f8a26f5412 [23:48:46 WARN]: java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! [23:48:46 WARN]: at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) [23:48:46 WARN]: at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) [23:48:46 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) [23:48:46 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [23:48:46 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [23:48:46 WARN]: at java.base/java.lang.Thread.run(Thread.java:833) [23:48:46 WARN]: Caused by: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds! [23:48:46 WARN]: at java.desktop/sun.awt.image.IntegerInterleavedRaster.setDataElements(IntegerInterleavedRaster.java:298) [23:48:46 WARN]: at java.desktop/java.awt.image.BufferedImage.setRGB(BufferedImage.java:1017) [23:48:46 WARN]: at GeyserSkinManager.jar//com.github.camotoy.geyserskinmanager.common.SkinUtils.toBufferedImage(SkinUtils.java:184) [23:48:46 WARN]: at GeyserSkinManager.jar//com.github.camotoy.geyserskinmanager.common.SkinUploader.uploadSkinInner(SkinUploader.java:57) [23:48:46 WARN]: at GeyserSkinManager.jar//com.github.camotoy.geyserskinmanager.common.SkinUploader.lambda$uploadSkin$0(SkinUploader.java:45) [23:48:46 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) [23:48:46 WARN]: ... 3 more

    opened by hoehoetvhss 0
  • Fabric Possibility?

    Fabric Possibility?

    I'm trying to run this on a Fabric server using the Cardboard mod, which is a project to automatically remap Spigot plugins to Fabric. I'm not sure if either I am doing something wrong or if it just simply does not work using Cardboard but here are my logs:

    Velocity https://mclo.gs/6s2bxhf

    Fabric https://mclo.gs/Fmz5Yb0

    If it just simply does not work on Cardboard would a Fabric port be available in the future?

    opened by ZroNoh 2
  • Doesn't work well with skin-restorer

    Doesn't work well with skin-restorer

    Maybe add a hook into skin restorer that makes sure bedrock player always gets their own skin on join and when doing /skin clear it sets the bedrock player's skin to the skin they currently have applied instead of Steve or Alex

    opened by Hellohi3654 6
Releases(1.6)
Owner
Camotoy
Camotoy
Toaster library to show Toasts with very less code

ToasterLibrary Step 1. Add the Toaster Library to your build file Add it in your root build.gradle at the end of repositories: allprojects { reposit

Sujeet Thakur 4 May 16, 2021
Show git commit logs in NetBeans

gitlogbeans Description Show git commit logs in NetBeans Apache NetBeans and JDK Compatibility JDK >= 9 Apache NetBeans >= 9.0 Plugin is available at

Chrizzly 5 Jul 13, 2022
Everything I code in java / Learn in Java I will post here to show my Progress :)

This repository contains all the codee i have written or used to help me learn This is going to be a repository that holds the source files for codene

unofficialdxnny 2 Jan 10, 2022
The snake and Ladders Game 🎲 for two players made using JavaFx with important concepts of OOPs🐍 🪜

The snake and Ladders Game made using JavaFx with important concepts of OOPs, done as a project for Advanced Programming course (CSE201) under Prof. Koteswar Rao Jerripothula

null 2 Sep 5, 2022
Control a VNC server from a Minecraft server today!

MakiDesktop ?? Controlling VNC through a Minecraft server How does it work Load jar plugin onto 1.17.1 Paper server It will connect to IP:PORT specifi

null 5 May 1, 2022
A 3D chart library for Java applications (JavaFX, Swing or server-side).

Orson Charts (C)opyright 2013-2020, by Object Refinery Limited. All rights reserved. Version 2.0, 15 March 2020. Overview Orson Charts is a 3D chart l

David Gilbert 96 Sep 27, 2022
Understand Server-Sent Events (SSE), analyze its principle, and implement custom SSE.

custom-sse Email:[email protected] Github:https://github.com/JorringHsiao QQ:3129600569 ?? 关键词:SSE, 服务端推送, 实时推送, 进度条 ?? 本项目的目的 以进度条的功能需求为例,引出

JorringHsiao 17 Oct 18, 2021
A plugin that allows server owners to override sent biome to clients.

BiomeVisuals BiomeVisuals allows you to override biome data before it is sent to the client, allowing you to display special effects. Documentation In

null 13 Dec 22, 2022
A 2D chart library for Java applications (JavaFX, Swing or server-side).

JFreeChart Version 2.0.0, not yet released. Overview JFreeChart is a comprehensive free chart library for the Java(tm) platform that can be used on th

David Gilbert 946 Jan 5, 2023
Houston Asset Server Gradle plugin

Houston Asset Server Gradle plugin It is a helper that helps achieve synchronization automation through the build script of the schema serialized in p

null 1 Jan 28, 2022
ITI TicTacToe Server project

TicTacToeClient ITI TicTacToe Client project Steps Clone project Create local branch name Development command git branch Development Checkout to the D

Mohamed Eldfrawy 1 Jan 27, 2022
Java Swing application to upload files to FTP server with progress bar

Java Swing application to upload files to FTP server with progress bar Swing-based application that uploads files from local computer to a remote FTP

Aditya Deshmukh 1 Feb 11, 2022
Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI.

Checkers-JavaFX-and-Sockets Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI. If you want to pla

Jakub Bednarski 1 Mar 30, 2022
null 4 Oct 21, 2022
Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8 and provides the functionalities to use and handle easily Tiles in your JavaFX application.

Lib-Tile Intention Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tile

Peter Rogge 13 Apr 13, 2022
Create your own auto-update framework

Read the documentation, explore the JavaDoc, or see it in action Create a framework: design the environment and lifecycle (—bootstrap) to make your ow

null 698 Dec 29, 2022
To quickly integrate your applications into the EdgeGallery platform, we provide the toolchain project to help developers quickly modify code and migrate applications to the platform.

Toolchain 工具链 工具链是MEC Developer开发者平台中的一个重要特性,当x86平台的App想要上车ARM平台时,底层的代码不可避免的需要进行修改或重写。 App提供者可以通过MEC Developer开发者平台中集成的工具链进行源代码分析,定位需要修改的源代码并根据指导意见进行修

EdgeGallery 19 Jan 7, 2022
Android Resource Manager application to manage and analysis your app resources with many features like image resize, Color, Dimens and code Analysis

AndroidResourceManager Cross-Platform tools to manage your resources as an Android Developer, AndroidResourceManager - ARM provide five main services

Amr Hesham 26 Nov 16, 2022
The place to come for pair programming practice problems in your language, designed for new and old developers alike.

Coding Dojo About The Coding Dojo is a project and weekly meetup hosted by Code Connector to offer opportunities for learning, mentoring, and practici

Code Connector 55 Nov 18, 2022