Tekkit Customizer

tekkit customizer icon

Use this plugin to ban items and blocks for Bukkit, Tekkit, and FTB servers using the Bukkit API. TekkitCustomizer removes banned items from the world and player inventories. It is easy to configure, can be applied retroactively, and automatically logs confiscated items. It requires no permissions plugin unless exceptions are need for certain players. The plugin settings default to commonly-banned Tekkit items.

Because every story that starts with "We decided to start up a Server..." shouldn't end with "...so we had to reset the world."

Installation

Copy the .jar file into your plugins folder to install the plugin. Then restart the server or use a plugin manager to load the plugin.

Configuration

An entry in the config file (config.yml) to ban ALL wool looks like this:

35:*:wool:because pink wool is for girls
  1. The first part is the material ID.
  2. The second part is the data value. Some blocks have the same ID, but a different data value. For instance, white wool is 35:0, while pink wool is 35:6. If you put an asterisk, that means ban ALL data values for the given material ID.
  3. The third part is for your reference. It will appear in the logs to shorthand what the various IDs and data values mean.
  4. The fourth part is the reason for the ban. It will be shown to players at useful times such as when a player tries to craft a banned item. If you don't fill in the reasons for your bans, you will be constantly asked why various items are banned.

After you edit your ban list, use /ReloadBannedItems to update the bans in-game. If your config.yml file "resets itself", that means you made a formatting mistake while editing the file. NotepadPlusPlus is a free file editor perfect for editing YAML files

A full list of Block IDs will help you add banned items. You can also get the block IDs and Data Values by using /blockinfo (requires /op or tekkitcustomizer.blockinfo permission). This tells you the information about the item you're holding and the one you're pointing at in the world. Some items have a different values in your inventory as opposed to ones place in the world (eg. a door item in the inv vs a placed door in the world).

Making Ban Exceptions

A player who has /op automatically ignores bans as with any player with permission:

tekkitcustomizer.*

You can make individual ban exceptions to give some players to generally banned items through permission nodes. Here are various examples, which should help you understand without further explanation.

- tekkitcustomizer.35.*.use
- tekkitcustomizer.35.6.place
- tekkitcustomizer.35.*.craft
- tekkitcustomizer.35.6.own
- tekkitcustomizer.35.6.*
- tekkitcustomizer.35.*.*

You can't prevent a specific player's placed block from being removed from the world as this plugin does not track who owns placed blocks in the world.

Types of Bans

Usage Bans

This ban prevents players from using an item, which means left-click or right-click while the item is in-hand. This works well for items like the Mining Laser, but won't stop players from using items which benefit from passive use (eg. modded armors, Talisman of Repair, etc.). You will need a crafting ban or ownership ban to prevent players from getting those items at all.

It's not possible for any plugin to prevent a player from using an item when it is activated by a keystroke (eg. R, G, C, etc.), which are common especially for Equivalent Exchange items. This is why many EE items are on the default ownership bans list even though their functions are not all really ban-worthy.

Crafting Bans

This ban prevents players from crafting an item. When the player tries to craft the item, they get a message that they can't. This is the most player-friendly approach to preventing players from getting banned items. Forge mods don't always hook into Bukkit, meaning its possible for players to get banned items through some automatic or non-crafting approach (eg. alchemy). When you crafting-ban an item, test for workarounds, which may lead you to ban additional items to prevent those workarounds. The contraband scanner will help you identify the existence of workarounds by creating log messages each time it takes an item out of a player's inventory.

Ownership Bans

This ban prevents player from picking up an item from the ground or from a container (eg. a chest). If a player doesn't have permission to own an item, they won't be able to craft it. The contraband scanner will search each player's inventory for ownership-banned items and actually remove them without warning, notification, or compensation. Any items which are actually found in a player's inventory which the player doesn't have permission for will trigger a log entry, so you can follow-up with an investigation to find out how the player managed to get the item in the first place.

Placement Bans

This ban prevents a player from building a block in the world. A player that already has an item which is later placement-banned can still trade it with another player or break it down into energy (EE mod) to get some value out of it.

It is recommend to place most or all placement ban items to your crafting ban list. This will prevent your players from unknowingly spending their resources to craft a block which they then can't place in the world like they planned leading to them feeling cheated and likely complaining. The only exception you might make to this rule is for an item which can't be placed, but is still useful because it's an ingredient in another recipe for an item you haven't banned.

World Bans

This ban will retroactively remove the placed block from the world through the contraband scanner. This is great if you need to ban an item, but also know it's in the world (eg. energy collectors and world anchors). This will help clean up newly-banned items without having to search your entire world for them. There are exceptions to this removal as the scanner can't determine who owns the block.

