CC: Tweaked

CC: Tweaked

42M Downloads

Automatically labelling computers

SquidDev opened this issue ยท 6 comments

commented

Unlabelled computers do not keep their contents when broken. As computers are unlabelled by default, many beginners accidentally lose their work due to mistakenly breaking their computer/turtle.

This is a pretty major friction point, and I think something which would be nice to avoid. There's a couple of solutions I can see here:

  • Automatically label computers. When a computer is started up after being placed (i.e, when we assign an id), we should label this computer somehow. For instance, pick a random name - right now this is moot though.
  • Preserve the ID of unlabelled computers when broken.

There may be more/better ideas, do shout below if you have one!

  • Being able to unlabel a computer to "wipe" it is potentially useful. Obviously one can also chuck it into a disk drive, so I'm not too fussed here.
  • Is changing years old behaviour a good idea? I'm generally pretty wary about doing so probably too much at times ยฏ\_(ใƒ„)_/ยฏ, but it may be worth it.
  • Is labelling computers potentially confusing? As in "I placed a computer, but now it's called 'Delaney'!?"
commented

Maybe have unlabeled computers ask to be labeled on startup?

commented

I do think this years old behavior is just effect of ComputerCraft 1.3 using a disk labeling code/idea that was added in 1.2 for Computers and Turtles to preserve them. In my opinion making it so computers don't loose contents by default and keep their id when broken would be a reasonable thing to do and make mod a little bit friendlier to starting players. I don't think using a random label name makes sense. That would just add to confusion.

What i would suggest is instead of forcefully labeling computers simply all broken computers will keep their ID no matter if they are labeled or not. To differentiate ones with assigned id them we could make so unlabeled device with assigned id shows up as Computer <id>/Turtle <id>/Pocket <id> instead of normal name (while staying unlabeled from the CC perspective)? This way old programs that expect computer to not have label would still not see label.

commented

I'm almost tempted to say that the current paradigm of wiping a computer when breaking it/unlabelling it should be abandoned entirely to make things simple for new users. Wojbie's default label idea isn't too bad, and then just require people to manually rm * (or some kind of new proper wipe command) to get a 'fresh' computer. I can't see any benefit to wiping a turtle's fuel personally, as it essentially just deletes all the items you previously loaded up as fuel and wastes them. The only thing is that you wouldn't be able to stack computers with a freshly crafted stack once they have been placed once, but is that really too bad? Most other modded items work this way anyway. It would also lead to less ID wastage.

commented

Just realised Wojbie said the same thing as me just worded differently ๐Ÿ˜› one other thing to improve this workflow is to change rm to not error when trying to delete rom (and other read-only files), and just ignore it completely unless it's a direct remove target (rm rom). Then, it's actually faster to run rm * than it is to unlabel, break, and replace a computer. And it's harder to create ID wasting machines. It's a win-win all around.

commented

I would suggest a rethinking of rm * lot of cause there are edge cases right now like it can't delete disk mount but should it try to delete stuff in that disk? Kinda out is scope of this feature issue tho.

commented

Maybe rm * should ask the user about removing files on disks if it finds any and should notify the user that it skipped rom as it's read only.