Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WorldEdit //regen issues #124

Closed
markhughes opened this issue Aug 25, 2016 · 9 comments
Closed

WorldEdit //regen issues #124

markhughes opened this issue Aug 25, 2016 · 9 comments

Comments

@markhughes
Copy link

markhughes commented Aug 25, 2016

Hello! Using WorldEdit (and FAWE - so this may be an issue with just FAWE or worldedit) and Orebfuscator and the //regen command causes the blocks to become random ores/gravel etc - or huge portions of coal.

Unfortunately no screenshot here yet (whenever it happened I was on a live server so I had to quickly unload orebfuscator and redo it), but I will undertake some further testing soon for you. Is there anything I should do while testing further to provide further useful information?

  • PaperSpigot b832
  • WorldEdit 6.1.4 3594
  • FAWE 3.5.1
  • Orebfuscator 4.1.4

This bug was also present in the previous version. But I found it doesn't occur when I take off Orebfuscator


Edit 1: Testing

Versions:
Plugins (5): FastAsyncWorldEdit, Vault, ProtocolLib, WorldEdit, Orebfuscator4

  • FastAsyncWorldEdit version 16.08.27-5baa99e-243
  • Vault version 1.5.6-b49
  • ProtocolLib version 4.0.2-SNAPSHOT-b293
  • WorldEdit version 6.1.3;7a097ca
  • Orebfuscator4 version 4.1.4

2016-08-27_16 24 28

Start to finish log: http://pastebin.com/nKZ7Vc04

If I take off Orebfuscator this no longer occurs - the above example is a much nicer result than usual.

Error that is thrown:

[16:25:50 INFO]: MarkehMe issued server command: //regen
[16:25:51 WARN]: java.lang.IllegalArgumentException: Block 3:0 is absent in output palette.
[16:25:51 WARN]:    at com.lishid.orebfuscator.chunkmap.ChunkMapManager.writeOutputBlock(ChunkMapManager.java:193)
[16:25:51 WARN]:    at com.lishid.orebfuscator.obfuscation.Calculations.obfuscate(Calculations.java:231)
[16:25:51 WARN]:    at com.lishid.orebfuscator.obfuscation.Calculations.obfuscateOrUseCache(Calculations.java:58)
[16:25:51 WARN]:    at com.lishid.orebfuscator.hook.ProtocolLibHook$1.onPacketSending(ProtocolLibHook.java:58)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:608)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:584)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:309)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:269)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:396)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector.access$500(ChannelInjector.java:77)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector$5.handleScheduled(ChannelInjector.java:362)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector$5.onMessageScheduled(ChannelInjector.java:330)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127)
[16:25:51 WARN]:    at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95)
[16:25:51 WARN]:    at net.minecraft.server.v1_10_R1.NetworkManager.a(NetworkManager.java:194)
[16:25:51 WARN]:    at net.minecraft.server.v1_10_R1.NetworkManager.sendPacket(NetworkManager.java:143)
[16:25:51 WARN]:    at net.minecraft.server.v1_10_R1.PlayerConnection.sendPacket(PlayerConnection.java:1105)
[16:25:51 WARN]:    at com.boydti.fawe.bukkit.v1_10.BukkitQueue_1_10.refreshChunk(BukkitQueue_1_10.java:264)
[16:25:51 WARN]:    at com.boydti.fawe.example.NMSMappedFaweQueue.sendChunk(NMSMappedFaweQueue.java:79)
[16:25:51 WARN]:    at com.boydti.fawe.example.NMSMappedFaweQueue.execute(NMSMappedFaweQueue.java:47)
[16:25:51 WARN]:    at com.boydti.fawe.example.DefaultFaweQueueMap.next(DefaultFaweQueueMap.java:119)
[16:25:51 WARN]:    at com.boydti.fawe.example.MappedFaweQueue.next(MappedFaweQueue.java:195)
[16:25:51 WARN]:    at com.boydti.fawe.util.SetQueue$1.run(SetQueue.java:46)
[16:25:51 WARN]:    at com.boydti.fawe.util.SetQueue$1.run(SetQueue.java:42)
[16:25:51 WARN]:    at com.boydti.fawe.object.RunnableVal2.run(RunnableVal2.java:16)
[16:25:51 WARN]:    at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
[16:25:51 WARN]:    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
[16:25:51 WARN]:    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:902)
[16:25:51 WARN]:    at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1689)
[16:25:51 WARN]:    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1644)
[16:25:51 WARN]:    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
[16:25:52 WARN]: java.lang.IllegalArgumentException: Block 3:0 is absent in output palette.
[16:25:52 WARN]:    at com.lishid.orebfuscator.chunkmap.ChunkMapManager.writeOutputBlock(ChunkMapManager.java:193)
[16:25:52 WARN]:    at com.lishid.orebfuscator.obfuscation.Calculations.obfuscate(Calculations.java:231)
[16:25:52 WARN]:    at com.lishid.orebfuscator.obfuscation.Calculations.obfuscateOrUseCache(Calculations.java:58)
[16:25:52 WARN]:    at com.lishid.orebfuscator.hook.ProtocolLibHook$1.onPacketSending(ProtocolLibHook.java:58)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:608)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:584)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:309)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:269)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:396)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector.access$500(ChannelInjector.java:77)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector$5.handleScheduled(ChannelInjector.java:362)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.ChannelInjector$5.onMessageScheduled(ChannelInjector.java:330)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127)
[16:25:52 WARN]:    at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95)
[16:25:52 WARN]:    at net.minecraft.server.v1_10_R1.NetworkManager.a(NetworkManager.java:194)
[16:25:52 WARN]:    at net.minecraft.server.v1_10_R1.NetworkManager.sendPacket(NetworkManager.java:143)
[16:25:52 WARN]:    at net.minecraft.server.v1_10_R1.PlayerConnection.sendPacket(PlayerConnection.java:1105)
[16:25:52 WARN]:    at com.boydti.fawe.bukkit.v1_10.BukkitQueue_1_10.refreshChunk(BukkitQueue_1_10.java:264)
[16:25:52 WARN]:    at com.boydti.fawe.example.NMSMappedFaweQueue.sendChunk(NMSMappedFaweQueue.java:79)
[16:25:52 WARN]:    at com.boydti.fawe.example.NMSRelighter.sendChunks(NMSRelighter.java:133)
[16:25:52 WARN]:    at com.boydti.fawe.example.NMSRelighter.fixLightingSafe(NMSRelighter.java:83)
[16:25:52 WARN]:    at com.boydti.fawe.example.NMSMappedFaweQueue$1$1.run(NMSMappedFaweQueue.java:34)
[16:25:52 WARN]:    at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:58)
[16:25:52 WARN]:    at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[16:25:52 WARN]:    at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[16:25:52 WARN]:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[16:25:52 WARN]:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[16:25:52 WARN]:    at java.lang.Thread.run(Thread.java:745)

