Nucleus: The Ultimate Essentials Plugin (MC 1.10.2, 1.11.2, 1.12.2)

wiki updated with rtp perms and other perms?

Hey @Dualspriral do you think you could add a /skull command? And to @Khaoz yes all of the perms can be found http://nucleuspowered.org/docs/permissions.html for RTP the perm is “nucleus.rtp.base”

@Khaoz Yes, the command and permission references are up to date.

@Riddle We will, once we know it works correctly, we just haven’t tested it in a while.

1 Like

Hey Dual,
I was wondering if it would be possible to add a more advanced system for the afk kick. My players are avoiding the kick by making afk pools, or using the minecraft jump glitch(Pressing the space bar right as they go full screen). So I was wondering if you would be able to make it so it tracks blocks traveled, or if there is a way to detect them going in circles. This would be insanely helpful, and it would reduce quite a bit of server lag.

Thanks,
Nova

Running into some random new issues with /sethome /home /homes, and not sure if its related but /fly says its working but doesnt.

21.07 21:40:29 [Server] Server thread/INFO SpongeForge
21.07 21:40:29 [Server] INFO Minecraft: 1.8.9
21.07 21:40:29 [Server] INFO SpongeAPI: 4.2.0-SNAPSHOT-bd51b3a
21.07 21:40:29 [Server] INFO SpongeForge: 1.8.9-1890-4.2.0-BETA-1509
21.07 21:40:29 [Server] INFO Minecraft Forge: 11.15.1.1902

21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: org.spongepowered.api.data.persistence.InvalidDataException: Could not deserialize com.gmail.trentech.pjp.data.mutable.HomeData! Don't worry though, we'll try to deserialize the rest of the data. 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at org.spongepowered.common.data.util.DataUtil.deserializeManipulatorList(DataUtil.java:130) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.entity.Entity.readFromNbt(Entity.java:985) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.entity.EntityLivingBase.readFromNbt(EntityLivingBase.java:180) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.entity.Entity.handler$onReadFromNBT$0(Entity.java:954) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.entity.Entity.func_70020_e(Entity.java:1508) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.world.storage.SaveHandler.func_75752_b(SaveHandler.java:279) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.server.management.ServerConfigurationManager.func_72380_a(ServerConfigurationManager.java:281) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:190) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:239) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.access$100(NetworkDispatcher.java:54) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.func_73660_a(NetworkDispatcher.java:190) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:289) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:189) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:724) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [org.spongepowered.common.data.util.DataUtil:deserializeManipulatorList:131]: at java.lang.Thread.run(Thread.java:745) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [java.lang.Throwable:printStackTrace:634]: Caused by: java.lang.ClassNotFoundException: com.gmail.trentech.pjp.data.mutable.HomeData 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [java.lang.Throwable:printStackTrace:634]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [java.lang.Throwable:printStackTrace:634]: at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 21.07 21:36:02 [Server] Server thread/INFO [STDERR]: [java.lang.Throwable:printStackTrace:634]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 21.07 21:36:03 [Multicraft] Skipped 6 lines due to rate limit (29/s) 21.07 21:36:03 [Server] Server thread/INFO Sean_Amor joined the game 21.07 21:36:06 [Server] Server thread/INFO [nucleus]: Sean_Amor ran the command: /sethome 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: java.lang.NullPointerException 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.HashMap.merge(HashMap.java:1216) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.Collectors.lambda$toMap$232(Collectors.java:1320) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.Collectors$$Lambda$115/231820614.accept(Unknown Source) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.Iterator.forEachRemaining(Iterator.java:116) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at io.github.nucleuspowered.nucleus.dataservices.UserService.getHomes(UserService.java:178) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at io.github.nucleuspowered.nucleus.modules.home.commands.SetHomeCommand.executeCommand(SetHomeCommand.java:60) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at io.github.nucleuspowered.nucleus.modules.home.commands.SetHomeCommand.executeCommand(SetHomeCommand.java:30) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at io.github.nucleuspowered.nucleus.internal.command.AbstractCommand.startExecute(AbstractCommand.java:390) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at io.github.nucleuspowered.nucleus.internal.command.AbstractCommand.lambda$execute$3(AbstractCommand.java:374) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at io.github.nucleuspowered.nucleus.internal.command.AbstractCommand$$Lambda$547/244050047.run(Unknown Source) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:138) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at org.spongepowered.api.scheduler.Task$Builder$$Lambda$216/473319467.accept(Unknown Source) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:177) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at org.spongepowered.common.scheduler.SchedulerBase$$Lambda$227/694328914.run(Unknown Source) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.concurrent.FutureTask.run(FutureTask.java:266) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 21.07 21:36:06 [Server] pool-3-thread-3/INFO [STDERR]: [io.github.nucleuspowered.nucleus.internal.command.AbstractCommand:startExecute:406]: at java.lang.Thread.run(Thread.java:745)