Similar to the ownership ban, this ban will trigger a log message when a contraband block is removed, along with its location so that you may investigate to find out how the block got there in the first place.

Notes

Download the correct CraftBukkit version for your server as labelled on the uploaded files as major Bukkit API changes occurred between 1.2.5 to 1.4.7.

The default ban list is made for Classic Tekkit based on hands on testing done by BigScary. Before deciding to remove items from this list, be sure to read the reasons for default bans to understand why it was originally removed. If you are running FTB, Tekkit Lite, or other mod packs, do your own research for what you want banned and change the config file accordingly.

Save yourself some time! Check our Frequently Asked Questions page for the answer to your question. If you found a bug, make a ticket and include your config file.

The following features are planned for the next release:

  1. Vastly improved performance (Confirmed)
  2. Add configurable scanner settings (Confirmed, in progress)
  3. Change in config file structure (Confirmed, in progress)
  4. Change in permission nodes (Tentative, investigating)
  5. Consolidate Usage Bans and Placement Bans (Tentative, investigating)
  6. Consolidate Ownership Bans and Crafting Bans (Tentative, investigating)
  7. Dropped 1.2.5 support (Tentative)
  8. Dropped explosion prevention support (Confirmed)

Donations

Unlike other players who have a choice to play the game, my commitment to development and administration usually means I cannot and I'm fine with that choice. A lot of my free time is actually spent designing, developing, testing, and fixing plugins like this one to make Minecraft more enjoyful for all players. If you like this plugin, please consider sending me a donation by clicking the button below :) Thanks!

