Code Monkey home page Code Monkey logo

treeassist's People

Contributors

btilm305 avatar cartman-2000 avatar friendlybaron avatar gmcferrin avatar pop4959 avatar slipcor avatar tbg-fr avatar uroskn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

treeassist's Issues

Compatibility with PaperSpigot

Paper 1.12.1 build 1183 https://ci.destroystokyo.com/job/PaperSpigot/
TreeAssist 5.11.48
I have switched to Paper since 1.12 due to mysterious lagging, dk if the original Spigot has the same issue.

[22:50:09 ERROR]: Could not pass event BlockBreakEvent to TreeAssist v5.11.48
org.bukkit.event.EventException: null
        at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:46) ~[patched_1.12.1.jar:git-Paper-1183]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.1.jar:git-Paper-1183]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.1.jar:git-Paper-1183]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) ~[patched_1.12.1.jar:git-Paper-1183]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) ~[patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:290) ~[patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:217) ~[patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:886) ~[patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:40) ~[patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:10) ~[patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.1.jar:git-Paper-1183]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_144]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_144]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:843) [patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:424) [patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767) [patched_1.12.1.jar:git-Paper-1183]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665) [patched_1.12.1.jar:git-Paper-1183]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
Caused by: java.lang.NullPointerException
        at me.itsatacoshop247.TreeAssist.trees.wood.JungleBigTree.calculate(JungleBigTree.java:23) ~[TreeAssist-5.11.48-CB1.12.jar:?]
        at me.itsatacoshop247.TreeAssist.trees.AbstractGenericTree.removeLater(AbstractGenericTree.java:786) ~[TreeAssist-5.11.48-CB1.12.jar:?]
        at me.itsatacoshop247.TreeAssist.trees.AbstractGenericTree.calculate(AbstractGenericTree.java:415) ~[TreeAssist-5.11.48-CB1.12.jar:?]
        at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onBlockBreak(TreeAssistBlockListener.java:146) ~[TreeAssist-5.11.48-CB1.12.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor632.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) ~[patched_1.12.1.jar:git-Paper-1183]
        ... 18 more

Console Error Spam + Lag

