Fix symbolic links (#754)
This commit is contained in:
1 parent
b123899abd
commit
8a1c9f2d0b
1 file changed
+10
-5
@@ -26,6 +26,7 @@ import net.minecraft.util.WorldSavePath;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.file.FileVisitOption;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -136,7 +137,8 @@ public class CarpetScriptServer
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
Path folder = server.getSavePath(WorldSavePath.ROOT).resolve("scripts");
|
Path folder = server.getSavePath(WorldSavePath.ROOT).resolve("scripts");
|
||||||
Files.createDirectories(folder);
|
if (!Files.exists(folder))
|
||||||
|
Files.createDirectories(folder);
|
||||||
Optional<Path>
|
Optional<Path>
|
||||||
scriptPath = Files.list(folder)
|
scriptPath = Files.list(folder)
|
||||||
.filter(script ->
|
.filter(script ->
|
||||||
@@ -149,7 +151,8 @@ public class CarpetScriptServer
|
|||||||
if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT)
|
if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT)
|
||||||
{
|
{
|
||||||
Path globalFolder = FabricLoader.getInstance().getConfigDir().resolve("carpet/scripts");
|
Path globalFolder = FabricLoader.getInstance().getConfigDir().resolve("carpet/scripts");
|
||||||
Files.createDirectories(globalFolder);
|
if (!Files.exists(globalFolder))
|
||||||
|
Files.createDirectories(globalFolder);
|
||||||
scriptPath = Files.walk(globalFolder)
|
scriptPath = Files.walk(globalFolder)
|
||||||
.filter(script -> script.getFileName().toString().equalsIgnoreCase(name + ".sc") ||
|
.filter(script -> script.getFileName().toString().equalsIgnoreCase(name + ".sc") ||
|
||||||
(allowLibraries && script.getFileName().toString().equalsIgnoreCase(name + ".scl")))
|
(allowLibraries && script.getFileName().toString().equalsIgnoreCase(name + ".scl")))
|
||||||
@@ -194,7 +197,8 @@ public class CarpetScriptServer
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Path worldScripts = server.getSavePath(WorldSavePath.ROOT).resolve("scripts");
|
Path worldScripts = server.getSavePath(WorldSavePath.ROOT).resolve("scripts");
|
||||||
Files.createDirectories(worldScripts);
|
if (!Files.exists(worldScripts))
|
||||||
|
Files.createDirectories(worldScripts);
|
||||||
Files.list(worldScripts)
|
Files.list(worldScripts)
|
||||||
.filter(f -> f.toString().endsWith(".sc"))
|
.filter(f -> f.toString().endsWith(".sc"))
|
||||||
.forEach(f -> moduleNames.add(f.getFileName().toString().replaceFirst("\\.sc$","").toLowerCase(Locale.ROOT)));
|
.forEach(f -> moduleNames.add(f.getFileName().toString().replaceFirst("\\.sc$","").toLowerCase(Locale.ROOT)));
|
||||||
@@ -202,8 +206,9 @@ public class CarpetScriptServer
|
|||||||
if (includeBuiltIns && (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT))
|
if (includeBuiltIns && (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT))
|
||||||
{
|
{
|
||||||
Path globalScripts = FabricLoader.getInstance().getConfigDir().resolve("carpet/scripts");
|
Path globalScripts = FabricLoader.getInstance().getConfigDir().resolve("carpet/scripts");
|
||||||
Files.createDirectories(globalScripts);
|
if (!Files.exists(globalScripts))
|
||||||
Files.walk(globalScripts)
|
Files.createDirectories(globalScripts);
|
||||||
|
Files.walk(globalScripts, FileVisitOption.FOLLOW_LINKS)
|
||||||
.filter(f -> f.toString().endsWith(".sc"))
|
.filter(f -> f.toString().endsWith(".sc"))
|
||||||
.forEach(f -> moduleNames.add(f.getFileName().toString().replaceFirst("\\.sc$","").toLowerCase(Locale.ROOT)));
|
.forEach(f -> moduleNames.add(f.getFileName().toString().replaceFirst("\\.sc$","").toLowerCase(Locale.ROOT)));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user