IntellectualSites / FastAsyncWorldEdit

Blazingly fast world manipulation for artists, builders and everyone else: https://www.spigotmc.org/resources/13932/
Other
615 stars 222 forks source link

Incompatibility with Plotsquared #251

Closed jewome62 closed 4 years ago

jewome62 commented 4 years ago

Hello,

Current version of FAWE is non compatible with PlotSquared version 4.400 (lastest release)

The cause is Plotsquared use now CuboidSelection (From WorldEdit class) insteadof RegionWrapper And getRegion from Plot return the interface Set and not the implementation HashSet

the code in question here : https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13/blob/c1a0819acb2ab73615bbb05f8c81c248f736fd33/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/PlotSquaredFeature.java#L103

Exception

[22:18:08] [Server thread/WARN]: java.lang.NoSuchMethodError: com.github.intellectualsites.plotsquared.plot.object.Plot.getRegions()Ljava/util/HashSet;
[22:18:08] [Server thread/WARN]:    at com.boydti.fawe.regions.general.plot.PlotSquaredFeature.getMask(PlotSquaredFeature.java:106)
[22:18:08] [Server thread/WARN]:    at com.boydti.fawe.util.WEManager.getMask(WEManager.java:136)
[22:18:08] [Server thread/WARN]:    at com.boydti.fawe.util.WEManager.getMask(WEManager.java:72)
[22:18:08] [Server thread/WARN]:    at com.boydti.fawe.object.FawePlayer.getCurrentRegions(FawePlayer.java:544)
[22:18:08] [Server thread/WARN]:    at com.sk89q.worldedit.EditSession.<init>(EditSession.java:371)
[22:18:08] [Server thread/WARN]:    at com.boydti.fawe.util.EditSessionBuilder.build(EditSessionBuilder.java:194)
[22:18:08] [Server thread/WARN]:    at com.boydti.fawe.object.FawePlayer.getNewEditSession(FawePlayer.java:643)
[22:18:08] [Server thread/WARN]:    at gc.arcaniax.gobrush.listener.PlayerInteractListener.onClickEvent(PlayerInteractListener.java:39)
[22:18:08] [Server thread/WARN]:    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor160.execute(Unknown Source)
[22:18:08] [Server thread/WARN]:    at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69)
[22:18:08] [Server thread/WARN]:    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
[22:18:08] [Server thread/WARN]:    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66)
[22:18:08] [Server thread/WARN]:    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:520)
[22:18:08] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:320)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerInteractManager.a(PlayerInteractManager.java:466)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1348)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:5)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:15)
[22:18:08] [Server thread/WARN]:    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[22:18:08] [Server thread/WARN]:    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.SystemUtils.a(SystemUtils.java:108)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1018)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:940)
[22:18:08] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:837)
[22:18:08] [Server thread/WARN]:    at java.lang.Thread.run(Thread.java:748)

Details https://athion.net/ISPaster/paste/view/b2e2dce8090b4c769186190c38598d69

jewome62 commented 4 years ago

The consequence on the game is FAWE don't work for nobody on their plots, because it not reconize the owner or members That's work if admin and /wea enabled

MattBDev commented 4 years ago

Please don't delete the issue template. It has information we need. The current version of PlotSquared is 4.440 Generate a debugpaste in game and provide it here. Otherwise I'll have to close this issue.

MattBDev commented 4 years ago

Nevermind I found the debug paste. You are still using an outdated PlotSquared version.

jewome62 commented 4 years ago

@MattBDev

the current version is 4.400 on spigot and 4.405 on build

Ok the version is not same with actual, but the code still same. The bug is not Plotsquared not latest version, but FAWE not use latest interface of PlotSquared (and since 40+version more than i think) Définition : Plot.getRegion() return Set<CuboidRegion> https://github.com/IntellectualSites/PlotSquared/blob/10e5760ba8b7d3c49d7a093533350864269541e0/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Plot.java#L2604

Usage into FAWE Plot.getRegion() is save into HashSet<RegionWrapper> https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13/blob/c1a0819acb2ab73615bbb05f8c81c248f736fd33/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/PlotSquaredFeature.java#L103

There will remain exceptions and it will not work until the use of the method will respect the interface

GitHub
IntellectualSites/PlotSquared
PlotSquared - Reinventing the plotworld. Contribute to IntellectualSites/PlotSquared development by creating an account on GitHub.
boy0001 commented 4 years ago

The pipeline builds of FAWE (which are compatible with P2) are only for 1.14 right now.