Releases: MCJack123/craftos
CraftOS-PC v1.2.2
Bugfix release related to keyboard events. (Re-released to patch some critical bugs.)
- Holding Ctrl-T terminates the running program
- Unused resized terminal space will now be the same color as the background
- Left/right modifier keys are now discriminated in key events
- Shift key presses now send key events
- Pressing alt no longer loses focus
key_up
events now send the correct key when pressing modifier keys
CraftOS-PC v1.2.1
Quick bugfix release.
- Added a
showFPS
config option to enable an FPS display in the top-left corner - Config changes are now saved immediately instead of on shutdown
- Old config files will now be replaced on the next save
os.reboot
no longer shuts down the computer entirely- Reduced the complexity of the rendering backend, hopefully making things a bit smoother
CraftOS-PC v1.2
CraftOS-PC v1.2 is the biggest update to CraftOS-PC ever, bringing many new features to ComputerCraft that have never been seen before.
- Added a new graphics mode, allowing individual pixel access
- Added three new "fun" programs
raycast
: Demo of ray casting with the graphics modegfxpaint
: Demo paint program running in graphics modebmpview
: Viewsccbmp
format image files (see/rom/programs/fun/advanced/images
)
- Added
font
API for software font rendering - Added ability to resize terminal
- Added HTTP server with
http.listen()
- Added new icons and extra fluff on the Windows executable
- Fixed macOS compatibility
- Fixed other bugs
- Improved performance & stability
- New Mac bundle with JRE included
I plan on releasing most of the features so far as a fork of the actual ComputerCraft mod soon, so it has the same features as CraftOS-PC.
CraftOS-PC v1.2 Release Candidate 1
IMPORTANT: Remove your ~/.craftos/config.ser file before using this build for the first time, as I have changed the format of the file. CraftOS-PC WILL NOT BOOT unless the file is removed. This will result in the configuration variables being reset, but they weren't even being used at all so (see change 3) it's not that big of a deal.
Has all of the features in Beta 1, as well as:
- Added ability to resize terminal
- Removed 127.0.0.1 from the HTTP blacklist
- Fixed bug where the configuration did nothing
- Added HTTP server functionality
http.addListener(port)
: Tells the server to start listening on a porthttp.removeListener(port)
: Tells the server to stop listening on a porthttp.listen(port, callback(req, res))
: Runs an HTTP server on a port that calls the callback when a request is made- Callback argument
req
: Read handle with the following extra methods:req.getURL()
: Returns the URI endpoint of the requestreq.getMethod()
: Returns the HTTP method of the requestreq.getRequestHeaders()
: Returns the headers sent by the client
- Callback argument
res
: Write handle with the following extra methods:res.setStatusCode(code)
: Sets the HTTP response code to be sentres.setResponseHeader(key, value)
: Sets a response header
- ALWAYS call
res.close
when done writing data, or the data will not be sent
- Callback argument
- Event
http_request
: Sent when an HTTP request has been made on an open portport
: The port the request was made onreq
: The request objectres
: The response object
- Event
server_stop
: Send inside anhttp.listen
callback to stop listening
I've included an HTTP server with the binaries; you can use this by making a /www
directory and running server.lua.
CraftOS-PC v1.2 Beta 1
Some pretty big things in this update.
Added:
- Terminal graphics mode, allowing for individual pixel addressing
- Default screen is 306x171
- Use
term.setGraphicsMode(boolean)
to switch modes - Use
term.setPixel(x, y, color)
to set pixels - Use
term.getPixel(x, y)
to get the color of a pixel - Mouse events will give coordinates of pixel instead of character in graphics mode
- New API:
font
- Software font renderer for graphics mode
- Requires graphics mode to be enabled before using
- Allows loading custom fonts (see
rom/apis/term.lua
for more information, this was initially going to be built into the term API)
- New programs for "fun"
gfxpaint
: Demo program for simple image drawing (not as complex aspaint
yet)raycast
: Ray casting demo- This was shamelessly stolen from a TI-84+ CE ray casting program
bmpview
: Displays CCBMP format images on the screen- You can convert a 16-color PNG under 306x171 with the included
imageutils/convert_png
tool - Some sample images are under
rom/programs/fun/advanced/images
- You can convert a 16-color PNG under 306x171 with the included
(The image at the top was taken from King's Quest IV. Here's the original:
Doesn't the CC version look pretty much the same as the original?)
CraftOS-PC v1.1
Includes everything in 1.1b1, plus bugfixes:
- Mouse actions now respect new window borders
term.setPaletteColor
works properly- Fixed HTTP requests (I think, it seems to work fine now)
CraftOS-PC v1.1 Beta 1
What's new
- Added peripheral emulation
- Uses the
periphemu
API - Also linked into
peripheral
API - Use
periphemu.create(side, type[, option])
to create - Use
periphemu.remove(side)
to remove - Currently only monitors and printers are supported; speaker support is coming soon
- Uses the
- Added
config
API & toolconfig.get(name)
: Get value of settingconfig.set(name, value)
: Set value of settingconfig.list()
: List all available settingshttp_enable
disable_lua51_features
default_computer_settings
logPeripheralErrors
computerSpaceLimit
maximumFilesOpen
maxNotesPerTick
clockSpeed
config.getType(name)
: Get type of value- 0 = boolean
- 1 = string
- 2 = number
- Added
mounter
APImounter.mount(name, path[, readOnly])
: Mount localpath
toname
mounter.unmount(name)
: Unmountname
mounter.list()
: List all mounts
- Added
mount
andunmount
commands - Added margins at the edges
- General performance improvements
Please note this is PRE-RELEASE SOFTWARE and may still have bugs. This is just a preview of what's to come.
CraftOS-PC v1.0
CraftOS-PC is a port of the CraftOS operating system from the popular Minecraft mod ComputerCraft. This is a mostly full port of the mod to desktop, removing the parts that only work in a Minecraft world.
What works
- Full terminal interaction (mouse/keyboard)
- Color support
- Most programs written for ComputerCraft should work out-of-the-box
What doesn't work
- HTTP (for now, it's a bug)
- Peripherals (printers, disk drives, speakers, monitors)
- Networking
- Support for mounting external folders (WIP)
How to use
Just download and run the JAR file and the terminal will automatically start.