Fixed slow imports

This commit is contained in:
Anuken
2019-12-07 11:37:13 -05:00
parent 93fd6c5bd6
commit 06abc43aea
7 changed files with 89 additions and 16 deletions
+53
View File
@@ -12,3 +12,56 @@ const extend = function(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.util.*;
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.bullet.*;
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.turrets.*;
import io.anuke.mindustry.world.blocks.distribution.*;
import io.anuke.mindustry.world.blocks.liquid.Conduit;
import io.anuke.mindustry.world.blocks.liquid.LiquidTank;
import io.anuke.mindustry.world.blocks.liquid.*;
import io.anuke.mindustry.world.blocks.logic.*;
import io.anuke.mindustry.world.blocks.power.*;
import io.anuke.mindustry.world.blocks.production.*;
@@ -915,6 +914,7 @@ public class Blocks implements ContentList{
phaseConveyor = new ItemBridge("phase-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.lead, 10, Items.graphite, 10));
range = 12;
canOverdrive = false;
hasPower = true;
consumes.power(0.30f);
}};
@@ -977,7 +977,7 @@ public class Blocks implements ContentList{
size = 3;
}};
conduit = new io.anuke.mindustry.world.blocks.liquid.Conduit("conduit"){{
conduit = new Conduit("conduit"){{
requirements(Category.liquid, ItemStack.with(Items.metaglass, 1));
health = 45;
}};
@@ -989,14 +989,14 @@ public class Blocks implements ContentList{
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));
liquidCapacity = 16f;
liquidPressure = 1.025f;
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));
liquidCapacity = 20f;
}};
@@ -1008,20 +1008,21 @@ public class Blocks implements ContentList{
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));
}};
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));
range = 4;
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));
range = 12;
hasPower = true;
canOverdrive = false;
consumes.power(0.30f);
}};
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -352,9 +352,9 @@ public class Mods implements Loadable{
scripts.dispose();
scripts = null;
}
content.clear();
content.createContent(false);
loadScripts();
content.clear();
content.createContent();
loadAsync();
loadSync();
+9 -1
View File
@@ -18,13 +18,21 @@ public class Scripts implements Disposable{
context = Vars.platform.getScriptContext();
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();
run(Core.files.internal("scripts/global.js").readString(), "global.js");
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){
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){
}
}