cmi's Issues
Severe Save Error
I'm getting an error in my console with no additional information.
21.02 00:06:25 [Server] WARN java.lang.NullPointerException
21.02 00:06:25 [Server] INFO [CMI] SEVERE SAVE ERROR
At times, this is included:
21.02 00:06:41 [Server] INFO [ServerAssistant] Saved information about ERROR to archive!
21.02 00:06:41 [Server] INFO [ServerAssistant] Received response code 403 from 'https://discordapp.com/api/webhooks/406288524682330113/nvtOQsXiOll-ohxJR_xAtIKvsj_o2FHgeKleSi-zx_Pd8zSziPxTD7aChgp7lgGrUSDK'
This happens every time CMI attempts to save the world. Has happened after several restarts of the server.
Using the latest spigot 1.12.2 build, and the latest version of CMI.
User bug and Remove user bug
Startup error that spams console:
Warning! There is two users with same name and diffrent UUID. This can cause issues! Please remove one of them from database with /cmi removeuser [uuid]
*usernamehere* *uuidhere* last seen: 41 days 8 hours 56 min 23 sec ago
*SameUsernameWithCapitalsHere* *otheruuidhere* last seen: 48 years 57 days 5 hours 51 min 32 sec ago
[00:51:32] [Server thread/WARN]: java.lang.ArrayIndexOutOfBoundsException: 1
[00:51:32] [Server thread/WARN]: at com.Zrips.CMI.PlayerManager.getLocationFromString(PlayerManager.java:1645)
[00:51:32] [Server thread/WARN]: at com.Zrips.CMI.PlayerManager.getLocationMapFromString(PlayerManager.java:1629)
[00:51:32] [Server thread/WARN]: at com.Zrips.CMI.PlayerManager.getValueFromDb(PlayerManager.java:1511)
[00:51:32] [Server thread/WARN]: at com.Zrips.CMI.PlayerManager.loadUserFromDb(PlayerManager.java:1189)
[00:51:32] [Server thread/WARN]: at com.Zrips.CMI.Modules.DataBase.DBDAO.loadAllUsers(DBDAO.java:773)
[00:51:32] [Server thread/WARN]: at com.Zrips.CMI.PlayerManager.loadData(PlayerManager.java:544)
[00:51:32] [Server thread/WARN]: at com.Zrips.CMI.CMI.onEnable(CMI.java:1165)
[00:51:32] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[00:51:32] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316)
[00:51:32] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
[00:51:32] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:387)
[00:51:32] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:336)
[00:51:32] [Server thread/WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442)
[00:51:32] [Server thread/WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403)
[00:51:32] [Server thread/WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341)
[00:51:32] [Server thread/WARN]: at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:292)
[00:51:32] [Server thread/WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616)
[00:51:32] [Server thread/WARN]: at java.lang.Thread.run(Thread.java:748)
Then when i type /cmi removeuser with the uuid of the 48year one it says:
[01:02:18] [Server thread/INFO]: Could not remove player data file. Most likely data file dont exist
[01:02:18] [Server thread/INFO]: Could not remove player stats file. Most likely data file dont exist
[01:02:18] [Server thread/INFO]: Could not remove player advancements file. Most likely data file dont exist
[01:02:18] [Server thread/INFO]: Could not remove player from database. Most likely data entrie dont exist
Also feature request: allow /cmi removeuser to be used ingame
Command cooldown bug
It appears that /time and /weather cooldowns don't work for me:
Cooldowns:
# You can enable any command cooldown to prevent intence usage of it
# Heal:180 means that player can use /heal command only once every 180 seconds
# if cooldown set to -1 then this command can be performed only one time
# Administration can bypass limitations with cmi.command.[comandName].cooldownbypass permission node
Enabled: true
List:
- Heal: 1800
- Feed: 1800
- Time: 1800
- Weather: 1800
/cmi kick all bug
/cmi kick all
says "The player is not online!"
Aliaseditor issue
Every restart i get /rules back in the aliaseditor even when I delete it.
Color Code issues
Some /msg related bugs:
http://prntscr.com/i7yrqw /tell looks like this, no other message commands do.
https://prnt.sc/i7yrpk people on the recieving end of a player with bold in their nickname see this. (using luckperms for prefixes and a number of other things)
/r only responds to the last person who messaged you. i dunno if this is intentional, but if it is, i'd very much like an option to change it to the last person YOU messaged, instead.
if this is already a config option, please point it out to me; i've been unable to find it.
color code permissions are also a bit broken. nobody has the node to use black or magic (&k) but they can use it in /msg and in /nick.
Specific warp permissions
Hi there.
I'm trying to make specific warp permissions giving this permission to players as they complete a quest:
- cmi.command.warp.example
So from then, players can't warp to example using "/cmi warp example" neither using a custom alias for that purpose.
We get the "You don't have the permission for using that command" message.
Thanks for your time.
Console spam shift rightclick spawner
Having this spam console when a user shift + rightclicks a spawner:
https://gyazo.com/56473d32ffdb1db2e3821d18201e1d55
Temporary saving /tpa and /tpahere locations
This would allow players to /tpa and /tpahere other places to specific locations and being able to move away from that location and assure that the other player will be safely teleported to the location they requested. When the /tpa /tpahere request times out they are removed from the map. The map is also cleared upon restarts/reloads of the plugin.
Cmi reload resets warp auto generate feature
When using /cmi reload, all warps have autogenerated lore and name even though in the config there is no AutoLore: true
setting in the warp.
Issues with the placement of player model with /ride
When you are riding another player, the player that you are riding will not be able to see anything as your player model is half way in their head.
CMI doesnt work right with towny balance
Converted essentials to cmi and it reset every town to default balance and does not let us add balance to the towns. Makes me wonder if towny taxes can take as well.
Towny also uses iconomy with essentials (because essentials has some error) and we cannot convert the iconomy balance to cmi at all.
Flying at login - a CMI issue?
Have since several updates already the problem that players can fly the new joinen / rejoin the #game.
We have created the group [GUEST] for "Default" players and they do not have the right to fly.
Unfortunately, I keep watching new players strangely fly
by /cmi Info [player name] I find out that there is: can fly: true
But where did they get the right?
Also with some players, who already played some time on the server this problem was noticed.
Even after a reload (which can occur from time to time), every online player gets the right to fly afterwards
how can you turn this off and is there a general solution?
We have already negated the rights for fly in PermissionsEX.
/pex user [player name] add -cmi.command.fly
or.:
/pex group [groupname] add -cmi.command.fly
InventoryHat doesnt work in creative.
When using cmi.inventoryhat permission, it doesn't work if the user is in creative. (This perm is for being able to drag and drop an item into the helmet slot)
Improvement of warp permission structure
I have a feature/improvement request. It would be very useful, if commandblocks/the console could execute warp commands for a player without the need of giving the player the permission for the warp. One has just way more opportunities if the use of a warp is limited to a commandblock execution.
Also if one player βwarpsβ another player both player need the permission to use the warp. The system would be way more useful if just the player who is send to the warp needs to have the permission to go there.
Keep up your great work, I appreciate it .
Kits Placeholders & Home Priced
Good Afternoon.
It's been a few weeks since we changed to CMI for the best, but we are missing some features that we were using before.
We would like to ask for an "Individual Kit Cooldown" and an "Individual Kit Availability" placeholders.
I know that you offer a self made GUI to choose the kit you want, but we already had a custom menu that shows just the "#" available kits in a fancy way, and we would like to keep that.
We also had a problem with the money cost of warping to homes. We tried using a custom alias to make players pay for warp, but in the end they got charged as they are or are not warped home.
Thanks for your time, and have a nice day.
Unable to place floating signs with 7.3.9.0
When running version 7.3.9.0, players are unable to place floating signs next to each other using shift+right click.
Edit: It works fine with version 7.3.8.5
[feature request] Placeholder for online player
Could you add a placeholder that will list all player that are online (%onlineplayers%)? I want to list all online player for a joining player in a welcome message. Thank you for your continuous work π
CMI Elevator
Just a small issue with /back.
Using a elevator plugin (iron/diamond block to teleport up or down to another iron/diamond block) will change the /back to that spot. So if you go up stairs then /back it just puts you downstairs on the elevator block.
Kit orders
I don't believe I saw a way to do this in the plugin, if this exists already I do apologize.
Is there a way to organize the order that kits show up in the kit gui?
I have them with different weights but that does not seem to make any difference in their order. I also created them in the order I wanted them but that is not the order they ended up in. Its also not following an alphabetical order either.
The kit groups also do not seem to follow an order like that. So far they are together with their groups, I only just started the second group.
Issue with Import from Essentials
i have in the Console performed this command: cmi importfrom essentials home warp nick money logoutlocation
and i have try to make it seperate with single argument e.q: cmi importfrom essentials home
this is the message output:
Usage: /importfrom [essentials] [home/warp/nick/logoutlocation/money]
- Import data from other plugins
CMI spawner feature clashing with other plugins
Can we get an option to fully disable anything cmi has with spawners?
Its overlapping other plugins (even with the correct permissions) and still not working correctly.
(all the spawners are pigs now)
Site on player
Make the feathure to ride player π
Addition
Make it so Custom Text and Books can be used together to make "User Manuals" for Click Events and Hover Text.
Magic Spells plugin is trigging cmi perma fly after logout
So we recently discovered something. We have recently discovered that another plugin of ours, MagicSpells, is somehow triggering fly of people using a specific spell, which is /carpet which enables temp fly with particles. Here's what happens in order.
- Player casts /c carpet
- Spell is applied.
- checked /cmi info and Fly is set to True
- Spell ends and fly is set to false
HOWEVER
if the player logs out and logs back in during the spell duration, the fly remains and remains despite relog. And thus is the problem. I have to manually take it off of them. It can be successfully repeated. If you want like a short video demostrating it and showing the flag being set
Any advice or plugin fix for this would be appreciated. We have 3 servers to manage and it's possible we're missing them and not realizing. Here's an album of before and after pics. If this can't be fixed, is it possible for a node to prevent cmi flying from being triggered at all?
Broke Placeholders
The one you added (%cmi_user_rank%) doesn't work and broke some others like (%cmi_user_balance%)
worth and sell
What are your thoughts on adding /sell hand, /sell all, /sell inven and /worth (with a /setworth)?
Registered Entity request
Request an option to manually purge a player's registered entity count manually despite them being active.
CustomAlias, message in console
When a "CustomAlias" is used, a message appears on the console indicating that a command has been written that does not exist.
Sorry, bad english.
Error
after uploading the new version to the server, an error occurred in my console
https://pastebin.com/MEmWQJC8
Cmi jump Addition
A command called /cmi jump
that lets you teleport to the block that you are looking at. in addition to this you could also make it so if you have /cmi jump (user)
it makes the user jump/teleport to the block that you are looking at. Both have seperate permissions. cmi.command.jump
and cmi.command.jump.others
Maybe even a cmi.command.jump.override
that stops them from being jumped from others
Anvil
Portable anvil:
Would it be possible, similar to the workbench, to open the anvil by order?
like: /cmi anvil [player name]
Addition/Placeholder
Could you Please add a Placeholder for CMI Ranks? This would be very useful! Right Now, I had to use LuckPerms and add Prefixes for those Groups which is really unnecessary since the ranks are just used in the Prison Ladder and do not need to be an actual group, the players just need to be associated to that group for WorldGuard Region association.
/list Customization
Is it possible, if so then where?
To set true or false to have in the /list list all Users or Users in they Groups? Or to edit they names fromn they catogories: e.q.: admin=boss etc.
Nice Greetz from Germany to you. ^^
ASkyBlock not recognizing cmi economy.
ASkblock does not recognize the CMI economy. I did have Askyblock working with essentialsx but it is no longer installed since i am replacing essentials with CMI. I do have the economy set to true in the CMI config.yml and Askyblock config.yml is set to use economy. I have the latest versions and CMIEInjector installed. Could it be the order that the plugins are loading/enabling?
Startup: https://www.hastebin.com/dehidequsi.sql
Thanks.
Armor Stand Command
please add the command set to the Armor stand. which starts when the player clicks on the Armor stand. but it would be good for Armor to stand if the command is set to be edited so it can not be modify
Glitched entity count
One of my players reporting suddenly hitting the max count for brewing stands when he wasn't even close to 20.
[CMI] Plugin CMI v7.3.8.5 generated an exception while executing task 129156
Error CMI v7.3.8.5 and Gringotts-2.10-SNAPSHOT: https://pastebin.com/a8ks6jC2
ctext auto-alias broken
Custom text (ctext) auto-alias is broken. If a ctext file has <AutoAlias> set when the server boots, it doesn't work. But, if you "editctext" the file and click the second "[+]" twice (off and back on), then the auto-aliasing starts working for that file. But upon the next reboot, ctext auto-alias doesn't work again.
I'm running CMI 7.3.8.5 on the latest Spigot 1.12.2-R0.1-SNAPSHOT
/nick works a bit funky
I'm setting CMI up on a test server first before moving it to the main server and I noticed /nick kinda acts a bit weird
For example if you did /nick &cName
The name would be
< Name >
But the > arrow at the end would also be &c. And then the chat is also &c.
If you do /nick &cName&r it works correctly.
Is there a way to perhaps add the &r at the end of every nick command or something like that?
Local & global chat
Can you add please local and global chat like "!global" and "local"
/r and /msg issues
While working on a server that was empty I noticed that my console spammed a personal conversation from another server in my network running CMI 7.3.10.0. I have 2 pastebin links that show what happens from both servers. And for some reason only this conversation got broadcasted to the console of the server I was working on.
Server where I was working: https://pastebin.com/6wTmHXVu
Server where the conversation happened: https://pastebin.com/URNQjvSC
This was the first time I noticed it was possible to hold a conversation with someone from that server but that didn't go very well it showed up as follow: https://i.imgur.com/6PNH7O4.png https://i.imgur.com/Hu2LKOw.png
Searched for config options for bungee but couldn't find anything.
Offline teleport & Gamemode switch
if I try to put an onflin player into another game mode, nothing happens (gamemode remains unchanged)
Player XY is in the Gamemode Creative and is going to be changed to Gamemode Survival - nothing happens
The same goes for the teleport: I want to get a player from a world, but when he logs in again he is still in the world - neither /spawn [player name] nor /tphere works here.
Mob egg spawner bug
If a user doesn't have permission to change a spawner and they try to change it with an egg it prints out a message to the player & console "You don't have permission!" (shouldn't print to console)
motd welcome message on player login broken
Hey, zrips, when you fixed the ctext auto alias, you broke the welcome message. It won't print anymore when player logs in. I'm talking about this line specifically in the config...
# Defines name of customtext on players login to server. To disable just set name to non existing customText
Motd: welcome
ctext file named welcome.txt used to print fine in 7.3.8.5, but doesn't print as of 7.3.9.0.
Permissions system for customaliases
I have a command that restarts the server in a fancy way. With a count down and everything. It uses fromConsole!
tag. At the moment as it currently stands any user who uses the command can restart the server. I want to give the custom command to specific people. Is it possible to add a custom permission: *permhere*
tag to customaliases? This addition would allow server owners to create custom commands/aliases like their own emojis for example and put permission nodes on them and give them to specific ranks aswell (Example). Love the plugin, keep up the great work!
How about killall / kickall commands?
I need it really !
/cmi killall [entity type] [range] [world] - cmi.command.killall
/cmi kickall [message] - cmi.command.kickall ( This feature really useful for restarting on server )
server crash with /checkban
All I did was run /checkban . I did type /checkban (playername) after but it looks like the server had already stopped responding with the /checkban command.
This is the CMI version before the sell hand version. 7.3.11.0. Paper 1.12.2.
[15:16:34] [Paper Watchdog Thread/ERROR]: java.lang.Thread.sleep(Native Method)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository.findProfilesByNames(YggdrasilGameProfileRepository.java:72)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.destroystokyo.paper.profile.WrappedGameProfileRepository.findProfilesByNames(WrappedGameProfileRepository.java:47)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.UserCache.a(UserCache.java:89)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.UserCache.getProfile(UserCache.java:159)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.craftbukkit.v1_12_R1.CraftServer.getOfflinePlayer(CraftServer.java:1355)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.Bukkit.getOfflinePlayer(Bukkit.java:733)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.NBT.v1_12_R1.getPlayer(v1_12_R1.java:119)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.PlayerManager.getUser(PlayerManager.java:280)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.PlayerManager.getUser(PlayerManager.java:227)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.PlayerManager.getUser(PlayerManager.java:223)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.commands.list.checkban.perform(checkban.java:64)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.commands.CommandsHandler.onCommand(CommandsHandler.java:209)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:151)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:677)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.sk89q.worldedit.bukkit.WorldEditListener.onPlayerCommandPreprocess(WorldEditListener.java:95)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor495.execute(Unknown Source)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70)
[15:16:34] [Paper Watchdog Thread/ERROR]: co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:515)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:500)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.Modules.SpecializedCommands.SpecializedCommandManager.processAliasCmdsAsPlayer(SpecializedCommandManager.java:60)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.Zrips.CMI.AllListeners.onPreprocessCommand.onCommand(onPreprocessCommand.java:56)
[15:16:34] [Paper Watchdog Thread/ERROR]: com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor777.execute(Unknown Source)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70)
[15:16:34] [Paper Watchdog Thread/ERROR]: co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:515)
[15:16:34] [Paper Watchdog Thread/ERROR]: org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:500)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1464)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1277)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:5)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.PlayerConnectionUtils$$Lambda$293/140376175.run(Unknown Source)
[15:16:34] [Paper Watchdog Thread/ERROR]: java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[15:16:34] [Paper Watchdog Thread/ERROR]: java.util.concurrent.FutureTask.run(FutureTask.java:266)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:843)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:426)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767)
[15:16:34] [Paper Watchdog Thread/ERROR]: net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665)
[15:16:34] [Paper Watchdog Thread/ERROR]: java.lang.Thread.run(Thread.java:748)```
Editing warp using gui. does not save settings.
please fix the saveup editing warp, because when I set up not to show lore and restart the server, so the configuration restarted (I did it over gui)
(the latest version of the plugin)
[feature request] jail command
I would also love to a see a jail-command like the one you can find in essentialsX. It should supends players activities and teleport them. Basically its the cuff-command combined with a teleport to a location. We never ban people but send them into a jail where the can ban themself using an electric chair. Unfortunatly a jail-function is very hard to accomplish with CMI at the moment.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.