Disabling Orebfuscator fixes the issue.

However, disabling FastAsyncWorldEdit also fixes the issue. Perhaps @boy0001 would like to take a look too?

@markhughes
Copy link
Author

I have updated my ticket with more information!

@Aleksey-Terzi
Copy link
Collaborator

Hello,

Thanks for problem description.
Is it possible for you to prepare "server folder" and provide me it with steps I have to do to see the problem?

@markhughes
Copy link
Author

I have attached the plugins folder.

To reproduce:

  • Use //pos1 to select your location
  • Move about 2-3 chunks diagonally and use //pos2 to create a square
  • Use //expand vert
  • Use //regen

plugins.zip

@Aleksey-Terzi
Copy link
Collaborator

Thanks, I've reproduced problem.
I will try to find the reason and fix (if issue in Orebfuscator's side)

@markhughes
Copy link
Author

Opened the issue @ boy0001/FastAsyncWorldedit#273 as well

@RoboMWM
Copy link
Contributor

RoboMWM commented Sep 1, 2016

I conclude that this isn't an issue: comment on the other ticket

Aleksey-Terzi added a commit to DevotedMC/Orebfuscator that referenced this issue Sep 1, 2016
@Aleksey-Terzi
Copy link
Collaborator

@markehme

  1. Just to confirm - Orebfuscator is not changing real map data, it is changing only what is sent to the client. Clear cache, relog client - and you will see "not corrupted" map.

  2. Problem happened because of "//regen" command with FAWE is sending fake block ID's. Client just converting such blocks to AIR, but Orebfuscator no.

Therefore I'm considering this is bug on FAWE side, but I anyway applied change to convert "fake blocks" to AIR.

This should fix the problem you mentioned.

You can wait until new release or could compile plugin by your self from DevotedMC fork.

@markhughes
Copy link
Author

Thanks @Aleksey-Terzi, it's really scary to players when you go to regenerate something and it turns into a cluster of ores!

@markhughes
Copy link
Author

markhughes commented Sep 2, 2016

Just confirming. The issue appears to be fixed, awesome!

Thanks - IOU a beer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants