arckenver / nations Goto Github PK
View Code? Open in Web Editor NEWUNMAINTAINED - Minecraft Sponge Plugin - Towny-like Worldguard-like protection plugin
License: MIT License
UNMAINTAINED - Minecraft Sponge Plugin - Towny-like Worldguard-like protection plugin
License: MIT License
[00:41:16] [Server thread/ERROR] [Sponge/]: Could not pass InteractBlockEvent$Primary$Impl to org.spongepowered.mod.plugin.SpongeModPluginContainer@1a5de98c
java.lang.NullPointerException
at com.arckenver.nations.listener.GoldenAxeListener.onPlayerLeftClick(GoldenAxeListener.java:78) ~[GoldenAxeListener.class:0.10]
at org.spongepowered.common.event.listener.PrimaryListener_GoldenAxeListener_onPlayerLeftClick121.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:201) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:184) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:229) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:214) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:129) [SpongeImpl.class:1.8.9-1890-4.2.0-BETA-1666]
at net.minecraft.network.NetHandlerPlayServer.redirect$handleLeftBlockClick$0(NetHandlerPlayServer.java:515) [lm.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147345_a(NetHandlerPlayServer.java:525) [lm.class:?]
at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:40) [ir.class:?]
at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:10) [ir.class:?]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:121) [PacketUtil.class:1.8.9-1890-4.2.0-BETA-1666]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39) [fh$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fh$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_101]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_101]
at net.minecraft.util.Util.func_181617_a(SourceFile:44) [g.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344) [ko.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
The item or block putted on Item Frame
Minecart
animals
Hi dear programmers, in the first place sorry if i kill some word or my text is very strange, because my mother language is not english. Im here to suggest new features to your plugin nations.
If this is not possible or is stupid sorry i dont't know nothing about java code.
My suggests are: A admin permission command, that basically ask players to join a nation.
Like /invite nationmane player that can be put in a sign with a signcommand plugin and when a player clicks it he is invited to the nation refered on the command. Again sorry about the words i killed.
My second suggest is for the zones inside nations. Can you add a third zone claim point for height? And a block use permissions sistems in a way that if admins want they can only let player use door and chest to prevent maps with dirt 100 block height buildings(it gives bad look to server)? Again sorry i probably killed many words and please let me know if you think this is a good idea and if you can add this to the next version.
Thanks for reading PM47K, Bye.
I don't know which causes this error. Because of this error, Nation didn't work. I had tried to delete default config folder, but it cannot solved this problem.
[22:35:29] [Server thread/ERROR] [Sponge/sponge]: Could not pass FMLServerStartedEvent to org.spongepowered.mod.plugin.SpongeModPluginContainer@73b373a7
java.lang.NoClassDefFoundError: org/spongepowered/api/event/entity/DisplaceEntityEvent$TargetPlayer
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_101]
at java.lang.Class.privateGetDeclaredMethods(Unknown Source) ~[?:1.8.0_101]
at java.lang.Class.privateGetPublicMethods(Unknown Source) ~[?:1.8.0_101]
at java.lang.Class.getMethods(Unknown Source) ~[?:1.8.0_101]
at org.spongepowered.common.event.SpongeEventManager.registerListener(SpongeEventManager.java:181) ~[SpongeEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.common.event.SpongeEventManager.registerListeners(SpongeEventManager.java:225) ~[SpongeEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at com.arckenver.nations.NationsPlugin.onStart(NationsPlugin.java:670) ~[NationsPlugin.class:0.10]
at org.spongepowered.common.event.listener.GameStartedServerEventListener_NationsPlugin_onStart7.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:354) [SpongeModEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:395) [SpongeModEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:205) [SpongeMod.class:1.10.2-2026-5.0.0-BETA-1599]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.10.2.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:239) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:217) [LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.10.2.jar:?]
at net.minecraftforge.fml.common.LoadController.redirect$onPost$0(LoadController.java:53) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:142) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.serverStarted(Loader.java:851) [Loader.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarted(FMLCommonHandler.java:297) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:433) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
Caused by: java.lang.ClassNotFoundException: org.spongepowered.api.event.entity.DisplaceEntityEvent$TargetPlayer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
... 38 more
Admin nations are nations without president, citizens, money, zones, or claimable block limit. They should be created and managed by admins using the /na commands. They can be used to protect special areas like your spawn.
According to the information above, I think admin nation should ignore the limits like the distance with other players' nations and whether the name is the same as the players' nations. In addition, because "/n nation" cannot show admin nation, I think if there is a new command showing the list of admin nation, it can be better.
Hello, this list of commands on the wiki shows the command "/na claim " as a valid command but it doesn't show up on the in-game help for me and the command does not work properly. What is the way to claim area for an admin nation?
https://github.com/Arckenver/Nations/wiki
A config guide would be helpful.
For example - minNationDistance=400
400...blocks?...400 chunks? 400 what?
For now, the name of nation and spawn point only can be alphanumeric. Is it possible to support more languages?
Hi, Arckenver. This is just a little question not bug feedback or suggestion. Have you made a plan for Nation of Sponge API 5.x.x? I am just very curious, because I expect the appearence of the formal release of Nation with full my attention. I have noticed that Spongepowered had stopped the update for MC 1.9.4 which also used Sponge API 5.x.x. Have you considered to release Nation formally based on MC 1.9.4 at first?
A normal axe does not break a log, but if you use a Tinkers lumber axe you get the logs and the tree doesn't break, so you get endless logs.
Now, there is no animal protection in nation or zone. I suggest to add this option to protect players' animals.
Error:
`
5.10 11:28:03 [Server] Server thread/ERROR [Sponge]: Error occurred while executing command 'na delete Lol' for source EntityPlayerMP['NinjaMonkey'/58935, l='world', x=173.29, y=95.00, z=132.74]: null
15.10 11:28:03 [Server] INFO java.util.ConcurrentModificationException
15.10 11:28:03 [Server] INFO at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437) ~[?:1.8.0_92]
15.10 11:28:03 [Server] INFO at java.util.HashMap$EntryIterator.next(HashMap.java:1471) ~[?:1.8.0_92]
15.10 11:28:03 [Server] INFO at java.util.HashMap$EntryIterator.next(HashMap.java:1469) ~[?:1.8.0_92]
15.10 11:28:03 [Server] INFO at com.arckenver.nations.DataHandler.removeNation(DataHandler.java:162) ~[DataHandler.class:0.10]
15.10 11:28:03 [Server] INFO at com.arckenver.nations.cmdexecutor.nationadmin.NationadminDeleteExecutor.execute(NationadminDeleteExecutor.java:33) ~[NationadminDeleteExecutor.class:0.10]
15.10 11:28:03 [Server] INFO at org.spongepowered.api.command.args.ChildCommandElementExecutor.execute(ChildCommandElementExecutor.java:177) ~[ChildCommandElementExecutor.class:1.8.9-1890-4.2.0-BETA-1762]
15.10 11:28:03 [Server] INFO at org.spongepowered.api.command.spec.CommandSpec.process(CommandSpec.java:331) ~[CommandSpec.class:1.8.9-1890-4.2.0-BETA-1762]
15.10 11:28:03 [Server] INFO at org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:331) ~[SimpleDispatcher.class:1.8.9-1890-4.2.0-BETA-1762]
15.10 11:28:03 [Server] INFO at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:279) [SpongeCommandManager.class:1.8.9-1890-4.2.0-BETA-1762]
15.10 11:28:03 [Server] INFO at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:80) [bd.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:815) [lm.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:794) [lm.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:37) [ie.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:9) [ie.class:?]
15.10 11:28:03 [Server] INFO at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:121) [PacketUtil.class:1.8.9-1890-4.2.0-BETA-1762]
15.10 11:28:03 [Server] INFO at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39) [fh$1.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fh$1.class:?]
15.10 11:28:03 [Server] INFO at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_92]
15.10 11:28:03 [Server] INFO at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_92]
15.10 11:28:03 [Server] INFO at net.minecraft.util.Util.func_181617_a(SourceFile:44) [g.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660) [MinecraftServer.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344) [ko.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) [MinecraftServer.class:?]
15.10 11:28:03 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?]
15.10 11:28:03 [Server] INFO at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
`
Steps to reproduce:
getting the error occurred while exexcuting command: no value present.
Nations-1.1.jar
spongeforge-1.8.9-1890-4.2.0-BETA-1653.jar
At first, I think it is a good new. After I updated sponge and forge, Nation works in the server successfully. However, there still is an error occuring. Could you help me for that?
[22:52:06] [Server thread/ERROR] [Sponge/sponge]: Could not pass FMLServerStartedEvent to org.spongepowered.mod.plugin.SpongeModPluginContainer@4bc02f34
java.lang.NoClassDefFoundError: org/spongepowered/api/event/entity/DisplaceEntityEvent$TargetPlayer
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_101]
at java.lang.Class.privateGetDeclaredMethods(Unknown Source) ~[?:1.8.0_101]
at java.lang.Class.privateGetPublicMethods(Unknown Source) ~[?:1.8.0_101]
at java.lang.Class.getMethods(Unknown Source) ~[?:1.8.0_101]
at org.spongepowered.common.event.SpongeEventManager.registerListener(SpongeEventManager.java:181) ~[SpongeEventManager.class:1.10.2-2044-5.0.0-BETA-1649]
at org.spongepowered.common.event.SpongeEventManager.registerListeners(SpongeEventManager.java:225) ~[SpongeEventManager.class:1.10.2-2044-5.0.0-BETA-1649]
at com.arckenver.nations.NationsPlugin.onStart(NationsPlugin.java:670) ~[NationsPlugin.class:0.10]
at org.spongepowered.common.event.listener.GameStartedServerEventListener_NationsPlugin_onStart6.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2044-5.0.0-BETA-1649]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:349) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1649]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:390) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1649]
at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:205) [SpongeMod.class:1.10.2-2044-5.0.0-BETA-1649]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.10.2.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:239) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:217) [LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.10.2.jar:?]
at net.minecraftforge.fml.common.LoadController.redirect$onPost$0(LoadController.java:53) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:142) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.serverStarted(Loader.java:851) [Loader.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarted(FMLCommonHandler.java:297) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:433) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
Caused by: java.lang.ClassNotFoundException: org.spongepowered.api.event.entity.DisplaceEntityEvent$TargetPlayer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
... 38 more
Caused by: java.lang.NullPointerException
Trying to break blocks (claimed or unclaimed) on 1.10 yields this error:
[02:01:34] [Server thread/ERROR] [Sponge]: Could not pass InteractBlockEvent$Primary$MainHand$Impl to org.spongepowered.mod.plugin.SpongeModPluginContainer@1231c091
java.lang.NoSuchMethodError: org.spongepowered.api.entity.living.player.Player.getItemInHand()Ljava/util/Optional;
at com.arckenver.nations.listener.GoldenAxeListener.onPlayerLeftClick(GoldenAxeListener.java:56) ~[GoldenAxeListener.class:0.10]
at org.spongepowered.common.event.listener.PrimaryListener_GoldenAxeListener_onPlayerLeftClick65.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:349) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:332) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:377) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:362) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at net.minecraft.server.MinecraftServer.handler$onServerTickEnd$0(MinecraftServer.java:565) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:658) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
Thinking this has something to do with the fact that players now dual wield.
I have setted nation as no pvp status, but people still can use some ejection like bow to shoot others and hurt them.
Nation 0.10
spongeforge-1.8.9-1890-4.2.0-BETA-1666
forge-1.8.9-11.15.1.1902-1.8.9-universal
spongeforge-1.8.9-1890-4.2.0-BETA-1653
Nations-0.10
[00:29:03] [Server thread/ERROR] [Sponge/]: Could not pass InteractBlockEvent$Primary$Impl to org.spongepowered.mod.plugin.SpongeModPluginContainer@40b833d9
java.lang.NullPointerException
at com.arckenver.nations.listener.GoldenAxeListener.onPlayerLeftClick(GoldenAxeListener.java:78) ~[GoldenAxeListener.class:0.10]
at org.spongepowered.common.event.listener.PrimaryListener_GoldenAxeListener_onPlayerLeftClick95.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:201) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:184) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:229) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:214) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:129) [SpongeImpl.class:1.8.9-1890-4.2.0-BETA-1653]
at net.minecraft.network.NetHandlerPlayServer.redirect$handleLeftBlockClick$0(NetHandlerPlayServer.java:515) [lm.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147345_a(NetHandlerPlayServer.java:525) [lm.class:?]
at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:40) [ir.class:?]
at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:10) [ir.class:?]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:121) [PacketUtil.class:1.8.9-1890-4.2.0-BETA-1653]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39) [fh$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fh$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_101]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_101]
at net.minecraft.util.Util.func_181617_a(SourceFile:44) [g.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344) [ko.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
Request- when holding a golden and clicking the nation boundaries show with particle effects - red for nation boundaries and blue for zone boundaries. I have seen this done with other plugins and it was fantastic.
[14:36:24] [Server thread/ERROR] [Sponge/sponge]: Could not pass FMLServerStartedEvent to org.spongepowered.mod.plugin.SpongeModPluginContainer@76fa58ca
java.util.NoSuchElementException: No value present
at java.util.Optional.get(Unknown Source) ~[?:1.8.0_101]
at com.arckenver.nations.serializer.NationDeserializer.deserialize(NationDeserializer.java:71) ~[NationDeserializer.class:0.10]
at com.arckenver.nations.serializer.NationDeserializer.deserialize(NationDeserializer.java:20) ~[NationDeserializer.class:0.10]
at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
at com.arckenver.nations.DataHandler.load(DataHandler.java:68) ~[DataHandler.class:0.10]
at com.arckenver.nations.NationsPlugin.onStart(NationsPlugin.java:135) ~[NationsPlugin.class:0.10]
at org.spongepowered.common.event.listener.GameStartedServerEventListener_NationsPlugin_onStart19.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:201) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:242) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1666]
at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:185) [SpongeMod.class:1.8.9-1890-4.2.0-BETA-1666]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.9.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:211) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:189) [LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.9.jar:?]
at net.minecraftforge.fml.common.LoadController.redirect$onPost$0(LoadController.java:53) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.serverStarted(Loader.java:800) [Loader.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarted(FMLCommonHandler.java:289) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:443) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
I found a pretty good feature in Polis.
/polis allowblock - Polis leaders can use this command then right click any block in their claim to toggle the blocks "right-clickability" by members of other teams.
Could you add a same function command?
08.10 12:35:19 [Server] Server thread/INFO [io.github.hsyyid.essentialcmds]: [Yuzuru] executed command n create Magnolia
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: org.h2.jdbc.JdbcSQLException: Value too long for column "ID VARCHAR(36)": "'nation-1ba2bbf2-173e-472f-af6f-f3e2e9bae0d8' (43)"; SQL statement:
08.10 12:35:19 [Server] INFO INSERT INTO economylitevirts (`id`, `balance`, `currency`) VALUES (?, ?, ?) [22001-192]
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.message.DbException.get(DbException.java:179)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.table.Column.validateConvertUpdateSequence(Column.java:335)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.table.Table.validateConvertUpdateSequence(Table.java:784)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.dml.Insert.insertRows(Insert.java:151)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.dml.Insert.update(Insert.java:114)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.CommandContainer.update(CommandContainer.java:98)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.Command.executeUpdate(Command.java:258)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:160)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:146)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at io.github.flibio.economylite.utils.sql.SqlManager.executeUpdate(SqlManager.java:118)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at io.github.flibio.economylite.impl.VirtualServiceCommon.setBalance(VirtualServiceCommon.java:77)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at io.github.flibio.economylite.impl.economy.LiteEconomyService.getOrCreateAccount(LiteEconomyService.java:81)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at com.arckenver.nations.cmdexecutor.nation.NationCreateExecutor.execute(NationCreateExecutor.java:111)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.api.command.args.ChildCommandElementExecutor.execute(ChildCommandElementExecutor.java:177)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.api.command.spec.CommandSpec.process(CommandSpec.java:331)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:331)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:279)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:80)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:815)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:794)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:37)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:9)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:121)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.util.Util.func_181617_a(SourceFile:44)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481)
08.10 12:35:19 [Server] Server thread/INFO [STDERR]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at java.lang.Thread.run(Thread.java:745)
08.10 12:35:19 [Server] Server thread/ERROR [economylite]: Value too long for column "ID VARCHAR(36)": "'nation-1ba2bbf2-173e-472f-af6f-f3e2e9bae0d8' (43)"; SQL statement:
08.10 12:35:19 [Server] INFO INSERT INTO economylitevirts (`id`, `balance`, `currency`) VALUES (?, ?, ?) [22001-192]
08.10 12:35:19 [Server] Server thread/ERROR [com.arckenver.nations]: Could not create nation's account on the economy service !
After I used the command "/na create xxx" to create a nation, I faced a problem. How can I claim lands for it? I am not the president of admin nation.
The plugin should have admin commands to change nation names, force player to join nation etc. These commands will be accessed using /nationadmin
or /na
.
Admin commands should make admins able to :
Please comment below or on official sponge forums thread if you want to have other admin commands.
@GershonR suggested to add information in some descriptions given by the plugin. Those are the ones that are possible (the others are not possible as the plugin doesn't store that kind of information).
I suggest to add a command to reload the config file. I trust it will be more convienient to edit the config file.
As @5igm pointed out in #6, a towny-like level system would be highly enjoyable as it adds a little more roleplay to the plugin.
For now, taxes are calculated directly based on the number of citizens in a given nation. Would it be better to keep it that way or to base it on the level system ? Same issue with nation's block size limit.
This level system could be based on the number of citizens in a nation. Here is a proposal of configuration:
levelSystem {
Settlement {
minCitizens=0
otherInformation="Hello"
}
Hamlet {
minCitizens=3
otherInformation="Hallo"
}
Village {
minCitizens=5
otherInformation="Bonjour"
}
}
I already tried to explain this idea (#29) but you adviced me to open multiple issues so here it is.
My idea is creating a permissions for zones that would let the admins configurate what players can do( place/brake/use) in their zones. Like /permission.player.place.dirt-true something like that if you understand. It's like something called containers i think. To explain better i am bulding a server that uses nations for spawn protection and i want it to be a kind of surival, but everytime i see some server survival based it has like dirt houses and it's very ugly. So i would like to sell zones in my spawn with pre build homes that are impossible to brake/modify, i would like players to buy them just for using chests, furnaces, crafting tables, enchanting table, open doors, and sleep im beds and stuff like that and make it impossible for them to brake or place blocks/lava/water/etc. I suggested the permissions because i think a system like that is very easy to configurate and very modular and it would be a complete protection, antigrifeing ,economy(players can buy zones) and of corse very funny with all the current features it has.
PS: If this is possible can it be mod compatible? (im using bibliocraft)
Command to convert the data
Add admin command so nations can receive an unlimited amount of extra blocks given by admins (e.g. to claim a spawn).
/na giveextra <nation> <amount>
This is another one. It showed after I restarted server.
forge-1.8.9-11.15.1.1902-1.8.9-universal
spongeforge-1.8.9-1890-4.2.0-BETA-1653
Nations-0.10
[03:55:07] [Server thread/ERROR] [Sponge/sponge]: Could not pass FMLServerStartedEvent to org.spongepowered.mod.plugin.SpongeModPluginContainer@329005ff
java.util.NoSuchElementException: No value present
at java.util.Optional.get(Unknown Source) ~[?:1.8.0_101]
at com.arckenver.nations.serializer.NationDeserializer.deserialize(NationDeserializer.java:71) ~[NationDeserializer.class:0.10]
at com.arckenver.nations.serializer.NationDeserializer.deserialize(NationDeserializer.java:20) ~[NationDeserializer.class:0.10]
at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
at com.arckenver.nations.DataHandler.load(DataHandler.java:68) ~[DataHandler.class:0.10]
at com.arckenver.nations.NationsPlugin.onStart(NationsPlugin.java:135) ~[NationsPlugin.class:0.10]
at org.spongepowered.common.event.listener.GameStartedServerEventListener_NationsPlugin_onStart12.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:201) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:242) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:185) [SpongeMod.class:1.8.9-1890-4.2.0-BETA-1653]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.9.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:211) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:189) [LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.9.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.9.jar:?]
at net.minecraftforge.fml.common.LoadController.redirect$onPost$0(LoadController.java:53) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.serverStarted(Loader.java:800) [Loader.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarted(FMLCommonHandler.java:289) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:443) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
A admin command to give nations more spawn points than the amount set in the config.
So admins would be able to configurate Nations' default permissions (build/interact) in wilderness in each world. It would also be possible to disable Nations in some worlds. This would also concern flags.
Config would look like this
worlds {
world {
enabled=true
perms {
build=true
interact=true
}
flags {
mobs=true
pvp=true
explosions=true
fire=true
}
}
world_nether {
enabled=false
}
world_the_end {
enabled=false
}
If you make a change in config.conf add ability to reload the plugin and apply the change
Last issue i suggested creating a command that using a sign command when a player clicks it he is invited to the nation (#29) and you said there was already a feature like this witht he command forcejoin, but im having a problem. I want players to join my spawn nation so they can buy a house when im ofline , and i tried to use a command block but he is not accepting the marker @p so is there any way to make it auto recognize the player?
On 1.10 Version
[12:00:11] [pool-2-thread-1/ERROR] [Sponge/sponge]: The Scheduler tried to run the task nations-A-8 owned by Plugin{id=nations, name=Nations, version=2.0, description=A towny-like worldguard-like zone managment plugin., url=https://github.com/Arckenver/Nations, authors=[Arckenver], source=L:\Programs\testserver\mods\Nations-2.0.jar}, but an error occured.
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source) ~[?:1.8.0_66]
at java.util.ArrayList$Itr.next(Unknown Source) ~[?:1.8.0_66]
at com.arckenver.nations.task.TaxesCollectRunnable.run(TaxesCollectRunnable.java:49) ~[TaxesCollectRunnable.class:2.0]
at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:138) ~[Task$Builder.class:1.10.2-2107-6.0.0-BETA-1856]
at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:177) ~[SchedulerBase.class:1.10.2-2107-6.0.0-BETA-1856]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_66]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_66]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_66]
I suggest to give president a permission that endow certain player to kill and put the player into nation's jail. I think it will make Nation closer to a real nation.
@GershonR suggested to create option in config file to determine the maximum number of spawns nations can have.
I have a great idea for nation bank system, but it might be a little complex.
If national bank can "get players' fixed time deposit and pay back players with interests", "loan money to citizen", "set taxes rate according to players' account deposit", I think it will be an amazing improment.
Now, nation bank actually is only a storage of money. Its majority deposit comes from president's contribution and taxes. Sometimes, if the nation needs a lot of money like claiming lands, it needs a lot of money. In addition, currently for paying Upkeep, most countries have to set taxes equal or higher than Upkeep (because president and ministers don't pay taxes). Actually high taxes will make players being disgusted with nation system. But, it is impossible to cancel Upkeep as well, because it plays an important role to server economy.
The use of Upkeep
For example, in my server, server will pay players money according to their online time. According to this setting, the total amount of money will be incredible high soon. Yet, if there is a way used to take these money back to the server, the problem will be solved. I think some servers give players money by buying players' items. If there is not a useful recycle system, these servers will face the same issue certainly.
Compared with increasing taxes, there is a better way to support a country's finance - attracting people to deposit their money in national bank. Actually, this method's transformation is taken by most countries in reality. If the bank want to attract people to deposit, it have to add a function to pay users interests.
This function is a supplement to player deposit. For the bank, it can use users' deposit to support countries' construction, but actually its money is borrowed from players. The money is not belong to nation or bank. To avoid bank system changing to a financial swindling, I think it is necessary to allow nation banks to loan money to citizen. It will be a supplement to the cost of country.
This is a important source to country's finance. In fact, it is like progressive tax rate. It owns two priorities:
In the users guide please add the suggestion that they instantly put money in the town bank so they don't loose their nation.
I would like to switch over to this plugin, but will this eventually support API5?
> sponge plugins
[Server thread/INFO]: Plugins (13): Minecraft, Minecraft Coder Pack, Forge Mod Loader, Minecraft Forge, SpongeForge, DjxyCore, Nations, Nucleus, ServerListPlus, Total Economy, VoxelSniper-Forge, VoxelSniper-Sponge, WorldEdit
minecraft@sponge:~/sponge/mods$ ls
DjxyCore-1.0.2.jar PermissionManager-1.2.jar.disabled TotalEconomy-v1.4.1.jar
Nations-0.7.jar ServerListPlus-3.4.5-Universal.jar VoxelSniper-7.1.0-SNAPSHOT-all.jar
Nucleus-0.4.2-all.jar spongeforge-1.8.9-1890-4.1.0-BETA-1320.jar worldedit-forge-mc1.8.9-6.1.1-dist.jar
Even though I have TotalEconomy setup to display the symbol at the beginning, Nations always displays it at the end of the amount of currency. This is annoying as I'm trying to use US dollars as my currency, and the '$' is usually displayed at the beginning of the amount, not the end.
admin nation
Admin nations are nations without president, citizens, money, zones, or claimable block limit. They should be created and managed by admins using the /na commands. They can be used to protect special areas like your spawn.
According to the information above, I think admin nation should ignore the limits like the distance with other players' nations and whether the name is the same as the players' nations. In addition, because "/n nation" cannot show admin nation, I think if there is a new command showing the list of admin nation, it can be better.Admin nations
You're right, I'll make admin nations ignore the minimum distance requirement.
This problem is still existing. Admin nation still need to meet the minimum distance.
#6
Set Spawn:
Users can create hundreds of spawns inside their claimed nation, can there be a config option to how many times someone can use /n setspawn ?
i.e
maxSetSpawns: 2
Information:
Add server join date to user info
Add zones owned to user info
Add a date when the current person owned the zone
Add a date when the town was created
Allow /nation info to show anywhere like /nation here so you don't have to stand at the nation to get information about your own nation
After I set citizen and outsiders as true, citizen and outsiders still cannot open chest. I suggest to add a new option chest or add open-chest function into use option.
Adnan got this error when using /n spawn
command.
[23:23:00 ERROR] [Sponge]: Error occurred while executing command 'n spawn home' for source EntityPlayerMP['Adnan_'/26, l='world', x=211.52, y=66.00, z=-639.64]: com.arckenver.nations.event.PlayerTeleportEvent cannot be cast to org.spongepowered.api.event.impl.AbstractEvent
java.lang.ClassCastException: com.arckenver.nations.event.PlayerTeleportEvent cannot be cast to org.spongepowered.api.event.impl.AbstractEvent
at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:313) ~[SpongeEventManager.class:1.10.2-5.1.0-BETA-355]
at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:320) ~[SpongeEventManager.class:1.10.2-5.1.0-BETA-355]
at com.arckenver.nations.cmdexecutor.nation.NationSpawnExecutor.execute(NationSpawnExecutor.java:56) ~[NationSpawnExecutor.class:2.1]
at org.spongepowered.api.command.args.ChildCommandElementExecutor.execute(ChildCommandElementExecutor.java:179) ~[ChildCommandElementExecutor.class:1.10.2-5.1.0-BETA-355]
at org.spongepowered.api.command.spec.CommandSpec.process(CommandSpec.java:351) ~[CommandSpec.class:1.10.2-5.1.0-BETA-355]
at org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:333) ~[SimpleDispatcher.class:1.10.2-5.1.0-BETA-355]
at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:291) [SpongeCommandManager.class:1.10.2-5.1.0-BETA-355]
at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:82) [bd.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147361_d(SourceFile:825) [me.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147354_a(SourceFile:812) [me.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:37) [im.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:9) [im.class:?]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:123) [PacketUtil.class:1.10.2-5.1.0-BETA-355]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zio000(SourceFile:39) [fl$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fl$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_101]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_101]
at net.minecraft.util.Util.func_181617_a(SourceFile:45) [h.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(SourceFile:140) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(SourceFile:338) [ld.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(SourceFile:554) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(SourceFile:458) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
I think Residence's area selection is better than current selection method, because Residence's selection is a kind of three-dimensional method which is more flexible than two-dimensional method.
Is it possible to a Residence-like area selection way?
I installed EconomyLite-5.0.0-v2.2.4 as my server's economic plugin, but the server feedback
[18:20:33] [HikariPool-2 housekeeper/DEBUG] [com.zaxxer.hikari.pool.HikariPool/sponge]: HikariPool-2 - Pool stats (total=17, active=2, idle=15, waiting=0) [18:20:38] [HikariPool-3 housekeeper/DEBUG] [com.zaxxer.hikari.pool.HikariPool/sponge]: HikariPool-3 - Pool stats (total=17, active=2, idle=15, waiting=0) [18:20:56] [HikariPool-1 housekeeper/DEBUG] [com.zaxxer.hikari.pool.HikariPool/sponge]: HikariPool-1 - Pool stats (total=17, active=0, idle=17, waiting=0) [18:21:03] [HikariPool-2 housekeeper/DEBUG] [com.zaxxer.hikari.pool.HikariPool/sponge]: HikariPool-2 - Pool stats (total=17, active=2, idle=15, waiting=0) [18:21:08] [HikariPool-3 housekeeper/DEBUG] [com.zaxxer.hikari.pool.HikariPool/sponge]: HikariPool-3 - Pool stats (total=17, active=2, idle=15, waiting=0) [18:21:08] [Server thread/DEBUG] [FML/]: Gathering id map for writing to world save world [18:21:16] [Server thread/DEBUG] [economylite/]: playercommon: Checking if '7fee72a1-cda1-304c-9520-4adafc83118d' exists with 'economylite:Coins' - Cause[{Name=New account check, Object={org.spongepowered.mod.plugin.SpongeModPluginContainer@53755603}}] = true [18:21:16] [Server thread/DEBUG] [economylite/]: playercommon: Balance of '7fee72a1-cda1-304c-9520-4adafc83118d' - Cause[{Name=Get Balance, Object={org.spongepowered.mod.plugin.SpongeModPluginContainer@53755603}}] = 994999.00 [18:21:16] [Server thread/DEBUG] [economylite/]: playercommon: Balance of '7fee72a1-cda1-304c-9520-4adafc83118d' - Cause[{Name=Source, Object={com.arckenver.nations.NationsPlugin@11f8eec7}}] = 994999.00 [18:21:16] [Server thread/DEBUG] [economylite/]: playercommon: Checking if '7fee72a1-cda1-304c-9520-4adafc83118d' exists with 'economylite:Coins' - Cause[{Name=Source, Object={com.arckenver.nations.NationsPlugin@11f8eec7}}] = true [18:21:16] [Server thread/DEBUG] [economylite/]: playercommon: +Account Exists+ Setting balance of '7fee72a1-cda1-304c-9520-4adafc83118d' to '992499.00' with 'economylite:Coins' - Cause[{Name=Source, Object={com.arckenver.nations.NationsPlugin@11f8eec7}}] = true [18:21:16] [Server thread/DEBUG] [economylite/]: virtcommon: Checking if 'nation-0821d04a-e64c-437c-8a6a-1a8635e9175e' exists with 'economylite:Coins' - Cause[{Name=New account check, Object={org.spongepowered.mod.plugin.SpongeModPluginContainer@53755603}}] = false [18:21:16] [Server thread/DEBUG] [economylite/]: virtcommon: Checking if 'nation-0821d04a-e64c-437c-8a6a-1a8635e9175e' exists with 'economylite:Coins' - Cause[{Name=Creating account, Object={org.spongepowered.mod.plugin.SpongeModPluginContainer@53755603}}] = false [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: org.h2.jdbc.JdbcSQLException: Value too long for column "ID VARCHAR(36)": "'nation-0821d04a-e64c-437c-8a6a-1a8635e9175e' (43)"; SQL statement: INSERT INTO economylitevirts (
id,
balance,
currency) VALUES (?, ?, ?) [22001-192] [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.message.DbException.get(DbException.java:179) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.table.Column.validateConvertUpdateSequence(Column.java:335) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.table.Table.validateConvertUpdateSequence(Table.java:784) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.dml.Insert.insertRows(Insert.java:151) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.dml.Insert.update(Insert.java:114) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.CommandContainer.update(CommandContainer.java:98) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.command.Command.executeUpdate(Command.java:258) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:160) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:146) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at io.github.flibio.economylite.utils.sql.SqlManager.executeUpdate(SqlManager.java:118) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at io.github.flibio.economylite.impl.VirtualServiceCommon.setBalance(VirtualServiceCommon.java:77) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at io.github.flibio.economylite.impl.economy.LiteEconomyService.getOrCreateAccount(LiteEconomyService.java:81) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at com.arckenver.nations.cmdexecutor.nation.NationCreateExecutor.execute(NationCreateExecutor.java:111) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.api.command.args.ChildCommandElementExecutor.execute(ChildCommandElementExecutor.java:179) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.api.command.spec.CommandSpec.process(CommandSpec.java:332) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:333) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:274) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:82) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:913) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:892) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:37) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:9) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:118) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at java.util.concurrent.FutureTask.run(Unknown Source) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.util.Util.func_181617_a(SourceFile:45) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [18:21:16] [Server thread/INFO] [STDERR/]: [org.h2.jdbc.JdbcSQLException:printStackTrace:80]: at java.lang.Thread.run(Unknown Source) [18:21:16] [Server thread/ERROR] [economylite/]: Value too long for column "ID VARCHAR(36)": "'nation-0821d04a-e64c-437c-8a6a-1a8635e9175e' (43)"; SQL statement: INSERT INTO economylitevirts (
id,
balance,
currency`) VALUES (?, ?, ?) [22001-192]
[18:21:16] [Server thread/DEBUG] [economylite/]: virtcommon: +Account Does Not Exist+ Setting balance of 'nation-0821d04a-e64c-437c-8a6a-1a8635e9175e' to '0.0' with 'economylite:Coins' - Cause[{Name=Creating account, Object={org.spongepowered.mod.plugin.SpongeModPluginContainer@53755603}}] = false
[18:21:16] [Server thread/ERROR] [com.arckenver.nations/]: Could not create nation's account on the economy service !
It seems Nation cannot create an account in the economic plugin.`Could you give me some advices for economic plugins?
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.