[MC1.12+][Fork] CC: Tweaked
SquidDev 15 Nov 2017
What?
CC: Tweaked is a fork of ComputerCraft which aims to provide earlier access to experimental and in-development features of the mod.
I'm not aiming 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: Tweaked aims to be a nurturing ground for various features, with a pull request against the original mod being the end goal.
CC: Tweaked 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 the all features of the latest alpha, as well as numerous bug fixes, performance improvements and several additional features. Whilst a full changelog can be found on the GitHub release page, here's a couple of exciting features:
- 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.
- 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 chests).
- [1.80pr1] Add binary mode to HTTP.
- [1.80pr1] Dyable pocket computers and turtles.
- [1.80pr1] Allow computer and monitors to configure their palette. Also allow normal computer/monitors to use any colour, converting it to greyscale.
- [1.80pr1] Add require to the shell environment.
CC: Tweaked can be downloaded from CurseForge. The source can be found on GitHub.
Contributing
Any contribution is welcome, be that using the mod, reporting bugs or contributing code.
If you find a bug, report it on the CC: Tweaked issue tracker and not the ComputerCraft one. Whilst there's a chance the bug may apply to both versions, I would like to confirm that before copying it across.
If you wish to contribute code, do consider submitting it to the ComputerCraft repository instead: after all, that is the primary place for ComputerCraft development.
Edited by SquidDev, 24 January 2020 - 08:43 AM.
KingofGamesYami 15 Nov 2017
*Notices my PR was included* Woo!
Overall, this looks pretty nice. It's not actually a fork of the main repository on github, probably because github doesn't allow you to merge PRs that way? I'm not sure, but I really hope these changes make it into the main mod soon.
Edited by KingofGamesYami, 15 November 2017 - 10:43 PM.
Overall, this looks pretty nice. It's not actually a fork of the main repository on github, probably because github doesn't allow you to merge PRs that way? I'm not sure, but I really hope these changes make it into the main mod soon.
Edited by KingofGamesYami, 15 November 2017 - 10:43 PM.
SquidDev 15 Nov 2017
KingofGamesYami, on 15 November 2017 - 10:43 PM, said:
*Notices my PR was included* Woo!
KingofGamesYami, on 15 November 2017 - 10:43 PM, said:
It's not actually a fork of the main repository on github, probably because github doesn't allow you to merge PRs that way?
Edited by SquidDev, 15 November 2017 - 10:58 PM.
Bomb Bloke 19 Nov 2017
Played around for a bit this afternoon and couldn't find any broken functionality other than in mon.getTextScale(), which always returns 1... which I assume is a problem within the implementation here?
SquidDev 19 Nov 2017
Bomb Bloke, on 19 November 2017 - 06:28 AM, said:
Played around for a bit this afternoon and couldn't find any broken functionality other than in mon.getTextScale(), which always returns 1... which I assume is a problem within the implementation here?
I've noticed some issues with computers not appearing to be on when they definitely are, so it'd be much appreciated if you could keep an eye out to confirm/deny that. I'm not entirely sure if this is a 1.12 issue or something which broke in one of my PRs.
Edited by SquidDev, 19 November 2017 - 02:00 PM.
Bomb Bloke 19 Nov 2017
SquidDev, on 19 November 2017 - 01:59 PM, said:
I've noticed some issues with computers not appearing to be on when they definitely are, so it'd be much appreciated if you could keep an eye out to confirm/deny that. I'm not entirely sure if this is a 1.12 issue or something which broke in one of my PRs.
Come to think of it, I did notice that behaviour, and hadn't before (despite having used vanilla CC a fair bit under 1.12) - assumed it was something to do with my code causing a shutdown, but taking a closer look, the affected system is running correctly.
It appears the frontal texture isn't updated until term.setCursorBlink() is called (so a startup script with "while true do os.pullEvent() end" should be enough to reproduce it, assuming you're cold-booting your systems).
Edited by Bomb Bloke, 19 November 2017 - 02:25 PM.
SquidDev 19 Nov 2017
Bomb Bloke, on 19 November 2017 - 02:23 PM, said:
It appears the frontal texture isn't updated until term.setCursorBlink() is called (so a startup script with "while true do os.pullEvent() end" should be enough to reproduce it, assuming you're cold-booting your systems).
Thanks for this testing and sorry for the bugs. Though I guess it's better if it surfaces now than in appearing in "actual" ComputerCraft .
Edited by SquidDev, 19 November 2017 - 03:18 PM.
SquidDev 01 Dec 2017
I've finally got round to pushing a new update to CC: Tweaked. This is mostly composed of bug fixes, though there are several new features:
Edited by SquidDev, 01 December 2017 - 08:40 PM.
- Fix term.getTextScale() not working across multiple monitors.
- Fix computer state not being synced to client when turning on/off.
- Provide an API for registering custom APIs.
- Render turtles called "Dinnerbone" or "Grumm" upside-down.
- Fix getCollisionBoundingBox not using all AABBs.
- Experimental: Add map-like rendering for pocket computers.
Edited by SquidDev, 01 December 2017 - 08:40 PM.
Dahknee 06 Dec 2017
Hey Squid,
Any documentation on how the websocket addition to HTTP works?
Thanks,
Any documentation on how the websocket addition to HTTP works?
Thanks,
SquidDev 07 Dec 2017
DannySMc, on 06 December 2017 - 01:15 AM, said:
Any documentation on how the websocket addition to HTTP works?
In other news, I've pushed a new release to CurseForge. It hasn't shown up yet (it's been in review for ~7 hours now), but do grab it once available.
Changelog
- Add /computercraft command, providing various diagnostic tools.
- Make http.websocket synchronous and add http.websocketAsync.
- Restore binary compatibility for ILuaAPI. This fixes crashes under 1.80pr1.2 with Plethora.
SquidDev 21 Feb 2018
I've just pushed another update to CC: Tweaked. This adds several useful new features, as well as making the mod even more stable. I've been working closely with SwitchCraft and Project</Beta> to iron out numerous CC issues. Using these fixes, SwitchCraft went from crashing every few hours to being relatively stable.
Changes from the last ComputerCraft alpha
Edited by SquidDev, 21 February 2018 - 05:52 PM.
Changes from the last ComputerCraft alpha
- Verify the action can be completed in copy, rename and mkdir commands.
- Add /rom/modules so the package path.
- Add read to normal file handles - allowing reading a given number of characters.
- Various minor bug fixes.
- Ensure ComputerCraft peripherals are thread-safe. This fixes multiple Lua errors and crashes with modems monitors.
- Add /computercraft track command, for monitoring how long computers execute for.
- Add ore dictionary support for recipes.
- Track which player owns a turtle. This allows turtles to play nicely with various claim/grief prevention systems.
- Add config option to disable various turtle actions.
- Add an API for extending wired networks.
- Add full-block wired modems.
- Several minor bug fixes.
Edited by SquidDev, 21 February 2018 - 05:52 PM.
SquidDev 15 Mar 2018
I've just pushed another release of CC:Tweaked to CurseForge. There's no major changes here: it's mostly composed of fixes for various monitor bugs (some introduced in 1.80pr1.4, some which have been around for a long time). Many thanks to Lignum for their fixes for some of the graphical issues.
Changes from the last CC:Tweaked release
Edited by SquidDev, 15 March 2018 - 05:39 PM.
Changes from the last CC:Tweaked release
- Several additional fixes to monitors, solving several crashes and graphical glitches.
- Add recipes to upgrade computers, turtles and pocket computers.
Edited by SquidDev, 15 March 2018 - 05:39 PM.
SoruCoder 18 Mar 2018
Noob question, but is this supposed to be a replacement for the ComputerCraft mod, or a dependent thereof? And if so, are all mods that are made for the nightly builds of ComputerCraft 1.80pr also compatible with this?
Bomb Bloke 19 Mar 2018
It's a fork - an alternate version based on the original code, not an addon that runs alongside the original version.
Other mods which are compatible with the mainline version of ComputerCraft may or may not be compatible with this version (but you should expect most, if not all, of them to work). Same deal with scripts, although any of those that work in CC but not CC:T would warrant a bug report to SquidDev.
At this point in time, I believe most users would be better off running CC:T.
Edited by Bomb Bloke, 19 March 2018 - 01:25 AM.
Other mods which are compatible with the mainline version of ComputerCraft may or may not be compatible with this version (but you should expect most, if not all, of them to work). Same deal with scripts, although any of those that work in CC but not CC:T would warrant a bug report to SquidDev.
At this point in time, I believe most users would be better off running CC:T.
Edited by Bomb Bloke, 19 March 2018 - 01:25 AM.
SquidDev 19 Mar 2018
soulfighterX, on 18 March 2018 - 09:29 PM, said:
And if so, are all mods that are made for the nightly builds of ComputerCraft 1.80pr also compatible with this?
SquidDev 15 May 2018
I've just pushed another release to CC:Tweaked. There's nothing exactly groundbreaking, but there's definitely a couple of useful bugfixes and features:
Changes from the last CC:Tweaked release
On a semi-related note, if you're interested, I've put together a little write up of the various profiling tools CC:T offers. It's intended more as a casual blog post than documentation, but it may prove interesting/useful. Any comments are welcome - I'm not much of a writer so feel free to critique my prose.
Edited by SquidDev, 15 May 2018 - 05:18 PM.
Changes from the last CC:Tweaked release
- Allow network cables to work with compact machines. They do not currently visually connect, but are still usable.
- A large number of improvements to the /computercraft command, including:
- Ensure the tables are correctly aligned
- Remove the output of the previous invocation of that command when posting to chat.
- /computercraft track is now per-user, instead of global.
- We now track additional fields, such as the number of peripheral calls, http requests, etc... You can specify these as an optional argument to /computercraft track dump to see them.
- Ensure the tables are correctly aligned
- wget automatically determines the filename (Luca0208)
- Allow using alternative HTTP request methods (DELETE, PUT, etc...)
- Enable Gzip compression for websockets.
- Fix monitors not rendering when optifine shaders are enabled. There are still issues (they are tinted orange during the night), but it is an improvement.
- Fix .isDiskPresent() always returning true.
- Fix peripherals showing up on wired networks when they shouldn't be.
- Fix turtle.place() crashing the server in some esoteric conditions.
- Remove upper bound on the number of characters than can be read with .read(n: number).
- Fix various typos in keys.lua (hugeblank)
On a semi-related note, if you're interested, I've put together a little write up of the various profiling tools CC:T offers. It's intended more as a casual blog post than documentation, but it may prove interesting/useful. Any comments are welcome - I'm not much of a writer so feel free to critique my prose.
Edited by SquidDev, 15 May 2018 - 05:18 PM.
Bomb Bloke 16 May 2018
Quote
Why not just rate limit things?
Oh er not sure I like the sound of that.
Are we talking number of resumes per tick, or number of calls per yield, or...?
SquidDev 16 May 2018
Bomb Bloke, on 16 May 2018 - 01:15 AM, said:
Quote
Why not just rate limit things?
I'm currently investigating only investigating rate limiting HTTP requests, as there's been some issues with broken programs running requests in an infinite loop, saturating the bandwidth. There's an issue describing things in a little more detail, but it mostly boils down to "stop people downloading stupidly large files or a stupid number of files".
If people have any thoughts on all of this, do say! The general aim is to make the default configs relatively server, while not impacting any single player world which is slightly more abusive of resources. However, I'm not exactly renowned for balancing things well, so any feedback is welcome!
Dreossk 09 Jun 2018
I reported a bug for ComputerCraft here: https://github.com/d...raft/issues/549, then I saw CC Tweaked might actually be the most recent ComputerCraft mod? My problem is about computers not booting when I login on a server. Is that problem fixed in CC Tweaked? If I switch to this mod should I destroy my computers in the game before?
Edited by Dreossk, 09 June 2018 - 01:43 AM.
Edited by Dreossk, 09 June 2018 - 01:43 AM.
Bomb Bloke 09 Jun 2018
Over time there have been various attempts and failures to fix the startup bug. I'm pretty certain it's squashed for good in CC:Tweaked, though.
You don't need to destroy your old computers if switching, although it never hurts to make a backup copy of your world before messing with your mod collection.
You don't need to destroy your old computers if switching, although it never hurts to make a backup copy of your world before messing with your mod collection.