This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Etherous's profile picture

Suggestions/requests

Started by Etherous, 19 February 2012 - 09:33 AM
Etherous #1
Posted 19 February 2012 - 10:33 AM
I will be updating this list over time. These are the suggestions I have to the ComputerCraft developers. Anyone is free to add anything.

Edit: Many of the things I post may exist but simply overlooked, or already being added. I will remove things when their support is confirmed.

Shell:
  • Support delete, home, end, and tab keys
  • When quotes are used in the terminal, send them as one argument, minus the quotes
  • Common shell operators/wildcards, including << >> | ~ *
  • View and run '.lua' files as if they didn't have the '.lua'
  • When errors occur in programs, produce an output similar to the actual Lua interactive shell. Consider also implementing a stack-trace
OS:
  • Multi-user (not sure if RedWorks is working on this)
  • Locked/encrypted disks (and accompanying API)
  • Allow non-table APIs. For example, adding a global function
  • Allow for easy importing of dynamic libraries through Lua (it supports this out of the box. I don't know why it was disabled… Dispite it being LuaJ, it would be cool to see it added)
API:
  • Full support of Lua API, especially io (seek, etc.)
  • help.getPath - Retrieve the existing help path, so as to append to it
  • disk.getSide(diskpath) - Retrieve the side the given disk or path is on
  • disk.getItem(side) - Get information about the item in that disk drive. Perhaps a table. At least a simple string of the item's name
  • Something to get the path of the current program (maybe an arg[0]) Fixed in 1.3
  • 'require' we can use to load other files normally (currently points to the mods/ComputerCraft folder…) Fixed in 1.3
Misc:
  • 'Print' to books or paper or something. Additionally read from them (ideally support maps, BuildCraft blueprints, Millenaire stuff, and pinkemma Tomes)
  • Allow components to be connected over bundled cables (and have multiple computers automatically share them)
  • More components! Especially components with multiple uses, to cut down on new blocks
    • Multiple disk slots
    • Computer and disk drive all-in-one
    • Printer
    • Different types of computers (desktops, laptops, servers, dumb terminals, tablets/PDAs, etc)
  • More APIs! Especially ones which tie into MineCraft classes and mods. It would be awesome if a new full-blown mod could be written in Lua, rather than Java
Casper7526 #2
Posted 19 February 2012 - 01:49 PM
I will be updating this list over time. These are the suggestions I have to the ComputerCraft developers. Anyone is free to add anything.

Shell:
  • Support delete, home, end, and tab keys
  • When quotes are used in the terminal, send them as one argument, minus the quotes
  • Common shell operators/wildcards, including << >> | ~ *
  • View and run '.lua' files as if they didn't have the '.lua'
  • When errors occur in programs, produce an output similar to the actual Lua interactive shell. Consider also implementing a stack-trace
OS:
  • Multi-user (not sure if RedWorks is working on this)
  • Locked/encrypted disks (and accompanying API)
  • Allow non-table APIs. For example, adding a global function
  • Allow for easy importing of dynamic libraries through Lua (it supports this out of the box. I don't know why it was disabled…)
API:
  • Full support of Lua API, especially io (seek, etc.)
  • help.getPath - Retrieve the existing help path, so as to append to it
  • disk.getSide(diskpath) - Retrieve the side the given disk or path is on
  • Something to get the path of the current program (maybe an arg[0])
  • 'require' we can use to load other files normally (currently points to the mods/ComputerCraft folder…)
Misc:
  • 'Print' to books or paper or something. Additionally read from them (ideally support maps, BuildCraft blueprints, Millenaire stuff, and pinkemma Tomes)
  • Allow components to be connected over bundled cables (and have multiple computers automatically share them)
  • More components! Especially components with multiple uses, to cut down on new blocks
    • Multiple disk slots
    • Computer and disk drive all-in-one
    • Printer
    • Different types of computers (desktops, laptops, servers, dumb terminals, tablets/PDAs, etc)
  • More APIs! Especially ones which tie into MineCraft classes and mods. It would be awesome if a new full-blown mod could be written in Lua, rather than Java

Alot of this has to do with the fact that this isn't Lua :)/>/> LuaJ is an implementation of Lua 5.1, where not everything is the same. Lets see some other quick notes…
require was changed (it was being used badly)
something to get the current path (was added in 1.3)
As for adding more API's and such, that's the whole point of 1.3, so that we have user made peripherals.

I agree with quite a few things in your post though, especially the real quick and easy things that could be done. All in all, 1.3 will change computercraft forever and we'll just have to wait until release as to make full use of it. Plus Dan has been coding almost nonstop for 2 months now… he needs a break too ;)/>/>
FuzzyPurp #3
Posted 19 February 2012 - 02:03 PM
Very nice suggestions, i support some of these
Sebra #4
Posted 23 February 2012 - 03:36 PM
How about a way to get any possible data about nearest block?
BlockId, damage number, items contained, enchantments applied… All data, presented in digital raw form. This way programmer would be able to adapt to any mod guessing, what numbers means.
If not comp itself, can such module can be added?
Turtle definitely need a way to look around.
Casper7526 #5
Posted 23 February 2012 - 03:50 PM
The Peripheral the Doesn't Exists implements those features Sebra (For Experienced Users)
dariys #6
Posted 24 February 2012 - 01:35 AM
How about a way to get any possible data about nearest block?
BlockId, damage number, items contained, enchantments applied… All data, presented in digital raw form. This way programmer would be able to adapt to any mod guessing, what numbers means.
If not comp itself, can such module can be added?
Turtle definitely need a way to look around.

I'd like to add to this request (unless I've just not figured out how to do it), how to get the current location coordinates.
Casper7526 #7
Posted 24 February 2012 - 05:06 AM
You can only get the actual location with a specially designed magic block (found in the peripheral library) it's for SSP only and it breaks every rule dan has for computercraft.
Sebra #8
Posted 24 February 2012 - 08:26 PM
The Peripheral the Doesn't Exists implements those features Sebra (For Experienced Users)
Where can I see it?
Liraal #9
Posted 24 February 2012 - 08:39 PM
Peripheral Library?
Sebra #10
Posted 24 February 2012 - 09:05 PM
There are two Peripheral in lib:
Mentioned one:
- surprisingly give some info about block by coords, but has no means to know own coords (only Players, but no computer's);
- best name would be "cheat";
- Returns name, id, meta only (no other data).
ccsensors:
- complicate (net of sensor and cards);
- not universal (separate sensor card for each task, so set of recipes and known data only);
- frequency targeted (random interference, but who knows).
All, I want, is all possible data about nearest block even if data meanings is not known:
- block seems to "know" own light level, rain or snow, but how would you know about rain in desert? block do not get drops;
- chest block has inventory, which has items, which has enchantments or other data which can be looked for;
- ic2 reactor has heat &amp; inventory, bc refinery has tanks &amp; speed, RP2 Blutricity blocks has Voltage &amp; Current - you cannot know all, but can give name and raw data; It's programmer's task to give meanings to data.
TheTalon #11
Posted 25 February 2012 - 12:21 AM
I have a suggestion, make it so the turtle's place funtction works as a right click like deployers from RP2 or stripes pipes from Buildcraft so that it can use buckets and plant seeds.