MightyPirates / OpenComputers

Home of the OpenComputers mod for Minecraft.
https://oc.cil.li
Other
1.6k stars 434 forks source link

The drones (don't) have eyes #1540

Closed OmegaHaxors closed 6 years ago

OmegaHaxors commented 8 years ago

I wanted to set up a telepresence sort of system with drones, only to be disappointed that their only awareness of the world is the extremely limited navigation upgrade and the unsuitable geolyzer.

What i'm proposing is either a component or function of which the drones desperately need to see their potential: The ability to scan below them to see a birds-eye view of the ground below them.

Why is this needed? The geolyzer, being the next best thing, is designed for seeing under the ground with a great level of uncertainty. It is unable to see what type of blocks (with good reason) and gives a whole lot of information that's unnecessary for the drone's operation. The only information it is able to gain is the hardness of blocks, which is completely useless for most applications the drones would be used for.

So how would it work? Simple. You run the command with the argument being the radius to scan, and it would return you a list of all blocks in that radius from the middle, spiraling clockwise outwards similar to the geolyzer only horizontally. It would take the top-most block of the scanned area but not if an entity gets in the way! If there is, its data will be returned instead of the block's.

So what options would this open up? Plenty!

A drone can hover over a wheat field, scanning for fully grown wheat. When it detects one, it flies down and harvests it, and delivers it to the nearest visible chest.

A defense system which seeks out hostile mobs and alerts nearby robots of their position.

A drone can explore out new land, finding suitable landscapes for its owner. A place with not too much hills, no ice, no sand, and a little bit of water. Or maybe a biome that doesn't look like puke if you have misfortune of playing on a server with Biomes 2' Many required.

Here is a reasonable expectation of the type of data a scanned block could return, using the for k,v formatting and testing on a wheat farm:

Type: block -- or tile entity Location: 0,-20.54,1 -- this is relative to the drone Name: minecraft:wheat -- _or whatever wheat blocks are called in code -o.o-_ Metadata: 6 -- Fully grown (I think) Details: Table -- Table value that store details about the tile/entity, such as inventories.

Looks like my wheat is ready to harvest.

Vexatos commented 8 years ago

Have you tried the Computronics camera upgrade? Doesn't analyze blocks, but allows you to see distances. This would allow you for example, by moving across an area, to create decent surface height maps or cave maps.

For entities, there is the Radar Upgrade. Not sure if it fits into a drone case though.

OmegaHaxors commented 8 years ago

Thanks for the tip vex. I'll try the mod out and see if it works. EDIT: Sadly couldn't update due to other mods requiring updates, and then those mods requiring updates, and then red tape and "How is this possible" crashes as far as the eye can see... :(

payonel commented 6 years ago

though more tedious than this feature request -- the geolyzer can do this to adjacent blocks. just requires more flight