bounser / nascraft Goto Github PK
View Code? Open in Web Editor NEWAn alternative economy with dynamic prices based on supply and demand.
Home Page: https://www.spigotmc.org/resources/108216/
License: MIT License
An alternative economy with dynamic prices based on supply and demand.
Home Page: https://www.spigotmc.org/resources/108216/
License: MIT License
When I add a written book in nascraft it works but when I restart server it failed to loading or I set the price too high? because I use the book and make it like futures and stock
Hello,
When deleting multiples categories, it seems like the plugin crash every time I delete the last third categories.
Here is the crash log. After this i'm unable to use the plugin and have to reset my configs.
[12:49:38 ERROR]: Could not pass event InventoryClickEvent to Nascraft v1.5.1
java.lang.IndexOutOfBoundsException: Index 3 out of bounds for length 3
at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[?:?]
at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[?:?]
at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) ~[?:?]
at java.util.Objects.checkIndex(Objects.java:361) ~[?:?]
at java.util.ArrayList.get(ArrayList.java:427) ~[?:?]
at me.bounser.nascraft.commands.admin.marketeditor.overview.MarketEditor.insertItems(MarketEditor.java:164) ~[Nascraft-1.5.1.jar:?]
at me.bounser.nascraft.commands.admin.marketeditor.overview.MarketEditor.open(MarketEditor.java:44) ~[Nascraft-1.5.1.jar:?]
at me.bounser.nascraft.commands.admin.marketeditor.overview.MarketEditor.<init>(MarketEditor.java:34) ~[Nascraft-1.5.1.jar:?]
at me.bounser.nascraft.commands.admin.marketeditor.overview.MarketEditorManager.startEditing(MarketEditorManager.java:16) ~[Nascraft-1.5.1.jar:?]
at me.bounser.nascraft.commands.admin.marketeditor.edit.category.CategoryEditor.removeCategory(CategoryEditor.java:200) ~[Nascraft-1.5.1.jar:?]
at me.bounser.nascraft.commands.admin.marketeditor.edit.category.CategoryEditorListener.onClickInventory(CategoryEditorListener.java:59) ~[Nascraft-1.5.1.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor543.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[?:git-UniverseSpigot-"2c2ab74"]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[?:git-UniverseSpigot-"2c2ab74"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[?:git-UniverseSpigot-"2c2ab74"]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:76) ~[?:git-UniverseSpigot-"2c2ab74"]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[?:git-UniverseSpigot-"2c2ab74"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3135) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:58) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:25) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:53) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1474) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:196) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1451) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1379) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1357) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1246) ~[?:git-UniverseSpigot-"2c2ab74"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[?:git-UniverseSpigot-"2c2ab74"]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Thank you, have a good one mate
Generating different layouts for multiple terminal types would be a cool feature, as well as ones that can show just ticker information about how different commodities have their values changing over time.
Can you add support to ItemsAdder custommodeldata items?
I am unable to click through the categories at some points that are hard to pin down. Its unclear if the NPE is from a bug in Nascraft or in advanced GUI, figured I would let you know this happens intermittently.
[12:46:19 INFO]: [MysqlPlayerDataBridge] Data save complete for 2 players in 112 ms.
2023-05-12T16:46:19.816310603Z [12:46:19 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:19.816510696Z java.lang.NullPointerException: null
2023-05-12T16:46:20.068407725Z [12:46:20 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:20.068649813Z java.lang.NullPointerException: null
[12:46:20 WARN]: [Nascraft] Plugin Nascraft v1.2.3 generated an exception while executing task 79
2023-05-12T16:46:20.643967024Z java.lang.NullPointerException: Cannot invoke "java.util.List.get(int)" because "categories" is null
at me.bounser.nascraft.advancedgui.LayoutModifier.updateMainPage(LayoutModifier.java:160) ~[Nascraft-1.2.3.jar:?]
2023-05-12T16:46:20.644086406Z at me.bounser.nascraft.market.managers.TasksManager.lambda$shortTermPricesTask$0(TasksManager.java:48) ~[Nascraft-1.2.3.jar:?]
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.19.4.jar:git-Paper-527]
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.19.4.jar:git-Paper-527]
2023-05-12T16:46:20.644193082Z at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.19.4.jar:?]
2023-05-12T16:46:20.644217918Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
2023-05-12T16:46:20.644264189Z at java.lang.Thread.run(Thread.java:1583) ~[?:?]
2023-05-12T16:46:20.929899236Z [12:46:20 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:20.929974147Z java.lang.NullPointerException: null
2023-05-12T16:46:21.437745593Z [12:46:21 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
java.lang.NullPointerException: null
2023-05-12T16:46:22.910254365Z [12:46:22 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:22.910315467Z java.lang.NullPointerException: null
[12:46:23 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:23.466350532Z java.lang.NullPointerException: null
[12:46:23 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:23.921389823Z java.lang.NullPointerException: null
2023-05-12T16:46:24.370905232Z [12:46:24 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:24.370988033Z java.lang.NullPointerException: null
2023-05-12T16:46:24.828871739Z [12:46:24 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:24.828939849Z java.lang.NullPointerException: null
2023-05-12T16:46:25.187328776Z [12:46:25 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:25.187423994Z java.lang.NullPointerException: null
2023-05-12T16:46:25.421024474Z [12:46:25 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:25.421119272Z java.lang.NullPointerException: null
[12:46:26 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:26.086493389Z java.lang.NullPointerException: null
2023-05-12T16:46:27.018537922Z [12:46:27 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
java.lang.NullPointerException: null
2023-05-12T16:46:27.324590533Z [12:46:27 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:27.324649347Z java.lang.NullPointerException: null
2023-05-12T16:46:28.179364249Z [12:46:28 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:28.179419973Z java.lang.NullPointerException: null
2023-05-12T16:46:28.471854301Z [12:46:28 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
java.lang.NullPointerException: null
2023-05-12T16:46:31.469540569Z [12:46:31 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:31.469654982Z java.lang.NullPointerException: null
[12:46:31 ERROR]: Could not pass event PlayerArmSwingEvent to AdvancedGUI v2.2.4
2023-05-12T16:46:31.772685385Z java.lang.NullPointerException: null
2023-05-12T16:46:32.469225344Z [12:46:32 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
java.lang.NullPointerException: null
[12:46:32 ERROR]: Could not pass event PlayerInteractEvent to AdvancedGUI v2.2.4
java.lang.NullPointerException: null
Hello !
When you try to buy a potion via the menu, you get an error, and don't receive the item.
When selling it doesn't produce any error.
[10:45:31 ERROR]: Could not pass event GuiInteractionBeginEvent to Nascraft v1.5.1
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[?:?]
at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[?:?]
at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) ~[?:?]
at java.util.Objects.checkIndex(Objects.java:361) ~[?:?]
at java.util.ArrayList.get(ArrayList.java:427) ~[?:?]
at me.bounser.nascraft.advancedgui.LayoutModifier.updateTopMovers(LayoutModifier.java:352) ~[Nascraft-1.5.1.jar:?]
at me.bounser.nascraft.advancedgui.LayoutModifier.updateMainPage(LayoutModifier.java:226) ~[Nascraft-1.5.1.jar:?]
at me.bounser.nascraft.advancedgui.LayoutModifier.onInteractionStart(LayoutModifier.java:184) ~[Nascraft-1.5.1.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor544.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[?:git-UniverseSpigot-"16550e8"]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[?:git-UniverseSpigot-"16550e8"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[?:git-UniverseSpigot-"16550e8"]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:76) ~[?:git-UniverseSpigot-"16550e8"]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[?:git-UniverseSpigot-"16550e8"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[?:git-UniverseSpigot-"16550e8"]
at me.leoko.advancedgui.utils.GuiInstance.startInteraction(GuiInstance.java:113) ~[AdvancedGUI-2.2.8-RELEASE.jar:?]
at me.leoko.advancedgui.utils.GuiWallInstance.startInteraction(GuiWallInstance.java:235) ~[AdvancedGUI-2.2.8-RELEASE.jar:?]
at me.leoko.advancedgui.listener.CheckListener.lambda$checkWallGUIInstances$3(CheckListener.java:45) ~[AdvancedGUI-2.2.8-RELEASE.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
at me.leoko.advancedgui.listener.CheckListener.checkWallGUIInstances(CheckListener.java:45) ~[AdvancedGUI-2.2.8-RELEASE.jar:?]
at me.leoko.advancedgui.listener.CheckListener.onMove(CheckListener.java:26) ~[AdvancedGUI-2.2.8-RELEASE.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor340.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[?:git-UniverseSpigot-"16550e8"]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[?:git-UniverseSpigot-"16550e8"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[?:git-UniverseSpigot-"16550e8"]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:76) ~[?:git-UniverseSpigot-"16550e8"]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[?:git-UniverseSpigot-"16550e8"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1589) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:29) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$PosRot.handle(ServerboundMovePlayerPacket.java:88) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:53) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1474) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:196) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1451) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1379) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1357) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1246) ~[?:git-UniverseSpigot-"16550e8"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[?:git-UniverseSpigot-"16550e8"]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Have a good day!
My server is in 1.20.2
Here is the log:
[Server thread/ERROR]: Error occurred while enabling Nascraft v1.6.4 (Is it up to date?)
java.lang.NoClassDefFoundError: net/kyori/adventure/text/serializer/plain/PlainTextComponentSerializer
at me.bounser.nascraft.market.resources.Category.(Category.java:36) ~[?:?]
at me.bounser.nascraft.market.MarketManager.setupItems(MarketManager.java:45) ~[?:?]
at me.bounser.nascraft.market.MarketManager.(MarketManager.java:37) ~[?:?]
at me.bounser.nascraft.market.MarketManager.getInstance(MarketManager.java:33) ~[?:?]
at me.bounser.nascraft.advancedgui.LayoutModifier.updateMainPage(LayoutModifier.java:232) ~[?:?]
at me.bounser.nascraft.advancedgui.LayoutModifier.onLayoutLoad(LayoutModifier.java:52) ~[?:?]
at me.leoko.advancedgui.manager.LayoutManager.lambda$registerLayoutExtension$11(LayoutManager.java:258) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1596) ~[?:?]
at me.leoko.advancedgui.manager.LayoutManager.registerLayoutExtension(LayoutManager.java:258) ~[?:?]
at me.bounser.nascraft.advancedgui.LayoutModifier.(LayoutModifier.java:40) ~[?:?]
at me.bounser.nascraft.advancedgui.LayoutModifier.getInstance(LayoutModifier.java:37) ~[?:?]
at me.bounser.nascraft.Nascraft.onEnable(Nascraft.java:109) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:342) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R2.CraftServer.enablePlugin(CraftServer.java:548) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3949-Spigot-2888990-e54f39a]
at org.bukkit.craftbukkit.v1_20_R2.CraftServer.enablePlugins(CraftServer.java:462) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3949-Spigot-2888990-e54f39a]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:577) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3949-Spigot-2888990-e54f39a]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:400) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3949-Spigot-2888990-e54f39a]
at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:250) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3949-Spigot-2888990-e54f39a]
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:954) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3949-Spigot-2888990-e54f39a]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:298) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3949-Spigot-2888990-e54f39a]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.ClassNotFoundException: net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer
at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:160) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:112) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
... 23 more
please help me, i really want to test this plugin!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.