Server/ROBOTS SKYBLOCK: Difference between revisions

From Minetest
>Voxel
(rm)
>Voxel
(rm)
(No difference)

Revision as of 13:04, 16 April 2021


ROBOTS_SKYBLOCK
Blank.png
A server
Owner rnd
Address 46.150.38.60
Port 30000
Flags Dmg, PvP, Pwd

Intro

This is a description about the ROBOTS_ SKYBLOCK - server by rnd, which runs a game with the mods

It was online 2017-07 - 2018-02.
See also ROBOTS_SKYBLOCK_2.

The previous game and map ROBOTS-server on that server was taken offline in 2017-07
(likely because of problems with map-corruption after a poweroutage).

General Server-info

(as of 2017-08-03)

  • Admin: rnd
  • IP: 46.150.38.60:30000
  • Max users: 15
  • Operating hours: 09:00 - 01:00 UTC (+/- an hour) - shuts down over night
  • Mapgen: skyblocks
  • /teleport disabled (but /home and /spawn work as usual)

See also: List of servers:

Mods

Notable mods:

  • basic_robots - robots
  • basic_machines - keypad, lights, mover, grinder, detector, etc.
  • Skyblock, with custom quests (e.g. robots are given as quest-rewards)
  • basic_protect - Protectors that protect a 32x32 area (changed from 20x20).
  • basic_gui
  • "unified inventory" with skyblock-quests and craft_guide
  • farming - blueberries, carrots, cocoa, corn, melons, potatoes, pumpkins, tomatoes, rhubarb ...
as well as new foods, eg, baked potatoes, corn-cobs, donuts, rhubarb-pie ...
  • compost - makes dirt from leaves
  • fertilizer - a "trivial", home-grown mod, to make the game "more challenging":
Crops and fruits use up 1 point of nutrition from the soil with each growth-step,
and farming-soil starts with no nutrition. Without fertilizer, crops turn into weeds.
  • also 'hard water': items cannot be placed into water (but dropping sand or gravel works).
  • flowers, dye
  • wool, beds
  • letters - lettercutter, produces big letter-blocks for shop-signs etc.
  • furniture - tables, chairs, sofas ('wool-chair')
  • abriglass - colored glass, stained-glass
  • moreblocks - stairs&slopes, iron stone, plank stone, glowglass ...
  • moreores - tin, silver, mitril ...
  • darkage - more blocks: darkage_bricks, darkage_lamps, darkage_shale, serpentine, ...
See the DarkAge-Wiki for infos and recipes.
  • worldedit + gui, mapfix
  • oldplayer: users need to finish level 1 before logoff, otherwise account gets deleted.
  • afk-check - logs out inactive players.
Note: you need to move - just chatting or crafting is considered 'inactive'.
  • helloip - guess player's country from ip

Map

The skyblock-mod creates a map with a grid of small floating islands above the clouds.
Each players spawns on such an island of his own.

That means there is no underground with caves etc. and no mining as in a regular minetest-game.
Therefore, resources have to be created in other ways - so a lot of crafting-recipes are changed.

Usually, the admin builds a spawn-area somewhere, e.g. with games, shop, and/or just nice landscape/buildings.

This server actually has two spawn-areas:

  • the 'arrival-hub', with portals and teleporters to other areas.
  • the 'old spawn', with shop, admn-mailbox, stairs to tutorial, computer-room etc.

Tutorial

How to find the tutorial-area on server ROBOTS-SKYBLOCK:

As a new player, you spawn at the 'arrival-hub', at 64,8,-96.
You can get back there with the command /spawn.

At the wall in front, you see big signs

  • "to your island"
there is a button on the floor at 54,8,-88 that teleports to your personal island
  • "spawn"
button on floor at 64,8,-88, this will teleport to the 'old spawn' at 16017,8,16016
  • "lab" - punch the button on the floor at 73,8,-87
this will teleport you to the start of the tutorial-area at 15986,-7,16000

Quests

Note: the quests here are different from a 'normal' skyblock-game.

Level 1

## Quest Result Remarks
1 dig 10 dirt reward: 1 stick -
2 place 10 dirt 6 leaves to craft a sapling
3 craft sapling, plant tree 1 tree-block to craft sticks, planks, wooden axe
4 craft axe, cut 16 trees reward: lava-source,
water near quest-block
think ahead, where to place both
5 craft and place a furnace steel axe furnace: q1.10, to smelt sand to glass
6 craft and place 50 cobblestone 10 gravel (see recipes)
7 craft and place a chest 5 papyrus to make paper and books / q3.4
8 craft and place a sign steel pick to dig stone
9 craft and place a door 2 sand to craft glass
10 craft and place 2 glass 25 cobblestone help with quest 1.6

