⚙ UltimateCore - The Best Essentials Plugin! (API 7, MC 1.12)


Awesome plugin.
And it works with other mods.


I can’t use /back

No found!!!


A new version has been released for UltimateCore, it is available for download here.

This is an alpha build and not ready for production server use.
Documentation: https://github.com/Bammerbom/UltimateCore/blob/master/docs/home.md

  • Fixed votifier module not loading
  • Fixed tab list max length
  • Fixed errors in inventory click event
  • Fixed /back command
  • Fixed new lines for automessages

@bai_bo This fixes your issue


i’m so sorry…
but thank you!


A new version has been released for UltimateCore, it is available for download here.

Documentation: https://github.com/Bammerbom/UltimateCore/blob/master/docs/home.md

  • Fixed Sponge API 7 compatibility

I feel fairly confident this build is stable, so this plugin is now no longer in alpha!
You are welcome to use this build on production servers.


I will give it a try !

# apitype: spongeapi
# apiversion: 5.1.0-SNAPSHOT-faba8ee
# cores: 2
# economyplugin: economylite / EconomyLite / 2.8.0
# freeram: 230004272
# implname: spongeforge
# implversion: 1.10.2-2221-5.1.0-BETA-2185
# javaversion: 1.8.0_121
# language: EN_US
# maxram: 3627024384
# mcversion: 1.10.2
# modules: default, warp, vanish, deathmessage, connectionmessages, inventory, burn, time, unknowncommand, serverlist, blood, tablist, kick, geoip, god, sudo, votifier, spy, afk, mail, heal, broadcast, food, weather, home, blacklist, back, fly, commandtimer, random, nick, sign, chat, personalmessage, teleport, playerinfo, jail, deaf, world, gamemode, item, kit, poke, spawn, mute, blockinfo, automessage, ban
# onlinemode: false
# osarch: 64
# osname: Windows Server 2008 R2
# osversion: 6.1
# permissionsplugin: ninja.leaping.permissionsex / PermissionsEx / 2.0-SNAPSHOT-b140
# playersonline: 8
# plugins: 
Minecraft / Minecraft / 1.10.2
mcp / Minecraft Coder Pack / 9.19
FML / Forge Mod Loader /
Forge / Minecraft Forge /
spongeapi / SpongeAPI / 5.1.0-SNAPSHOT-faba8ee
sponge / SpongeForge / 1.10.2-2221-5.1.0-BETA-2185
actionbroadcaster / ActionBroadcaster / 0.4.4
adminshop / AdminShop / 1.8.2
catclearlag / CatClearLag / 0.6.5
cmdkits / Command Kits / 1.2.0
commandsigns / CommandSigns / 1.3.1
badmobs / Bad Mobs /
customnpcs / CustomNPCs / 1.10.2
economylite / EconomyLite / 2.8.0
helpme / HelpMe / 0.2.2
keys / keys / 1.2
io.github.hsyyid.kits / Kits / 1.7.4
mercurius_updater / mercurius_updater / 1.0
mmcreboot / MMCReboot / 1.3
ninja.leaping.permissionsex / PermissionsEx / 2.0-SNAPSHOT-b140
pixelvip / PixelVip / 1.0.0
playershops / Player Shops / 1.10.2-1.0.0
plotsquared / PlotSquared / 3.5.0-SNAPSHOT
pore / PoreRT / 1.0.0-backport
redprotect / RedProtect / 7.1.4
digimobs / Digimobs / 0.9.8f
stackban / StackBan / 0.2.5
tmotd / TitleMOTD / 1.0
ultimatechat / UltimateChat / 1.7.1
ultimatecore / UltimateCore / 3.0.7
statusprotocol / StatusProtocol / Not Available
virtualchest / VirtualChest / 0.3.0
# serverid: fbbd172a-e50c-4841-91a7-03b8878f8aae
# servertype: server
# statsversion: 1
# time: 2017-05-13_13-19-30-028 / 1494652770035
# ucversion: 3.0.7
# worldsloaded: 6
# UC message: Generated error using /uc error
# EX message: null
# Exception: java.lang.NullPointerException
	at bammerbom.ultimatecore.sponge.defaultmodule.commands.UltimatecoreCommand$ErrorCommand.execute(UltimatecoreCommand.java:167)
	at bammerbom.ultimatecore.sponge.api.command.impl.ExecutorListenerWrapper.execute(ExecutorListenerWrapper.java:54)
	at org.spongepowered.api.command.args.ChildCommandElementExecutor.execute(ChildCommandElementExecutor.java:182)
	at org.spongepowered.api.command.spec.CommandSpec.process(CommandSpec.java:359)
	at org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:336)
	at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:295)
	at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:1083)
	at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:913)
	at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:892)
	at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:37)
	at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:9)
	at org.spongepowered.common.network.PacketUtil.lambda$onProcessPacket$0(PacketUtil.java:158)
	at org.spongepowered.common.event.tracking.CauseTracker.switchToPhase(CauseTracker.java:156)
	at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:157)
	at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjf000(SourceFile:539)
	at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at net.minecraft.util.Util.func_181617_a(SourceFile:45)
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668)
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471)
	at java.lang.Thread.run(Unknown Source)



