Advanced Computers

Quick rating

Community listing page, reviews here may not be monitored by the author.

Advanced Computers

By MidnightMages

No reviews yet

Yet another computer mod for Minecraft featuring state persistence, built on a fully custom vanilla Java cross-platform LUA 5.4 runtime.

Mod Loaders
Forge
Minecraft

Community voices

Reviews

List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Show per page
10
25
50
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Where It Runs
Client and Server

Must be installed on both the client and the server.

About

Project Details

Type
Mod

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Advanced Computers

This is yet another computer mod for Minecraft, including a custom built LUA runtime, called JLuaVm, and thus also the ability to persist computer states across chunk unloading and even server shutdowns, meaning they wont be forcefully rebooted in such events. This is similar to the behaviour of OpenComputers-1.12, though we are using a fully-custom lua runtime. This project is of course inspired by OpenComputers (for Minecraft 1.12) and the original ComputerCraft mod.

The mod itself and our Lua runtime are located under our Github organization: https://github.com/MidnightMages

THIS IS A BETA

Most of the content is in and we think the mod is in pretty good shape, but there might still be bugs present. If you find one, please open an issue ticket.

Features

Adds programmable computers into Minecraft, along with screens, peripheral cables, real-world-internet-access, and redstone and inventory-interface peripherals and much more, all being interactable through Lua 5.4.

For server owners: As far as resource usage goes, we are only setting up a lua execution environment per computer and not an entire virtual machine, meaning these computers have a very low ram and disk space requirement.

Cpu time limiting based on computer tier is implemented. Disk usage is limited too, but ram usage is currently not limited.

Finding your way around

All the api is documented on our wiki, https://wiki.ac.ghxx.dev/, which also contains a introductory guide https://wiki.ac.ghxx.dev/Introduction.

The included OS (Advanced OS) comes with the basic commands such as ls, rm and even a text editor called nano, inspired by the GNU nano. Additionally there is also pasteTextToFile, which listens for pasted-text (paste via middle mouse button) and then writes that into the specified file. E.g. pasteToFile someFile.lua.

You can also use the lua code vm.listUdKeys(components:getFirst("computer")) to programmatically figure out which fields a userdata object contains (in your current mod version). 'userdata' is a special Lua type that represents a Java object. All components are represented as userdata objects.

This combined with looking at the existing uefi.lua and operating system, both located in src/main/resources/assets/advancedcomputers/lua/* should hopefully give a decent point to start out with.

You can also find the current mod and minecraft version in the global _HOST variable. E.g AdvancedComputers 0.1.2-alpha; Minecraft 1.20.1.

Planned stuff:

  • Make the OS more usable (including rewriting the kernel), as currently it is very very bare (though does contain the ls and lua programs) (DONE)
  • Making a wiki on https://wiki.ac.ghxx.dev/ that lists & describes all the api functions (DONE)
  • Sending network packets between ingame computers (with some intelligent packet handling to avoid having to write a custom ingame IP protocol) (DONE)
  • Make disk space limited and (DONE)
  • Interaction with more minecraft blocks (DONE)
  • Add a soft computer ram limit
  • Finish adding anything that is missing from the Lua standard library (most notably some edgecase features in pattern matching, i.e. edgecases in string.gsub and related functions, though they mostly work)
  • Adding more fun stuff like servers, etc.

Targeted minecraft versions

Currently this targets Minecraft 1.20.1 (forge), but we do plan to update to newer versions in the future.

License & Attribution

Feel free to include this mod in any modpacks without attributing us. It would be nice if you could send us a message in Discord if you use this mod as part of a modpack as we are curious, but this is not required.

As far as non-modpack usage goes, do not reupload mod builds anywhere.

As specified in the LICENSE file, the mod is published under the MIT license. An exception to this are the fonts, which are located in the /assetSources/font in the git repository. For those, the associated license in that folder applies.

Feel free to use JLuaVm for another Minecraft mod too, as that is licensed as MIT as well.

Screenshots

Gallery

  • Overview
    Overview A broad overview of what blocks are contained in this mod
  • More blocks
    More blocks
  • Computer shell
    Computer shell The interactive AdvancedOS shell
  • Computer gui
    Computer gui

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works