Sometimes, in my console starts a spam and a lag too.
Error:
[22:01:47] [Server thread/WARN]: [TreeAssist] Task #574135 for TreeAssist v5.10.36 generated an exception
java.lang.NoSuchMethodError: com.gmail.nossr50.config.experience.ExperienceConfig.getWoodcuttingTreeXP(Lorg/bukkit/TreeSpecies;)I
at me.itsatacoshop247.TreeAssist.core.Utils.mcMMOaddExp(Utils.java:530) ~[?:?]
at me.itsatacoshop247.TreeAssist.trees.BaseTree.breakBlock(BaseTree.java:544) ~[?:?]
at me.itsatacoshop247.TreeAssist.trees.BaseTree.access$000(BaseTree.java:24) ~[?:?]
at me.itsatacoshop247.TreeAssist.trees.BaseTree$1InstantRunner.run(BaseTree.java:878) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[server.jar:git-Spigot-8cbfc85-202da97]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [server.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:738) [server.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [server.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [server.jar:git-Spigot-8cbfc85-202da97]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [server.jar:git-Spigot-8cbfc85-202da97]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
I have the latest mcmmo version at this moment + Spigot(latest) 1.12.

TreeAssist 1.8.x

Could not pass event BlockBreakEvent to TreeAssist v5.10.36 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:286) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PlayerInteractManager.a(PlayerInteractManager.java:215) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:602) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:40) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:10) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_101] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_101] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:748) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:320) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:686) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:589) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101] Caused by: java.lang.NoClassDefFoundError: org/bukkit/material/Sapling at me.itsatacoshop247.TreeAssist.trees.OakTree.replaceSapling(OakTree.java:221) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.OakTree.handleSaplingReplace(OakTree.java:182) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.maybeReplant(BaseTree.java:472) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.calculate(BaseTree.java:374) ~[?:?] at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onBlockBreak(TreeAssistBlockListener.java:159) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] ... 16 more Caused by: java.lang.ClassNotFoundException: org.bukkit.material.Sapling at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101] at me.itsatacoshop247.TreeAssist.trees.OakTree.replaceSapling(OakTree.java:221) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.OakTree.handleSaplingReplace(OakTree.java:182) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.maybeReplant(BaseTree.java:472) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.calculate(BaseTree.java:374) ~[?:?] at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onBlockBreak(TreeAssistBlockListener.java:159) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] ... 16 more [22:40:07 ERROR]: Could not pass event BlockBreakEvent to TreeAssist v5.10.36 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:286) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PlayerInteractManager.a(PlayerInteractManager.java:215) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:602) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:40) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:10) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_101] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_101] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:748) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:320) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:686) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:589) [spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101] Caused by: java.lang.NoClassDefFoundError: org/bukkit/material/Sapling at me.itsatacoshop247.TreeAssist.trees.OakTree.replaceSapling(OakTree.java:221) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.OakTree.handleSaplingReplace(OakTree.java:182) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.maybeReplant(BaseTree.java:472) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.calculate(BaseTree.java:374) ~[?:?] at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onBlockBreak(TreeAssistBlockListener.java:159) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] ... 16 more Caused by: java.lang.ClassNotFoundException: org.bukkit.material.Sapling at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101] at me.itsatacoshop247.TreeAssist.trees.OakTree.replaceSapling(OakTree.java:221) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.OakTree.handleSaplingReplace(OakTree.java:182) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.maybeReplant(BaseTree.java:472) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.calculate(BaseTree.java:374) ~[?:?] at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onBlockBreak(TreeAssistBlockListener.java:159) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot.jar:git-PaperSpigot-9b05d00-33d5de3] ... 16 more

Mega spruce trees don't work anymore in 1.16

When I go to cut down a 2x2 spruce tree, it only cuts a column of the block I mined out. If I try to mine the other columns, sometimes it will work, but it often fails to detect it's a tree.

image

TreeAssist seems to disregard sneak setting in config

I would first like to point out that the help link doesn't work due to changes with Bukkit dev.

Secondly, the plugin appears to chop the trees down forcefully regardless of sneaking or not. I would like for players to 'fell trees' only while sneaking. I set it this way due to the issue of the tree coming down regardless of sneak.

Config on pastebin: https://pastebin.com/Mfpzutbf

RemoveCustom does not do that

The list only get added to but never removed from.

I discovered this while writing up the documentation. Commands are the last thing to do, and I had a look into the code. Oups xD

Enabled world don't work

Hi !

This is my config for enabled world :

Worlds:
Enable world based restrictions
Restrict: true
Enabled Worlds:

  • ressource
  • nether

I only want to activate the plugin on these 2 worlds but players can use it on all other worlds.
How to do ?
Is this a bug or a bad configuration?

Thank's in advance.

NullPointerException

[21:59:45] [Server thread/WARN]: [TreeAssist] Task #135533 for TreeAssist v5.10.18 generated an exception java.lang.NullPointerException at me.itsatacoshop247.TreeAssist.trees.BaseTree.breakBlock(BaseTree.java:538) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree.access$000(BaseTree.java:24) ~[?:?] at me.itsatacoshop247.TreeAssist.trees.BaseTree$1CleanRunner.run(BaseTree.java:888) ~[?:?] at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot-1.10.2.jar:git-Spigot-a9631d2-67b2424] at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot-1.10.2.jar:git-Spigot-a9631d2-67b2424] at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:728) [spigot-1.10.2.jar:git-Spigot-a9631d2-67b2424] at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot-1.10.2.jar:git-Spigot-a9631d2-67b2424] at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:673) [spigot-1.10.2.jar:git-Spigot-a9631d2-67b2424] at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:572) [spigot-1.10.2.jar:git-Spigot-a9631d2-67b2424] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]