@Sean_Amor - I’ve answered your question on the GitHub thread at Sethome Home · Issue #269 · NucleusPowered/Nucleus · GitHub. Hopefully that’ll resolve the issue, thanks for reporting it.

@IBG_Nova AFK pool detection is potentially a complex thing, and I think it’s better suited in it’s own plugin - I don’t think it’s essential for most server owners and it would be a pain to keep up to date with everything else in Nucleus. Maybe make a plugin request for it?

Hey @dualspiral I’m not sure if this crash is attributed to nucleus or spongeforge or something even stranger. But I have a player that every time he joins crashes the server. The server owners and I decided to send this crash report to a handful of people and see if anyone has seen it before or if its attributed to their plugin. So any information you can give us would help xD. If it has nothing to do with your plugin you can say that as well lol.

Does deleting his data file fix this?

I don’t think it is me, but I usually see that when I try to set a player’s location using an async thread. I’ll look into it on my end, but I think I was careful to not code that as async because I did once, and this happened.

I’d ask the question as to where he logged out, and is there a reason as to why a plugin is trying to move him - did you add a protected area a plugin is trying to move him out of, for example?

@SnowBlitzz offers an alternative solution, but it has to be the .dat file, not any of the other files.

We don’t have anything like that in particular. Our worldguard plugin is custom coded and isn’t advanced enough at the moment to move a player to a different location. The only thing I can think is maybe he glitched outside of the world border using a pokemon and the game is attempting to move him back inside. Could that cause an error like this?

If I can get the player back online I do want to try to delete his data, unfortunately it happened while I was asleep and the owner who was awake simply asked the player to stop logging in xD. I’m going to hope he added him on skype so we can attempt to replicate it on our test server.

I suppose it’s possible, but I don’t know.

I’ll try and get a hold of the guy who was having the error thanks for thinking on it. I also had 2 more things that I thought of that would be cool to have in nucleus xD. The requests never stop right? lol. Anyway, is it possible to add a caps filter to this plugin? If not thats fine I’m sure I can figure out something, 2nd is there a way to make it so links are clickable in broadcasts? Currently it leaves them unclickable. Is there a setting to change that? Thanks for the hard work, and for looking at this error for me.

I tend to think that filtering should go through other plugins, they can support them much better than us.

Whoops, that’s meant to be the case already - I’m working on it now!

Cool deal. xD We held a tournament yesterday and I could post the links for people to click in chat but not in broadcasts. Thanks again! I’ll see if I can edit my filtering plugin to stop caps as well. I think that should be possible.

I can’t seem to find an equivalent to the essentials command ‘/gc’ in nucleus which gave memory usage and TPS information about the server. You should consider adding something like it in a future update (unless of course I missed it).

You can do /sponge tps

You can also do /sponge timings

The cooldown for /time set. Isn’t setting properly. I set it to 120seconds in the “Main.config”, but it doesn’t seem to set a cooldown players with that perm can still spam it.

I believe that should be edited in the command.config or something, not the main.

Right sorry that’s what I meant.

time {
# Time, in seconds, that a player has to wait between uses of this command. Set to 0 to disable.
cooldown=8100
# Cost of a command that a player has to pay to use the command. The cost will only be deducted if successful. Set to 0 to disable.
cost=200
# Sets whether a command is enabled.
enabled=true
# Time, in seconds, that a player has to wait without moving or using other commands before their command will execute. Set to 0 to disable.
warmup=0