jusdino / BuildPortals

Mincreaft plugin for player-buildable teleportation portals
https://dev.bukkit.org/projects/buildportals
GNU General Public License v3.0
10 stars 5 forks source link

The plugin generates a load from time to time. #23

Closed XANT3R closed 2 years ago

XANT3R commented 4 years ago

The plugin generates a load from time to time. Please correct it.https://i.imgur.com/fQYE556.png

Version: 1.15.2

jusdino commented 4 years ago

I think I'll need some more details about your configuration so I can reproduce. Can you tell me:

Thanks!

XANT3R commented 4 years ago

After such time I updated the engine a few times, but it shouldn't matter, in this case.I don't use the BuildPortals plugin anymore, but nothing has changed on the server since then. My size world : 4500x4500 Other plugins: AuthMe, BetterShulkerBoxes, BlueMap, ClearLag, CompromiseMOTD, CoreProtect, CraftBook, CraftserveRadiation, DeadChest, Denizen, Depenizen, dynmap, Dynmap-WorldGuard, EasyWhitelist, EpicGuard, Essentials, EssentialsChat, EssentialsSpawn, F3Name, FastLogin, HolographicDisplays, IllegalStack, Images, LibsDisguises, LimitPillagers, LuckPerms, LWC, LWCTrust, MyCommand, OpenInv, PlaceholderAPI, PluginConstructorAPI, PlugMan, ProtocolLib, PvPManager, ServerRestorer, SkinsRestorer, Skript, skript-mirror, spark, TAB, TitleManager, Trade, TradeShop, TreeAssist, UltraBar, Vault, ViaBackwards, ViaVersion, VillagerOptimiser, Voting, WorldEdit, WorldGuard Online Players: 3-5 Portal material: Obsidian Activators Material: Cobblestone, Emerald_Block, Diamond_Block, Redstone_Block, Stone

It seems to me that your portal damage checking system searches too often for portals to detect damage, but besides that, the system incorrectly checks any dug blocks set as portal activator. It is enough to limit the activation to one particular block so that the system does not cause such problems.

As "Timings" indicates, the problem is that the LISTENERS function in the plugin works too fast and too often.

When my friend was editing LISTENERS function in your plugin and delayed LISTENERS, this it all worked better, but it wasn't perfect.

jusdino commented 4 years ago

Ok, thanks for the details and sorry about the timing of my reply.

I think you're on exactly the right track with the break-detection listener. I've messed with that listener a lot between Minecraft version updates, as they've frequently subtly changed the way the listeners worked and broke the detection. The current listener definitely fires a lot, but I wasn't able to come up with an alternative that didn't fail to detect portals being broken.

It's probably due for another rework as you suggest.

SlyyJacob commented 3 years ago

Any chance of this being reworked/fixed? Or has the plugin been abandoned?

jusdino commented 3 years ago

Not abandoned. To date, I am mostly the only person contributing to this plugin and I am pretty light on time these days. I haven't been able to really dive into the investigation work needed to get to the bottom of this kind of issue and implement a better option without help from other developers.

SlyyJacob commented 3 years ago

Not abandoned. To date, I am mostly the only person contributing to this plugin and I am pretty light on time these days. I haven't been able to really dive into the investigation work needed to get to the bottom of this kind of issue and implement a better option without help from other developers.

Thanks for the info! My knowledge is too low to help in this. Hopefully someone can!