Spigot version 1.10.2
https://i.gyazo.com/3054d5a96cb48c125269fd16fcd5d1c5.png

Dropped sapling not replanting

Looks like that saplings dropped from leaves are not replanting, i think this started happening since last update (7.0.120) on paper 136 1.16.1

https://imgur.com/a/IB9mSRV

default.yml

The Dropped settings have to deal with automatically planting of sapling items, from throwing them and them dropping from leaves
  Dropped:
    Active: true
    Probability: 100
    Delay Ticks: 100

when i cut the tree the server shell show errors

OS: debian9 x64
server: paper-652.jar (paperspigot 1.13.2)
plugins:

AConomy
AntiCreeper
AuthMe
Coins
EliteMobs
EssentialsX
EXPBank
LockettePro
mcMMO
ProtocolLib
SkinsRestorer
QuickShop
TreeAssist
Vault
VeinMiner
Residence
WorldEdit
WorldGuard

--------------------------------------------errors---------------------------------------------

[00:08:39 ERROR]: Could not pass event LeavesDecayEvent to TreeAssist v6.0.77
java.lang.NullPointerException: null
at org.bukkit.craftbukkit.v1_13_R2.block.CraftBlock.itemCausesDrops(CraftBlock.java:531) ~[patched_1.13.2.jar:git-Paper-652]
at org.bukkit.craftbukkit.v1_13_R2.block.CraftBlock.breakNaturally(CraftBlock.java:550) ~[patched_1.13.2.jar:git-Paper-652]
at me.itsatacoshop247.TreeAssist.core.Utils.breakBlock(Utils.java:735) ~[?:?]
at me.itsatacoshop247.TreeAssist.core.Utils.breakBlock(Utils.java:708) ~[?:?]
at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.breakRadiusLeaves(TreeAssistBlockListener.java:243) ~[?:?]
at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onLeavesDecay(TreeAssistBlockListener.java:54) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor672.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.13.2.jar:git-Paper-652]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.13.2.jar:git-Paper-652]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66) ~[patched_1.13.2.jar:git-Paper-652]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:520) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.BlockLeaves.b(BlockLeaves.java:27) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.IBlockData.b(IBlockData.java:232) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.WorldServer.n_(WorldServer.java:552) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.WorldServer.doTick(WorldServer.java:301) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1091) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:940) ~[patched_1.13.2.jar:git-Paper-652]
at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:837) ~[patched_1.13.2.jar:git-Paper-652]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

Silk Touch Enchantment Bug?

The Silk Touch sometimes remove the leaves without giving the leaves (will still drop Saplings) (most of the time)

Drastic Performance Issues with Flat File Block List

The night is dark and full of terrors, and https://github.com/slipcor/TreeAssist/blob/master/src/me/itsatacoshop247/TreeAssist/blocklists/FlatFileBlockList.java is the night.

This implementation suffers from massive performance problems.

  1. IO activity is being done on the main thread. Instead of calling save(file), instead call String yaml = data.saveToString(); and then do the File write Async. One user of this plugin has a 4MB data file, which is small compared to what i fear this would grow to on a larger server.
  2. Saving is done every change. This is extremely ineffecient. Change this to only save to disk once per minute and in onDisale at least
  3. Using string splitting for testing. You should define your own object type that has its own YAML Serialization, with proper equals and hashCode methods, that the YAML file deserializes to on startup so no string manipulation is done at runtime outside of load.
  4. Using the config lists instead of maps for data storage. This requires iterating over every entry in the list to do the comparisons, which as the file gets larger, the performance gets slower. While you can use a list for YAML data storage, you should parse it out of the config at startup, and store it into a Map<Location, YourRecordObject>. Then isPlayerPlaced becomes a simple return blocks.hasKey(block.getLocation());

Doing this will fix the scalability problems of the FlatFile system, and will be super easy to auto upgrade existing data files.

Add opt-in option for tracking