Papyrus grows on dirt near water.

Level 2

## Quest Result Remarks
1 place a trapdoor reward: protector use this to claim your island
2 craft 15 ladders reward: robot #1 see also Robot-Programs
3 craft 20 wooden fences 25 cobblestone helps with q2.6
4 build a structure using 100 gravel 6 pine-needles gravel can be dropped onto cloud-layer
5 craft 100 dark dirt 6 jungle-leaves to craft a jungle-sapling
6 craft and place 100 cobblestone 1 coal-ore q2.7
7 craft 4 stone-with-coal 1 iron-ore coal needed for torches,
iron needed for q2,9
8 craft 8 torches 50 sandstone-bricks nicer building-material
9 craft 8 stone-with-iron reward: robot #2 iron --> steel --> bucket --> q2.10
10 collect the water-source 1 copper-ore for q3.7

You can get at coal without completing quest 2.6, by crafting wood-charcool - see recipes.

Level 3

## Quest Result Remarks
1 bake Rhubarb-pie 50 white wool see FAQ
2 craft 50 bricks 1 tin-ore (see recipes)
3 craft 50 mossy cobblestone 1 silver-ore (see recipes)
4 craft 4 bookshelves 1 rhubarb-plant for q3.1: this plant must be planted,
the soil for that also needs fertilizer
5 place battery reward: grinder grinder needed for q3.2
(recipe shows a constructor)
6 craft 25 silt 1 mithril-ore -
7 craft 8 stone-with-copper 1 gold-ore copper is needed to craft a constructor
8 craft 16 iron bars 1 mese-crystal mese is needed to craft robots and BMs
9 craft 8 stone-with-mese reward: 1 diamond, and
water above quest-block
caution: water might kill your lava-source !
10 place infinite water reward: battery for q3.5

To get the battery and grinder as soon as possible, you might want to do the quests in the order .8 .9 .10 .5,
followed by .2, .6 etc.
That means you need to smelt at least 9 iron first, to craft the iron bars and another bucket.
Mese can be smelted with trees (barely), but using blocks of coal as fuel works much better.

Smelting one block of mese-ore to get a mese-crystal needs 10:30 minutes,
so as fuel you need at least 18 trees, or 2 coal-blocks.

Level 4

## Quest Result Remarks
1 place mover 1 corn a mover can harvest whole trees
2 place generator 1 grapes generator produces power-cells
3 craft robot-spawner 1 cacoa bean robot #3
4 place clock-generator 1 blueberries -
5 place autocrafter 1 green bean -
6 place environment-block 1 tomato -

A constructor is needed to craft the basic_machines on this level.

Level 5

The end - no more quests.
There are rumors that rnd has plans for further quests...

If you die at level 5, the quests will no longer reset (but you still lose the stuff in your inventory).

(no potatoes, no aspen-trees, no acacia-trees, no cactus, no chalk, no fly-priv ?)
You can use the environment-block to get flying (sort-of).

Recipes

Sapling

Recipe (as in moreblocks):

L L L
L L L
_ S _

L=Leaves S=Stick _=nothing

Woodbarrel-Composter

Makes new dirt from leaves (slowly).
This can be automated with a robot,

Recipe:

W _ W
W _ W
W S W

W=Wood S=Wooden Slab _=nothing

Circular Saw

Cuts solid blocks into slopes, stairs, thin slices.

This doesn't work for some materials.

Recipe:

_ S _
W W W
W _ W

W=Wood S=Steel-ingot _=nothing

Materials

Legend:

  • -> craft
  • !> dig
  • %> dig, with random chance
  • +> grow
  • => cook (in furnace)
  • *> grind (in basicMachine-grinder)
  • #> compress
  • >> process (put in / take out)

