added libraries

This commit is contained in:
gnembon committed 2020-01-09 00:53:36 -04:00
1 parent bbb1ed4d35
commit 9214c31352
6 files changed
+32 -32

No files matched your search

@@ -10,13 +10,15 @@ public class BundledModule extends Module
{
private String name;
private String code;
public BundledModule(String scriptName)
private boolean library;
public BundledModule(String scriptName, boolean isLibrary)
{
library = isLibrary;
try
{
name = scriptName.toLowerCase(Locale.ROOT);
code = IOUtils.toString(
getClass().getClassLoader().getResourceAsStream("assets/carpet/scripts/"+name+".sc"),
getClass().getClassLoader().getResourceAsStream("assets/carpet/scripts/"+name+(isLibrary?".scl":".sc")),
StandardCharsets.UTF_8
);
}
@@ -26,15 +28,13 @@ public class BundledModule extends Module
code = null;
}
}
@Override
public String getName()
{
return name;
}
@Override
public String getCode()
{
return code;
}
public boolean isLibrary() { return library; }
@Override
public String getName() { return name; }
@Override
public String getCode() { return code; }
}
@@ -18,11 +18,13 @@ public class FileModule extends Module
{
private String name;
private String code;
private boolean library;
public FileModule(File sourceFile)
{
library = sourceFile.getName().endsWith(".scl");
try
{
name = sourceFile.getName().replaceFirst("\\.sc","").toLowerCase(Locale.ROOT);
name = sourceFile.getName().replaceFirst("\\.scl?","").toLowerCase(Locale.ROOT);
code = new String(Files.readAllBytes(sourceFile.toPath()));
}
catch ( IOException e)
@@ -31,12 +33,6 @@ public class FileModule extends Module
code = null;
}
}
public FileModule fromName(String name)
{
File sourceFile = CarpetServer.minecraft_server.getLevelStorage().resolveFile(
CarpetServer.minecraft_server.getLevelName(), "scripts/"+name+".sc");
return new FileModule(sourceFile);
}
@Override
public String getName()
{
@@ -50,9 +46,9 @@ public class FileModule extends Module
}
@Override
public boolean isInternal()
public boolean isLibrary()
{
return false;
return library;
}
//copied private method from net.minecraft.nbt.NbtIo.read()
@@ -14,7 +14,7 @@ public abstract class Module
{
public abstract String getName();
public abstract String getCode();
public boolean isInternal() {return true; }
public abstract boolean isLibrary();
public Tag getData(String file)
{