mirror of
https://github.com/boy0001/FastAsyncWorldedit.git
synced 2025-04-09 21:56:23 +02:00
Fixes #885
This commit is contained in:
parent
bcbf307e8d
commit
1186a00b47
1
.gitignore
vendored
1
.gitignore
vendored
@ -20,6 +20,7 @@ gradle.log
|
||||
/forge1710/build
|
||||
/sponge/build
|
||||
/sponge111/build
|
||||
/bukkit/out
|
||||
/nukkit/out
|
||||
/sponge112/build
|
||||
/core/out
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.boydti.fawe.bukkit.wrapper.state;
|
||||
|
||||
import com.boydti.fawe.bukkit.chat.FancyMessage;
|
||||
import com.boydti.fawe.bukkit.wrapper.AsyncBlock;
|
||||
import com.boydti.fawe.bukkit.wrapper.AsyncBlockState;
|
||||
import com.boydti.fawe.util.ReflectionUtils;
|
||||
@ -20,16 +21,26 @@ public class AsyncSign extends AsyncBlockState implements Sign {
|
||||
String[] data = new String[4];
|
||||
if (nbt != null) {
|
||||
for (int i = 1; i <= 4; i++) {
|
||||
data[i - 1] = nbt.getString("Text" + i);
|
||||
data[i - 1] = fromJson(nbt.getString("Text" + i));
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
private String fromJson(String jsonInput) {
|
||||
if (jsonInput == null) return "";
|
||||
return FancyMessage.deserialize(jsonInput).toOldMessageFormat();
|
||||
}
|
||||
|
||||
private String toJson(String oldInput) {
|
||||
if (oldInput == null || oldInput.isEmpty()) return "";
|
||||
return new FancyMessage("").color(oldInput).toJSONString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLine(int index) throws IndexOutOfBoundsException {
|
||||
CompoundTag nbt = getNbtData();
|
||||
return nbt == null ? null : nbt.getString("Text" + (index + 1));
|
||||
return nbt == null ? null : fromJson(nbt.getString("Text" + (index + 1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -37,7 +48,7 @@ public class AsyncSign extends AsyncBlockState implements Sign {
|
||||
CompoundTag nbt = getNbtData();
|
||||
if (nbt != null) {
|
||||
Map<String, Tag> map = ReflectionUtils.getMap(nbt.getValue());
|
||||
map.put("Text" + (index + 1), new StringTag(line));
|
||||
map.put("Text" + (index + 1), new StringTag(toJson(line)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ import com.boydti.fawe.object.FaweChunk;
|
||||
import com.boydti.fawe.object.FaweQueue;
|
||||
import com.boydti.fawe.object.IntegerTrio;
|
||||
import com.boydti.fawe.object.RunnableVal;
|
||||
import com.boydti.fawe.object.collection.LocalBlockVector2DSet;
|
||||
import com.boydti.fawe.object.collection.BlockVectorSet;
|
||||
import com.boydti.fawe.util.MathMan;
|
||||
import com.boydti.fawe.util.TaskManager;
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
|
||||
@ -390,18 +390,18 @@ public class NMSRelighter implements Relighter {
|
||||
private void fixSkyLighting(List<RelightSkyEntry> sorted) {
|
||||
RelightSkyEntry[] chunks = sorted.toArray(new RelightSkyEntry[sorted.size()]);
|
||||
boolean remove = this.removeFirst;
|
||||
LocalBlockVector2DSet chunkSet = null;
|
||||
BlockVectorSet chunkSet = null;
|
||||
if (remove) {
|
||||
chunkSet = new LocalBlockVector2DSet();
|
||||
LocalBlockVector2DSet tmpSet = new LocalBlockVector2DSet();
|
||||
chunkSet = new BlockVectorSet();
|
||||
BlockVectorSet tmpSet = new BlockVectorSet();
|
||||
for (RelightSkyEntry chunk : chunks) {
|
||||
chunkSet.add(chunk.x, chunk.z);
|
||||
tmpSet.add(chunk.x, 0, chunk.z);
|
||||
}
|
||||
for (RelightSkyEntry chunk : chunks) {
|
||||
int x = chunk.x;
|
||||
int z = chunk.z;
|
||||
if (tmpSet.contains(x + 1, z) && tmpSet.contains(x - 1, z) && tmpSet.contains(x, z + 1) && tmpSet.contains(x, z - 1)) {
|
||||
chunkSet.add(x, z);
|
||||
if (tmpSet.contains(x + 1, 0, z) && tmpSet.contains(x - 1, 0, z) && tmpSet.contains(x, 0, z + 1) && tmpSet.contains(x, 0, z - 1)) {
|
||||
chunkSet.add(x, 0, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -427,7 +427,7 @@ public class NMSRelighter implements Relighter {
|
||||
if (section == null) continue;
|
||||
chunk.smooth = false;
|
||||
|
||||
if (remove && (y & 15) == 15 && chunkSet.contains(chunk.x, chunk.z)) {
|
||||
if (remove && (y & 15) == 15 && chunkSet.contains(chunk.x, 0, chunk.z)) {
|
||||
queue.removeSectionLighting(section, y >> 4, true);
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ public class FastWorldEditExtent extends AbstractDelegateExtent implements HasFa
|
||||
private final int maxY;
|
||||
|
||||
public FastWorldEditExtent(final World world, FaweQueue queue) {
|
||||
super(world);
|
||||
super(queue);
|
||||
this.queue = queue;
|
||||
this.maxY = world.getMaxY();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user