Cristichi's Tree Capitator
Tested on 1.21!
The latest build has been tested and works for 1.21.*, 1.20.*, 1.19.*, 1.18.*, 1.17.*, 1.16.*, 1.15.*, 1.14.* and 1.13.*. I recommend using the latest build always in servers running on those Minecraft versions. I'm also still around so please feel free to leave here any issues you may encounter or your suggestions if you want to, I'll read them.
Features
Please note that only the latest build supports ALL of the following features.
- Let users destroy entire trees by breaking only 1 log. Even the biggest tree will fall!
- Works on nether trees (If server is +1.16).
- Auto-update. You will get a notification if a new update is out and you don't need to come back here to download the plugin again when new features come out.
- It also destroys all leaves around.
- Auto-replant. Replanted saplings can also be automatically protected so they cannot be broken until they grow a tree.
- Switch on/off if an axe is required and/or damaged.
- VIP mode. Use it to restrict access to the benefits of this plugin, for premium users for example.
- Each player can toggle on/off the plugin for themselves. You can also configure if you want a message to remind players of their current setting when they log in.
- Players are not able to break logs in protected areas (by WorldGuard or other protection plugins using WorldGuard as a dependency).
- Axes are damaged accordingly.
- Switch on/off if axes should be prevented from being broken. So that you can repair that nice axe with Mending or an anvil and never worry about it being broken. (only works when breaking logs with it, breaking anything else will destroy the axe anyway)
- Switch on/off if tree leaves should be ignored by the plugin. Enabling it will make the plugin take down only connected logs, reducing the lag and balancing a little bit.
- Crouch mode. Use true in this configuration so that crouching players not trigger this plugin. Use inverted to make standing players not trigger this plugin, or false to make crouching not change how this plugin works.
- Customize what are trees! Configure any block to be treated as tree logs or as tree leaves for this plugin. Scroll down to see more specific steps on this page.
- Ask for new features by DM or by commenting here! I'll try to consider and answer every suggestion.
Commands/Configuration
- /tc help: Lists all commands.
- /tc toggle: Toggles the plugin for you. Just in case you made your home using lots of logs.
- /tc update: Checks for new updates, and updates if able.
- /tc reload: Reload config.yml changes.
- /tc setLimit <number>: Sets the limit of blocks this plugin can destroy at once. (-1 for unbounded)
- /tc setReplant <true/false>: Sets if trees should be replanted. True by default.
- /tc setInvincibleReplant <true/false>: Sets if replanted saplings should be unbreakable by survival players. False by default.
- /tc setAxeNeeded <true/false>: Sets if an axe is required for the plugin to work. True by default.
- /tc setDamageAxe <true/false>: Sets if the axe used is damage (only takes place if an axe is needed). True by default.
- /tc setBreakAxe <true/false>: Sets if the axe used can be broken (only takes place if an axe is needed and damaged). False by default.
- /tc setVipMode <true/false>: Sets if vip mode is on. False by default.
- /tc setNetherTrees <true/false>: Sets if the plugin works on the new nether "trees". False by default.
- /tc setStartActivated <true/false>: Sets if this plugin is activated for players when they enter the server. If false, players will need to use /tc toggle to activate it for themselves. True by default.
- /tc setJoinMsg <true/false>: Enables or disables the join message that remind players about /tc toggle. True by default.
- /tc setIgnoreLeaves <true/false>: Makes the plugin ignore or not the leaves aroung logs. False by default.
- /tc setCrouchPrevention <true/false/inverted>: Defines if crouching allows players to break logs individually. If set to inverted, players must crouch to break multiple logs with this plugin. False by default.
You may also use /treecap or /treecapitator as valid aliases for the /tc command.
Permission nodes
- cristreecapitator.user: Always required to take down trees fast.
- cristreecapitator.admin: Required to change options by commands.
- cristreecapitator.vip: Required to take down trees fast when Vip Mode is enabled.
How to Install
- Place your downloaded .jar file into YourServerDirectory/plugins/.
- Start or reload server.
- Then you may configure the plugin just the way you want, either using commands OR editing the config file and then typing /tc reload in the in-game chat (with cristreecapitator.admin permission/OP) or in the server console.
How to use VIP mode
VIP Mode enables an easy switch for the plugin. If VIP Mode is enabled regular users won't be able to use this plugin by default because they will also need an additional permission.
- Enable vip mode (/tc setVipMode true).
- Give 'cristreecapitator.vip' permission node to VIP players.
- It's already done! VIP players will be the only ones allowed to cut down trees faster! Don't worry, average players can still get wood, but the vanilla way.
How to add blocks as logs or leaves
You can configure other blocks to be detected as if they were logs or leaves, like the stripped logs or blocks from mods, or any block you want.
- Make sure you are using v6.4.0 or higher of this plugin.
- Check the name of the blocks in this link https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html.
- Go to the folder YourServerDirectory/plugins/CrisTreeCapitator where the configuration file is and open extra_logs.json or extra_leaves.json, and edit the files to include the blocks you want (as named in the previously mentioned link). Be careful to follow the format.
- Reload the server OR type /tc reload to apply the changes.
Keep it always up to date!
During startup you will receive a notification in the chat and the server console if the plugin needs to be updated. With a simple command you will be able to check new updates and update the plugin in-game.
I always recommend to keep the plugin up to date to make sure that you are benefiting from new features, general improvements and any bug fixes.
Compatibility with older versions.
If your server is running a Minecraft version older than 1.13, please click here to download v3.0.1 instead. It won't have all the advantages and performance of the latest version so please consider updating your server to at least Minecraft 1.13.
Need help?
Please feel free to contact me through DM or by commenting in this page. I do not have much free time to answer, but I will be sure to answer you as soon as possible. I will be happy to help on any issues that you are having, and consider every feature request that would make the plugin better for your server.
Future plans
My intention for the future of the plugin is to keep providing updates for new Minecraft versions, especially if there are any significant changes to the game like new trees or new features that would help this plugin's implementation. Additionally, I will provide support for any issues or bugs encountered by players, and I will consider any new features suggested as well. Please, feel free to let me know your feedback, good or bad.
Thank you for reading, and happy minecrafting!
In reply to heymatt:
For that functionality I already implemented the toggle function, which I understand it's not ideal but it's not too bad either because you don't change from working on your hourse to chop forest trees every 5 seconds anyway. Also, what do you mean saying the block limit is "arbitrary"? It's there because when I started this project my pc was a potato with some cables so all my tests servers would crash if too many blocks were destroyed at once and decided to leave it there just in case someone needed it.
In reply to Cristichi:
Yeah you're right, it's not a problem at all. I don't mean that the block limit feature is arbitrary. The motivation behind the block limit makes sense to me. It's the number an admin could set as the block limit that is arbitrary. Regardless, this is a non-problem for me now that I'm gonna get people to use /tc toggle :)
how do you reset /tc setLimit<number>? or recommended number to put it as?
In reply to twmyz:
Hello,
The default value is -1 (no limit), and I'd recommend it that way, probably.
Hope it helps, have a nice day!
Is there a way to detect Structures? Because this plugin will not detect self-placed blocks.
In reply to xJonah129:
I don't know of any way to make the plugin detect or get the information of what placed a block where it is because neither Minecraft nor spigot saves that information into every block. Also, making it analice a region of blocks to know if it "looks" "unnatural" can be tricky and can't be done perfectly, along with the lag it would generate (think about world edit, when you have to use something that is not just replacing every block in a region, and we have to take into account that world edit does a lot of very difficult and complicated tricks to improve performance). So, unless Minecraft of Spigot makes it possible to know if a block was placed by hand or by the terrain generator or other plugins, there is little I can do myself.
As a solution, while not perfect, you can try using protection plugins (based on worldguard, the one I support, which most use) to protect your log-made structures from others and using /tc toggle yourself to have it enabled only when you are going to the forest to get some wood.
Thanks for the question, I hope it helps and I didn't overdo the answer too much, and have a nice new year!
In reply to Cristichi:
Yes it helps thanks. But how can mods like FallingTree decide between tree and structure.
In reply to xJonah129:
Hi. Well, I never used that mod and I don't have the time to get a close look at how it does. I've seen tons of useful configurable options and that it works with branches but I don't know if it makes use of any resource that only a mod can do or use to prevent destroying other things. If any of those configurations allow the plugin to detect trees but not player-made structures made of logs I want to know so I will check if I have more time.
Have a nice day!
In reply to Cristichi:
There must be a way, as other tree chopping plugins can do it.
Hi, is it possible to make it so that the trees require leaves/wart blocks to chop down, so that it doesn't cut down every log in a build if a tree gets too close?
In reply to fletchblue:
He. I'm not really sure if it is posible. The thing is, identifying single trees is quite hard unless I want to lag the whole server every time someone breaks a log block. I'm afraid I don't know how I can do it properly with the current code, but I'm planning on making another configurable option of ignoring leaves so that only the directly connected logs are destroyed, which would match greatly with FastLeafDecay for single trees. I hope that update can help on the problem.
For a solution that will work now, I think you will have to rely on removing the tree's leaves and logs that are touching the house's logs manually and then cut the tree.
Best regards.
Hi, is it possible to make it take a long time to chop, depending on how big the tree is? i feel like it should take longer than a single block normally would
In reply to nuttapillar97:
I though about that, but my initial take on this plugin was entirely to get wood as fast as possible (but not just /give wood 9999). Maybe I could add it as a configurable feature for the 1.18 update like "time to destroy block", where =0 would be the default option and the current behaviour, and =10 would make each block 10 ticks to break. The problem is that it won't destroy the blocks in the sequence you might expect and it would look like a worm eating the forest, which will be funny for sure.
In reply to Cristichi:
Thank you, but what I meant, is multiply the time it takes to destroy the bottom block, by how many blocks the operation will chop. So a massive tree will take longer to chop at the base. But once it is chopped, the blocks falls instantly, as normal. Other tree chopping blocks have done this in the past. But for some reason, everyone is abandoning this nowadays. It still feels like a cheat to get dozens of logs in a couple seconds. A large tree should take like 30 seconds or more. But it'd still be more convenient than climbing up there for the vanilla method.
Hello! I saw a comment from "skopi8" about disabling the /tc toggle message on loign. Is that already possible, or you cant still turn that off?
In reply to gusManteiguinha:
Hi, sorry for taking this long to respond. I'm currently, and finally, planning on adding it as a configurable option. Keep an eye on updates, but I can't confirm how soon it will be because I don't really have much control of my time, it could be tomorrow or next month but I promise it will be as soon as possible.
Have a nice day.
Hio! Please help, what it is?
[Server thread/ERROR]: Could not load 'plugins\CrisTreeCapitator (1).jar' in folder 'plugins'[Server thread/ERROR]: Could not load 'plugins\CrisTreeCapitator (1).jar' in folder 'plugins'org.bukkit.plugin.UnknownDependencyException: Unknown dependency CrisWebConfiguration. Please download and install CrisWebConfiguration to run this plugin. at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:269) ~[craftbukkit.jar:3143-Bukkit-f66c437] at org.bukkit.craftbukkit.v1_17_R1.CraftServer.loadPlugins(CraftServer.java:382) ~[craftbukkit.jar:3143-Bukkit-f66c437]
In reply to exubepph:
Hi!
Sorry, my mistake, I'm fixing it right now. Thank you a lot!
Hi, i saw there was an question from "grinejonex" about disabling the /tc toggle message on loign. Is that already possible, or you cant still turn that off? I would appreciate it a lot if you would make that possible. I want it to be set on enable mode all the time. So i dont need the toggle message. Thanks for your time in advance.
In reply to skopi8:
Thank you a lot for your curiosity but I'm afraid it is not implemented yet. I'm working right now as a free agent and every bit of time I can be working I'm doing it because I need the value I get for the time. I will probably make changes and improvements when 1.17 is about to released or the day it is. I will notify you when it is implemented if you wish.
Thank you again and sorry, have a nice day.