donate!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of broluigi broluigi Oct 28, 2014 at 15:22 UTC - 0 likes

    can you maker a version of this that works with feed the beast

    TownyMc

    Website: lorecase.org

  • Avatar of LemADEC LemADEC Aug 09, 2014 at 09:13 UTC - 0 likes

    @ajay01281990: Go

    could you be more specific?

    @ch0xy: Go

    I bet your configuration format is invalid hence causing a reset

    @shinji257: Go

    Did you try using a comment line instead?

  • Avatar of ajay01281990 ajay01281990 Jul 24, 2014 at 02:14 UTC - 0 likes

    This Plugin made my server crash

    ~AjayCraft~

  • Avatar of Mitelin Mitelin Jul 20, 2014 at 01:25 UTC - 0 likes

    Most usseles plugin ever made 90% of default banned items is easili repairable!!! Recipe remover dont work on 95% crafting ways. Banned items can be obtained easili. This whole crap look same like some cheep antivirus eating your resources but any bad player thats not totali stupid can totali overide this protections DO NOT USE!!!

  • Avatar of ch0xy ch0xy Jul 12, 2014 at 03:12 UTC - 0 likes

    I am also having issues with the config. Every time I put a new file up with permissions added in even with banned items in every categories it resets it. So I decided to set up a 440 permission to keep the server from writing over it or in it and it just overwrites it anyways and keeps all items unbanned.

    Last edited Jul 12, 2014 by ch0xy
  • Avatar of shinji257 shinji257 Jun 27, 2014 at 17:49 UTC - 0 likes

    Hey can you change the config loading so that if the array is empty it doesn't reset it? We were trying to empty out OwnershipBanned list and it kept resetting it. For now we added an entry for air on the ownership ban list and that takes care of it for now. I noticed that this behavior is present for all arrays however the last two stay empty due to there not being any defaults present in code.

  • Avatar of dunem666 dunem666 Jun 20, 2014 at 11:28 UTC - 0 likes

    You can accomplish most things this plugin offers with Essentials anti-build. However essentials will not remove the items but prevent usage and pickup / crafting.

    To use this on MCPC+ 1.6.4 onwards you will need to remap your pre 1.4 plugin folder in the MCPC config...

    This WILL break some plugins like MCORE and FACTIONS.

  • Avatar of Zilacon Zilacon May 23, 2014 at 08:54 UTC - 0 likes

    Well i found another plugin for 1.4.7... But on 1.6.4 im getting this whenever i break Moon Turf from GalacticCraft:

    2014-05-23 01:52:27 [SEVERE] Could not pass event PlayerInteractEvent to TekkitCustomizer v1.6
    org.bukkit.event.EventException
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:437)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    	at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:31)
    	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java)
    	at org.bukkit.craftbukkit.v1_6_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:217)
    	at net.minecraft.item.ItemInWorldManager.func_73074_a(ItemInWorldManager.java:173)
    	at net.minecraft.network.NetServerHandler.func_72510_a(NetServerHandler.java:771)
    	at net.minecraft.network.packet.Packet14BlockDig.func_73279_a(Packet14BlockDig.java:67)
    	at net.minecraft.network.TcpConnection.func_74447_i(TcpConnection.java:350)
    	at net.minecraft.network.TcpConnection.readNetworkPacket(TcpConnection.java:69)
    	at net.minecraft.network.TcpReaderThread.run(ReplaceTcpReaderThread.java:22)
    Caused by: java.lang.NullPointerException
    	at org.bukkit.craftbukkit.v1_6_R3.CraftWorld.getUID(CraftWorld.java:481)
    	at org.bukkit.craftbukkit.v1_6_R3.CraftWorld.equals(CraftWorld.java:1156)
    	at java.util.ArrayList.indexOf(Unknown Source)
    	at java.util.ArrayList.contains(Unknown Source)
    	at me.ryanhamshire.TekkitCustomizer.TekkitCustomizer.isBanned(TekkitCustomizer.java:475)
    	at me.ryanhamshire.TekkitCustomizer.PlayerEventHandler.onPlayerInteract(PlayerEventHandler.java:108)
    	at sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:435)
    	... 11 more
    

    Join APOC Gaming to play Bukkit, All Technic packs, and All FTB packs in one community!

    APOC Gaming Network

    Checkout our plugins: APOC Payday (Complete Economy Reward Plugin)

  • Avatar of Zilacon Zilacon May 10, 2014 at 19:28 UTC - 0 likes

    Can someone please tell me why i am getting this error? I can tried everything from re-downloading the jar, trying different versions, using only tekkitcustomizer no other plugins, redownloading the server jar, deleteing and defaulting all the server config files, making a new world, and it still does not work...

    11:25:13 [SEVERE] Error occurred while enabling TekkitCustomizer v1.6 (Is it up to date?)
    java.lang.ArrayIndexOutOfBoundsException: 670
    	at org.bukkit.craftbukkit.v1_4_R1.inventory.CraftItemFactory.getItemMeta(CraftItemFactory.java:48)
    	at org.bukkit.craftbukkit.v1_4_R1.inventory.CraftItemFactory.asMetaFor(CraftItemFactory.java:123)
    	at org.bukkit.inventory.ItemStack.setItemMeta0(ItemStack.java:575)
    	at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:126)
    	at org.bukkit.inventory.ShapelessRecipe.<init>(ShapelessRecipe.java:33)
    	at org.bukkit.craftbukkit.v1_4_R1.inventory.CraftShapelessRecipe.<init>(CraftShapelessRecipe.java:14)
    	at org.bukkit.craftbukkit.v1_4_R1.inventory.CraftShapelessRecipe.<init>(CraftShapelessRecipe.java:18)
    	at wr.toBukkitRecipe(ShapelessRecipes.java:33)
    	at wr.toBukkitRecipe(ShapelessRecipes.java:14)
    	at org.bukkit.craftbukkit.v1_4_R1.inventory.RecipeIterator.next(RecipeIterator.java:33)
    	at org.bukkit.craftbukkit.v1_4_R1.inventory.RecipeIterator.next(RecipeIterator.java:9)
    	at me.ryanhamshire.TekkitCustomizer.TekkitCustomizer.loadConfiguration(TekkitCustomizer.java:126)
    	at me.ryanhamshire.TekkitCustomizer.TekkitCustomizer.onEnable(TekkitCustomizer.java:96)
    	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
    	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:396)
    	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
    	at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugin(CraftServer.java:306)
    	at org.bukkit.craftbukkit.v1_4_R1.CraftServer.enablePlugins(CraftServer.java:288)
    	at net.minecraft.server.MinecraftServer.j(MinecraftServer.java:506)
    	at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:472)
    	at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:418)
    	at ho.c(DedicatedServer.java:203)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:613)
    	at fy.run(ThreadMinecraftServer.java:16)
    
  • Avatar of Zilacon Zilacon May 02, 2014 at 06:01 UTC - 0 likes

    What version do i use for 1.4.7 MCPC?

    I have a Tekkit Lite server and i tried about 7 different versions including the ones that say they are for 1.4.7 and it just errors on start up.

Facts

Date created
Aug 27, 2012
Categories
Last update
Feb 15, 2013
Development stage
Release
License
All Rights Reserved
Curse link
Tekkit Customizer
Downloads
45,252
Recent files
  • R: 1.6 for CB 1.2.5-R5.0 Feb 15, 2013
  • R: 1.6 for CB 1.4.7-R1.0 Feb 14, 2013
  • R: 1.5.2 for CB 1.4.7-R0.1 Jan 28, 2013
  • R: 1.5.2 for CB 1.2.5-R5.0 Nov 15, 2012
  • R: 1.5.1 for CB 1.2.5-R5.0 Oct 28, 2012

Authors