If you wanna make the world a better place
Take a look at yourself and then make a change
Michael Jackson, 1988
- ๐ Iโm currently working on game implementations for BTC Lightning Network!
- ๐
NY Giants are taking it to the superbowl:(
GUI Based minecraft punishments plugin.
License: MIT License
If you wanna make the world a better place
Take a look at yourself and then make a change
Michael Jackson, 1988
[22:19:31] [Server thread/ERROR]: Cannot load plugins/PunishmentsX/config.yml
org.bukkit.configuration.InvalidConfigurationException: unacceptable character '?' (0xD83D) special characters are not allowed
in "'string'", position 1051
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:57) ~[patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:226) ~[patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:169) ~[patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:180) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:188) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:162) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at io.github.punishmentsx.PunishmentsX.onEnable(PunishmentsX.java:54) [PunishmentsX.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Caused by: org.yaml.snakeyaml.reader.ReaderException: special characters are not allowed
at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:67) ~[patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.yaml.snakeyaml.reader.StreamReader.(StreamReader.java:47) ~[patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:369) ~[patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55) ~[patched_1.8.8.jar:git-PaperSpigot-"8230aa68e"]
... 17 more
Can you please make special characters are allowed in the config?
Also can you make the warn option in /p ?
Can you also make bypass permission for staff to bypass the chat filter?
Describe the bug
When someone is kicked by missing permissions, PunishmentX kick that player, but, when he try to rejoin, a lot of errors appear on Console and the player can't join anymore until i restart the server.
To Reproduce
Steps to reproduce the behavior:
Console
[03:05:14] [Server thread/INFO]: ReaperGOD6666 issued server command: /plugins
[03:05:14] [Server thread/INFO]: [Blocked-Cmd] ReaperGOD6666: plugins
[03:05:14] [Server thread/INFO]: ReaperGOD6666 lost connection: You have been kicked by a staff member!
Reason: No tienes permisos para usar ese comando!
[03:05:14] [Server thread/INFO]: You have kicked ReaperGOD6666 for: No tienes permisos para usar ese comando!.
[03:05:20] [User Authenticator #9/ERROR]: Could not pass event AsyncPlayerPreLoginEvent to PunishmentsX vgit-PunishmentsX-70c5070
java.lang.NullPointerException: Cannot invoke "String.length()" because "name" is null
at java.util.UUID.fromString(UUID.java:237) ~[?:?]
at io.github.punishmentsx.database.sequel.SQL.loadPunishment(SQL.java:170) ~[PunishmentsX-1.0-shaded.jar:?]
at io.github.punishmentsx.database.sequel.SQL.loadProfile(SQL.java:121) ~[PunishmentsX-1.0-shaded.jar:?]
at io.github.punishmentsx.profiles.ProfileManager.find(ProfileManager.java:45) ~[PunishmentsX-1.0-shaded.jar:?]
at io.github.punishmentsx.listeners.JoinListener.onPlayerPreLogin(JoinListener.java:45) ~[PunishmentsX-1.0-shaded.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor653.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:git-Paper-"657d163"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.network.ServerLoginPacketListenerImpl$LoginHandler.fireEvents(ServerLoginPacketListenerImpl.java:399) ~[?:?]
at net.minecraft.server.network.ServerLoginPacketListenerImpl$1.run(ServerLoginPacketListenerImpl.java:282) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:831) ~[?:?]
[03:05:20] [User Authenticator #9/INFO]: UUID of player ReaperGOD6666 is 597d5495-7aea-3641-86ce-d0db9b2e7c9d
[03:05:20] [Server thread/INFO]: ReaperGOD6666 lost connection: Your profile did not load properly, please relog.
[03:05:20] [Server thread/ERROR]: Could not pass event PlayerQuitEvent to TrElytra v1.0.5-SNAPSHOT
java.lang.NullPointerException: Cannot invoke "net.treasure.effect.player.EffectData.getCurrentEffect()" because "data" is null
at net.treasure.core.player.PlayerManager.remove(PlayerManager.java:65) ~[TrElytra.jar:?]
at net.treasure.core.listener.JoinQuitListener.on(JoinQuitListener.java:19) ~[TrElytra.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor189.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:git-Paper-"657d163"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.remove(PlayerList.java:617) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.onDisconnect(ServerGamePacketListenerImpl.java:2000) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.disconnect(ServerGamePacketListenerImpl.java:458) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.disconnect(ServerGamePacketListenerImpl.java:421) ~[?:?]
at org.bukkit.craftbukkit.v1_18_R2.entity.CraftPlayer.kickPlayer(CraftPlayer.java:513) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at io.github.punishmentsx.listeners.JoinListener.onPlayerJoin(JoinListener.java:90) ~[PunishmentsX-1.0-shaded.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor654.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:git-Paper-"657d163"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.postChunkLoadJoin(PlayerList.java:363) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.players.PlayerList.lambda$placeNewPlayer$1(PlayerList.java:305) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:305) ~[?:?]
at net.minecraft.network.Connection.tick(Connection.java:567) ~[?:?]
at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:201) ~[?:?]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1624) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:483) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1458) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1227) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at java.lang.Thread.run(Thread.java:831) ~[?:?]
[03:05:20] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to PlotSquared v6.6.1-Premium
com.plotsquared.core.util.PlayerManager$NoSuchPlayerException: There is no online player with UUID '597d5495-7aea-3641-86ce-d0db9b2e7c9d'
at com.plotsquared.bukkit.player.BukkitPlayerManager.getPlayer(BukkitPlayerManager.java:69) ~[PlotSquared-Bukkit-6.6.1-Premium.jar:?]
at com.plotsquared.bukkit.util.BukkitUtil.adapt(BukkitUtil.java:129) ~[PlotSquared-Bukkit-6.6.1-Premium.jar:?]
at com.plotsquared.bukkit.listener.PlayerEventListener.onConnect(PlayerEventListener.java:339) ~[PlotSquared-Bukkit-6.6.1-Premium.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor104.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:git-Paper-"657d163"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.postChunkLoadJoin(PlayerList.java:363) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.players.PlayerList.lambda$placeNewPlayer$1(PlayerList.java:305) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:305) ~[?:?]
at net.minecraft.network.Connection.tick(Connection.java:567) ~[?:?]
at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:201) ~[?:?]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1624) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:483) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1458) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1227) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.2.jar:git-Paper-"657d163"]
at java.lang.Thread.run(Thread.java:831) ~[?:?]
Server Information:
Additional information
Add any other information about the problem here.
Is the a way to reload the plugin (messages) without restarting the server? Makes it harder to configure without
So I have EssentialsX and PunishmentsX, but the EssentialsX punishment management system seems to have taken over PunishmentX's commands.
Hello,
I installed your plugin, but getting this error while stopping the server: https://paste.soleria.eu/iviqawukak.md
The database is empty (only tables are created). i didn't used any command of the plugin.
EDIT: Happening when someone is connecting / disconnecting too.
Describe the feature you'd like
Hey there!
This plugin looks great, I think it would be awesome if you created a Discord server for us users to discuss the plugin in.
Additional information
That's all!
Hey,
I just wanted to ask if your plugin "PunishmentX" features a dev API, so you can personalize and customize the plugin for your own server, e.g. add some new features or use the plugin as a base to build a more personalized punishment plugin upon.
Kind regards
Flof_Noiflo
Describe the bug
Whenever I open the gui to punish a player, it will move my cursor back to the middle of my screen if I attempt to move it.
To Reproduce
Steps to reproduce the behavior:
Screenshots
N/A
Server Information:
Additional information
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Screenshots
https://gyazo.com/a6729ba8e90c65e65944af82865f071f
Server Information:
Additional information
Add any other information about the problem here.
The problem is fixed whenever I delete the data.db file and restart the server, but that isn't a valid solution if I have to keep doing that...
Describe the bug
This bug show's a lot of errors on terminal when somebody joins to the server, it says a lot of bugs of something about AsyncPlayerPreLoginEvent and PlayerJoinEvent to PunishmentsX
To Reproduce
Steps to reproduce the behavior:
Console
[22:45:01 ERROR]: Could not pass event AsyncPlayerPreLoginEvent to PunishmentsX vgit-PunishmentsX-aa56975 java.lang.UnsupportedOperationException: null at java.util.AbstractList.add(AbstractList.java:153) ~[?:?] at java.util.AbstractList.add(AbstractList.java:111) ~[?:?] at io.github.punishmentsx.profiles.Profile.addIp(Profile.java:75) ~[PunishmentsX-1.0-shaded.jar:?] at io.github.punishmentsx.listeners.JoinListener.onPlayerPreLogin(JoinListener.java:78) ~[PunishmentsX-1.0-shaded.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor347.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:git-Paper-198] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.network.ServerLoginPacketListenerImpl$LoginHandler.fireEvents(ServerLoginPacketListenerImpl.java:396) ~[?:?] at net.minecraft.server.network.ServerLoginPacketListenerImpl$1.run(ServerLoginPacketListenerImpl.java:285) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:833) ~[?:?] [22:45:01 INFO]: UUID of player KowalskyExperto is 1bae2369-11bc-3d50-be37-06c7e7b77b19 [22:45:01 ERROR]: Could not pass event PlayerJoinEvent to PunishmentsX vgit-PunishmentsX-aa56975 java.lang.UnsupportedOperationException: null at java.util.AbstractList.add(AbstractList.java:153) ~[?:?] at java.util.AbstractList.add(AbstractList.java:111) ~[?:?] at io.github.punishmentsx.profiles.Profile.addIp(Profile.java:75) ~[PunishmentsX-1.0-shaded.jar:?] at io.github.punishmentsx.listeners.JoinListener.onPlayerJoin(JoinListener.java:95) ~[PunishmentsX-1.0-shaded.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor346.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:git-Paper-198] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.postChunkLoadJoin(PlayerList.java:363) ~[paper-1.18.1.jar:git-Paper-198] at net.minecraft.server.players.PlayerList.lambda$placeNewPlayer$1(PlayerList.java:305) ~[paper-1.18.1.jar:git-Paper-198] at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:305) ~[?:?] 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.1.jar:git-Paper-198] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:480) ~[paper-1.18.1.jar:git-Paper-198] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1470) ~[paper-1.18.1.jar:git-Paper-198] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1264) ~[paper-1.18.1.jar:git-Paper-198] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.1.jar:git-Paper-198] at java.lang.Thread.run(Thread.java:833) ~[?:?] [22:45:01 INFO]: KowalskyExperto joined the server
Server Information:
Describe the bug
Bedrock players with * before their username are not able to be interacted with (unpunished, punished) if they are offline.
To Reproduce
Steps to reproduce the behavior:
Server Information:
Additional information
plugin ver 1.2.3
Instead of giving punishments.manual to give access to commands
Add a way to give only /mute or /tempmute, etc...
punishments.manual.tempmute
punishments.manual.mute
and if you want to give all commands permissions: punishments.manual.*
Describe the feature you'd like
When you get muted in chat, you can enable in config the Plasmo Voice Chat plugin support, so you can mute the player you muted in voice too.
Additional information
Plugin link:
#https://www.spigotmc.org/resources/plasmo-voice-server.91064/
Describe the feature you'd like
I imagine a world where deprecated code will be commented. Jokes appart, can you give somme comments for all deprecated methods.
Additional information
No further informations ;)
Describe the bug
When muting someone, if he disconnect & reconnect, he will not me muted anymore.
To Reproduce
Steps to reproduce the behavior:
Server Information:
Describe the feature you'd like
Add an option to customize the date format as we want.
For example:
DateFormat: dd/MM/YYYY hh:mm:ss
Describe the bug
A clear and concise description of what the bug is.
It Doesnt Run
To Reproduce
Steps to reproduce the behavior:
Screenshots
If applicable, add screenshots to help explain your problem.
Server Information:
Additional information
Add any other information about the problem here.
The Plugin cannot be configed because it cannot run
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.