NoItem
NoItem v3.1.0 - DERP.
What does it do?
NoItem aims to allow server admins to restrict almost any aspect of players actions via permissions. Things such as placing and breaking blocks, interacting with levers and buttons, opening chests and furnaces, even breeding animals can be controlled! There are of course other things that can be restricted as well. For a complete list, check the wiki!
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Downloads:
http://dev.bukkit.org/server-mods/noitem/files/
Beta/Development builds may contain bug fixes, but also may contain new bugs
So before you report a bug, check and see if a new build has fixed it!
Feature List
NoItem can restrict the following:
- Crafting certain items
- Holding certain items
- Having certain items
- Brewing certain potions
- Cooking certain items
- Picking up certain items
- Dropping certain items
- Placing certain blocks
- Breaking certain blocks
- Wearing certain armors
- Interacting with certain items / entities in general
- Left clicking certain items / entities
- Right clicking certain items / entities
- Using certain tools. (right click / left click / in general)
Commands
| Command | Permission | Description |
|---|---|---|
| /noitem | noitem.admin | Prints current NoItem version |
| /noitem reload | noitem.command.reload | Reloads the configuration |
| /noitem debug toggle | noitem.command.debug.toggle | Toggle debugging |
| /noitem debug dump | noitem.command.debug.dump | Write debug file to the servers base directory |
Videos
FAQ
Q: How do I...
A: Check the wiki! If you are still confused and have tried to figure it out, ask in the comments.
Q: There is an error in the console or something is not working as expected
A: Submit a bug report to github! (Link above) DO NOT post the error in the comments section! Also be sure to include the error in your report.
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
NoItem 4.X - It's Aliiiveeee!
NoItem 4.X is currently in development and is not finished. There will be bugs, there will be a lack of certain features, there will be questions.
Here is the link to the information page: https://github.com/nala3/Noitem4/wiki
Here is the link to the development builds: http://ci.worldoftomorrow.net/ (Also on the wiki page)
Submit bug reports to the github bug tracker.
Currently known issues are:
- None - Please report any found!
Currently Implemented Features (also their permissions)
- break
- place
- craft
- open
- cook
- pickup
- drop
- hold
- interact.object
- interact.entity
- use - is buggy and needs refinement
Permissions format:
- noitem.action.<action>.<object>[.secondaryValue]
- noitem.object.<object>[.secondaryValue].<action>
- Asterisk values are supported for specific actions and objects. not for all actions or objects at once. (e.g. noitem.action.* is not supported, but noitem.action.break.* is)
I am open to suggestions on what other action to implement on top of the ones I am currently working on.
A wild
button appears!
You use "CLICK". Its super effective!
-
View User Profile
-
Send Message
Posted Dec 27, 2012@RyanSayer
Create a folder named "lists" in your noitem folder and restart the server.
-
View User Profile
-
Send Message
Posted Dec 27, 2012Causing an incredible amount of lag NoItem v3.0.0-231
27.12 16:44:26 [Server] INFO ... 14 more 27.12 16:44:26 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 27.12 16:44:26 [Server] INFO at java.lang.reflect.Method.invoke(Unknown Source) 27.12 16:44:26 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 27.12 16:44:26 [Server] INFO at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source) 27.12 16:44:26 [Server] INFO at net.worldoftomorrow.noitem.events.Listeners.onInventoryClick(Listeners.java:62) 27.12 16:44:26 [Server] INFO at net.worldoftomorrow.noitem.events.Handlers.handleNoWearInvClick(Handlers.java:281) 27.12 16:44:26 [Server] INFO at net.worldoftomorrow.noitem.lists.Lists.isArmor(Lists.java:32) 27.12 16:44:26 [Server] INFO at net.worldoftomorrow.noitem.lists.Armor.isArmor(Armor.java:16) 27.12 16:44:26 [Server] INFO at net.worldoftomorrow.noitem.lists.Armor.isHelmet(Armor.java:24) 27.12 16:44:26 [Server] INFO Caused by: java.lang.NullPointerException 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.Packet102WindowClick.handle(SourceFile:31) 27.12 16:44:26 [Server] INFO at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:1208) 27.12 16:44:26 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 27.12 16:44:26 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 27.12 16:44:26 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 27.12 16:44:26 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 27.12 16:44:26 [Server] INFO org.bukkit.event.EventException 27.12 16:44:26 [Server] SEVERE Could not pass event InventoryClickEvent to NoItem v3.0.0-231 27.12 16:44:25 [Server] WARNING §cphilbyrne123 §4was denied access to command. 27.12 16:44:25 [Server] INFO ... 14 more 27.12 16:44:25 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 27.12 16:44:25 [Server] INFO at java.lang.reflect.Method.invoke(Unknown Source) 27.12 16:44:25 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 27.12 16:44:25 [Server] INFO at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source) 27.12 16:44:25 [Server] INFO at net.worldoftomorrow.noitem.events.Listeners.onInventoryClick(Listeners.java:62) 27.12 16:44:25 [Server] INFO at net.worldoftomorrow.noitem.events.Handlers.handleNoWearInvClick(Handlers.java:281) 27.12 16:44:25 [Server] INFO at net.worldoftomorrow.noitem.lists.Lists.isArmor(Lists.java:32) 27.12 16:44:25 [Server] INFO at net.worldoftomorrow.noitem.lists.Armor.isArmor(Armor.java:16) 27.12 16:44:25 [Server] INFO at net.worldoftomorrow.noitem.lists.Armor.isHelmet(Armor.java:24) 27.12 16:44:25 [Server] INFO Caused by: java.lang.NullPointerException 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.Packet102WindowClick.handle(SourceFile:31) 27.12 16:44:25 [Server] INFO at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:1208) 27.12 16:44:25 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 27.12 16:44:25 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 27.12 16:44:25 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 27.12 16:44:25 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 27.12 16:44:25 [Server] INFO org.bukkit.event.EventException 27.12 16:44:25 [Server] SEVERE Could not pass event InventoryClickEvent to NoItem v3.0.0-231
-
View User Profile
-
Send Message
Posted Dec 27, 2012Using noitem 3.0.1-233 (running the same server as Wfuller). All our noitem nodes are based on numerics rather than name. E.g. "noitem.nocraft.322" I do not know if that changes anything.
Our server lag is being spammed with the following error:
[SEVERE] Could not pass event PlayerInteractEntityEvent to NoItem v3.0.1-233 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:1100) at net.minecraft.server.v1_4_6.Packet7UseEntity.handle(SourceFile:36) at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112) at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at net.worldoftomorrow.noitem.util.Messenger.getEntityName(Messenger.java:102) at net.worldoftomorrow.noitem.permissions.PermMan.construct(PermMan.java:118) at net.worldoftomorrow.noitem.permissions.PermMan.has(PermMan.java:37) at net.worldoftomorrow.noitem.events.Handlers.handleInteractEntity(Handlers.java:189) at net.worldoftomorrow.noitem.events.Listeners.onPlayerInteractEntity(Listeners.java:49) at sun.reflect.GeneratedMethodAccessor256.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 14 more
-
View User Profile
-
Send Message
Posted Dec 27, 2012@nala3
http://www.minecraftforum.net/topic/81771-146-mo-creatures-v440-with-golems/
I think it may need a compatibility pack for Bukkit for it to work properly, honestly. Someone had made one a while ago, but it's way out of date now and I'm not proficient enough at coding to figure out how to update it.
http://dev.bukkit.org/server-mods/unofficial-mocreaturescbcompat/
It's probably too much to bother with, really. The no interact error doesn't really seem to use up resources, just spams the console which isn't the worst thing in the world. It's definitely worth dealing with that to keep using your plugin :)
I'm going to see if someone I know might be able to update that compatibility pack, I think that would probably solve the problem!
-
View User Profile
-
Send Message
Posted Dec 27, 2012@Q2Lummox
It is included in 3.0.1 which is awaiting BukkitDev approval. You can download the same exact version however from the development builds link.
@wfuller1
Stopping crafting has always been a bit tricky :P But crafting seems to be stoppable on the normal crafting table. For instance I just tested "noitem.nocraft.diamondpickaxe" and it worked fine.
If I could get a bit more information on how to re-produce the problem I will try and find a solution for you :)
-
View User Profile
-
Send Message
Posted Dec 27, 2012Ah I see. Must have been a misunderstanding on my part with what nointeract does,
I've had a bit more of a play around with the 3.0.1-233 version and have re-instated my old nouse permission nodes. They now seem to be working fine, and I have managed to disallow all use of tools for certain groups.
There are now no errors popping up at all, however I'll keep you updated if anything shows up in the logs at all.
We are still having troubles with nocraft though. I haven't altered or moved a single nocraft node since updating from version 2.0.6. Our permissions file hasn't changed a bit, however I am able to craft anything that should have been restricted. No errors are being flagged up either, so I have nothing to show you that might be causing it!
-
View User Profile
-
Send Message
Posted Dec 27, 2012Node. "Nouse" allowed me to hold an item in hand (although I could not use it), but it was useful. You're going to reimplement? or will you change by ". nohold"?
-
View User Profile
-
Send Message
Posted Dec 26, 2012Version 3.0.1 has been submitted and contains bug fixes and a new feature!
-
View User Profile
-
Send Message
Posted Dec 26, 2012@wfuller1
NoInteract stops the player from interacting with a block / entity, not using a tool. So if you had noitem.nointeract.right.cow, you would stop them from being able to breed cows. To stop someone from using a tool, just use the nohold node. I suppose when I re-implement nouse, it will use the tools list, since that is the only reason it's even there lol.
Also, do you have custom mobs on your server? The error appears to be caused by the Messenger class method "getEntityName" which is only run if the interacted object is an entity. Does the error always occur, or only with entities?
@Tehkiah
Do you have a link to the mod? I may be able to work something out.
-
View User Profile
-
Send Message
Posted Dec 26, 2012So...I'm not sure if this is something easily fixed, but I'm currently using mods with the MC Port Central modded bukkit server and I'm getting errors when the player right clicks on non-standard entities like mobs from the Mo Creatures mod. Seems to have something to do with the new interact event.
Other than that, just wanted to say that after some extensive testing, everything seems to be working awesomely. Thanks! :)
-
View User Profile
-
Send Message
Posted Dec 26, 2012Loving the new updates, however we are having a few troubles getting the new nointeract to work.
Every time we test with a tool that should be disabled we get this error: http://pastebin.com/RrAJtPu0
Hope you can help!
Thanks.
-
View User Profile
-
Send Message
Posted Dec 25, 2012@lANTHONYl
No, I don't use spout, but I was going to eventually fork a version of the plugin just Spout and Tekkit users, but not right now. I am trying to get the main version completed before I start that.
EDIT: Actually, looking on the Spout forums, it appears that a 1.4.6 update is already near. http://forums.spout.org/threads/update-process-for-minecraft-1-4-6.6196/
-
View User Profile
-
Send Message
Posted Dec 25, 2012@SkyPrison
Create a folder called "lists" in the NoItem plugin folder then restart your server. The errors are being thrown because the lists are not being created automatically and thus are null.
-
View User Profile
-
Send Message
Posted Dec 25, 2012@SkyPrison
I use bPerms and NoItem works perfectly fine. Are you using the global file or the world file for your permissions? The global groups file does not work for me with bperms for anything. On top of this, the error you posted looks a lot like the one when I was getting when I would shift click items in my inventory. If that's the case, just make a folder in your NoItem folder and name it "lists" (without quotes). That should fix it up.
-
View User Profile
-
Send Message
Posted Dec 25, 2012Hi there,
I cannot get noitem to work with bpermissions, i didn't see anything about bpermissions in your topic so i asumed it worked. i tried development builds and stable builds.
here's one of the errors i recieve, i dont know if thats the error thats effecting it though. 25.12 19:31:58 [Server] INFO at net.worldoftomorrow.noitem.events.Listeners.onInventoryClick(Listeners.java:62) 25.12 19:31:58 [Server] INFO at net.worldoftomorrow.noitem.events.Handlers.handleNoWearInvClick(Handlers.java:281) 25.12 19:31:58 [Server] INFO at net.worldoftomorrow.noitem.lists.Lists.isArmor(Lists.java:32) 25.12 19:31:58 [Server] INFO at net.worldoftomorrow.noitem.lists.Armor.isArmor(Armor.java:16) 25.12 19:31:58 [Server] INFO at net.worldoftomorrow.noitem.lists.Armor.isHelmet(Armor.java:24)
i added noitem.* to test with this try
-
View User Profile
-
Send Message
Posted Dec 25, 2012@nala3
I knew about the nms / obc naming commit. I thought you personally use spout so i had my fingers crossed that you might version it for 1.3.2 :/
- EDIT -
There are some other bukkit forks that remove the offending commits btw, but i probably ought not reference them here.
-
View User Profile
-
Send Message
Posted Dec 25, 2012@nala3
Creating the lists folder worked like a charm. No error on startup, no errors when shift clicking. Thanks a bunch! Merry Christmas!
-
View User Profile
-
Send Message
Posted Dec 25, 2012@lANTHONYl
Right now, only with 1.4.6. CraftBukkit now has the version in the NMS(net.minecraft.server) and CB(org.bukkit.craftbukkit) packages paths. So that means if any plugin uses CB or NMS code, they will break with every new Minecraft version, and the old ones too.. Since I use NMS code to check if something is a fuel or is cookable, NoItem is now version specific. There is a good solution to the problem, I just have not had time to implement it.
-
View User Profile
-
Send Message
Posted Dec 25, 2012@pip2kk
Sorry, I had the wrong wiki link up on the page :P https://github.com/World-of-Tomorrow/NoItem/wiki/Permissions
-
View User Profile
-
Send Message
Posted Dec 25, 2012@pip2kk
That is a feature in the dev build which is awaiting bukkit approval.