mirror of
https://notabug.org/TenPlus1/lucky_block.git
synced 2024-10-04 03:13:04 +02:00
Re-written API.txt file to make things easier to understand
This commit is contained in:
parent
02d6ae92b7
commit
30d123abd6
254
api.txt
254
api.txt
@ -2,112 +2,212 @@
|
||||
Lucky Block API
|
||||
===============
|
||||
|
||||
Please make sure that lucky_block appears in the depends.txt file of your mod.
|
||||
This guide will show you how to add schematic files and lucky blocks from
|
||||
within your own mods. Please make sure that lucky_block appears in the
|
||||
depends.txt file of your mod so everything work properly.
|
||||
|
||||
|
||||
USAGE: (check blocks.lua for many examples)
|
||||
|
||||
lucky_block:add_block({line})
|
||||
Function Usage
|
||||
==============
|
||||
|
||||
|
||||
LINE COMMANDS:
|
||||
Purge Block List
|
||||
----------------
|
||||
|
||||
lucky_block:purge_block_list()
|
||||
|
||||
This command is used to clear all of the blocks in the lucky block list so that
|
||||
you can add your own.
|
||||
|
||||
|
||||
-= Place Node
|
||||
Add Lucky Blocks to list
|
||||
------------------------
|
||||
|
||||
lucky_block:add_blocks({ block definitions here })
|
||||
|
||||
This command is used to add new blocks to the lucky block list.
|
||||
|
||||
e.g.
|
||||
|
||||
lucky_block:add_blocks({
|
||||
{"nod", "default:dirt", 0},
|
||||
{"dro", {"default:dirt"}, 5},
|
||||
})
|
||||
|
||||
|
||||
Purge Chest Items
|
||||
-----------------
|
||||
|
||||
lucky_block:purge_chest_items()
|
||||
|
||||
This command is used to purge all items in the default chest list so that you
|
||||
can add your own.
|
||||
|
||||
|
||||
Add Items to Default Chest
|
||||
--------------------------
|
||||
|
||||
lucky_block:add_chest_items({ add new default chest items here })
|
||||
|
||||
This command lets you add new items to the default chest when it appears
|
||||
inside a lucky block.
|
||||
|
||||
e.g.
|
||||
|
||||
lucky_block:add_chest_items({
|
||||
{name = "default:apple", max = 3},
|
||||
{name = "default:steel_ingot", max = 2},
|
||||
{name = "default:pick_steel", max = 1}
|
||||
})
|
||||
|
||||
|
||||
Add Schematics to List
|
||||
----------------------
|
||||
|
||||
lucky_block:add_schematics({ add new schematic definitions here })
|
||||
|
||||
This command lets you add schematic files and arrays to the list so they can
|
||||
be added to the lucky block list.
|
||||
|
||||
e.g. check for Ethereal mod then get the path and add two of the tree's to the
|
||||
schematic list and finally to the lucky block list:
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
local path = minetest.get_modpath("ethereal") .. "/schematics/"
|
||||
|
||||
lucky_block:add_schematics({
|
||||
-- name on list, schematic, offset placement
|
||||
{"appletree", ethereal.appletree, {x = 1, y = 0, z = 1}},
|
||||
{"bananatree", ethereal.bananatree, {x = 3, y = 0, z = 3}},
|
||||
}
|
||||
|
||||
lucky_block:add_blocks({
|
||||
{"sch", "appletree", 0, false},
|
||||
{"sch", "bananatree", 0, false},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
Lucky Block Commands
|
||||
====================
|
||||
|
||||
Using the lucky_block:add_blocks() command gives you access to many features
|
||||
from within this mod, these are listed below using this general format:
|
||||
|
||||
lucky_block:add_blocks({
|
||||
{"command", command options},
|
||||
..etc
|
||||
})
|
||||
|
||||
|
||||
Place Node
|
||||
----------
|
||||
|
||||
This command will place a node in place of the lucky block or at the players
|
||||
standing position.
|
||||
|
||||
{"nod", "node name", position, chest items}
|
||||
|
||||
e.g.
|
||||
|
||||
Replace Lucky Block with Dirt Block
|
||||
Place a dirt block where lucky block was
|
||||
|
||||
{"nod", "default:dirt", 0}
|
||||
|
||||
Place Fire at player position
|
||||
{"nod", "fire:basic_flame", 1}
|
||||
Place a chest containing random items from default chest items list
|
||||
|
||||
Replace Lucky Block with chest containing random items from default list
|
||||
{"nod", "default:chest", 0}
|
||||
|
||||
Replace Lucky Block with chest containing random items PLUS a few extra
|
||||
{"nod", "default:chest", 0, {{name="flowers:rose", max=5}, {name="default:goldblock", max=2}}}
|
||||
Place chest as above only add up to 5x roses as well
|
||||
|
||||
{"nod", "default:chest", 0, { {name = "flowers:rose, max = 4} }}
|
||||
|
||||
Place fire at player position
|
||||
|
||||
{"nod", "fire:basic_flame", 1}
|
||||
|
||||
|
||||
-= Drop Item(s)
|
||||
Drop Item(s)
|
||||
------------
|
||||
|
||||
{"dro", {"item names"}, number to drop, random colour}
|
||||
This command will throw a single or multiple items out of a lucky block,
|
||||
random colours can be used also.
|
||||
|
||||
{"dro", {"item names"}, how many to drop, use random colours}
|
||||
|
||||
e.g.
|
||||
|
||||
Drop 5x Torches
|
||||
Drop 5x torches
|
||||
{"dro", {"default:torch"}, 5}
|
||||
|
||||
Drop 10x randomly Coloured Wool (colour name added to end of item string)
|
||||
Drop 10x randomly coloured wool (colour name added to end of item string)
|
||||
{"dro", {"wool:"}, 10, true}
|
||||
|
||||
Drop 5x random Tools from list
|
||||
{"dro", {"default:pick_mese", "default:shovel_steel", "default:axe_diamond"}, 5}
|
||||
Drop 1x random tool from list
|
||||
{"dro", {"default:pick_mese", "default:shovel_steel", "default:axe_diamond"}, 1}
|
||||
|
||||
|
||||
-= Place Schematic
|
||||
Place Schematic
|
||||
---------------
|
||||
|
||||
Add schematic file to main list before adding lucky block:
|
||||
|
||||
lucky_block:add_schematics({
|
||||
{"name", schematic filename or definition, {offset}},
|
||||
end
|
||||
|
||||
e.g.
|
||||
|
||||
lucky_block:add_schematics({
|
||||
{"platform", platform, {x = 2, y = 0, z = 2}},
|
||||
})
|
||||
|
||||
then you can add the lucky block containing the schematic:
|
||||
This command lets you place a pre-added schematic file or definition in place
|
||||
of the lucky block or at the player position.
|
||||
|
||||
{"sch", "schematic name", position, force placement}
|
||||
|
||||
e.g.
|
||||
|
||||
Remove lucky block and build lucky platform in it's place
|
||||
{"sch", "platform", 0, true}
|
||||
Place lucky platform at player position and force placement
|
||||
{"sch", "platform", 1, true}
|
||||
|
||||
Place apple tree at player position
|
||||
{"sch", "appletree", 1, false}
|
||||
Place apple tree where lucky block use to be
|
||||
{"sch", "appletree", 0, false}
|
||||
|
||||
|
||||
-= Spawn Entity(s)
|
||||
Spawn Entity or Mob
|
||||
-------------------
|
||||
|
||||
{"spw", "entity name", number to spawn, tamed, owned, range}
|
||||
This command allows you to place a monster, animal or other entity.
|
||||
|
||||
{"spw", "entity name", how many to spawn, tamed, owned, range}
|
||||
|
||||
e.g.
|
||||
|
||||
Spawn 2x Dirt Monsters over a radius of 10 blocks
|
||||
{"spw", "mobs:dirt_monster", 2, nil, nil, 10}
|
||||
|
||||
Spawn 5x randomly coloured Sheep (random colour only works with sheep)
|
||||
Spawn 5x randomly coloured sheep (random colour only works with Mobs Redo sheep)
|
||||
{"spw", "mobs:sheep", 5}
|
||||
|
||||
Spawn NPC who is tamed and owned by player
|
||||
Spawn a single NPC who is tamed and owned by player
|
||||
{"spw", "mobs:npc", 1, true, true}
|
||||
|
||||
|
||||
-= Falling Blocks
|
||||
Falling Blocks
|
||||
--------------
|
||||
|
||||
{"fal", {node list}, position, spread, range}
|
||||
This command allows for a tower of blocks or blocks falling within a set area.
|
||||
|
||||
{"fal", {"node list"}, position, spread, range}
|
||||
|
||||
e.g.
|
||||
|
||||
Drop 2x Sand and 1x Gold Block and spread over range of 5 blocks
|
||||
Drop 2x sand and 1x gold block spread over a range of 5 blocks
|
||||
|
||||
{"fal", {"default:sand", "default:sand", "default:goldblock"}, 0, true, 5}
|
||||
|
||||
Drop 2x Obsidian onto player
|
||||
{"fal", {"default:obsidian", "default:obsidian"}, 1}
|
||||
Drop 3x obsidian onto player as a tower
|
||||
{"fal", {"default:obsidian", "default:obsidian", "default:obsidian"}, 1}
|
||||
|
||||
|
||||
-= Troll Block
|
||||
Troll Block
|
||||
-----------
|
||||
|
||||
{"tro", "node name", "sound", explosion},
|
||||
This command is similar to the place node command only it allows for a sound to
|
||||
be played on placement, then after two seconds the block will disappear or
|
||||
can explode causing damage to nearby players.
|
||||
|
||||
{"tro", "node name", "sound", explode}
|
||||
|
||||
e.g.
|
||||
|
||||
@ -120,12 +220,11 @@ Add gold block with wood sound, then after 2 seconds remove with pop
|
||||
{"tro", "default:goldblock", "default_wood_footstep", nil}
|
||||
|
||||
|
||||
-= Explosion (no settings, Lucky Block explodes and deals damage to all nearby)
|
||||
Random Teleport
|
||||
---------------
|
||||
|
||||
{"exp"}
|
||||
|
||||
|
||||
-= Teleport (no settings, player teleports +/- 10 blocks in any direction)
|
||||
This command will teleport the player opening the lucky block a random number
|
||||
of blocks away using a preset range.
|
||||
|
||||
{"tel", horizontal range, vertical range}
|
||||
|
||||
@ -136,47 +235,36 @@ Teleport player to random position 10 blocks left/right and 5 blocks up/under
|
||||
{"tel", 10, 5}
|
||||
|
||||
|
||||
-= Lightning Strike (Player is hit by lightning and deals damage with fire)
|
||||
Explosion
|
||||
---------
|
||||
|
||||
Now we start adding the bad lucky blocks that cause damage to the player by
|
||||
exploding.
|
||||
|
||||
{"exp"}
|
||||
|
||||
|
||||
Lightning Strike
|
||||
----------------
|
||||
|
||||
This is one of my favourite commands, lightning strikes the player and hurts
|
||||
everyone else nearby, can also place fire at strike position.
|
||||
|
||||
{"lig", "fire node"}
|
||||
|
||||
e.g.
|
||||
|
||||
Lightning strike with temporary fire
|
||||
Strike player and place temporary fire
|
||||
|
||||
{"lig", "fire:basic_flame"}
|
||||
|
||||
Lightning strike with permanent fire
|
||||
Strike player and place permanent flame
|
||||
|
||||
{"lig", "fire:permanent_flame"}
|
||||
|
||||
|
||||
Additional Commands thanks to blert2112
|
||||
Final Words
|
||||
===========
|
||||
|
||||
lucky_block:purge_block_list()
|
||||
|
||||
This removes all pre-defined lucky blocks and leaves the super lucky block.
|
||||
|
||||
|
||||
lucky_block:purge_chest_items()
|
||||
|
||||
This removes all pre-defined chest_stuff items and leaves it empty.
|
||||
|
||||
|
||||
lucky_block:add_chest_items(list)
|
||||
|
||||
This command adds items to the chest_stuff list for use inside of lucky chests:
|
||||
|
||||
lucky_block:add_chest_items({
|
||||
{name = "default:apple", max = 3},
|
||||
{name = "default:steel_ingot", max = 2},
|
||||
{name = "default:gold_ingot", max = 2},
|
||||
{name = "default:diamond", max = 1},
|
||||
{name = "default:pick_steel", max = 1}
|
||||
})
|
||||
|
||||
|
||||
lucky_block:add_schematics({line})
|
||||
|
||||
This adds a schematic to the main list before adding the actual lucky block
|
||||
that contains the schematic reference name (see schems.lua for examples).
|
||||
I hope this guide helps you add lucky blocks from within your own mods and for
|
||||
more examples please check out the blocks.lua and schems.lua files.
|
||||
|
Loading…
Reference in New Issue
Block a user