At the moment server tracking is on by default and there is no tracker entry in the config file either: one has to manually add tracker: false. As this behaviour doesn't seem right to be the default, can you please add at least the explicit entry in the default config file?

Sapling protection is broken

This is my config

Dropped: Active: true Probability: 100 Delay Ticks: 100 Enforce: false Force Protect: true Material: minecraft:air Requires Tools: true Only When Bottom Block Broken First: false When Tree Burns Down: true Protect For Seconds: 60 Delay Growth Seconds: 240

If enable enforce protect, when i break a single sapling, it prints 2 times "You cannot break saplings in this server!"
image

And the sapling is not protected at all, it can be removed easily with an axe
TreeAssist version 7.0.112
git-Paper-134 (MC: 1.16.1)

Suggestion, feature: dynamic forest spreading

So, this is a thing i always loved in Minecraft servers. I got the inspiration in the good old days when plugin UberForest was still active and maintained.

Essentialy: make so that forests do spread over time

The difficult part: do not annoy players that want to be submmerged in the woods 😆 (and make it lag free)

What could you do is try to do something similar to what UberForest did: sometime, on a cycle, a tree has a chance to spawn a sapling nearby. This sapling has a chance to become a tree or an uber-tree (bigger tree, that has the ability to spawn more saplings).

Now: players would get instantly annoyed by this. Like as soon as they see the forest spread without any control over their claims. For this reason, saplings should not get replanted in claims, and near claims. The nearest a sapling is to a claimed land, the lowest is the chance for it to get planted. Inside claimed land, the chance is zero.

Also: forests should not over-populate themselves. A sapling should look how many saplings are around the location before getting planted. So that we don't have overcrowded forests (and prevents also overpopulation near claim borders over time). Each biome should have it's chances too. For example plains should have a very low chance.

Here comes the difficult part: this should happen in areas where there are actually less or no players. You might be tempted to do this in already loaded chunks, or in chunks that get loaded very often. That was the mistake that UberForest did back in the days! Essentially, the more a player stays in an area, the more this area goes out of control with forest spreading 😆 looking at this from a real-life perspective, makes no sense. And it's annoying for gameplay. All what i am suggesting, should happen in the areas that are less visited by players. Don't tell me how tho! That's magic. And should happen also asynchronously! Because it could lag everything down to death!

Is this challenging enough for you? lol

Spruce Saplings change to Oak Saplings when Blocked by anything.

Slipcor,

Spigot 1.10.2

We are back to this issue, I am running the latest version of TreeAssist that you have on Spigot.

Spruce Saplings change to Oak Saplings when Blocked by anything using the command /treeassist forcegrow (radius)

Sidenote: I sent you a message on Spigot, don't know if you got it. If you have a later version not public yet. I would be happy to test again.

1.12 support?

1.12 is out for a while. Any plan on supporting it please?

[00:20:18 ERROR]: Could not pass event BlockBreakEvent to TreeAssist v5.10.36
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:289) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:216) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:882) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:40) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:10) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_131]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.lang.NullPointerException
        at me.itsatacoshop247.TreeAssist.trees.SpruceTree.calculate(SpruceTree.java:28) ~[?:?]
        at me.itsatacoshop247.TreeAssist.trees.BaseTree.removeLater(BaseTree.java:769) ~[?:?]
        at me.itsatacoshop247.TreeAssist.trees.BaseTree.calculate(BaseTree.java:396) ~[?:?]
        at me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onBlockBreak(TreeAssistBlockListener.java:159) ~[?:?]
        at sun.reflect.GeneratedMethodAccessor351.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-survival.jar:git-Spigot-cd6ba67-a7d074c]
        ... 17 more
>version
[00:30:57 INFO]: This server is running CraftBukkit version git-Spigot-cd6ba67-a7d074c (MC: 1.12) (Implementing API version 1.12-R0.1-SNAPSHOT)
[00:30:57 INFO]: Checking version, please wait...
[00:30:59 INFO]: You are 1 version(s) behind

