commit | 917befcd0e8e256bc52abb038f86bc04f236645a | [log] [download] |
---|---|---|
author | payonel <payonel@hotmail.com> | Fri Aug 26 23:33:20 2016 -0700 |
committer | payonel <payonel@hotmail.com> | Fri Aug 26 23:33:20 2016 -0700 |
tree | b774779ba16445c3f41754f7b2c2cd31bd9f45c2 | |
parent | 9dcc6070e03f886a658eeb0ecf32b99175f91638 [diff] |
memory, sandbox, devfs, signals, log, rc, terminal, oppm A big update final push before 1.6 release. Here is the detailed rundown of the changes /lib/term.lua 1. delay calling gpu.getViewport() when creating a terminal window. this fixes scenarios where the gpu could be a proxy object that doesn't have a viewport defined yet. 2. big blink cleanup to minimize the potential number of gpu calls during blink, and simplify the code /lib/sh.lua, /lib/process.lua 1. moving shell sandboxing code to process library. This actually simplifies creating the sandbox for processes and handling process crash (process lib and sh lib shared common crash code) /bin/rc.lua 1. found a bug in restart, fixed /lib/pipes.lua 1. required update to be compatible with internal(private) methods to the sh library /lib/package.lua 1. just aesthetic cleanup of error reporting /bin/mktmp.lua 1. use existing os.tmpname() helper method /init.lua and (added) /lib/tools/boot.lua 1. moving all the code I can to tools file to allow the memory to unload after boot completes. /bin/ls.lua 1. fixing symbolic links to directory display (had extra /) /lib/event.lua 1. refactor listeners and timers into common registers (fully backwards compatible). Provides a mechanism for drivers to know about ALL events without stealing them from the main process. Will document it later when the api is hardened (new api, event.register) 2. memory savings due to refactor 3. protecting computer.pullSignal! this is critical, user scripts that were previously pulling diirection from the computer api were able to put the kernel in a bad state. computer.pullSignal is still available, but it calls the event api to correctly dispatch events as drivers expect. devfs 1. eeprom and eeprom-data are now dynamically available. This is significant, now when a user removes the eeprom, it will not be listed in /dev 2. devfs upgrade, support built for future dynamic folders (such as /dev/filesystems/) autorun 1. code cleanup oppm 1. fixing cwd expected by oppm.lua during initial install (if using .install via `install oppm`)
OpenComputers is a Minecraft mod that adds programmable computers and robots to the game. The built-in computer implementation uses Lua 5.2 and is fully persistent. This means programs will continue running across reloads. For more information, please see the wiki. Feel invited to visit the community forums or drop by in the IRC channel #oc on esper.net.
A few useful links:
###Experimental Builds You can find experimental builds on the build server. Expect these to be generally more unstable than builds marked as releases. Use these at your own risk, but - when using the latest one - please do report bugs you encounter using them. Thanks!
This mod is licensed under the MIT license. All assets are public domain, unless otherwise stated; all are free to be distributed as long as the license / source credits are kept. This means you can use this mod in any mod pack as you please. I'd be happy to hear about you using it, though, just out of curiosity.
###Assets and Localizations
text
or sides
) would help a lot. Thanks!###Bug fixes, features and scripts
####Pull requests The following are a few quick guidelines on pull requests. That is to say they are not necessarily rules, so there may be exceptions and all that. Just try to stick to those points as a baseline.
Also, and this should go without saying, your contributed code will also fall under OC's license, unless otherwise specified (in the super rare case of adding third-party stuff, add the according license information as a LICENSE-???
file, please).
To use the API in your own mod, either get the API JAR from the build server, or if you're using Gradle, add a dependency to the maven repo:
repositories { maven { url = "http://maven.cil.li/" } } dependencies { compile "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api" }
Adjust the version number accordingly to the version you'd like to build against.
To run the mod in your development environment, download the dev
JAR from the build server and drop it into your development environment's eclipse/mods
(Eclipse) or run/mods
(IntelliJ IDEA) folder.
Alternatively, leave out the api
classifier and you can build against the dev JAR directly. This way you don't have to add it to your mods folder, but you will have to add -Dfml.coreMods.load=li.cil.oc.common.launch.TransformerLoader
to the VM options in your run configuration.
If you have any questions, please do not hesitate to ask, either in the forums or in the IRC!
Want to tinker with the mod itself? Here is how - for IntelliJ IDEA users.
Important
Clone the repository, then in it rungradlew setupDecompWorkspace
to setup the workspace, including assets and such, thengradlew idea
to create an IntelliJ IDEA project.
Open the project and you will be asked to import the Gradle project (check your Event Log if you missed the pop-up). Do so. This will configure additionally referenced libraries.
In the case you wish to use Eclipse rather than IntelliJ IDEA, the process is mostly the same, except you must run gradlew eclipse
rather than gradlew idea
.