Item Restrict by CraftersLand
This plugin allows you to create a restricted items list, you can restrict item ownership, usage, placement, pickup, brewing potions, wearing armor, drop, smelt, craft or items from creative menu. Also it features a world scanner to remove blocks already placed. It was created for modded servers in first place because there you need to restrict dangerous stuff. Was well tested on MCPC 1.6.4 and KCauldron 1.7.10, should work fine on newer versions.
Important! I made this plugin for my 1.6.4 and 1.7.10 modded servers where you need to ban bad items, it was made for this thing in mind and if you still run a 1.6 or 1.7 modded server this works great! However since 1.9 Minecraft made allot of changes to remove items numeric ID's and in 1.13 they are now completely removed, this plugin was made to work with item ID's therefore further updates no longer make sense on this plugin. I will no longer update this plugin for newer Minecraft versions, also updates with new features will be less likely as my time is limited. But plugin source code is available if you need to improve it.
======> My plugins | My servers <======
Features
- Restrictions can be enabled on all worlds or specific worlds. Config option 'EnableOnAllWorlds: true' it's great for modded servers where players can create dimensions and with this option nobody will be able to bypass restrictions in some worlds.
- Features a World Scanner that can be enabled or disabled in the config. The world scanner scans the loaded chunks to remove restricted items. * * The scanning is done in a separate thread so the server performance will not be affected.
- The restricted list saves the items ID, this way it's easy to restrict modded items and vanilla items too.
- You can provide reasons for each restricted item.
- Features sound effects on commands and when interacting with a restricted item.
- All chat messages and prefix can be customized with full color and format codes support.
- Features particle effects when trying to pickup a restricted item from the ground.
Limitations!
- Because after minecraft 1.9 came out some items like potions have the same item ID and data value, restricting them is no longer possible in versions 1.9 and later because this plugin uses items ID and values and not NBT data.
- Removing recipes from the game is no longer possible in any spigot 1.12 versions due to a bug. Use CraftingBan feature until this is fixed. Bug tracker: https://hub.spigotmc.org/jira/browse/SPIGOT-3308
What can you restrict?
Ownership
This is the main restriction that covers multiple ways of getting items. This will confiscate the items if the player manage to get them in his inventory or tries to pick them up.
Usage
This will block the usage of items or placed blocks.
Crafting
You can just block the crafting of items and allow others with bypass permission to still craft them or completely remove the crafting recipe from the game.
Smelting
This will completely remove the smelting recipe from the game and nobody will be able to smelt it.
Placement
Blocks the placement of certain blocks.
Block break
Restrict breaking of certain blocks.
Brewing
Block brewing of certain potions.
Wearing Armor
Block players from wearing certain armors.
Creative
Block getting certain items using the creative menu or mouse middle click.
Pickup
Block the pickup of items.
Drop
Block dropping of certain items.
World Banned
This will use the world scanner to remove blocks already placed on the map.
No Dependencies.
Install instructions
- Place the plugin in the server plugins folder.
- Start the server to generate the config.yml and the RestrictedItems.yml configs, then stop the server.
- Open the config.yml and customize the settings, then open the RestrictedItems.yml to add items to the restricted list. You will find in the config file a lot of details about settings and how to add items to the restricted list.
- Start the Server. Done, enjoy you server will be safe now.
How to add items to the Restricted list?
- Open the RestrictedItems.yml config and add the items there, you will find there details about how to do it.
- Save the changes done and run the command /itemrestrict reload to apply the changes.
Permissions
ItemRestrict.bypass -> Bypass all the restrictions
ItemRestrict.admin -> Bypass the item restrictions and access to the /itemrestrict reload command. Default to OP
Ban Exceptions on some items only.
Permission structure: ItemRestrict.bypass.itemID.dataValue.restrictionType
Restriction types: use | place | break | craft | brew | creative | own | wear | drop | pickup
Examples:
ItemRestrict.bypass.57.*.place
ItemRestrict.bypass.57.*.craft
ItemRestrict.bypass.57.*.*
ItemRestrict.bypass.57.10.own
ItemRestrict.bypass.57.10.*
Commands
/itemrestrict and /itemrestrict help -> Will give you the help page
/itemrestrict reload -> Reloads the config.yml and RestrictedItems.yml configs. Needs permission: ItemRestrict.admin
Notes!
This plugin was inspired by popular TekkitCustomizer plugin, but as we needed some things changed and updated we coded this plugin from 0 with similar features and new options to fit our needs.
If you like this resource and want to say thank you with a donation please use this PayPal button. Thanks!
This plugin is made by CraftersLand Minecraft Community.
:) Feel free to check us out at: www.craftersland.net
@Strovo
Yes, that's how it should be, if you are op or have the admin permission
@chinafriend
I just uploaded version 2.0.4, this error should be fixed, after bukkit staff approves the new update it will be available to download soon
[22:31:54] [Server thread/ERROR]: Could not pass event PrepareItemCraftEvent to ItemRestrict v2.0.3 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPreCraftEvent(CraftEventFactory.java:744) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.CraftingManager.craft(CraftingManager.java:298) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.ContainerPlayer.a(ContainerPlayer.java:67) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.InventoryCrafting.setItem(InventoryCrafting.java:129) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.Slot.set(Slot.java:55) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventoryView.setItem(CraftInventoryView.java:54) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.Container.clickItem(Container.java:196) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1598) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_65] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_65] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:772) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:711) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:614) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] at java.lang.Thread.run(Unknown Source) [?:1.8.0_65] Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(Unknown Source) [?:1.8.0_65] at java.util.ArrayList.get(Unknown Source) [?:1.8.0_65] at net.craftersland.itemrestrict.restrictions.Crafting.onItemCrafted(Crafting.java:27) [?:?] at sun.reflect.GeneratedMethodAccessor279.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_65] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_65] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-PaperSpigot-4a647dc-12698ea] ... 22 more
when i write /itemrestrict or /itemrestrict help only show (http://prntscr.com/8w14ku) with anvil sound
Kcauldron 1.7.10-1492.152
ItemRestrict 2.0.3
That is what i need. Thanks, I hope you will keep it up to date.
@Thedcplaya
you need to delete the config.yml file so the plugin will create a new one, then re-configure the plugin on the new config file.
That error tells you some settings are missing in the config you have now.
Getting this spam on console 19:36:18 CONSOLE: ERROR]: [ItemRestrict] Could not locate 'General.EnableOnAllWorlds' in the config.yml inside of the ItemRestrict folder! (Try generating a new one by deleting the current) How do i fix it
The plugin would be awesome but deny wearing of armor and/or blocks does not work :( can you fix this?
Hi !
Your plugin is nice and up to date ! But could you improve it with restrictions about enchantments, interactions with chests/furnaces/droppers/dispensers, drink potions, etc. (the confiscation could be a little hard and abuse by players)
Moreover, could you add a restriction about take and put lava/water in a bukket please ? Currently, only "OwnershipBanned" could limit, but not to take lava. (nb: interactions with containers could limit abuse with dispensers to put lava for instance).
Like in ModifyWorld (not maintained) : http://dev.bukkit.org/bukkit-plugins/modifyworld/
Thanks :)
i love this plugin very much.
*I AM WILLING TO PAY YOU FOR THESE FEATURES*
This plugin seems to work decent however i do have a problem, there is no way to prohibit people from equipping armor with out disabling permission to own (which is not helpful to me because it will then "confiscate" the item).
I'm primarily asking for some way that will prohibit a player from equipping a certain armor without taking it away.
It would also be very handy if you can make the restrictions compliant to enchantments, for instance a player may be able to use a sharpness 1 sword but now sharpness 3 until the get a permission.
*I AM WILLING TO PAY YOU FOR THESE FEATURES*
contact my skype: coolbannana44 or enjin msg me on my site pirateseas.net
@chinafriend
I can add an option to disable this feature if you think it will be useful, I did it so this way the system will not do a lot of work not allowing the player to pick it up, only one check and them it's removed, but i't not resource intensive anyway, I was just thinking of the best optimized solution, and lowest resource usage.
A item will broken when someone who has no permisson to pick up it, can it only not be pick up but dont get broken?
@ChillerKraft
ok, i'l think about it
@brunyman
well tbh i looked at this plugin to be a lot like the dead plugin modifyworld, it has a lot of features for items and that was the only thing i couldn't think of that this plugin doesn't seem to have... plus, modifyworld had an issue where the ability to block players from putting items in chests didn't work
multiple times i wanted to give the ability to control what players can put into chests... usually nothing... but that permission node doesn't work.
one thing i wanted to do was let people do was ust be able to open and view chest contents, but that's not possible because if someone accidentally puts an item in the chest, it's then stuck in that chest. since the take out node works but put in node doesnt work.
also, im using a plugin called chestregen, well, i want to be using it. the problem with it right now is, they dont have the ability to not overwrite items in chests. so what i'd like to do is not let people put items in those chests, but not possible
i'm not trying to pressure you to do anything, i just want to give you food for thought incase maybe my thoughts are correct in some ways and could be helpful :)
@ChillerKraft
Items added to Ownership bans can't be taken/placed to chests, or you just want to only not allow items to add/remove from chests? and why do you need this?
can you add restrictions for adding and taking stuff from chests?