Summary-Recipes:

  • 3 leaves -> fertilizer
  • 6 leaves -> unprocessed plastic base => plastic sheet -> SX specter ...
  • 3 dry-scrubs -> 3 unprocessed plastic base ...
  • leaves >> woodbarrel-composter >> dirt
  • grass  %> wheat-seed +> wheat => bread / donuts ...
  • jungle-grass  %> cotton-seed +> cotton -> wool / bags ...
  • 3 jungle-grass -> 3 rope
  • 1 papyrus => 2 sugar
  • 3 papyrus -> fertilizer
  • 3 papyrus -> paper -> book
  • dirt *> clay-lump => clay-brick -> brick-block
  • 4 clay-lump -> clay
  • brick-block + stone -> 2 stone-bricks ("moreblocks:gray_bricks")
  • brick-block + stonebrick -> 2 stone-bricks (dito)
  • brick-block + cactus -> 1 cactus-brick
  • 2 stone + 2 cactus -> 4 cactus checker (makes a nice floor tiling)
  • coal-lump -> 4 black dye
  • white flower -> 4 white dye
  • red flower -> 4 red dye
  • 8 clay-lump + white dye -> 2 pale-block
  • 8 clay-lump + black dye -> 2 dark-block
  • stone  !> cobble
  • cobble => stone
  • cobble  !> 2 gravel
  • 4 cobble -> 4 stone-tile -> split stone-tile -> checkered stone-tile
  • 9 cobble -> 9 stone-brick ("darkage:stone_brick")
  • stone => basalt
  • basalt  !> basalt-cobble
  • 4 basalt -> 4 basalt-brick
  • gravel  %> flint
  • gravel => tar
  • gravel + coal-lump -> 5 gunpowder
  • 2 gravel + 2 dirt -> 4 dark dirt  !> dirt
  • 1 gravel + 1 dirt -> 2 desert-cobble
  • desert-cobble => desert-stone
  • desert-stone  !> desert-cobble
  • 4 desert-stone -> 1 desert-stone-brick
  • 9 desert-stone -> 1 desert-stone-block
  • desert-stone -> 4 desert-sand
  • 4 desert-sand -> desert-sandstone
  • 4 desert-sandstone -> 4 desert-sandstone-brick
  • 9 desert-sandstone -> 9 desert-sandstone-block
  • old-red-sandstone-cobble => old-red-sandstone (aka 'ORS')
  • old-red-sandstone  !> old-red-sandstone-cobble
  • 4 old-red-sandstone -> old-red-sandstone-brick
  • 3 sandstone + 1 steel-ingot -> 4 old-red-sandstone
  • cobble + grass -> mossy cobble
  • cobble + flower -> mossy cobble
  • mossy cobble => stone
  • stone *> sand
  • sand => glass
  • desertsand => glass
  • 2 sand + 2 clay-lump -> 3 silt
  • 1 silt => 5 mud => shale => slate => schist => gneiss => marble
  • 4 sand -> sandstone
  • 1 sandstone -> 4 sand
  • 4 sandstone -> 4 sandstone-brick
  • 9 sandstone -> 9 sandstone-block
  • leaves => dry-leaves
  • 4 dry-leaves -> 2 straw
  • 4 dry-scrubs -> 2 straw
  • 4 straw -> 1 straw-bale
  • 2 sand + 1 clay-lump + 1 straw -> 4 adobe
  • 4 stone -> 4 stonebrick ("default:stonebrick")
  • 1 stone + 1 steel-ingot -> 1 ironstone
  • 2 stone + 2 steel-ingot -> 4 iron-checker
  • 4 ironstone -> 4 ironstone-bricks
  • 2 stone + 2 wooden planks -> 4 plankstone (nice looking floor-tiles)
  • 8 stone -> 8 circlestone-bricks
  • gneiss  !> gneiss-cobble
  • gneiss-cobble => gneiss
  • 4 gneiss -> 4 gneiss-brick
  • 4 slate + 2 adobe -> 4 slate-tile
  • 1 marble + 1 cactus -> 4 serpentine
  • 3 marble -> 6 serpentine-slab
  • 4 marble + 2 adobe -> 4 marble-tile
  • apple-tree  !> tree -> wooden plank -> stick -> ladders / tools / torches etc.
  • 9 wooden plank -> wooden tile
  • 4 wooden tile -> 4 full wooden tile
  • 1 wooden plank -> 4 sticks
  • 1 dry-scrub -> stick
  • 1 sapling -> stick -> wooden plank
  • 1 jungle-sapling -> stick
  • tree => wood charcoal
  • 2 wood charcoal -> 1 coal-lump
  • 1 stone + 1 coal-lump -> 1 coalstone
  • 2 stone + 2 coal-lump -> 4 coal-checker
  • steel-ingot + glass -> 1 ironglass
  • coal-lump + glass -> 1 coalglass
  • coal-lump + stone -> 2 stone-with-coal-ore => coal => coal-block
  • iron-lump + stone -> 2 stone-with-iron-ore => iron => steel-ingot => steel-block
  • copper + stone -> 2 stone-with-copper-ore => copper => copper-block
  • gold + stone -> 2 stone-with-gold-ore => gold => gold-block
  • diamond + stone -> 2 stone-with-diamond-ore => diamond => diamond-block
  • mese-crystal + stone -> 2 stone-with-mese-ore => mese-crystal => mese(-block)