If you run the ‘/uc error’ command you will get this error as a test.
Also, next time please post this on github, thanks.


Holy mother of headings… That is a lot of huge text


I might stay on UltimateCore, it’s really good :slight_smile:

However, I miss two world options : borders and pregen. Do you plan to add them ?


Expect them soon :slight_smile:
But I am currently in my exam weeks, so I don’t have time to work on UltimateCore.
My exam weeks end in a few days tho


As long as it’s planned, it’s all right :slight_smile:

Also, could you implement /warp warpName Player1 Player2 Player3 ? Or at least /warp warpName Player

I wish you to succeed in your exams !

Edit : I didn’t try if /tphere can teleport people not connected.


I will implement /warp warp player1, which will have support for @a tags etc. I want the command to be consistent with other command.
/tphere can’t teleport people which are not connected because sponge doesn’t support editing the location of offline players. (Right?)

EDIT: I also created a text channel with my entire todo list in the discord. Suggestions can also be suggested there. Click to join the discord


Nice for /warp :slight_smile:

However, /tphere works on nucleus with offline players, don’t know how they did. Maybe a local file which detect a player login ?


Yeah probably saving the location until login.
I can do something like that, tho it is not very high priority. (I put it under medium for now)


how exactly would you go about fixing this bammer? http://prntscr.com/fcjldt People look at that and think the server is offline or out of date. I had to remove UC due to this as I can’t just disable this feature in particular and use another plugin such as serverlistplus to display my motd due to the dependencies that it requires (status protocol i believe) is primarily built into UC for some reason and wont let the other load or work when uc’s serverlist module is disabled. Huge conflict of interest. there are alot of uc features that I’d still love to utilize but the motd serverlist is a problem.


Yeah I will fix that.
I shaded status protocol in but I will change that to be a dependency.
If you just don’t install status protocol and use serverlistplus it should work tho


it doesn’t work unfortunately. I’m not sure why but it will crash the server if status protocol itself isn’t there.


Could you send the error log?
I will try to get a build out that is working very soon.

[21:56:32] [Server thread/ERROR] [Sponge/]: The Scheduler tried to run the task UC afk title task owned by Plugin{id=ultimatecore, name=UltimateCore, version=3.0.11, description=All you need to set up a server and more!, url=http://ultimatecore.org/index, authors=[Bammerbom], source=/home/admin/桌面/hxsj/mods/UltimateCore.jar}, but an error occured.
	at org.spongepowered.common.text.serializer.JsonTextSerializer.deserialize(JsonTextSerializer.java:58) ~[JsonTextSerializer.class:1.10.2-2281-5.2.0-BETA-2353]
	at bammerbom.ultimatecore.sponge.api.language.impl.UCLanguageService.getMessage(UCLanguageService.java:82) ~[UCLanguageService.class:?]
	at bammerbom.ultimatecore.sponge.api.language.utils.Messages.getFormatted(Messages.java:64) ~[Messages.class:?]
	at bammerbom.ultimatecore.sponge.modules.afk.runnables.AfkTitleTask.run(AfkTitleTask.java:46) ~[AfkTitleTask.class:?]
	at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:139) ~[Task$Builder.class:1.10.2-2281-5.2.0-BETA-2353]
	at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:183) ~[SchedulerBase.class:1.10.2-2281-5.2.0-BETA-2353]
	at org.spongepowered.common.scheduler.SyncScheduler.executeTaskRunnable(SyncScheduler.java:81) ~[SyncScheduler.class:1.10.2-2281-5.2.0-BETA-2353]
	at org.spongepowered.common.scheduler.SchedulerBase.startTask(SchedulerBase.java:179) ~[SchedulerBase.class:1.10.2-2281-5.2.0-BETA-2353]
	at org.spongepowered.common.scheduler.SchedulerBase.processTask(SchedulerBase.java:165) ~[SchedulerBase.class:1.10.2-2281-5.2.0-BETA-2353]
	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) [?:1.8.0_65]
	at org.spongepowered.common.scheduler.SchedulerBase.runTick(SchedulerBase.java:108) [SchedulerBase.class:1.10.2-2281-5.2.0-BETA-2353]
	at org.spongepowered.common.scheduler.SyncScheduler.tick(SyncScheduler.java:51) [SyncScheduler.class:1.10.2-2281-5.2.0-BETA-2353]
	at org.spongepowered.common.scheduler.SpongeScheduler.tickSyncScheduler(SpongeScheduler.java:191) [SpongeScheduler.class:1.10.2-2281-5.2.0-BETA-2353]
	at org.spongepowered.mod.SpongeMod.onTick(SpongeMod.java:271) [SpongeMod.class:1.10.2-2281-5.2.0-BETA-2353]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_18_SpongeMod_onTick_ServerTickEvent.invoke(.dynamic) [?:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:635) [EventBus.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:591) [EventBus.class:?]
	at net.minecraftforge.fml.common.FMLCommonHandler.onPreServerTick(FMLCommonHandler.java:274) [FMLCommonHandler.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:602) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_65]

Do not know why, every time you want to brush this newspaper wrong.