Various improvements

This commit is contained in:
Anuken
2019-12-07 00:34:27 -05:00
parent f3a5798a7f
commit 96aa3ccee0
7 changed files with 72 additions and 32 deletions

View File

@@ -3,7 +3,7 @@ const print = function(obj){
}
const extendContent = function(classType, name, params){
return new JavaAdapter(classType, params, name)
return new JavaAdapter(classType, params, modName + "-" + name)
}
const extend = function(classType, params){

View File

@@ -5,7 +5,7 @@ const print = function(obj){
}
const extendContent = function(classType, name, params){
return new JavaAdapter(classType, params, name)
return new JavaAdapter(classType, params, modName + "-" + name)
}
const extend = function(classType, params){
@@ -13,26 +13,6 @@ const extend = function(classType, params){
}
const Core = Packages.io.anuke.arc.Core
const Boolc = Packages.io.anuke.arc.func.Boolc
const Boolf = Packages.io.anuke.arc.func.Boolf
const Boolf2 = Packages.io.anuke.arc.func.Boolf2
const Boolp = Packages.io.anuke.arc.func.Boolp
const Cons = Packages.io.anuke.arc.func.Cons
const Cons2 = Packages.io.anuke.arc.func.Cons2
const Floatc = Packages.io.anuke.arc.func.Floatc
const Floatc2 = Packages.io.anuke.arc.func.Floatc2
const Floatc4 = Packages.io.anuke.arc.func.Floatc4
const Floatf = Packages.io.anuke.arc.func.Floatf
const Floatp = Packages.io.anuke.arc.func.Floatp
const Func = Packages.io.anuke.arc.func.Func
const Func2 = Packages.io.anuke.arc.func.Func2
const Func3 = Packages.io.anuke.arc.func.Func3
const Intc = Packages.io.anuke.arc.func.Intc
const Intc2 = Packages.io.anuke.arc.func.Intc2
const Intc4 = Packages.io.anuke.arc.func.Intc4
const Intf = Packages.io.anuke.arc.func.Intf
const Intp = Packages.io.anuke.arc.func.Intp
const Prov = Packages.io.anuke.arc.func.Prov
const Draw = Packages.io.anuke.arc.graphics.g2d.Draw
const Fill = Packages.io.anuke.arc.graphics.g2d.Fill
const Lines = Packages.io.anuke.arc.graphics.g2d.Lines
@@ -83,8 +63,16 @@ const EditorTile = Packages.io.anuke.mindustry.editor.EditorTile
const EditorTool = Packages.io.anuke.mindustry.editor.EditorTool
const MapEditor = Packages.io.anuke.mindustry.editor.MapEditor
const Context = Packages.io.anuke.mindustry.editor.MapEditor.Context
const MapEditorDialog = Packages.io.anuke.mindustry.editor.MapEditorDialog
const MapGenerateDialog = Packages.io.anuke.mindustry.editor.MapGenerateDialog
const MapInfoDialog = Packages.io.anuke.mindustry.editor.MapInfoDialog
const MapLoadDialog = Packages.io.anuke.mindustry.editor.MapLoadDialog
const MapRenderer = Packages.io.anuke.mindustry.editor.MapRenderer
const MapResizeDialog = Packages.io.anuke.mindustry.editor.MapResizeDialog
const MapSaveDialog = Packages.io.anuke.mindustry.editor.MapSaveDialog
const MapView = Packages.io.anuke.mindustry.editor.MapView
const OperationStack = Packages.io.anuke.mindustry.editor.OperationStack
const WaveInfoDialog = Packages.io.anuke.mindustry.editor.WaveInfoDialog
const Damage = Packages.io.anuke.mindustry.entities.Damage
const PropCellStruct = Packages.io.anuke.mindustry.entities.Damage.PropCellStruct
const Effects = Packages.io.anuke.mindustry.entities.Effects
@@ -323,21 +311,67 @@ const UnitType = Packages.io.anuke.mindustry.type.UnitType
const Weapon = Packages.io.anuke.mindustry.type.Weapon
const WeatherEvent = Packages.io.anuke.mindustry.type.WeatherEvent
const Zone = Packages.io.anuke.mindustry.type.Zone
const Bar = Packages.io.anuke.mindustry.ui.Bar
const BorderImage = Packages.io.anuke.mindustry.ui.BorderImage
const Cicon = Packages.io.anuke.mindustry.ui.Cicon
const ContentDisplay = Packages.io.anuke.mindustry.ui.ContentDisplay
const Fonts = Packages.io.anuke.mindustry.ui.Fonts
const GridImage = Packages.io.anuke.mindustry.ui.GridImage
const IconSize = Packages.io.anuke.mindustry.ui.IconSize
const IntFormat = Packages.io.anuke.mindustry.ui.IntFormat
const ItemDisplay = Packages.io.anuke.mindustry.ui.ItemDisplay
const ItemImage = Packages.io.anuke.mindustry.ui.ItemImage
const ItemsDisplay = Packages.io.anuke.mindustry.ui.ItemsDisplay
const Links = Packages.io.anuke.mindustry.ui.Links
const LinkEntry = Packages.io.anuke.mindustry.ui.Links.LinkEntry
const LiquidDisplay = Packages.io.anuke.mindustry.ui.LiquidDisplay
const Minimap = Packages.io.anuke.mindustry.ui.Minimap
const MobileButton = Packages.io.anuke.mindustry.ui.MobileButton
const MultiReqImage = Packages.io.anuke.mindustry.ui.MultiReqImage
const ReqImage = Packages.io.anuke.mindustry.ui.ReqImage
const Styles = Packages.io.anuke.mindustry.ui.Styles
const AboutDialog = Packages.io.anuke.mindustry.ui.dialogs.AboutDialog
const AdminsDialog = Packages.io.anuke.mindustry.ui.dialogs.AdminsDialog
const BansDialog = Packages.io.anuke.mindustry.ui.dialogs.BansDialog
const ColorPicker = Packages.io.anuke.mindustry.ui.dialogs.ColorPicker
const ContentInfoDialog = Packages.io.anuke.mindustry.ui.dialogs.ContentInfoDialog
const ControlsDialog = Packages.io.anuke.mindustry.ui.dialogs.ControlsDialog
const CustomGameDialog = Packages.io.anuke.mindustry.ui.dialogs.CustomGameDialog
const CustomRulesDialog = Packages.io.anuke.mindustry.ui.dialogs.CustomRulesDialog
const DatabaseDialog = Packages.io.anuke.mindustry.ui.dialogs.DatabaseDialog
const DeployDialog = Packages.io.anuke.mindustry.ui.dialogs.DeployDialog
const View = Packages.io.anuke.mindustry.ui.dialogs.DeployDialog.View
const ZoneNode = Packages.io.anuke.mindustry.ui.dialogs.DeployDialog.ZoneNode
const DiscordDialog = Packages.io.anuke.mindustry.ui.dialogs.DiscordDialog
const FileChooser = Packages.io.anuke.mindustry.ui.dialogs.FileChooser
const FileHistory = Packages.io.anuke.mindustry.ui.dialogs.FileChooser.FileHistory
const FloatingDialog = Packages.io.anuke.mindustry.ui.dialogs.FloatingDialog
const GameOverDialog = Packages.io.anuke.mindustry.ui.dialogs.GameOverDialog
const HostDialog = Packages.io.anuke.mindustry.ui.dialogs.HostDialog
const JoinDialog = Packages.io.anuke.mindustry.ui.dialogs.JoinDialog
const Server = Packages.io.anuke.mindustry.ui.dialogs.JoinDialog.Server
const LanguageDialog = Packages.io.anuke.mindustry.ui.dialogs.LanguageDialog
const LoadDialog = Packages.io.anuke.mindustry.ui.dialogs.LoadDialog
const LoadoutDialog = Packages.io.anuke.mindustry.ui.dialogs.LoadoutDialog
const MapPlayDialog = Packages.io.anuke.mindustry.ui.dialogs.MapPlayDialog
const MapsDialog = Packages.io.anuke.mindustry.ui.dialogs.MapsDialog
const MinimapDialog = Packages.io.anuke.mindustry.ui.dialogs.MinimapDialog
const ModsDialog = Packages.io.anuke.mindustry.ui.dialogs.ModsDialog
const PaletteDialog = Packages.io.anuke.mindustry.ui.dialogs.PaletteDialog
const PausedDialog = Packages.io.anuke.mindustry.ui.dialogs.PausedDialog
const SaveDialog = Packages.io.anuke.mindustry.ui.dialogs.SaveDialog
const SchematicsDialog = Packages.io.anuke.mindustry.ui.dialogs.SchematicsDialog
const SchematicImage = Packages.io.anuke.mindustry.ui.dialogs.SchematicsDialog.SchematicImage
const SchematicInfoDialog = Packages.io.anuke.mindustry.ui.dialogs.SchematicsDialog.SchematicInfoDialog
const SettingsMenuDialog = Packages.io.anuke.mindustry.ui.dialogs.SettingsMenuDialog
const TechTreeDialog = Packages.io.anuke.mindustry.ui.dialogs.TechTreeDialog
const LayoutNode = Packages.io.anuke.mindustry.ui.dialogs.TechTreeDialog.LayoutNode
const TechTreeNode = Packages.io.anuke.mindustry.ui.dialogs.TechTreeDialog.TechTreeNode
const TraceDialog = Packages.io.anuke.mindustry.ui.dialogs.TraceDialog
const ZoneInfoDialog = Packages.io.anuke.mindustry.ui.dialogs.ZoneInfoDialog
const BlockConfigFragment = Packages.io.anuke.mindustry.ui.fragments.BlockConfigFragment
const BlockInventoryFragment = Packages.io.anuke.mindustry.ui.fragments.BlockInventoryFragment
const ChatFragment = Packages.io.anuke.mindustry.ui.fragments.ChatFragment
const FadeInFragment = Packages.io.anuke.mindustry.ui.fragments.FadeInFragment
const Fragment = Packages.io.anuke.mindustry.ui.fragments.Fragment
const HudFragment = Packages.io.anuke.mindustry.ui.fragments.HudFragment
@@ -548,4 +582,3 @@ const PowerModule = Packages.io.anuke.mindustry.world.modules.PowerModule
const Produce = Packages.io.anuke.mindustry.world.producers.Produce
const ProduceItem = Packages.io.anuke.mindustry.world.producers.ProduceItem
const PrintStream = Packages.java.io.PrintStream
const System = Packages.java.lang.System

View File

@@ -1,2 +1,2 @@
modName = "$MOD_NAME$"
$CODE$

View File

@@ -53,7 +53,9 @@ public interface Platform{
}
default Context getScriptContext(){
return Context.enter();
Context c = Context.enter();
c.setOptimizationLevel(9);
return c;
}
/** Add a text input dialog that should show up after the field is tapped. */

File diff suppressed because one or more lines are too long

View File

@@ -26,7 +26,7 @@ public class Scripts implements Disposable{
}
public void run(LoadedMod mod, FileHandle file){
run(wrapper.replace("$SCRIPT_NAME$", mod.name + "_" + file.nameWithoutExtension().replace("-", "_").replace(" ", "_")).replace("$CODE$", file.readString()), file.name());
run(wrapper.replace("$SCRIPT_NAME$", mod.name + "_" + file.nameWithoutExtension().replace("-", "_").replace(" ", "_")).replace("$CODE$", file.readString()).replace("$MOD_NAME$", mod.name), file.name());
}
private void run(String script, String file){

View File

@@ -1,8 +1,8 @@
package io.anuke.mindustry.tools;
import io.anuke.arc.*;
import io.anuke.arc.collection.*;
import io.anuke.arc.collection.Array;
import io.anuke.arc.collection.*;
import io.anuke.arc.files.*;
import io.anuke.arc.graphics.g2d.*;
import io.anuke.arc.graphics.g2d.TextureAtlas.*;
@@ -20,8 +20,9 @@ public class ScriptStubGenerator{
public static void main(String[] args){
String base = "io.anuke.mindustry";
Array<String> blacklist = Array.with("plugin", "mod", "net", "io", "tools", "gen");
Array<String> nameBlacklist = Array.with("ClientLauncher", "NetClient", "NetServer");
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);
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<String> nopackage = Array.with("io.anuke.arc.func", "java.lang");
String fileTemplate = "package io.anuke.mindustry.mod;\n" +
"\n" +
@@ -39,7 +40,11 @@ public class ScriptStubGenerator{
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false), new ResourcesScanner())
.setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0])))
.filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("io.anuke.mindustry")).include(FilterBuilder.prefix("io.anuke.arc.func"))));
.filterInputsBy(new FilterBuilder()
.include(FilterBuilder.prefix("io.anuke.mindustry"))
.include(FilterBuilder.prefix("io.anuke.arc.func"))
.include(FilterBuilder.prefix("io.anuke.arc.scene"))
));
Array<Class<?>> classes = Array.with(reflections.getSubTypesOf(Object.class));
classes.addAll(reflections.getSubTypesOf(Enum.class));
@@ -54,7 +59,7 @@ public class ScriptStubGenerator{
StringBuilder result = new StringBuilder("//Generated class. Do not modify.\n");
result.append("\n").append(new FileHandle("core/assets/scripts/base.js").readString()).append("\n");
for(Class type : classes){
if(used.contains(type.getSimpleName())) continue;
if(used.contains(type.getSimpleName()) || nopackage.contains(s -> type.getName().startsWith(s))) continue;
result.append("const ").append(type.getSimpleName()).append(" = ").append("Packages.").append(type.getCanonicalName()).append("\n");
used.add(type.getSimpleName());
}