There are no similar recipes for tin, silver and mithril,
so use the grinder/dust/furnace to make more of them.

  • water-bucket -> ice -> 4 snow-blocks
  • snow-block -> 9 snow
  • snow + raspberries + drinking glass -> raspberry smoothie
  • water-bucket + copper-block -> copper-patina block

(more recipes: misc.food / glass / stained glass / glow-glass)

Robot-Programs

Useful programs (mostly for this skyblock-game), short & simple.
No extras, like generalization, error-checks, messages, etc.
Treat these programs as a starting point for developing & improving.

See also admin-programs, for programs used for support/maintainance/admin-tasks.
They might need admin- and/or puzzle-privileges.

Tool-Repair

Place a chest 2 spaces above the spawner, put worn tools in robot,
run program, get repaired tools back from chest.

function repair(s) insert.up(s) end
--
repair("default:pick_stone")
repair("default:axe_stone")
self.remove()
Note: in singleplayer, this will not 'repair', but generate fresh tools.

Obviously, you might want to also repair steeltools, hoes, screwdrivers, etc.
To find the correct names, see Items and Blocks.
Also, you might want to combine this program with one of the following programs.

Tool-Repair2

This might give you some ideas on how to improve the above program:

function repair(s) insert.up(s) end
--
t="stone"
t="steel"
--
repair("default:pick_"..t)
repair("default:axe_"..t)
repair("default:shovel_"..t)
 
repair("farming:hoe_stone")
repair("screwdriver:screwdriver")
--

Dirt-Maker

Automate the woodbarrel-composter.
Place the composter in front of the spawner, put some leaves into the robot, run.

--simple dirt-maker
d=0
n=read_node.forward()
if n~="air" then -- clear dirt on top of composter
  dig.forward(); d=1
end
n=read_node.forward_down()
if n=="compost:wood_barrel" then -- barrel is empty
  place.forward("default:leaves")
  activate.forward_down(1)
end
if n=="compost:wood_barrel_3" then -- compost is ready
  activate.forward_down(1)
  dig.forward(); d=1
end
--turn.right()

This can be further combined with the 'sapling-mill':

if d==0 then -- robot did no digs yet
  place.forward("default:leaves")
  dig.forward(); d=1
  pickup(4)
end

This will generate saplings from leaves.
It will work too with the other types of leaves (pine, jungle, acacia, aspen).

Crafter

There are some more useful recipes you can craft with a robot:

craft("farming:fertilizer")  -- make fertilizer from 3 papyrus
craft("wool:white")          -- wool from 4 cotton
--
-- make blocks from 9 single items:
craft("default:coalblock")   -- from coal-lumps
craft("default:steelblock")  -- from steel-ingots
craft("default:copperblock") 
craft("default:goldblock")   
craft("default:mese")        -- from mese-crystals
craft("default:diamondblock")

These recipes save a lot of work, moving items around in the inventory.

You can craft a stick from a sapling, and a wooden plank from 4 sticks,
so you could combine this into a woodmaker:

if check_inventory.self("default:sapling 9","main") then
  craft("default:stick",2)  -- 2: recipe-number
end
if check_inventory.self("default:stick 22","main") then
  craft("default:wood")
end

The numbers in the check-statements ensure that some saplings and sticks
don't get used up, so you always have some materials ready for planting, making torches, etc.

Another product made from papyrus is paper, that can be used to craft books.
From 3 books and 6 wooden planks a bookshelf can be made.

Note: crafting with a robot doesn't count for the skyblock-quests !

That means you can craft wood, paper and books with a robot,
but the bookshelf for the quest must be made by hand.

Stone-Maker

Dig the stones that are created where flowing water meets flowing lava.
Note: robots need energy to dig stone, and needs fuel to generate energy.

Place spawner in front of the place to dig (or adapt the movement-statements for your location).

