totalfreedom / tf-worldedit Goto Github PK
View Code? Open in Web Editor NEWThis project forked from enginehub/worldedit
An in-game voxel map editor for Minecraft
Home Page: http://wiki.sk89q.com/wiki/WorldEdit
License: Other
This project forked from enginehub/worldedit
An in-game voxel map editor for Minecraft
Home Page: http://wiki.sk89q.com/wiki/WorldEdit
License: Other
People have been using /brush to grief maybe this can be patched or maybe its not showing up on the WorldEdit tracker
I would assume this is a side effect of TFM's YOU_ARE_NOT_OP constant being moved - but why is worldedit using it?
[22:22:39] [Server thread/INFO]: WorldEdit: captaincake64 (in "flatlands"): /set tnt - Area: 2130 (5 x 6 x 71)
[22:22:39] [Server thread/WARN]: java.lang.NoSuchFieldError: YOU_ARE_NOT_OP
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.extension.registry.DefaultBlockParser.parseFromInput(DefaultBlockParser.java:244)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.extension.registry.DefaultBlockParser.parseFromInput(DefaultBlockParser.java:39)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.internal.registry.AbstractRegistry.parseFromInput(AbstractRegistry.java:57)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.extension.registry.SingleBlockPatternParser.parseFromInput(SingleBlockPatternParser.java:40)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.extension.registry.SingleBlockPatternParser.parseFromInput(SingleBlockPatternParser.java:29)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.internal.registry.AbstractRegistry.parseFromInput(AbstractRegistry.java:57)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.WorldEdit.getBlockPattern(WorldEdit.java:299)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.command.RegionCommands.set(RegionCommands.java:81)
[22:22:39] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[22:22:39] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[22:22:39] [Server thread/WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[22:22:39] [Server thread/WARN]: at java.lang.reflect.Method.invoke(Method.java:606)
[22:22:39] [Server thread/WARN]: at com.sk89q.minecraft.util.commands.CommandsManager.invokeMethod(CommandsManager.java:533)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.extension.platform.CommandManager$CommandsManagerImpl.invokeMethod(CommandManager.java:342)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.extension.platform.CommandManager$CommandsManagerImpl.invokeMethod(CommandManager.java:263)
[22:22:39] [Server thread/WARN]: at com.sk89q.minecraft.util.commands.CommandsManager.executeMethod(CommandsManager.java:520)
[22:22:39] [Server thread/WARN]: at com.sk89q.minecraft.util.commands.CommandsManager.execute(CommandsManager.java:425)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.extension.platform.CommandManager.handleCommand(CommandManager.java:177)
[22:22:39] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[22:22:39] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[22:22:39] [Server thread/WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[22:22:39] [Server thread/WARN]: at java.lang.reflect.Method.invoke(Method.java:606)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:186)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:172)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.WorldEdit.handleCommand(WorldEdit.java:879)
[22:22:39] [Server thread/WARN]: at com.sk89q.worldedit.bukkit.WorldEditPlugin.onCommand(WorldEditPlugin.java:236)
[22:22:39] [Server thread/WARN]: at com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:52)
[22:22:39] [Server thread/WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180)
[22:22:39] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerConnection.java:956)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:817)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java:28)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat.java:47)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:667)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469)
[22:22:39] [Server thread/WARN]: at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628)
We are getting some major error, its not after a command and I havent really looked at it, so here it is:
:[21:46:51 ERROR]: [WorldEdit] An unexpected error while handling a WorldEdit commandjava.lang.RuntimeException: com.sk89q.worldedit.MaxChangedBlocksException at com.sk89q.worldedit.function.operation.Operations.completeBlindly(Operations.java:76) at com.sk89q.worldedit.command.composition.SelectionCommand.call(SelectionCommand.java:84) at com.sk89q.worldedit.command.composition.SelectionCommand.call(SelectionCommand.java:46) at com.sk89q.worldedit.util.command.composition.LegacyCommandAdapter.call(LegacyCommandAdapter.java:52) at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125) at com.sk89q.worldedit.extension.platform.CommandManager.handleCommand(CommandManager.java:270) at sun.reflect.GeneratedMethodAccessor81.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58) at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:187) at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:173) at com.sk89q.worldedit.bukkit.WorldEditPlugin.onCommand(WorldEditPlugin.java:242) at com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:54) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1302) at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1137) at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:716) at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:655) at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:554) at java.lang.Thread.run(Thread.java:745) Caused by: com.sk89q.worldedit.MaxChangedBlocksException at com.sk89q.worldedit.extent.validation.BlockChangeLimiter.setBlock(BlockChangeLimiter.java:83) at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:503) at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:546) at com.sk89q.worldedit.function.block.BlockReplace.apply(BlockReplace.java:53) at com.sk89q.worldedit.function.visitor.RegionVisitor.resume(RegionVisitor.java:57) at com.sk89q.worldedit.function.operation.Operations.completeBlindly(Operations.java:74) ... 29 more
when are you gonna update this, i need it ASAP for my server as i cant run TFM without it and i dont want people abusing my server with normal WorldEdit
Read the title.
Continued discussion from: http://www.totalfreedom.boards.net/thread/9398/block-chests-worldedit?page=2
:[15:59:00 INFO]: WorldEdit: money (in "flatlands"): /fill stone 50 - Position: (44.0, 469.0, 355.0)
:[15:59:00 WARN]: java.lang.IllegalArgumentException: minY <= maxY required
:[15:59:00 WARN]: at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
:[15:59:00 WARN]: at com.sk89q.worldedit.function.mask.BoundedHeightMask.(BoundedHeightMask.java:42)
:[15:59:00 WARN]: at com.sk89q.worldedit.EditSession.fillXZ(EditSession.java:706)
:[15:59:00 WARN]: at com.sk89q.worldedit.command.UtilityCommands.fill(UtilityCommands.java:75)
:[15:59:00 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
:[15:59:00 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
:[15:59:00 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
:[15:59:00 WARN]: at java.lang.reflect.Method.invoke(Method.java:606)
:[15:59:00 WARN]: at com.sk89q.minecraft.util.commands.CommandsManager.invokeMethod(CommandsManager.java:533)
:[15:59:00 WARN]: at com.sk89q.worldedit.extension.platform.CommandManager$CommandsManagerImpl.invokeMethod(CommandManager.java:342)
:[15:59:00 WARN]: at com.sk89q.worldedit.extension.platform.CommandManager$CommandsManagerImpl.invokeMethod(CommandManager.java:263)
:[15:59:00 WARN]: at com.sk89q.minecraft.util.commands.CommandsManager.executeMethod(CommandsManager.java:520)
:[15:59:00 WARN]: at com.sk89q.minecraft.util.commands.CommandsManager.execute(CommandsManager.java:425)
:[15:59:00 WARN]: at com.sk89q.worldedit.extension.platform.CommandManager.handleCommand(CommandManager.java:177)
:[15:59:00 WARN]: at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
:[15:59:00 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
:[15:59:00 WARN]: at java.lang.reflect.Method.invoke(Method.java:606)
:[15:59:00 WARN]: at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58)
:[15:59:00 WARN]: at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73)
:[15:59:00 WARN]: at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:186)
:[15:59:00 WARN]: at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:172)
:[15:59:00 WARN]: at com.sk89q.worldedit.WorldEdit.handleCommand(WorldEdit.java:879)
:[15:59:00 WARN]: at com.sk89q.worldedit.bukkit.WorldEditPlugin.onCommand(WorldEditPlugin.java:236)
:[15:59:00 WARN]: at com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:52)
:[15:59:00 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181)
:[15:59:00 WARN]: at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490)
:[15:59:00 WARN]: at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628)
As @adamvandyck said in the TFM issues:
In the logs I get this message:
[13:58:50] [Server thread/WARN]: [WorldEdit]
** This WorldEdit version does not fully support your version of Bukkit.
**
** When working with blocks or undoing, chests will be empty, signs
** will be blank, and so on. There will be no support for entity
** and biome-related functions.
**
** Please see http://wiki.sk89q.com/wiki/WorldEdit/Bukkit_adapters
Like the message says, when copying and pasting things like chests and signs they go blank which needs to be fixed.
This is correct although the original issue was in the wrong repo.
Hi there,
When I attempt to compile the newest version of TF-WorldEdit I get the following error:
[buildinfo] Properties file path was not found! (Relevant only for builds running on a CI Server)
FAILURE: Build failed with an exception.
What went wrong:
Task 'setupDecompWorkspace' not found in root project 'worldedit'.
Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.8 secs.
I am using command: C:\Users\****\Desktop\TF-WorldEdit-tfm50>gradlew clean setupDecompWorkspace
Thank you in advanced,
InfamousYT.
Ok, so I noticed in the code for handling disallowed blocks that it had a check for admin.
The codes reads:
if (actor instanceof Player && worldEdit.getConfiguration().disallowedBlocks.contains(blockId) && !WorldEditHandler.isSuperAdmin((Player) actor)) { throw new DisallowedUsageException("You are not allowed to use '" + input + "'"); }
However, the check for admin does not work, and blocks the block for ALL players including staff.
From TotalFreedom/TotalFreedomMod#511
This is mainly a flatlands server, so //regen is nothing but a griefing tool that can bypass limits. We don't need to block //cut but it desperately needs a limit. Could we block //regen altogether or just implement limits into the command?
Reinplement Madgeek's changes, this repo is currently a direct fork of sk89q/worldedit.
Continued discussion from: http://www.totalfreedom.boards.net/thread/10246/blocks-auto-eject-when-worldedited
When will the TFM 5.0 version for TF-WorldEdit come out? I need it to compile me new mod.
How do I make it so when OPs use certain blocks, it broadcasts and de-ops them?
Ex:
looperXD tried to lava,
lava is disabled in worldedit
I did //set tnt to test if it would block it and it did but then I got an error. What I did was I had to change some lines in WorldEditHandler so it would get UnraveledMCMod and not try to get TotalFreedomMod, I also re-named the plugin to UMC-WorldEdit in the plugin.yml
This is what WorldEditHandler looks like: http://pastebin.com/QDvaMT1x
This is the error I got in the console: http://pastebin.com/JiAvRN3V
This is the error I got in-game: http://i.imgur.com/bQ3Nq2l.png
:[17:03:40 INFO]: WorldEdit: Niba11 (in "flatlands"): /set 0 - Region: (-14.0, 50.0, 87.0) - (-3.0, 70.0, 88.0)
:[17:03:40 ERROR]: [WorldEdit] An unexpected error while handling a WorldEdit commandjava.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor404.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sk89q.worldedit.util.command.parametric.BindingHelper.bind(BindingHelper.java:167)
at com.sk89q.worldedit.util.command.parametric.ParametricCallable.call(ParametricCallable.java:220)
at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125)
at com.sk89q.worldedit.extension.platform.CommandManager.handleCommand(CommandManager.java:225)
at sun.reflect.GeneratedMethodAccessor397.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58)
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73)
at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:187)
at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:173)
at com.sk89q.worldedit.bukkit.WorldEditPlugin.onCommand(WorldEditPlugin.java:242)
at com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:54)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141)
at org.bukkit.craftbukkit.v1_8_R2.CraftServer.dispatchCommand(CraftServer.java:646)
at net.minecraft.server.v1_8_R2.PlayerConnection.handleCommand(PlayerConnection.java:1139)
at net.minecraft.server.v1_8_R2.PlayerConnection.a(PlayerConnection.java:974)
at net.minecraft.server.v1_8_R2.PacketPlayInChat.a(PacketPlayInChat.java:45)
at net.minecraft.server.v1_8_R2.PacketPlayInChat.a(PacketPlayInChat.java:1)
at net.minecraft.server.v1_8_R2.PlayerConnectionUtils$1.run(SourceFile:13)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at net.minecraft.server.v1_8_R2.SystemUtils.a(SourceFile:60)
at net.minecraft.server.v1_8_R2.MinecraftServer.A(MinecraftServer.java:712)
at net.minecraft.server.v1_8_R2.DedicatedServer.A(DedicatedServer.java:368)
at net.minecraft.server.v1_8_R2.MinecraftServer.z(MinecraftServer.java:651)
at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:554)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at com.sk89q.util.StringUtil.lookup(StringUtil.java:290)
at com.sk89q.worldedit.blocks.BlockType.lookup(BlockType.java:323)
at com.sk89q.worldedit.blocks.BlockType.lookup(BlockType.java:308)
at com.sk89q.worldedit.extension.factory.DefaultBlockParser.parseFromInput(DefaultBlockParser.java:129)
at com.sk89q.worldedit.extension.factory.DefaultBlockParser.parseFromInput(DefaultBlockParser.java:48)
at com.sk89q.worldedit.internal.registry.AbstractFactory.parseFromInput(AbstractFactory.java:57)
at com.sk89q.worldedit.extension.factory.RandomPatternParser.parseFromInput(RandomPatternParser.java:59)
at com.sk89q.worldedit.extension.factory.RandomPatternParser.parseFromInput(RandomPatternParser.java:31)
at com.sk89q.worldedit.internal.registry.AbstractFactory.parseFromInput(AbstractFactory.java:57)
at com.sk89q.worldedit.internal.command.WorldEditBinding.getPattern(WorldEditBinding.java:213)
... 31 more
@JeromSar I Updated the disallowed blocks in my config http://pastebin.com/8RfSUg4q
and players are still able to use the blocks! Log from my telnet. http://pastebin.com/ZWhkvsBX
Someone always comes on and tells players to do /green 9001
And then when someone does it the server crashes
Everyone can agree it needs to be blocked or limited
So I cloned the world edit from github.com/TotalFreedom/worldedit.git and there was errors when Im done cloning it in NetBeans. The imports from TotalFreedomMod does not exist in the dependencies.
http://imgur.com/ikIgVCp,OtOZ5Pl,hl0S8k4 (There is First,Second,Third Image) @JeromSar @StevenLawson Pleases help ๐ฟ
This is the latest update to World Edit
https://t.co/nizQwpfxf6
Anyway to get it modified for TF as was done with the previous update?
[17:41:04] [Server thread/WARN]: [WorldEdit]
**********************************************
** This WorldEdit version does not fully support your version of Bukkit.
**
** When working with blocks or undoing, chests will be empty, signs
** will be blank, and so on. There will be no support for entity
** and biome-related functions.
**
** Please see http://wiki.sk89q.com/wiki/WorldEdit/Bukkit_adapters
**********************************************
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.