← Назад к ресурсам

TreeChop

One or Multiple Cuts? Vanilla or Custom Tree? Optimized and Configurable! Configure it however you like and Use your axe on the trees! : ) V3.0.0

Modrinth adventure game-mechanics utility

Описание

# TreeChop **Want to cut down trees more easily? With TreeChop you can do it!** - Do you need the tree to be chopped down after one or multiple cuts? - Supports any custom trees added by datapacks such as _William Wyther's datapack. - Runs on **Minecraft 1.17+** - **Optimized** for large-scale servers. - Protections (WorldGuard, claims...) are respected block by block. - You can add your **Translations** in the `lang/` folder. - **Configurable** - *by default trees must be hit multiple times to be chopped down* (you can also make it work like a TreeCapitator: details at the bottom of the page). No, your base will not be accidentally destroyed, unless the base is a tree. You can also use ```/tc toggle```, or simply ```sneak + right-click``` in the air with an axe. Use your axe on trees as you want! : ) Chop an Oak Tree ![Oak Tree](https://cdn.modrinth.com/data/jC5TcUPE/images/3cbc762a5dc7dc6172877640c6a4d6340ef0231b.webp) ### NOTE: Original project created on [CrashPlugin.](https://crashplugin.com/catalog/3) \ Since 3.0.0 the update check uses the **Modrinth API** (it can be disabled in the config: `Updates.check`). \ [Modrinth Page](https://modrinth.com/project/jC5TcUPE) - [bStats](https://bstats.org/plugin/bukkit/TreeChop/24592) # Commands: **TreeChop commands are only visible if you have the appropriate permissions, mentioned below.** \ ```/treechop``` alias: ```/tc``` - ```/tc toggle [on/off] [player]``` command for a player to toggle TreeChop. - ```/tc help ...``` for help on the commands. - ```/tc enabled ``` to enable or disable the plugin. - ```/tc pluginInfo``` for plugin information (plugin version...). - ```/tc reloadconfig``` if you have edited the config file, use this. - ```/tc config ``` to edit or view the configuration. # Permission: - ```g031.command.treechop.*```: permission for all TreeChop commands. - ```g031.command.treechop.config```: operator command to configure plugin. (default on only op) - ```g031.command.treechop.enable```: operator command to enable or disable the plugin. (default on only op) - ```g031.command.treechop.self_toggle```: command for a player to toggle TreeChop. (default on all players) - ```g031.command.treechop.toggle```: command for a player to toggle TreeChop for players. (default on only op) - ```g031.treechop.chop```: used to start chop event. (default on all players) **You need to use a permission plugin, such as luckperms, to manage permissions.**\ To decide who can use this mechanic, you can disable the ```g031.treechop.chop``` permission and give it to players with some reward system or manually. # Config File (3.0.0, format v6): The config is generated with inline comments on the first start and **migrates automatically** from older versions (your values are preserved; the old `percentageChop` becomes a `hardnessFormula`). Default Config v6 ```yml # Indicates the version of the configuration file. DO NOT TOUCH the parameter (risk of file reset). ConfigVersion: 6 # Indicates whether the plugin is active (listens to the BlockBreakEvent). TreeChopEnabled: true # Language file to use from the lang/ folder (included: en, it). Missing keys fall back to en. Language: en # Decide who can use treechop. # If permission is true, the players must have one of the permissions in the permissions list. # Disclaimer: the bigger the list of permissions, the more checks per player will be made! WhoCanChop: permission: true permissions: - g031.treechop.chop # treeCollecting_Mode = (0 only logs of the initial type), (1 only LOG and WOOD), (2 only LOG, WOOD, and STRIPPED), (3 any type of wood). # maxBlocks = (default: 2048) safety cap of blocks collected per tree. # maxWidth = (default: 16) horizontal size beyond which a wooden structure is declared 'not a tree' and the scan stops early, saving work on log walls and buildings. # Only applies while no natural leaves have been seen yet, so real trees are unaffected. Raise it if you use very wide custom trees, 0 = no limit. # noTreeCacheTime = (default: 30) seconds a wooden structure stays remembered as 'not a tree': hitting it again does not rescan it. 0 = always rescan. # enabledWorlds = list of worlds where treechop works (empty = all worlds). # excludedLogs = list of log material names that treechop ignores (e.g. [OAK_LOG, DARK_OAK_WOOD]). Collecting: treeCollecting_Mode: 1 maxBlocks: 2048 maxWidth: 16 noTreeCacheTime: 30 enabledWorlds: [] excludedLogs: [] # During tree cutting. # shiftDisableChop = disables while sneaking, the cutting action. # shiftRightToggle = sneak + right-click in the air with an axe toggles TreeChop for yourself (same as '/tc toggle'). # useMultipleAxes = default set to false, to prevent damaging the wrong tool. # chopAllLogs = if it is true, it will break all the tree logs (PHYSICS ignores it: only what is left hanging falls). # treeCutting_Mode = felling mode: # 0 HITS = one hit each, as many as hardnessFormula asks for. # 1 PHYSICS = nothing is cancelled, you break the logs of the cutting area yourself and whatever is left hanging falls (a dark oak needs its 4 cuts). hardnessFormula, chopAllLogs and damagedLogs do not apply. # 2 HARDNESS = a single cut, just longer: hold the button down and the formula becomes a hardness multiplier, so a better axe still cuts faster. Let go and the log heals. # From 1.20.5 the log is really harder for the client (one long break); older versions count repeated breaks instead, for the same total time. # hardnessFormula = formula for the needed hits (rounded down). Variables: logs (falling logs), chop (cutting area), height (tree height). # Functions: min, max, ceil, floor, round, sqrt, abs. e.g. 'logs * 0.8', 'ceil(sqrt(logs) * 3)'. # insufficientAxeDurability = notify that the tool has a lower durability than the total logs. OnChop: shiftDisableChop: true shiftRightToggle: true useMultipleAxes: false chopAllLogs: false treeCutting_Mode: 0 hardnessFormula: logs * 0.8 insufficientAxeDurability: true # Cracks on the cutting area. Unused in PHYSICS: there is no progress to show. # othersView = Whether other players can see the effect of the damaged block. # radius = Within what radius other players can see the effect. # mode = crack channel: (0 per-player: cracks follow the area each player is cutting) (1 shared: same cracks per block for everyone). damagedLogs: othersView: true radius: 32 mode: 0 # During the fall of the tree. # axeBreakStopFall = during the fall of the tree if the tool breaks, it interrupts the breaking of other logs. # saveToolDurability = Choose the amount of the durability you want to save of the tool. # durabilityPerLog = tool damage per broken log: -1 = vanilla, 0 = no cost, N = exactly N damage per log (overrides Unbreaking). # breakLogsMode = (0 breaks the blocks without following an order) (1 breaks the blocks in an upward manner according to the Y-axis). # breakLogsPerTick = Value referring to how many logs to break per tick. If set to '0' it will be instantaneous but may impact performance. # fallMode = fall animation: (0 standard) (1 suction = cosmetic falling blocks are vacuumed toward the cut center as the logs break; visual only, slightly heavier). # hungerPerLog = exhaustion (hunger) added to the chopper per felled log (decimals, e.g. 0.5). 0 = none. # xpPerLog = experience points awarded to the player for each log cut down (decimal value; the total is rounded down). 0 = none. OnFall: axeBreakStopFall: true saveToolDurability: 0 durabilityPerLog: -1 breakLogsMode: 1 breakLogsPerTick: 2 fallMode: 0 hungerPerLog: 0.0 xpPerLog: 0.0 # Natural leaves handling when a tree falls. # The leaves are NOT broken by the player: no tool damage and no statistics, # but protections are still asked block by block, exactly like the logs. # breakLeaves = also break the tree's natural (non player-placed) leaves. # leavesRadius = connection steps (not euclidean distance) from the felled logs within which leaves are collected. # breakLeavesMode = breaking order: (0 from the trunk outward, by connection steps) (1 bottom-up) (2 top-down) # (3 from the outside toward the trunk) (4 one random leaf at a time, default) (5 like 0 but by real distance, the only order that costs a real sort). # leavesPerTick = leaves broken per tick, decimals allowed: 0.4 (default) = one leaf every 2.5 ticks. 0 = instantaneous but may impact performance. Leaves: breakLeaves: false leavesRadius: 6 breakLeavesMode: 4 leavesPerTick: 0.4 # Particles and sounds generated on chop, 'generateEffects' must be enabled. # generateEffects = it makes the cutting action of the tree visible and audible to all. # particlesQuantity = (default: 40) # soundVolume = (default: 1.0) Distance of sound. # soundPitch = (default: 2.0) Effects: generateEffects: true particlesQuantity: 40 soundVolume: 1.0 soundPitch: 2.0 # Effects of each leaf breaking, independent from the chop ones above. # generateEffects = sound and particles when a leaf is broken. # particlesQuantity = (default: 10) 0 = none. # soundVolume = (default: 0) Distance of sound, 0 = silent. # soundPitch = (default: 1.0) Leaves: generateEffects: true particlesQuantity: 10 soundVolume: 0.0 soundPitch: 1.0 # toInventory = items from felled logs go straight to the chopper's inventory (overflow drops at the player's feet). Drops: toInventory: false # What happens after a tree is felled. # sapling = replant a sapling on the base positions (where there is soil under), max 4. # saplingChance = % chance per base position to replant (0-100). Respawn: sapling: false saplingChance: 100 # New version check (Modrinth API, once at startup). # check = look for a newer TreeChop version and notify the console. # notifyOps = also notify operators when they join. Updates: check: true notifyOps: true ``` \ \ **How do I make TreeChop chop the full tree with one swing?** Set in the config: \ ```OnChop/treeCutting_Mode: 2``` ```OnChop/chopAllLogs: true``` ```Leaves/breakLeaves: true``` **For any problems or suggestions, write on [discord.](https://discord.gg/AcQxJXpxNJ)** \ \- Gustruy