ToolBelt
ToolBelt
About
This plugin provides a way to replace specific tools with special functionality. The idea originated from the VoxelDoop2 plugin, but has been re-written entirely for better code quality and to include permissions and yml configuration. The framework has been rewritten a second time now so that additional tools can be added more easily.
Setup
The process for setting up this mod is to drop it in your CraftBukkit plugins/ folder. Run (or /reload) bukkit, and it will create a ToolBelt/ folder with the config.yml file inside. Modify the file as wished (it is documented inside the file) and then run /tb reload to tell ToolBelt to reconfigure itself from modified config file.
Tools
- Block Duplicator (defaults to Stone Axe) Right click with this tool in your hand to get a stack of 64 of the selected block.
- Data Scrolling (defaults to Bone) Right or Left click with this tool to change the data value for the selected block. This lets you change a half-step from wood to stone to brick and so on.
- Paint Brush (defaults to Slime Ball) Left click to load a block type and data into the paintbrush, and Right click to paint the loaded data onto the selected block
- Leap (defaults to Feather) Right click to make large leaps through the air. This is similar to VoxelAir, only instead of hovering, left click can enter creative mode flight.
- Pickhax (defaults to Diamond Pickaxe) Left click to insta-delete a block. Right click to insta-delete without applying minecraft physics. Crouch to remove blocks at range (if have phax.range)
- Ruler (defaults to Paper) Left click in one spot, Right click in another, and get the width in x,y,z, total distance between points, and the enclosed volume.
- Watch (defaults to Watch) Left click to set personal time to day, right click for night. Crouch and click to re-sync with server time. If synced with server and have watch.server permission, left/right crouch click to set server time to day/night.
- Sledge (defaults to Gold Pickaxe) Left click to push a block forward into air, right click to pull it towards you. Crouch to push/pull into non-air blocks.
- Pliers (defaults to Glowstone Dust) Same as Sledge, except you copy the block instead of move it.
- Shovel (defaults to Gold Spade) Left click to remove (by default) a 3x3x3 cube of earth. Right click to remove a disk (by default) of radius 2.5, and crouch right click to remove a sphere (by default) of radius 2.5. By default, the shovel removes stone, dirt, grass, sand and gravel.
- Chainsaw (defaults to Gold Axe) Left click to remove (by default) a 3x3x3 cube of trees. Right click to remove a sphere (by default) of radius 2.5. By default, the chainsaw removes logs, leaves and vines.
- Tree (defaults to Gold Hoe) Right click to place a full tree where you click, Left click to change the type of tree to place. This uses the built-in tree generation code, and so will only place in locations where there is room for the full tree, and the appropriate ground below. The tool is disabled by default in config.yml .
Permissions
This help is now available in help/Permissions.txt. That file will be updated with every new release and will always list what is available.
- toolbelt.reload Give permission to reload the settings from the configuration file on the fly
- toolbelt.tool.* Give permission for all tool related settings
- toolbelt.tool.dupe Give permission to use the duplication tool
- toolbelt.tool.scroll Give permission to use the data scrolling tool
- toolbelt.tool.paint Give permission to use the paint tool.
- toolbelt.tool.paint.range Give permission to use the paint tool at a distance.
- toolbelt.tool.leap Give permission to make huge leaps with the leap tool.
- toolbelt.tool.leap.fly Give permission to enter creative mode flying by left clicking.
- toolbelt.tool.leap.tel Give permission to teleport by crouching while leaping.
- toolbelt.tool.phax Give permission to use the PickHax tool.
- toolbelt.tool.phax.range Give permission to use the PickHax tool at a distance.
- toolbelt.tool.ruler Give permission to measure distances easily with the ruler.
- toolbelt.tool.watch Give permission to set the time to day or night for themselves with the watch tool.
- toolbelt.tool.watch.server Give permission to set the server time.
- toolbelt.tool.sledge Give permission to push or pull blocks.
- toolbelt.tool.pliers Give permission to copy and push or pull blocks.
- toolbelt.tool.shovel Give permission to clear large amounts of (by default) stone, dirt, grass, sand and gravel.
- toolbelt.tool.saw Give permission to clear large amounts of (by default) logs, leaves and vines.
- toolbelt.tool.tree Give permission to rapidly place fully grown trees.
The warning/help messages can be configured per-user by the following permissions. Please only give any user one of these permissions at a time.
- toolbelt.print.debug Print all messages including ones that give debugging information.
- toolbelt.print.hint Print all quieter messages + hints for using tools.
- toolbelt.print.info Print all quieter messages + informational notices for tools.
- toolbelt.print.warning Print all quieter messages + warnings on wrong tool use.
- toolbelt.print.important Print important messages, such as loaded paint material and such.
There is an always up-to-date list of permissions in help/Permissions.txt inside the ToolBelt folder.
Commands
This help is now available in help/Commands.txt. That file will be updated with every new release and will always list what is available.
- /toolbelt or /tb
- /tb reload Reload the settings from the configuration file. (if you have the permission above)
- /tb tools See a list of all the tools you can use. (takes into account what tools are enabled and what you have permission to use)
- /tb off Allows a player to use the ToolBelt tools as they normally are, with ToolBelt not active. This is just for the person who ran the command.
- /tb on Allows a player to re-enable the use of ToolBelt tools.
Configuration
- config.yml The configuration file is heavily documented in the top comment. Please let me know if I'm not clear enough on any option and if I'm missing any configuration options that you wish for.
- help/<tool>.txt These files will give further information on the configuration settings for a given tool.
Additional links
The code for the plugin is available at github.
-
View User Profile
-
Send Message
Posted Aug 6, 2013@mattmess1221
Sorry for not responding sooner, didn't get a chance to program it when I first saw this post, but I made a github issue for it: https://github.com/Peter200lx/ToolBelt/issues/30
With the latest release there is now an option that you can configure for scrolling through all 16 values. I don't recommend it because it will result in your map having undefined values for blocks. But if you want to enable the feature, it is there, check help/scroll.txt in the ToolBelt directory after running once for more information.
-
View User Profile
-
Send Message
Posted Jun 14, 2013Think you can add a mode to the scroller to scroll through all 16 data values instead of just the set ones?
-
View User Profile
-
Send Message
Posted Jun 4, 2013@Nistune
Thanks for the comment! Having support for logging and region protection was one of the largest personal directives when I was developing this. Let me know if you have any questions.
-
View User Profile
-
Send Message
Posted Jun 4, 2013Just wanted to say, amazing plugin! I have always wanted the voxel brushes, but frankly they suck at making it controllable. Love that it is recorded by Hawkeye and minds worldguard protections.
-
View User Profile
-
Send Message
Posted May 15, 2013Fantastic plugin. Thanks a lot!
-
View User Profile
-
Send Message
Posted Feb 15, 2013@Peter200lx
ok then thanks, i may attempt to do so. if not then i think we can live without it and just use the paintbrush but before i do that, i am going to wait for the tree tool to be finished
-
View User Profile
-
Send Message
Posted Jan 24, 2013@xemnes1
ToolBelt does not magically recognize materials that are scrollable and work automatically. Each item that is scrollable has to be explicitly handled. A lot of them all work in the same fashion so I just have to tell the scroll tool how many data values there are to scroll through for that item. Other blocks, such as TRAP_DOORs, are more complicated and have to be handled individually.
From what I'm understanding of your request, you want to scroll data values that are meaningless in vanilla minecraft. This is not something that will be be added to main-line ToolBelt, and so if you wish for such support, you will need to fork the project and develop a specialized version for your server / plugin setup.
-
View User Profile
-
Send Message
Posted Jan 24, 2013@Peter200lx
ok thats fine, although i would say its still vanilla, all that its doing is recognizing the block has metadata which you can set using worldedit etc and textures it client side. eg: 7:3 which without ctm would look like bedrock but with ctm it looks like marble. if possible i may wish to create a forked version
-
View User Profile
-
Send Message
Posted Jan 23, 2013@xemnes1
Hmm, I'm trying to keep ToolBelt strictly vanilla bukkit compatible. This request feels more along the lines of a forked project. Right now ToolBelt does not interact with metadata at all, even for official blocks that use it. I do want to add support for signs and chests and other vanilla items with metadata sometime, but I don't foresee adding custom block support to the default ToolBelt build.
-
View User Profile
-
Send Message
Posted Jan 23, 2013i got another suggestion as i have come across an issue, the metadata scroll tool. is it possible to set custom blocks to cycle metadata and set the limit of the meta data? this is due to the custom texture pack our server uses. we use ctm to set extra metadata for some blocks, eg: bedrock has 16 different textures depending on its metadata and wood has 8 different texture varieties thanks to ctm, it would be nice to cycle metadata of wood from its default of 4 to 8 and allow blocks like bedrock to be cycled too.
-
View User Profile
-
Send Message
Posted Jan 16, 2013@Peter200lx
no probs, i personally disliked the sapling as a tool aswell so i had it changed to a wooden hoe
-
View User Profile
-
Send Message
Posted Jan 16, 2013@xemnes1
Yup, the tool has been added to the ToolBelt repository. I don't consider it release quality quite yet, as there are a coule of outstanding issues that need to be fixed. For one, the tool does not respect WorldGuard restrictions. Also the sapling is not the ideal item for the tool to be bound to as it has a unique in-game action already.
Mainly what I'm getting at is that there will be a few more tweaks before I release a new version of the plugin. Anyhow, thanks for the suggestion and promting it to be written.
-
View User Profile
-
Send Message
Posted Jan 16, 2013i see you added commit from the guy named knorke who helped me add the tree tool. compiled the source with maven and tested, works very well!
-
View User Profile
-
Send Message
Posted Jan 15, 2013@Peter200lx
thank you, i will have an attempt at it. not sure i will pull it off lol
-
View User Profile
-
Send Message
Posted Jan 14, 2013@xemnes1
Well, creating a tree actually looks to be pretty simple, at least looking at worldedit:
I would probably go about making such a tool by having a Map of player names and tree selections. Then by left clicking it would change what tree selection a player has chosen, and right clicking would call generateTree() with that tree type. Take a look at Example.java in the tools directory to get a feel for how to make a new tool. Refactor "Example" to "Tree" or something to give the new tool its own name.
Please feel free to fork ToolBelt and implement the tool if you wish. If it works well, I'd probably like to merge it back into the mainline for the source.
If you don't wish to write it yourself, please open up an issue describing the behavior you want for the tool, and we can talk through the concepts so I might be able to program it.
-
View User Profile
-
Send Message
Posted Jan 14, 2013how would i go about adding a new tool that creates trees similar to how voxel sniper does it. i know little about java so im not sure how to go about it, looked at the source and i got the instructions but adding the code to make the tool do something is beyond me. basically i want to make a tool that spawns a tree on right click of the ground whilst left click cycles the types of trees that can be placed. reason being is because i recently found a plugin that stops saplings growing completely to retexture them for creative use (flowers) but it also stopped the use of bonemeal so no one without worldedit or sniper can create a tree =S
-
View User Profile
-
Send Message
Posted Oct 14, 2012@dizzyzane
Ah, that is a possibility. I didn't port that feature over when I originally created the plugin because I was aiming at creative servers. However, if you think that semi-survival servers would like ToolBelt with a deteriorating feather, I'd be able to add that to the plugin. Please open a ticket on github so that we can discuss the specifics of how to best implement such a feature. If you could write the issue talking about what types of configuration options you would like, and what permissions would be handy, it would give a good starting point for the discussion.
https://github.com/Peter200lx/ToolBelt/issues
-
View User Profile
-
Send Message
Posted Oct 14, 2012Is there a way of making the feather deteriorate after an amount of uses? With the part of it, as I'm using this to make a server which is semi-survival with certain powers, like limited flight etc.
-
View User Profile
-
Send Message
Posted Sep 13, 2012@1996BRECHT
Could you please open this as a bug on github? This will allow us to track the issue and have more in-depth discussion then we can here. When opening the bug please post the version number of tekkit that you are running. My first guess is that you are running tekkit based on minecraft 1.2.5 which does not have SPRUCE_WOOD_STAIRS as that was added in minecraft 1.3 . If that is the case then you'll have to use ToolBelt v0.4.
-
View User Profile
-
Send Message
Posted Sep 13, 2012I got this error (I use tekkit)
2012-09-13 18:31:11 [INFO] [ToolBelt] Enabling ToolBelt v0.5 2012-09-13 18:31:11 [SEVERE] Error occurred while enabling ToolBelt v0.5 (Is it up to date?) java.lang.NoSuchFieldError: SPRUCE_WOOD_STAIRS at com.github.peter200lx.toolbelt.AbstractTool.setPrintData(AbstractTool.java:1172) at com.github.peter200lx.toolbelt.AbstractTool.<init>(AbstractTool.java:75) at com.github.peter200lx.toolbelt.tool.Duplicator.<init>(Duplicator.java:26) at com.github.peter200lx.toolbelt.ToolBelt.loadConf(ToolBelt.java:205) at com.github.peter200lx.toolbelt.ToolBelt.onEnable(ToolBelt.java:64) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:386) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:264) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:246) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:387) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:374) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:208) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:438) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)