Fixed slow imports
This commit is contained in:
@@ -12,3 +12,56 @@ const extend = function(classType, params){
|
|||||||
return new JavaAdapter(classType, params)
|
return new JavaAdapter(classType, params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
importPackage(Packages.io.anuke.arc)
|
||||||
|
importPackage(Packages.io.anuke.arc.collection)
|
||||||
|
importPackage(Packages.io.anuke.arc.graphics.g2d)
|
||||||
|
importPackage(Packages.io.anuke.arc.scene)
|
||||||
|
importPackage(Packages.io.anuke.arc.scene.actions)
|
||||||
|
importPackage(Packages.io.anuke.arc.scene.event)
|
||||||
|
importPackage(Packages.io.anuke.arc.scene.style)
|
||||||
|
importPackage(Packages.io.anuke.arc.scene.ui)
|
||||||
|
importPackage(Packages.io.anuke.arc.scene.ui.layout)
|
||||||
|
importPackage(Packages.io.anuke.arc.scene.utils)
|
||||||
|
importPackage(Packages.io.anuke.arc.util)
|
||||||
|
importPackage(Packages.io.anuke.mindustry)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.ai)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.content)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.core)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.ctype)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.editor)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.entities)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.entities.bullet)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.entities.effect)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.entities.traits)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.entities.type)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.entities.type.base)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.entities.units)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.game)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.graphics)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.input)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.maps)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.maps.filters)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.maps.generators)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.maps.zonegen)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.type)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.ui)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.ui.dialogs)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.ui.fragments)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.ui.layout)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.defense)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.defense.turrets)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.distribution)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.liquid)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.logic)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.power)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.production)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.sandbox)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.storage)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.blocks.units)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.consumers)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.meta)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.meta.values)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.modules)
|
||||||
|
importPackage(Packages.io.anuke.mindustry.world.producers)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import io.anuke.arc.graphics.g2d.*;
|
|||||||
import io.anuke.arc.math.*;
|
import io.anuke.arc.math.*;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.*;
|
import io.anuke.mindustry.*;
|
||||||
import io.anuke.mindustry.ctype.ContentList;
|
import io.anuke.mindustry.ctype.*;
|
||||||
import io.anuke.mindustry.entities.*;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.bullet.*;
|
import io.anuke.mindustry.entities.bullet.*;
|
||||||
import io.anuke.mindustry.entities.type.*;
|
import io.anuke.mindustry.entities.type.*;
|
||||||
@@ -19,8 +19,7 @@ import io.anuke.mindustry.world.blocks.*;
|
|||||||
import io.anuke.mindustry.world.blocks.defense.*;
|
import io.anuke.mindustry.world.blocks.defense.*;
|
||||||
import io.anuke.mindustry.world.blocks.defense.turrets.*;
|
import io.anuke.mindustry.world.blocks.defense.turrets.*;
|
||||||
import io.anuke.mindustry.world.blocks.distribution.*;
|
import io.anuke.mindustry.world.blocks.distribution.*;
|
||||||
import io.anuke.mindustry.world.blocks.liquid.Conduit;
|
import io.anuke.mindustry.world.blocks.liquid.*;
|
||||||
import io.anuke.mindustry.world.blocks.liquid.LiquidTank;
|
|
||||||
import io.anuke.mindustry.world.blocks.logic.*;
|
import io.anuke.mindustry.world.blocks.logic.*;
|
||||||
import io.anuke.mindustry.world.blocks.power.*;
|
import io.anuke.mindustry.world.blocks.power.*;
|
||||||
import io.anuke.mindustry.world.blocks.production.*;
|
import io.anuke.mindustry.world.blocks.production.*;
|
||||||
@@ -915,6 +914,7 @@ public class Blocks implements ContentList{
|
|||||||
phaseConveyor = new ItemBridge("phase-conveyor"){{
|
phaseConveyor = new ItemBridge("phase-conveyor"){{
|
||||||
requirements(Category.distribution, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.lead, 10, Items.graphite, 10));
|
requirements(Category.distribution, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.lead, 10, Items.graphite, 10));
|
||||||
range = 12;
|
range = 12;
|
||||||
|
canOverdrive = false;
|
||||||
hasPower = true;
|
hasPower = true;
|
||||||
consumes.power(0.30f);
|
consumes.power(0.30f);
|
||||||
}};
|
}};
|
||||||
@@ -977,7 +977,7 @@ public class Blocks implements ContentList{
|
|||||||
size = 3;
|
size = 3;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
conduit = new io.anuke.mindustry.world.blocks.liquid.Conduit("conduit"){{
|
conduit = new Conduit("conduit"){{
|
||||||
requirements(Category.liquid, ItemStack.with(Items.metaglass, 1));
|
requirements(Category.liquid, ItemStack.with(Items.metaglass, 1));
|
||||||
health = 45;
|
health = 45;
|
||||||
}};
|
}};
|
||||||
@@ -989,14 +989,14 @@ public class Blocks implements ContentList{
|
|||||||
health = 90;
|
health = 90;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
platedConduit = new io.anuke.mindustry.world.blocks.liquid.ArmoredConduit("plated-conduit"){{
|
platedConduit = new ArmoredConduit("plated-conduit"){{
|
||||||
requirements(Category.liquid, ItemStack.with(Items.thorium, 2, Items.metaglass, 1));
|
requirements(Category.liquid, ItemStack.with(Items.thorium, 2, Items.metaglass, 1));
|
||||||
liquidCapacity = 16f;
|
liquidCapacity = 16f;
|
||||||
liquidPressure = 1.025f;
|
liquidPressure = 1.025f;
|
||||||
health = 220;
|
health = 220;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
liquidRouter = new io.anuke.mindustry.world.blocks.liquid.LiquidRouter("liquid-router"){{
|
liquidRouter = new LiquidRouter("liquid-router"){{
|
||||||
requirements(Category.liquid, ItemStack.with(Items.graphite, 4, Items.metaglass, 2));
|
requirements(Category.liquid, ItemStack.with(Items.graphite, 4, Items.metaglass, 2));
|
||||||
liquidCapacity = 20f;
|
liquidCapacity = 20f;
|
||||||
}};
|
}};
|
||||||
@@ -1008,20 +1008,21 @@ public class Blocks implements ContentList{
|
|||||||
health = 500;
|
health = 500;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
liquidJunction = new io.anuke.mindustry.world.blocks.liquid.LiquidJunction("liquid-junction"){{
|
liquidJunction = new LiquidJunction("liquid-junction"){{
|
||||||
requirements(Category.liquid, ItemStack.with(Items.graphite, 2, Items.metaglass, 2));
|
requirements(Category.liquid, ItemStack.with(Items.graphite, 2, Items.metaglass, 2));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
bridgeConduit = new io.anuke.mindustry.world.blocks.liquid.LiquidExtendingBridge("bridge-conduit"){{
|
bridgeConduit = new LiquidExtendingBridge("bridge-conduit"){{
|
||||||
requirements(Category.liquid, ItemStack.with(Items.graphite, 4, Items.metaglass, 8));
|
requirements(Category.liquid, ItemStack.with(Items.graphite, 4, Items.metaglass, 8));
|
||||||
range = 4;
|
range = 4;
|
||||||
hasPower = false;
|
hasPower = false;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
phaseConduit = new io.anuke.mindustry.world.blocks.liquid.LiquidBridge("phase-conduit"){{
|
phaseConduit = new LiquidBridge("phase-conduit"){{
|
||||||
requirements(Category.liquid, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.metaglass, 20, Items.titanium, 10));
|
requirements(Category.liquid, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.metaglass, 20, Items.titanium, 10));
|
||||||
range = 12;
|
range = 12;
|
||||||
hasPower = true;
|
hasPower = true;
|
||||||
|
canOverdrive = false;
|
||||||
consumes.power(0.30f);
|
consumes.power(0.30f);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -352,9 +352,9 @@ public class Mods implements Loadable{
|
|||||||
scripts.dispose();
|
scripts.dispose();
|
||||||
scripts = null;
|
scripts = null;
|
||||||
}
|
}
|
||||||
|
content.clear();
|
||||||
content.createContent(false);
|
content.createContent(false);
|
||||||
loadScripts();
|
loadScripts();
|
||||||
content.clear();
|
|
||||||
content.createContent();
|
content.createContent();
|
||||||
loadAsync();
|
loadAsync();
|
||||||
loadSync();
|
loadSync();
|
||||||
|
|||||||
@@ -18,13 +18,21 @@ public class Scripts implements Disposable{
|
|||||||
context = Vars.platform.getScriptContext();
|
context = Vars.platform.getScriptContext();
|
||||||
context.setClassShutter(type -> ClassAccess.allowedClassNames.contains(type) || type.startsWith("adapter") || type.contains("PrintStream"));
|
context.setClassShutter(type -> ClassAccess.allowedClassNames.contains(type) || type.startsWith("adapter") || type.contains("PrintStream"));
|
||||||
|
|
||||||
scope = context.initStandardObjects();
|
scope = new ImporterTopLevel(context);//context.initStandardObjects();
|
||||||
wrapper = Core.files.internal("scripts/wrapper.js").readString();
|
wrapper = Core.files.internal("scripts/wrapper.js").readString();
|
||||||
|
|
||||||
run(Core.files.internal("scripts/global.js").readString(), "global.js");
|
run(Core.files.internal("scripts/global.js").readString(), "global.js");
|
||||||
Log.info("Time to load script engine: {0}", Time.elapsed());
|
Log.info("Time to load script engine: {0}", Time.elapsed());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String runConsole(String text){
|
||||||
|
try{
|
||||||
|
return String.valueOf(context.evaluateString(scope, text, "console.js", 1, null));
|
||||||
|
}catch(Throwable t){
|
||||||
|
return t.getClass().getSimpleName() + (t.getMessage() == null ? "" : ": " + t.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void run(LoadedMod mod, FileHandle file){
|
public void run(LoadedMod mod, FileHandle file){
|
||||||
run(wrapper.replace("$SCRIPT_NAME$", mod.name + "_" + file.nameWithoutExtension().replace("-", "_").replace(" ", "_")).replace("$CODE$", file.readString()).replace("$MOD_NAME$", mod.name), file.name());
|
run(wrapper.replace("$SCRIPT_NAME$", mod.name + "_" + file.nameWithoutExtension().replace("-", "_").replace(" ", "_")).replace("$CODE$", file.readString()).replace("$MOD_NAME$", mod.name), file.name());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package io.anuke.mindustry.ui.fragments;
|
||||||
|
|
||||||
|
import io.anuke.arc.scene.*;
|
||||||
|
|
||||||
|
public class ScriptConsoleFragment extends Fragment{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void build(Group parent){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,7 +22,7 @@ public class ScriptStubGenerator{
|
|||||||
Array<String> blacklist = Array.with("plugin", "mod", "net", "io", "tools", "gen");
|
Array<String> blacklist = Array.with("plugin", "mod", "net", "io", "tools", "gen");
|
||||||
Array<String> nameBlacklist = Array.with("ClientLauncher", "NetClient", "NetServer", "ClassAccess");
|
Array<String> nameBlacklist = Array.with("ClientLauncher", "NetClient", "NetServer", "ClassAccess");
|
||||||
Array<Class<?>> whitelist = Array.with(Draw.class, Fill.class, Lines.class, Core.class, TextureAtlas.class, TextureRegion.class, Time.class, System.class, PrintStream.class, AtlasRegion.class, String.class);
|
Array<Class<?>> whitelist = Array.with(Draw.class, Fill.class, Lines.class, Core.class, TextureAtlas.class, TextureRegion.class, Time.class, System.class, PrintStream.class, AtlasRegion.class, String.class);
|
||||||
Array<String> nopackage = Array.with("io.anuke.arc.func", "java.lang");
|
Array<String> nopackage = Array.with("io.anuke.arc.func", "java.lang", "java");
|
||||||
Array<String> imported = Array.with("io.anuke.mindustry.type", "io.anuke.mindustry.world");
|
Array<String> imported = Array.with("io.anuke.mindustry.type", "io.anuke.mindustry.world");
|
||||||
|
|
||||||
String fileTemplate = "package io.anuke.mindustry.mod;\n" +
|
String fileTemplate = "package io.anuke.mindustry.mod;\n" +
|
||||||
@@ -61,9 +61,9 @@ public class ScriptStubGenerator{
|
|||||||
StringBuilder result = new StringBuilder("//Generated class. Do not modify.\n");
|
StringBuilder result = new StringBuilder("//Generated class. Do not modify.\n");
|
||||||
result.append("\n").append(new FileHandle("core/assets/scripts/base.js").readString()).append("\n");
|
result.append("\n").append(new FileHandle("core/assets/scripts/base.js").readString()).append("\n");
|
||||||
for(Class type : classes){
|
for(Class type : classes){
|
||||||
if(used.contains(type.getSimpleName()) || nopackage.contains(s -> type.getName().startsWith(s))) continue;
|
if(used.contains(type.getPackage().getName()) || nopackage.contains(s -> type.getName().startsWith(s))) continue;
|
||||||
//result.append("const ").append(type.getSimpleName()).append(" = ").append("Packages.").append(type.getCanonicalName()).append("\n");
|
result.append("importPackage(Packages.").append(type.getPackage().getName()).append(")\n");
|
||||||
used.add(type.getSimpleName());
|
used.add(type.getPackage().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
//Log.info(result);
|
//Log.info(result);
|
||||||
|
|||||||
Reference in New Issue
Block a user