1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-06-25 22:53:22 +00:00
Modernized/improved/actually updated version of ComputerCraft: https://tweaked.cc
Go to file
SquidDev 932f8a44fc
WIP: Http rework (#98)
- Move all HTTP tasks to a unified "MonitoredResource" model. This
   provides a uniform way of tracking object's lifetimes and disposing
   of them when complete.

 - Rewrite HTTP requests to use Netty instead of standard Java. This
   offers several advantages:
    - We have access to more HTTP verbs (mostly PATCH).
    - We can now do http -> https redirects.
    - We no longer need to spawn in a new thread for each HTTP request.
      While we do need to run some tasks off-thread in order to resolve
      IPs, it's generally a much shorter task, and so is less likely to
      inflate the thread pool.

 - Introduce several limits for the http API:
    - There's a limit on how many HTTP requests and websockets may exist
      at the same time. If the limit is reached, additional ones will be
      queued up until pending requests have finished.
    - HTTP requests may upload a maximum of 4Mib and download a maximum
      of 16Mib (configurable).

 - .getResponseCode now returns the status text, as well as the status
   code.
2019-01-11 11:33:05 +00:00
.github Add a pull request template 2018-08-24 17:37:20 +01:00
gradle/wrapper Update Gradle and build system 2017-11-14 22:42:03 +00:00
src WIP: Http rework (#98) 2019-01-11 11:33:05 +00:00
.editorconfig A wee bit of a cleanup of the API 2018-12-17 21:33:49 +00:00
.gitignore WIP: Http rework (#98) 2019-01-11 11:33:05 +00:00
.luacheckrc Add a .luacheckrc file 2018-12-17 18:09:32 +00:00
.travis.yml Build against Oracle JDK 8 instead 2017-09-10 20:45:24 +01:00
build.gradle Bump version 2018-12-20 18:19:43 +00:00
codeStyleSettings.xml Add custom code style settings 2018-12-23 17:45:04 +00:00
gradlew Update Gradle and build system 2017-11-14 22:42:03 +00:00
gradlew.bat Update Gradle and build system 2017-11-14 22:42:03 +00:00
LICENSE Fixed possible Typo. (#337) 2017-06-28 21:39:54 +01:00
LICENSE-luaj ComputerCraft 1.79 initial upload 2017-05-01 14:32:39 +01:00
logo.png Add a subjectively fancy logo 2017-11-15 18:20:22 +00:00
README.md Update README.md (fixes #84) (#85) 2018-12-16 22:13:52 +00:00
settings.gradle A couple of fixes for maven and CCEmuX 2018-04-20 19:39:53 +01:00

CC: Tweaked

Build Status

CC: Tweaked is a fork of ComputerCraft which aims to provide earlier access to the more experimental and in-development features of the mod. For a more stable experience, I recommend checking out the original mod.

What?

CC: Tweaked (or CC:T for short) does not aim to create a competing fork of ComputerCraft, nor am I planning to take it in in a vastly different direction to the original mod. In fact, CC:T aims to be a nurturing ground for various features, with a pull request against the original mod being the end goal.

CC:T also includes many pull requests from the community which have not yet been merged, offering a large number of additional bug fixes and features over the original mod.

Features

CC: Tweaked contains all the features of the latest alpha, as well as numerous fixes, performance improvements and several additional features. I'd recommend checking out the releases page to see the full changes, but here's a couple of the more interesting changes:

  • Replace LuaJ with Cobalt.
  • Allow running multiple computers at the same time.
  • Websocket support in the HTTP library.
  • Wired modems and cables act more like multiparts.
  • Add map-like rendering for pocket computers and printed pages/books.
  • Adds the /computercraft command, offering various diagnostic tools for server owners. This allows operators to track which computers are hogging resources, turn on and shutdown multiple computers at once and interact with computers remotely.
  • Add full-block wired modems, allowing one to wrap non-solid peripherals (such as turtles, or chests if Plethora is installed).
  • Extended binary file handles. They support file seeking, and reading new lines, allowing full (and accurate) emulation of the standard Lua io library.

Relation to CCTweaks?

This mod has nothing to do with CCTweaks, though there is no denying the name is a throwback to it. That being said, several features have been included, such as full block modems, the Cobalt runtime and map-like rendering for pocket computers.

Contributing

Any contribution is welcome, be that using the mod, reporting bugs or contributing code. If you do wish to contribute code, do consider submitting it to the ComputerCraft repository first.

That being said, in order to start helping develop CC:T, you'll need to follow these steps:

  • Clone the repository: git clone https://github.com/SquidDev-CC/CC-Tweaked.git && cd CC-Tweaked
  • Setup Forge: ./gradlew setupDecompWorkspace
  • Test your changes: ./gradlew runClient (or run the GradleStart class from your IDE).

If you want to run CC:T in a normal Minecraft instance, run ./gradlew build and copy the .jar from build/libs.