Thank you for your effort!

Enchanted and/or renamed axes bug the plugin

If you use a renamed or an enchanted axe auto wood removal do not work, neither sapling auto replant. Fast leaves decay works!

Try with silk touch, or with a simple renamed diamond axe, or with both.

git-Paper-236 (MC: 1.14.4)
TreeAssist version 6.0.77

Suggestion: toggle to disable tree replanting in WorldGuard regions

Add this to the config:

world-guard:
prevent-replant-in-all: true/false #If true, all WG regions will prevent sapling replanting
prevent-chop-in-all: true/false #If true, all WG regions will prevent auto tree chopping

Then maybe you could implement a custom WG flag like "treeassist-replant" and "treeassist-autochop". If both prevent-in-all toggles are set to false you can use flags to specify the behaviour for each region! 😄

Items dissappear

When you break a tree with any item that doesn't usually have durability, the item dissappears. Probably important information - the plugin is configured to 'tree assist' with every item you hold when you break a log not just axes.

Bug in the version v5.11.50 which is the latest at the time I wrote this

I found a bug I supposed. When I chop a bottom of a tree with my hand, of course it wont work. But I tried to use a diamond, it worked. The tree chopped down instantly as it would with a tool. I messed up my config? I dont think so. Here it is.

Tools:
Sapling Replant Require Tools: true
Tree Destruction Require Tools: true
Tools List:

  • DIAMOND_AXE
  • WOOD_AXE
  • GOLD_AXE
  • IRON_AXE
  • STONE_AXE

Theres no diamond listed there. Only diamond axe. I tested with other stuff such as iron ingot, gold ingot, emerald for just to make sure. It doesnt work. Only diamond which Im kinda weird. Please fix this. Thanks!

Dropped saplings do not replant

For some reason I can not get dropped saplings to replant at all. I've included my config file to be sure there isn't something obvious that I'm missing.
config.txt

Update: No idea why but apparently it's working now.

When you chop a tree block, it gets replaced instantly with a log

Testing this with a netherite axe on a spruce log tree.
I chop a log, the log gets replaced instantly, as if the tree was protected by a plugin like world guard.
Then, after the configured delay (default.yml) the tree starts chopping down itself. Only now, the tree can be actually broken with an axe.

7.0.120
Latest 1.16.1 papermc

OMG,i met a bug

I'm sorry I am using Google Translate because my English level is really not good enough....

i am PaperSpigot server (1.12)
When I cut a jungle tree from the time,Automatically cut trees , Did not start.

Background display
`OMG,i met a bug.
1.12 PaperSpigot server

[21:48:06] [Server thread/INFO]: [Yum] [Yum 事件监控] 插件 TreeAssist 处理 BlockBreakEvent 事件时发生异常!
[21:48:06] [Server thread/INFO]: [Yum] 异常名称: java.lang.NullPointerException
[21:48:06] [Server thread/INFO]: [Yum] 异常说明: null
[21:48:06] [Server thread/INFO]: [Yum] 简易错误信息如下:
[21:48:06] [Server thread/INFO]: [Yum] 位于 me.itsatacoshop247.TreeAssist.trees.wood.JungleBigTree.calculate(JungleBigTree.java:23)
[21:48:06] [Server thread/INFO]: [Yum] 位于 me.itsatacoshop247.TreeAssist.trees.AbstractGenericTree.removeLater(AbstractGenericTree.java:770)
[21:48:06] [Server thread/INFO]: [Yum] 位于 me.itsatacoshop247.TreeAssist.trees.AbstractGenericTree.calculate(AbstractGenericTree.java:399)
[21:48:06] [Server thread/INFO]: [Yum] 位于 me.itsatacoshop247.TreeAssist.TreeAssistBlockListener.onBlockBreak(TreeAssistBlockListener.java:146)
[21:48:06] [Server thread/INFO]: [Yum] 位于 com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor141.execute(未知:-1)`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.