mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-01-15 19:55:42 +00:00
Add support for enabling Lua's debug library
Whilst I'm pretty sure this is safe for general use, I'm disabling this by default for now. I may consider enabling it in the future if no issues are found.
This commit is contained in:
parent
6c29b44c3c
commit
ed8e9d7817
@ -126,6 +126,7 @@ public class ComputerCraft
|
||||
public static AddressPredicate http_blacklist = new AddressPredicate( DEFAULT_HTTP_BLACKLIST );
|
||||
public static boolean disable_lua51_features = false;
|
||||
public static String default_computer_settings = "";
|
||||
public static boolean debug_enable = false;
|
||||
public static boolean logPeripheralErrors = false;
|
||||
|
||||
public static boolean enableCommandBlock = false;
|
||||
@ -206,6 +207,7 @@ public class ComputerCraft
|
||||
public static Property http_blacklist;
|
||||
public static Property disable_lua51_features;
|
||||
public static Property default_computer_settings;
|
||||
public static Property debug_enable;
|
||||
public static Property logPeripheralErrors;
|
||||
|
||||
public static Property enableCommandBlock;
|
||||
@ -303,6 +305,9 @@ public class ComputerCraft
|
||||
Config.default_computer_settings = Config.config.get( Configuration.CATEGORY_GENERAL, "default_computer_settings", default_computer_settings );
|
||||
Config.default_computer_settings.setComment( "A comma seperated list of default system settings to set on new computers. Example: \"shell.autocomplete=false,lua.autocomplete=false,edit.autocomplete=false\" will disable all autocompletion" );
|
||||
|
||||
Config.debug_enable = Config.config.get( Configuration.CATEGORY_GENERAL, "debug_enable", debug_enable );
|
||||
Config.debug_enable.setComment( "Enable Lua's debug library. Whilst this should be safe for general use, it may allow players to interact with other computers. Enable at your own risk." );
|
||||
|
||||
Config.logPeripheralErrors = Config.config.get( Configuration.CATEGORY_GENERAL, "logPeripheralErrors", logPeripheralErrors );
|
||||
Config.logPeripheralErrors.setComment( "Log exceptions thrown by peripherals and other Lua objects.\n" +
|
||||
"This makes it easier for mod authors to debug problems, but may result in log spam should people use buggy methods." );
|
||||
@ -372,6 +377,7 @@ public class ComputerCraft
|
||||
http_blacklist = new AddressPredicate( Config.http_blacklist.getStringList() );
|
||||
disable_lua51_features = Config.disable_lua51_features.getBoolean();
|
||||
default_computer_settings = Config.default_computer_settings.getString();
|
||||
debug_enable = Config.debug_enable.getBoolean();
|
||||
logPeripheralErrors = Config.logPeripheralErrors.getBoolean();
|
||||
|
||||
enableCommandBlock = Config.enableCommandBlock.getBoolean();
|
||||
|
@ -15,7 +15,6 @@ import dan200.computercraft.core.apis.ILuaAPI;
|
||||
import dan200.computercraft.core.computer.Computer;
|
||||
import dan200.computercraft.core.computer.ITask;
|
||||
import dan200.computercraft.core.computer.MainThread;
|
||||
|
||||
import org.squiddev.cobalt.*;
|
||||
import org.squiddev.cobalt.compiler.CompileException;
|
||||
import org.squiddev.cobalt.compiler.LoadState;
|
||||
@ -123,6 +122,7 @@ public class CobaltLuaMachine implements ILuaMachine
|
||||
m_globals.load( state, new MathLib() );
|
||||
m_globals.load( state, new CoroutineLib() );
|
||||
m_globals.load( state, new Bit32Lib() );
|
||||
if( ComputerCraft.debug_enable ) m_globals.load( state, new DebugLib() );
|
||||
|
||||
// Register custom load/loadstring provider which automatically adds prefixes.
|
||||
LibFunction.bind( state, m_globals, PrefixLoader.class, new String[]{ "load", "loadstring" } );
|
||||
|
@ -48,6 +48,7 @@ gui.computercraft:config.http_whitelist=HTTP whitelist
|
||||
gui.computercraft:config.http_blacklist=HTTP blacklist
|
||||
gui.computercraft:config.disable_lua51_features=Disable Lua 5.1 features
|
||||
gui.computercraft:config.default_computer_settings=Default Computer settings
|
||||
gui.computercraft:config.debug_enable=Enable debug library
|
||||
gui.computercraft:config.log_peripheral_errors=Log peripheral errors
|
||||
gui.computercraft:config.enable_command_block=Enable command block peripheral
|
||||
gui.computercraft:config.modem_range=Modem range (default)
|
||||
|
Loading…
Reference in New Issue
Block a user