--Stoner
if not fuel then fuel="default:tree"
  move.forward()
  move.down()
--  to get to the place for digging
end

if machine.energy()<0.1 then
  machine.generate_power(fuel,0)
end
n=read_node.down()
self.label(machine.energy().."-"..n)

if n=="default:stone" then
  ok,err=dig.down()
  if not ok then say(err) end
end

Note: if you only have one robot, it might be more easy to dig stones by hand,
and use the toolrepair-robot on your pickaxe.

Gravel-Maker1

Places and digs cobblestones to make gravel.
This is faster than digging by hand and avoids wear on tools.
Usage: put some cobble into the robot's inventory, start bot, wait, get gravel from inventory.

  m="cobble"
--m="darkage:darkdirt"
--m="default:leaves"
--m="default:pine_needles";
--m="default:jungleleaves"
--m="default:aspen_leaves"
--m="default:acacia_leaves" --
 
  place.up(m)
  dig.up()
Note the different naming-schemes for leaves.

This program can also be used to turn dark-dirt into normal dirt,
to sift gravel for flint, or to get saplings from leaves.

Gravel-Maker2

This is an example how an improved, more generalized program with error-checking might look.
Actually, checking for errors (and handling them) tends to take a big part of most programs.

--gravel-maker2
m=check_inventory.self("","main",1) -- look at material in slot 1 
if m=="" then  
  say("empty!");  self.remove()
end

p=string.find(m," ")
if p then  -- remove count from end of item-name:
  m=string.sub(m,1,p-1)
end

ok=place.up(m)
if not ok then
  say("fail");  self.remove()
end

ok,err=dig.up()
if not ok then
  say("! "..err);  self.remove()
end

This program tries to place&dig the stuff found in slot 1, and stops when it fails (eg. because it ran out of input-material).
As the robot gets the name of the item to dig from the robot's inventory,
there is no need to hardcode this name in the program.

Note: put at least 2 cobble into slot 1 !

Button-Maker

Create keyboard-buttons above the robot, and dig them.
These buttons can be used as a cheap building-material (with a plastic-look).

-- Keyboard-button-maker
  c  = 1;  -- 1=white 2=grey 3=red 4=green 5=blue 6=yellow  7-16="0"-"9" ...
  p0 = self.spawnpos();
 
  keyboard.set( {x=p0.x, y=p0.y+2, z=p0.z}, c)
  dig.up()

Paver

Places a block of dirt (or cobblestone) in front of the 'foot' of the robot, move ahead, repeat.
This is useful for covering an area, or building bridges.

--pave a path straight ahead
if not i then i=0; 
  m="default:cobble"
  m="default:gravel"
  m="default:dirt"
--turn.right()
  move.forward()
  move.down()
--move.left()
end
i=i+1; self.label(i)
if i>10 then self.remove() end
place.forward_down(m)
move.forward()

Paver v2

This version needs a remotecontrol for moving around,
and it makes new gravel while paving.

 --rc-paver - 2017-09-09
 if not i then i=0; 
   m1="default:cobble"
   m2="default:gravel"
 --turn.right()
   move.forward()
   move.down()
 end
 
 place.up(m1); dig.up()  -- make gravel
 
 ok=place.forward_down(m2)  -- pave ahead
 if ok then i=i+1 end
 self.label(i)

ChestMover

Gets the contents from a chest (or a robot), and puts them into another chest.
Place robot next to the first chest.

 if not i then i=0 
   move.forward()
   move.down()
 end
 
 n=read_node.forward() ; --say(n)
 if n=="default:chest_locked" or n=="basic_robot:spawner" then
   if i==0 then
     say("get stuff from chest#1")
     for s=1,32 do
       m=check_inventory.forward("","main",s)
       if m~="" then take.forward(m); i=i+1 end
       self.label(i)
     end
   end
 end

 if i>1 then
   say("moving...")  -- change following lines to move to 2nd chest
   turn.right()  
   move.forward()
   turn.left()
 end

 if n=="default:chest_locked" or n=="default:chest" then
   if i>1 then
     say("put stuff into chest#2")
     for s=1,32 do
       m=check_inventory.forward("","main",s)
       if m~="" then take.forward(m); i=i+1 end  --??
     end
   end
 end

 self.remove()

This is useful when reorganizing your storage.

DropBox

