[{"data":1,"prerenderedAt":68},["ShallowReactive",2],{"plugin-Alemiz112\u002FStarGate-Universe":3},{"api_version":4,"authors":5,"categories":10,"created_at":11,"dependencies":12,"description":13,"detection_confidence":14,"downloads":15,"gallery":16,"icon_url":7,"id":17,"license":18,"links":22,"manifest_path":24,"name":25,"primary_target":26,"server_version":23,"source":27,"stars":28,"summary":29,"targets":30,"updated_at":31,"versions":32},"1.0.0",[6],{"avatar_url":7,"name":8,"url":9},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F45739737?v=4","Alemiz112","https:\u002F\u002Fgithub.com\u002FAlemiz112",[],1562595563,[],"# StarGate-Universe\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002FAlemiz112\u002FStarGate-Universe.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002FAlemiz112\u002FStarGate-Universe) [![Jenkins](http:\u002F\u002Fjenkins.mizerak.eu\u002Fjob\u002FStarGate-Universe\u002Fbadge\u002Ficon)](http:\u002F\u002Fjenkins.mizerak.eu\u002Fjob\u002FStarGate-Universe\u002F)\n> This is stable and fast plugin for nukkit that allows server connect to WaterDog plugin StarGate. It make easyer communication between server. Includes API fur custom packets, transfering players and more \n\u003C\u002Fbr> Download [here](http:\u002F\u002Fjenkins.mizerak.eu\u002Fjob\u002FStarGate-Universe\u002F)!\n\n## 🎯Features:\n- Fast communication between servers\n- Custom packets\n- Moving players between servers (API)\n\nMore features will be added very soon\n\n## 🔧API\nYou can access StarGate-Universe by ``StarGateUniverse.getInstance()``\n#### Avalibe Functions\n- ``RegisterPacket(StarGatePacket packet)`` Really simple method for registring Packet\n- ``putPacket(StarGatePacket packet, String clientName)`` This allows you to send packet. Packet must be registered first\n- ``transferPlayer(Player player, String server, String client)`` This we use to transfer Player between servers\n- ``kickPlayer(Player player, String reason, String client)``  Kick player from any server connected to StarGate network\n- ``isOnline(Player player, String client)`` Check if player is online. Sends back response 'true!server' or 'false'. Examples [here](https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Ftree\u002Fmaster\u002Fsrc\u002Ftests#playeronline-response).\n- ``forwardPacket(String destClient, String localClient, StarGatePacket packet)`` Using ForwardPacket you can forward packet to other client\u002Fserver\n- ``addServer(String address, String port, String name, String client)`` Add server to list and allows players to transfer\n- ``removeServer(String name, String client)`` Remove server from server list\n\nClient variable in API is used to specify destination proxy (if more instances are used). It is not important to define it, if one one proxy is used.\n##### Example:\n```java\nPlayer player = PLUGIN.getServer().getPlayer(\"alemiz003\");\nString server = \"lobby2\";\n\nStarGateUniverse.getInstance().transferPlayer(player, server);\n```\nTo more examples look [here](https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Ftree\u002Fmaster\u002Fsrc\u002Ftests)!\n\n#### 📦Packet Handling\nReceived Packets are handled by ``CustomPacketEvent``. Official Packets are handled (if needed) automaticly\u003C\u002Fbr>\u003C\u002Fbr>\nAccessing Packet from Event:\u003C\u002Fbr>\n```java\npublic StarGatePacket getPacket() {\n  return packet;\n}\n```\n#### 📞ResponseCheckTask\nResponse checking is useful when we want to get some data created by packet back to client.\u003C\u002Fbr> \nFor more info please consider looking [here](https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Ftree\u002Fmaster\u002Fsrc\u002Ftests).\n\n#### ⚙️Creating Own Packets\nFor better understanding please read [StarGatePacket](https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Fblob\u002Fmaster\u002Fsrc\u002Falemiz\u002Fsgu\u002Fpackets\u002FStarGatePacket.java) and [WelcomePacket](https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Fblob\u002Fmaster\u002Fsrc\u002Falemiz\u002Fsgu\u002Fpackets\u002FWelcomePacket.java)\n\n#### Docker Implementation\nIf you have servers inside Docker container this is for you. StarGate allows you to create\u002Fremove\u002Fstart\u002Fstop any container. Using `ServerManagePacket` you can set container exposed ports and env. variables too.\n Working example can be found [here](https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Ftree\u002Fmaster\u002Fsrc\u002Ftests#docker-implementation-example).\n#### Convertor\nConvertor is used for ``encoding`` and ``decoding`` packets. We can use it for static and nonstatic usage\u003C\u002Fbr>\nFunctions:\u003C\u002Fbr>\n- ``packetStringData(String packetString)`` Exports packetString to data array\n- ``putInt(int integer)`` Pushes Integer to array\n- ``putString(String string)`` Pushes String to array\n- ``getString(int key)`` Returns String from array by key value\n- ``getPacketString()`` Returns packetString from array data\n\n- ``static getInt(String string)`` Returns Integer from String\n- ``static getPacketString(String[] strings)`` Returns packetString from given array\n- ``static getPacketStringData(String packetString)`` Returns array data from given string\n\n##### Example (nonstatic):\n```java\nConvertor convertor = new Convertor(getID());\n\nconvertor.putString(server);\nconvertor.putInt(tps);\nconvertor.putInt(players);\n\nthis.encoded = convertor.getPacketString();\n```\n##### Example (static):\n```java\nString[] data = Convertor.getPacketStringData(packetString);\nint PacketId = Convertor.getInt(data[0]);\n```\n","high",0,[],"Alemiz112\u002FStarGate-Universe",{"id":19,"name":20,"url":21},"Apache-2.0","Apache License 2.0","https:\u002F\u002Fspdx.org\u002Flicenses\u002FApache-2.0.html",{"discord":23,"homepage":9,"wiki":23},"","nukkit\u002Fsrc\u002Fmain\u002Fresources\u002Fplugin.yml","StarGate-Universe","nkx","https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe",9,"This is stable and fast plugin for nukkit that allows server connect to WaterDog plugin StarGate. It make easier communication between server. Includes API for custom packets, transferring players and more",[26],1626612310,[33,44,52,60],{"changelog":23,"downloads":15,"files":34,"name":40,"prerelease":41,"published_at":42,"version":43},[35],{"filename":36,"primary":37,"size":38,"url":39},"StarGate-Universe.jar",true,20442,"https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Freleases\u002Fdownload\u002F0.9.3\u002FStarGate-Universe.jar","StarGate-Universe 0.9.3",false,1564168845,"0.9.3",{"changelog":23,"downloads":15,"files":45,"name":49,"prerelease":41,"published_at":50,"version":51},[46],{"filename":36,"primary":37,"size":47,"url":48},19097,"https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Freleases\u002Fdownload\u002F0.9.2\u002FStarGate-Universe.jar","StarGate-Universe 0.9.2",1563701923,"0.9.2",{"changelog":23,"downloads":15,"files":53,"name":57,"prerelease":41,"published_at":58,"version":59},[54],{"filename":36,"primary":37,"size":55,"url":56},16533,"https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Freleases\u002Fdownload\u002F0.9.1\u002FStarGate-Universe.jar","StarGate-Universe 0.9.1",1563536447,"0.9.1",{"changelog":23,"downloads":15,"files":61,"name":65,"prerelease":41,"published_at":66,"version":67},[62],{"filename":36,"primary":37,"size":63,"url":64},14277,"https:\u002F\u002Fgithub.com\u002FAlemiz112\u002FStarGate-Universe\u002Freleases\u002Fdownload\u002F0.9\u002FStarGate-Universe.jar","StarGate-Universe 0.9",1563453283,"0.9",1793217803125]