diff --git a/bukkit/src/main/java/com/boydti/fawe/bukkit/v1_7/BukkitChunk_1_7.java b/bukkit/src/main/java/com/boydti/fawe/bukkit/v1_7/BukkitChunk_1_7.java index 2e7b830a..78e320f6 100644 --- a/bukkit/src/main/java/com/boydti/fawe/bukkit/v1_7/BukkitChunk_1_7.java +++ b/bukkit/src/main/java/com/boydti/fawe/bukkit/v1_7/BukkitChunk_1_7.java @@ -314,7 +314,7 @@ public class BukkitChunk_1_7 extends CharFaweChunk { byte[] currentIdArray = (byte[]) BukkitQueue17.fieldIds.get(section); NibbleArray currentDataArray = (NibbleArray) BukkitQueue17.fieldData.get(section); boolean data = currentDataArray != null && newDataArray != null; - if (!data) { + if (currentDataArray == null && newDataArray != null) { section.setDataArray(newDataArray); } if (currentIdArray == null) { diff --git a/core/src/main/java/com/boydti/fawe/util/MainUtil.java b/core/src/main/java/com/boydti/fawe/util/MainUtil.java index 938d34aa..efa4dbfd 100644 --- a/core/src/main/java/com/boydti/fawe/util/MainUtil.java +++ b/core/src/main/java/com/boydti/fawe/util/MainUtil.java @@ -374,14 +374,17 @@ public class MainUtil { public static File getJarFile() { try { - URL url = Fawe.class.getProtectionDomain().getCodeSource().getLocation(); - return new File(new URL(url.toURI().toString().split("\\!")[0].replaceAll("jar:file", "file")).toURI().getPath()); + return getJarFile(Fawe.class); } catch (MalformedURLException | URISyntaxException | SecurityException e) { - MainUtil.handleError(e); return new File(Fawe.imp().getDirectory().getParentFile(), "FastAsyncWorldEdit.jar"); } } + public static File getJarFile(Class clazz) throws URISyntaxException, MalformedURLException { + URL url = clazz.getProtectionDomain().getCodeSource().getLocation(); + return new File(new URL(url.toURI().toString().split("\\!")[0].replaceAll("jar:file", "file")).toURI().getPath()); + } + public static void sendCompressedMessage(FaweStreamChangeSet set, FawePlayer actor) { try { diff --git a/core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java b/core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java index 170d6f82..c50833d9 100644 --- a/core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java +++ b/core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockData.java @@ -215,10 +215,11 @@ public class BundledBlockData { new Vector(0, -1, 0)}; int len = dir.values.size(); int index = 0; + int amount = (dir.values.size() + 7)/ 8; for (Map.Entry valuesEntry : dir.values.entrySet()) { FaweStateValue state = valuesEntry.getValue(); if (state != null) { - state.setDirection(dirs[index]); + state.setDirection(dirs[index / amount]); } index++; } diff --git a/forge110/src/main/java/com/boydti/fawe/forge/ForgeMain.java b/forge110/src/main/java/com/boydti/fawe/forge/ForgeMain.java index 493665e0..0d3fc673 100644 --- a/forge110/src/main/java/com/boydti/fawe/forge/ForgeMain.java +++ b/forge110/src/main/java/com/boydti/fawe/forge/ForgeMain.java @@ -18,7 +18,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; import org.apache.logging.log4j.Logger; -@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*") +@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*", dependencies = "before:worldedit") public class ForgeMain { private static com.boydti.fawe.forge.FaweForge IMP; private Logger logger; diff --git a/forge111/src/main/java/com/boydti/fawe/forge/ForgeMain.java b/forge111/src/main/java/com/boydti/fawe/forge/ForgeMain.java index abc2411a..568cf7c7 100644 --- a/forge111/src/main/java/com/boydti/fawe/forge/ForgeMain.java +++ b/forge111/src/main/java/com/boydti/fawe/forge/ForgeMain.java @@ -17,7 +17,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; import org.apache.logging.log4j.Logger; -@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*") +@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*", dependencies = "before:worldedit") public class ForgeMain { private static com.boydti.fawe.forge.FaweForge IMP; private Logger logger; diff --git a/forge1710/src/main/java/com/boydti/fawe/forge/ForgeMain.java b/forge1710/src/main/java/com/boydti/fawe/forge/ForgeMain.java index 55039179..94d63be4 100644 --- a/forge1710/src/main/java/com/boydti/fawe/forge/ForgeMain.java +++ b/forge1710/src/main/java/com/boydti/fawe/forge/ForgeMain.java @@ -19,7 +19,7 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import org.apache.logging.log4j.Logger; -@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*") +@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*", dependencies = "before:worldedit") public class ForgeMain { private static FaweForge IMP; private Logger logger; diff --git a/forge1710/src/main/java/com/boydti/fawe/forge/v1710/ForgeChunk_All.java b/forge1710/src/main/java/com/boydti/fawe/forge/v1710/ForgeChunk_All.java index 6ed426b4..01e673b3 100644 --- a/forge1710/src/main/java/com/boydti/fawe/forge/v1710/ForgeChunk_All.java +++ b/forge1710/src/main/java/com/boydti/fawe/forge/v1710/ForgeChunk_All.java @@ -263,7 +263,7 @@ public class ForgeChunk_All extends CharFaweChunk { byte[] currentIdArray = section.getBlockLSBArray(); NibbleArray currentDataArray = section.getMetadataArray(); boolean data = currentDataArray != null && newDataArray != null; - if (!data) { + if (currentDataArray == null && newDataArray != null) { section.setBlockMetadataArray(newDataArray); } int solid = 0; diff --git a/forge189/src/main/java/com/boydti/fawe/forge/ForgeMain.java b/forge189/src/main/java/com/boydti/fawe/forge/ForgeMain.java index f13a33d4..cf94cc00 100644 --- a/forge189/src/main/java/com/boydti/fawe/forge/ForgeMain.java +++ b/forge189/src/main/java/com/boydti/fawe/forge/ForgeMain.java @@ -19,7 +19,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; import org.apache.logging.log4j.Logger; -@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*") +@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*", dependencies = "before:worldedit") public class ForgeMain { private static com.boydti.fawe.forge.FaweForge IMP; private Logger logger; diff --git a/forge194/src/main/java/com/boydti/fawe/forge/ForgeMain.java b/forge194/src/main/java/com/boydti/fawe/forge/ForgeMain.java index 493665e0..0d3fc673 100644 --- a/forge194/src/main/java/com/boydti/fawe/forge/ForgeMain.java +++ b/forge194/src/main/java/com/boydti/fawe/forge/ForgeMain.java @@ -18,7 +18,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; import org.apache.logging.log4j.Logger; -@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*") +@Mod(modid = "com.boydti.fawe", name = "FastAsyncWorldEdit", version = "3.5.1", acceptableRemoteVersions = "*", dependencies = "before:worldedit") public class ForgeMain { private static com.boydti.fawe.forge.FaweForge IMP; private Logger logger;