This is a simple 'mailbox', where you can drop off stuff for the owner of the robot.
It needs a robot, and a keypad to activate it.
You can craft a keypad with the constructor from basic-machines.
The keypad activates the robot, then the robot runs for a few seconds and picks up items
dropped by the player, and stores them in its inventory.

To send a mail, write your text as a letter into a book (see the next program).

 if not i then i=0 
   say("Dropbox active")
 end
 
 i=i+1
 pickup(4)
 
 if i>5 then self.remove() end

BookWriter

One use of this program is to write the text of a mail into a book.

title="Greetings from Jack"
msg="Hello ! "
msg=msg.."I have the following proposal: ..."

book.write(1,title,msg)
self.remove()

This creates a book-with-text in slot 1 of the robot's library.

Shared Chest

This needs a robot, a chest, and a keypad.
You need a constructor to craft a keypad.
The inventory of the robot-spawner is used for storage,
the chest for input&output, and the keypad (with password) activates the robot.
The robot then moves the stuff from its inventory into the chest (or the other way).

With a few changes, this could work as a shop.

Eg. instead of using a keypad with password, the robot would check the chest for payment.

Setup - all parts are placed in one column above each other:

K
C
_
S

K=keypad C=chest S=robot-spawner _=free space, where robot-worker will appear

On keypress (with valid password), if the chest is empty,
the robot moves the contents of its inventory into the chest.
Otherwise, the contents of the chest are moved into the robot's inventory,

 if not pn then pn="DropBox v0.8e";  --say(pn)
 
   m=check_inventory.up("","main",1) -- look at slot 1 of chest above
   if m=="" then  op="put stuff into chest"
     for s=1,32 do
       m=check_inventory.self("","main",s) -- say(s..": "..m) 
       if m~="" then insert.up(m) end 
     end
   else  op="get stuff from chest"
     for s=1,32 do
       m=check_inventory.up("","main",s)
       if m~="" then take.up(m) end
     end
   end

 end
 say(pn .." - " .. op .. " - done.")
 self.remove()
Note: while the stuff is in the chest, other players might sneak up and try to steal !

Door-Opener

The robot needs to be placed next to a door,
and a keypad on top of the robot to activate it.

-- simple door-opener - 2017-11
-- activated by keypad with password

if not i then i=0 end

i=i+1
n=read_node.forward();  --say(i..n)
n=string.sub(n,1,4)
if n=="door" then
  activate.forward(1); i=9
end

if i>=4 then self.remove() end

turn.left()

The keypad activates the robot, the robot looks at the surrounding blocks
until a door is found, and opens it with an activate-command.

Note: the keypad can also be set to play a sound.

Door-opener2

This program combines the door-opener with a dropbox/mailbox.

--todo
 self.remove()

The robot looks for nearby players.
If the 'allowed' player is found, the robot opens the door.
Otherwise, it acts like a dropbox/mailbox (see above), and picks up&stores dropped items.

Tree-Farmer

Plant saplings, wait until it grows, harvest grown trees.
Trees can be crafted to wooden items, or used as fuel.

Note: movers from basic-machines can harvest whole trees (dig-mode).

--todo
if not i then i=0; end
i=i+1
self.label(i)
turn.right()
pickup(8) --collect leaves & saplings on ground

See also Tutorial - Tree-Harvester, and the woodmaker above.

Furnace-Feeder

Keeps a furnace running: Refills fuel and ore, gets output.
Place the furnace 2 spaces above the spawner.
Put some ore(s) into the top row of the robot's inventory, and some fuel at the bottom.
Write the name of the fuel into the program.

if not pn then pn="Furnace-Feeder"  -- 2017-10-13 
  msg=self.name().."\n"..pn
  self.display_text(msg,8,1)
 
  f="default:tree"
  f="default:coal_lump"
 
  s1=1; s9=8  -- slot-range for input-material
  s=s1
end
  
  m=check_inventory.self("","main",s);  -- say(s..":"..m)
  if m=="" then s=s+1 end
  if s>s9  then s=s1  end
--self.label(s)
  src=check_inventory.up("","src",1);
  if src=="" then insert.up(m,"src") end
 
  dst=check_inventory.up("","dst",1); 
  if dst~="" then take.up(dst,"dst") end

  ok=insert.up(f,"fuel")
  activate.up(1)
--

Note: this will not detect materials that are not cookable.

Power-Collector

Take powercells from a generator in front of the robot,
and put them into a chest (or a battery) behind the robot.

-- power-collector
e1="basic_machines:power_cell"
e2="basic_machines:power_cell 25"

n=read_node.forward()
if n=="basic_machines:generator" then
  ok=take.forward(e1,"fuel")
  ok=insert.backward(e2)
else
--say(n)
  turn.right()
end

Power-Collector2

You might want to consider other arrangements for your machinery,
eg. the generator on top of the robot:

-- power-collector2 - 2017-09-09 b
if not e1 then
  e1="basic_machines:power_cell"  -- for 0..19 upgrades
--e1="basic_machines:power_block" -- 20..98 upgrades
  e2=e1.." 25"
  c1="default:chest" 
  c2=c1.."_locked" 
end

ok=take.up(e1,"fuel")

n=read_node.forward(); --say(n)

if n==c1 or n==c2 then  -- chest
  ok=insert.forward(e2)
end

if n=="basic_machines:battery" then
  ok=insert.forward(e1.." 9","fuel")
--activate.forward(1)
  -- other action
end

if n=="basic_machines:constructor" then
  ok=insert.forward(e1.." 2")
  ok=activate.forward(2)
  -- other actions ...
end

turn.right()
--

Examples for using the surrounding machines:
The constructor could craft coal from power-cells,
and the battery would power a grinder or furnace on top.

Help

FAQ

  • Help!
    • Please be more specific.
  • I cannot dig a tree
    • Craft an axe
From quest 1.3, you get a tree-block as a reward
  • I need X
    • Craft it - see also recipes.
  • I don't know how to make X
    • Search the crafting-guide
    • Ask Eliza, eg. " how to make hoe"
Note the leading space in front of 'how'.
  • How to make rhubarb-pie ?
    • The recipe for rhubarb-pie needs 1 sugar, 3 wheat, 3 rhubarb.
    • You get sugar from cooking papyrus.
    • You get papyrus as quest-reward 1.7
    • You get more papyrus by planting it near water.
    • You get wheat from growing wheat-seeds, on fertilized soil.
      • You can harvest wheat at growth-stage 8.
    • You get wheat-seeds from digging grass (random chance).
    • You get rhubarb from growing rhubarb-plants, on fertilized soil.
      • You can harvest rhubarb at growth-stage 3.
    • You get a rhubarb-plant as quest-reward 3.4
    • To grow plants, you need soil with fertilizer, near water.
    • You can craft fertilizer from papyrus
    • You need a hoe to convert dirt to soil.
    • Wielding fertilizer shows the nutrition-value of soil.
    • 1 fertilizer puts 10 such nutrition-points into one soil.
    • Each growth-stage of a plant consumes 1 nutrition-point.
    • If the soil has not enough nutrition, the plant turns into worthless weeds.
  • What use is dark dirt ?
    • It is not useful, it is just decorative.
    • Digging dark dirt gives you normal dirt.
    • If you have an excess of gravel, you can turn it to dirt, via dark-dirt.

...

Tips

  • If you die, you respawn with an empty inventory, your quests reset, back at level 1.
    • So, avoid dying.
  • Moving onto the bottom layer of the world kills you.
    • So, don't go/jump/fall there.
That lethal layer is 2-3 spaces above the 'clouds' at the bottom.
You cannot place blocks at that height,
but dropping sand or gravel onto it works. Same for flowing water or lava.
    • So, when in doubt, test the terrain before you move,
eg. by trying to place gravel, leaves, or a torch.
If that stuff cannot be placed DON'T GO THERE !
  • Set your home-position with /sethome, at a safe location.
    • Don't leave the game at a dangerous location, e.g. that could be flooded by another player.
  • Claim / Protect your area (as soon as possible, see quest 2.1).
    • When walking around, use a (spare) protector to check the ownership of the area.
  • Store your stuff in locked chests.
    • Robot-spawners work as locked chests too.
  • Making stones from lava and water:
    • If the lava-source comes into contact with water (even diagonally),
    • it will turn into obsidian.
While obsidian is a nice material, an early loss of your lava-source is bad,
because it is not easy to get a new lava-source (without dying).
    • So, you need to put some distance between lava- and water-sources:
WS wf S lf LS

WS=water-source wf=flowing water S=new stone lf=flowing lava LS=lava-source

    • To avoid accidents, cover up your lava - eg. with glass or a trapdoor.
  • Don't put something of value on top of the quest-block, such as a chest or robot.
    • When quest 3.9 is completed, a water-source will replace whatever is above the quest-block.