Just some maintenance. Nothing to see here, move along. :-)

This commit is contained in:
VanessaE 2020-04-30 06:14:19 -04:00
parent 158818c205
commit fd97137fac
14 changed files with 232 additions and 179 deletions

View File

@ -1,114 +0,0 @@
-- xPanes mod by xyz
-- made into xbars mod by Melkor
-- and finaly made into bedrock mod by ShadowNinja
local function rshift(x, by)
return math.floor(x / 2 ^ by)
end
local directions = {
{x = 1, y = 0, z = 0},
{x = 0, y = 0, z = 1},
{x = -1, y = 0, z = 0},
{x = 0, y = 0, z = -1},
}
local function update_bar(pos)
if minetest.env:get_node(pos).name:find("bedrock:bar") == nil then
return
end
local sum = 0
for i = 1, 4 do
local node = minetest.env:get_node({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z})
if minetest.registered_nodes[node.name] and (minetest.registered_nodes[node.name].walkable ~= false) then
sum = sum + 2 ^ (i - 1)
end
end
if sum == 0 then
sum = 15
end
minetest.env:add_node(pos, {name = "bedrock:bar_"..sum})
end
local function update_nearby_bars(pos)
for i = 1,4 do
update_bar({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z})
end
end
local half_blocks = {
{0, -0.5, -0.06, 0.5, 0.5, 0.06},
{-0.06, -0.5, 0, 0.06, 0.5, 0.5},
{-0.5, -0.5, -0.06, 0, 0.5, 0.06},
{-0.06, -0.5, -0.5, 0.06, 0.5, 0}
}
local full_blocks = {
{-0.5, -0.5, -0.06, 0.5, 0.5, 0.06},
{-0.06, -0.5, -0.5, 0.06, 0.5, 0.5}
}
for i = 1, 15 do
local need = {}
local cnt = 0
for j = 1, 4 do
if rshift(i, j - 1) % 2 == 1 then
need[j] = true
cnt = cnt + 1
end
end
local take = {}
if need[1] == true and need[3] == true then
need[1] = nil
need[3] = nil
table.insert(take, full_blocks[1])
end
if need[2] == true and need[4] == true then
need[2] = nil
need[4] = nil
table.insert(take, full_blocks[2])
end
for k in pairs(need) do
table.insert(take, half_blocks[k])
end
local texture = "bedrock_bar.png"
if cnt == 1 then
texture = "bedrock_bar_half.png"
end
minetest.register_node("bedrock:bar_"..i, {
drawtype = "nodebox",
tiles = {"bedrock_bar_white.png", "bedrock_bar_white.png", texture},
paramtype = "light",
groups = {unbreakable = 1},
drop = "bedrock:bar",
node_box = {
type = "fixed",
fixed = take
},
selection_box = {
type = "fixed",
fixed = take
}
})
end
minetest.register_node("bedrock:bar", {
description = "Bedrock Bar",
tiles = {"bedrock_bar.png"},
inventory_image = "bedrock_bar.png",
wield_image = "bedrock_bar.png",
node_placement_prediction = "",
on_construct = update_bar
})
minetest.register_on_placenode(update_nearby_bars)
minetest.register_on_dignode(update_nearby_bars)
minetest.register_craft({
output = 'bedrock:bar 16',
recipe = {
{'bedrock:bedrock', '', 'bedrock:bedrock'},
{'bedrock:bedrock', '', 'bedrock:bedrock'},
{'bedrock:bedrock', '', 'bedrock:bedrock'}
}
})

View File

@ -1,33 +0,0 @@
local bedrock_depth = tonumber(minetest.setting_get("bedrock_depth")) or -30912
local bedrock_height = tonumber(minetest.setting_get("bedrock_height")) or 5
minetest.register_on_generated(function(minp, maxp)
if minp.y > bedrock_depth + bedrock_height or maxp.y < bedrock_depth then
return
end
local vm, mine, maxe = minetest.get_mapgen_object("voxelmanip")
local area = VoxelArea:new({MinEdge=mine, MaxEdge=maxe})
local data = vm:get_data()
local random = math.random
local c_bedrock = minetest.get_content_id("bedrock:bedrock")
local highest = math.min(bedrock_depth + bedrock_height, maxe.y)
local lowest = math.max(bedrock_depth, mine.y)
for y = lowest, highest do
for x = mine.x, maxe.x do
for z = mine.z, maxe.z do
if random(0, y - bedrock_depth) == 0 then
data[area:index(x, y, z)] = c_bedrock
end
end
end
end
vm:set_data(data)
vm:write_to_map()
end)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

View File

@ -4,13 +4,11 @@
# for dreambuilder, e.g. updating mods, copying file components, # for dreambuilder, e.g. updating mods, copying file components,
# making changes to the code, etc. # making changes to the code, etc.
local_copy=true
upstream_mods_path="/home/vanessa/Minetest-related/mods" upstream_mods_path="/home/vanessa/Minetest-related/mods"
if [ ! -d "$upstream_mods_path" ] ; then if [ ! -d "$upstream_mods_path" ] ; then
if [ ! -z $1 ] ; then if [ ! -z $1 ] ; then
upstream_mods_path=$1 upstream_mods_path=$1
local_copy=false
else else
echo "Script does not appear to be running on Vanessa's PC, so you must supply a mods path." echo "Script does not appear to be running on Vanessa's PC, so you must supply a mods path."
exit 1 exit 1
@ -18,7 +16,6 @@ if [ ! -d "$upstream_mods_path" ] ; then
fi fi
modpack_path=$upstream_mods_path"/my_mods/dreambuilder_modpack" modpack_path=$upstream_mods_path"/my_mods/dreambuilder_modpack"
mp_upstream_path=$upstream_mods_path"/my_mods/dreambuilder_mp_upstream_files"
rm -rf $modpack_path/* rm -rf $modpack_path/*
touch $modpack_path/modpack.txt touch $modpack_path/modpack.txt
@ -28,8 +25,7 @@ echo -e "\nBring all mods up-to-date from "$upstream_mods_path
cd $upstream_mods_path cd $upstream_mods_path
# No trailing slashes on these items' paths! # No trailing slashes on these items' paths!
MODS_LIST="ShadowNinjas_mods/bedrock \ LINK_MODS_LIST="my_mods/biome_lib \
my_mods/biome_lib \
my_mods/coloredwood \ my_mods/coloredwood \
my_mods/currency \ my_mods/currency \
my_mods/gloopblocks \ my_mods/gloopblocks \
@ -43,13 +39,11 @@ my_mods/signs_lib \
my_mods/basic_signs \ my_mods/basic_signs \
my_mods/street_signs \ my_mods/street_signs \
my_mods/unifieddyes \ my_mods/unifieddyes \
my_mods/dreambuilder_mp_extras \
my_mods/simple_streetlights \ my_mods/simple_streetlights \
my_mods/basic_materials \ my_mods/basic_materials \
my_mods/dreambuilder_hotbar \ my_mods/dreambuilder_hotbar \
Calinous_mods/bedrock \ Calinous_mods/bedrock \
Calinous_mods/maptools \ Calinous_mods/maptools \
Calinous_mods/moreblocks \
Calinous_mods/moreores \ Calinous_mods/moreores \
Sokomines_mods/cottages \ Sokomines_mods/cottages \
Sokomines_mods/locks \ Sokomines_mods/locks \
@ -70,9 +64,6 @@ cheapies_mods/arrowboards \
cheapies_mods/digidisplay \ cheapies_mods/digidisplay \
Jeijas_mods/digilines \ Jeijas_mods/digilines \
Jeijas_mods/jumping \ Jeijas_mods/jumping \
CWzs_mods/player_textures \
CWzs_mods/replacer \
nekogloops_mods/glooptest \
TenPlus1s_mods/farming \ TenPlus1s_mods/farming \
TenPlus1s_mods/bees \ TenPlus1s_mods/bees \
TenPlus1s_mods/bakedclay \ TenPlus1s_mods/bakedclay \
@ -84,34 +75,49 @@ DonBatmans_mods/mymillwork \
quartz \ quartz \
stained_glass \ stained_glass \
titanium \ titanium \
unifiedbricks \
display_blocks \ display_blocks \
gardening \ gardening \
caverealms_lite \ caverealms_lite \
deezls_mods/extra_stairsplus \ deezls_mods/extra_stairsplus \
blox \ blox \
bobblocks \
campfire \ campfire \
item_drop \ item_drop \
notify_hud_provider" notify_hud_provider"
MODPACKS_LIST="$(ls -d worldedit/*/) \ COPY_MODS_LIST="my_mods/dreambuilder_mp_extras \
$(ls -d my_mods/homedecor_modpack/*/) \ nekogloops_mods/glooptest \
$(ls -d RBAs_mods/technic/*/) \ Calinous_mods/moreblocks \
CWzs_mods/replacer \
CWzs_mods/player_textures \
bobblocks \
unifiedbricks"
LINK_MODPACKS_LIST="$(ls -d my_mods/homedecor_modpack/*/) \
$(ls -d my_mods/plantlife_modpack/*/) \ $(ls -d my_mods/plantlife_modpack/*/) \
$(ls -d Zeg9s_mods/ufos/*/) \ $(ls -d Zeg9s_mods/ufos/*/) \
$(ls -d Jeijas_mods/mesecons/*/) \ $(ls -d Jeijas_mods/mesecons/*/) \
$(ls -d Philipbenrs_mods/castle-modpack/*/) \
$(ls -d cheapies_mods/roads/*/) \ $(ls -d cheapies_mods/roads/*/) \
$(ls -d cool_trees/*/)" $(ls -d cool_trees/*/)"
COPY_MODPACKS_LIST="$(ls -d RBAs_mods/technic/*/) \
$(ls -d Philipbenrs_mods/castle-modpack/*/) \
$(ls -d worldedit/*/)"
for i in $MODS_LIST; do
rsync -a $i $modpack_path --exclude .git* for i in $LINK_MODS_LIST; do
ln -s $upstream_mods_path"/"$i $modpack_path
done done
for i in $(echo $MODPACKS_LIST |sed "s:/ : :g; s:/$::"); do for i in $(echo $LINK_MODPACKS_LIST |sed "s:/ : :g; s:/$::"); do
rsync -a $i $modpack_path --exclude .git* ln -s $upstream_mods_path"/"$i $modpack_path
done
for i in $COPY_MODS_LIST; do
rsync -a $upstream_mods_path"/"$i $modpack_path --exclude .git*
done
for i in $(echo $COPY_MODPACKS_LIST |sed "s:/ : :g; s:/$::"); do
rsync -a $upstream_mods_path"/"$i $modpack_path --exclude .git*
done done
# above, all the stuff of the form $(ls -d foo/*/) are modpacks # above, all the stuff of the form $(ls -d foo/*/) are modpacks
@ -176,14 +182,8 @@ cp $upstream_mods_path"/../player_skins/"$FILE \
$modpack_path/player_textures/textures $modpack_path/player_textures/textures
done <<< "$LIST" done <<< "$LIST"
cp -a $mp_upstream_path"/readme.md" $modpack_path ln -s $upstream_mods_path"/my_mods/dreambuilder_mp_extras/readme.md" $modpack_path
echo -e "\nCustomization completed. Here's what will be included in the modpack:\n" echo -e "\nCustomization completed. Here's what will be included in the modpack:\n"
ls $modpack_path ls $modpack_path
if $local_copy ; then
echo -e "\nCopying Dreambuilder to mods directory...\n"
rsync -a -v --delete $modpack_path /home/vanessa/.minetest/mods/
fi

View File

@ -0,0 +1,179 @@
# Overview
Dreambuilder is my attempt to give the player pretty much everything they'll ever want to build with, and all the tools they should ever need to actually get the job done. This modpack was, for most of its life, maintained as a subgame based on minetest_game, minus a couple of mods that I don't like, with a number of minor things changed, and a number of extra mods added on. Since then, many things have changed, from game content to packaging format. Read on!
This modpack is in use on my Creative server and on my Survival server, which also has a few extra mods installed for its specific needs. It should give you a pretty good idea nonetheless. Expect lag, as it's a significantly-developed multiplayer server, after all.
##  
# What's in it? What's changed from the default stuff?
* Being that this was originally based on an old version of minetest_game, it retains the light-colored user interface theme despite having since been updated, because I don't like feeling like I live in a cave when I open a formspec.
* The complete Plantlife Modpack along with More Trees and Vines mods add a huge amount of variation to your landscape (as a result, they will add mapgen lag). Active spawning of Horsetail ferns is disabled by default, and I've added papyrus growth on dirt/grass with leaves (using a copy of the default growth ABM).
* This modpack includes RealBadAngel's Unified Inventory mod, which overrides minetest_game's default inventory to give you a much more powerful user interface, with crafting guide, bags, and more, and it also means that if you're using this modpack in creative mode, your stacks are NOT infinite (and they shouldn't be).
* The default bones and TNT mods have been disabled (by way of "empty" mods, to trick the dependency resolver into skipping the real ones). They're not exactly useful for building stuff with.
* Stu's split-limb player model replaces the default one.
* The default hotbar HUD holds 16 items instead of 8, taken from the top two rows of your inventory. The first 10 slots can be accessed by number keys 1-9 and 0, the rest via your mouse wheel. You can use `/hotbar ##` to change the number of slots from 1 to 23.
* The default lavacooling code has been supplanted by better, safer code from my Gloopblocks mod. That mod also provides stone/cobble --> mossy stone/cobble transformation in the presence of water.
* An extensive selection of administration tools for single-player and server use are included, such as areas, maptools, worldedit, xban, and more.
* A few textures here and there are different.
* The mapgen won't spawn apples on default trees, nor will they appear on a sapling-grown default tree. Only the *real* apple trees supplied by the Moretrees mod will bear apples (both at mapgen time and sapling-grown). Or at least that's how it's supposed to work. :stuck_out_tongue: While on that subject, apples now use a 3d model instead of the plantlike version.
##  
# Okay, what else?
A whole boatload of other mods have been added, which is where most of the content actually comes from. To be a little more specific, as of August 2017, this modpack has a total of 165 mods (counting all of the various sub-mods that themselves come as part of some modpack, such as mesecons or home decor) and supplies almost 2000 items in the inventory/craft guide (almost 14,300 unique items in total, counting everything that isn't displayed in the inventory)! A mostly-complete list of mods is as follows:
areas
arrowboards
bedrock
bees
biome_lib
blox
bobblocks (without the traps or mesecons support)
campfire
castles++ (Philipbenr's re-fork, without the "orbs")
caverealms
coloredwood
colormachine
cottages
currency
datastorage
digilines
digistuff
display_blocks
farming_plus
framedglass
gardening
gloopblocks
glooptest (without treasure chests)
ilights
inventory_sorter
invsaw
item_tweaks
locks
maptools
markers
memorandum
moreblocks
moreores
moretrees
nixie_tubes
notice
peaceful_npc
pipeworks
plasticbox
player_textures (cheapie's fork, with several default skins)
prefab_redo
quartz
replacer
rgblightstone
signs_lib
solidcolor
stained_glass
teleport_request
titanium
travelnet
unifiedbricks (bucket dependency removed)
unifieddyes
unified_inventory
unifiedmesecons
vines
windmill
xban2
The full Home Decor modpack
The full Technic modpack
The full Plantlife modpack
Cheapie's Roads modpack
Zeg9's Steel modpack
Zeg9's UFO modpack
The full Mesecons modpack
Jeija's Jumping modpack
The full Worldedit modpack
### Your Inventory Display
This modpack, as previously mentioned, replaces the standard inventory with Unified Inventory, which almost defies description here. Unified Inventory includes waypoints, a crafting guide, set/go home buttons, set day/set night buttons, a full creative inventory on the right if you're playing in that mode - and you only have to click/tap the item once to get the it, instead of multiple clicks/drag and drop, a trash slot, a clear all inventory button, a search feature for the inventory, and more. Basically, you just need to use it a few times and you'll find yourself wondering how you ever got along with the standard inventory!
### The Circular Saw
This modpack uses the More Blocks mod, which comes with the Stairsplus mod and more importantly, the Circular Saw mod by Sokomine and co. This mod replaces the traditional method of creating stairs, slabs, and the like: rather that crafting a stairs block by placing several of the material into your crafting grid, you must first craft a circular saw (really, a table saw), place that on the ground, and then use that to shape the material you had in mind. It can create dozens of shapes, including the standard stairs and slabs. Give it a try and see for yourself!
### Land Ownership
This modpack uses ShadowNinja's areas mod for land protection, as well as cheapie's protector blocks. Of course, land protection is only useful if you're using this Modpack on a public server.
#### Protection blocks:
These are easy. Craft one, place it, and everything within 15m of it becomes yours immediately (if someone else doesn't own some of the land therein, of course). If you dig one of these, the area protection it created is removed; if you shift-dig, the protection is preserved, but the block is deleted, giving back some steel ingots if you're in survival mode, or nothing at all if in creative mode.
#### Areas:
If you want fine control, use the areas mod's commands. There are three ways to select a region to protect:
**Option A:**
Just type `/area_pos set` and then punch two nodes that are diagonally opposite one another, so that they form a 3d box that fully encloses the area you want to claim. A black **`[1]`** or **`[2]`** will appear where you punched.
**Option B:**
1. Move to one corner, on the ground.
2. Type `/area_pos1` and press enter. A black **`[1]`** will appear.
3. Move to the other corner and go up a ways above your area - not too high though.
4. Type `/area_pos2` and press enter. A black **`[2]`** will appear.
**Option C:**
Just give actual coordinates to the `/area_xxx` commands, e.g.:
`/area_pos1 123,45,678 /area_pos2 987,654,321`
**Claim it:**
Once you've marked your area using one of the above methods, you must actually claim it. This is the step that actually protects it against vandalism and unauthorized access. Just type:
/protect some description here
By default, users may protect up to 3 zones with these commands, and each can be up to 50x100x50 meters in size, but this can be changed by plugging appropriate settings into your minetest.conf.
**Sublet it:**
Ok, you've claimed an area, and you want to let someone else build there. Simple. Set the coordinates of the box you want to let them build in, using the commands above (Options A, B, or C). Then do:
`/add_owner your_area# their_name description here`
For example, if you own area #123 and the other person's name is "Mike", and you want to sublet them some area called "Mike's home", you might do something like this:
`/add_owner 123 Mike Mikes Home`
You can add as many users as you like to your areas. You will need to issue one such command per user.
## Dependencies:
This modpack requires Minetest 0.4.16 or later, and a corresponding copy of minetest_game. Anything too old will likely either crash, show nodes with the wrong shape or colors, throw nonsensical warnings/errors, or open up wormholes.
## Hardware requirements:
This modpack defines a very large number of items and produces a well-detailed landscape, and so it requires a significant amount of resources compared to vanilla Minetest game. At least a 2 GHz dual core CPU and 2 GB free RAM are required for good performance. If you use my HDX texture pack, you'll need more RAM (at least 4 GB free recommended).
This modpack is NOT intended for use on mobile devices.
## Download/Install:
...if you're reading this, you're either on the Dreambuilder Github repo page, so clone it from there, or download the ZIP... or maybe you already have it. ;-) You can also fetch it from [url]https://daconcepts.com/vanessa/hobbies/minetest/Dreambuilder_Modpack.tar.bz2[/url]
Just rename the project folder to "dreambuilder_modpack", if necessary, and move it to your Minetest mods directory. Then select and enable it for the world you want to use it in. Depending on the condition of the world you are using, and for brand new maps, this modpack may take a minute or two to start, during which time you may see the hotbar and hand, all-grey window content where the world should be, or other odd-looking things. Just wait it out, it will eventually start and settle down.
## License:
Each of the base mods in this modpack retains the standard license that its author has assigned, even if the license file is missing from the archive. All changes and any supplemental content made by me is WTFPL unless explicitly stated otherwise.
# Open Source Software
This modpack is open source, or at least as much so as I have control over. Since it started from the standard minetest_game distribution, you'll want to look at that. You can find it at its usual Github repository, here:
[url]https://github.com/minetest/minetest_game[/url]
An online copy of the archive of mods the modpack is built from can be found here (with full git histories, including my changes and any files that went missing from the completed modpack, where applicable):
[url]http://minetest.daconcepts.com/my-main-mod-archive/[/url]
# Notes:
For best results, I recommend adding the following to your minetest.conf (perhaps to a secondary copy of that file that you only use when playing worlds with this modpack):
```
enable_item_drops = false
enable_item_pickup = true
remove_items = -1
disable_fire = true
enable_mesh_cache = false
```

View File

@ -17,12 +17,19 @@ rsync -a --exclude=".git/" \
echo -e "\nUpdate git repos..." echo -e "\nUpdate git repos..."
echo -e "=================================================================\n" echo -e "=================================================================\n"
cd /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack rm -rf /run/shm/dreambuilder_modpack
rsync -aL /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack /run/shm/
cd /run/shm/dreambuilder_modpack
git add . git add .
git commit -a git commit -a
git push git push
git tag $timestamp git tag $timestamp
git push --tags git push --tags
cd ~
rsync -aL --delete /run/shm/dreambuilder_modpack/.git /home/vanessa/Minetest-related/mods/my_mods/dreambuilder_modpack
rm -rf /run/shm/dreambuilder_modpack
echo -e "\nRecreate secondary game archive ..." echo -e "\nRecreate secondary game archive ..."
echo -e "=================================================================\n" echo -e "=================================================================\n"

View File

@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased] ## [Unreleased]
### Changed
- 10 coins of each type can now be crafted using 2 ingots (bronze, silver or gold).
- Silver coins require [More Ores](https://github.com/minetest-mods/moreores)
to be crafted, since minetest_game doesn't have silver ingots.
- Coins are now displayed in the creative inventory.
## [2.0.0] - 2019-11-25 ## [2.0.0] - 2019-11-25
### Changed ### Changed

View File

@ -16,7 +16,6 @@ minetest.register_craftitem("maptools:copper_coin", {
stack_max = 10000, stack_max = 10000,
}) })
minetest.register_craft({ minetest.register_craft({
output = "maptools:copper_coin 10", output = "maptools:copper_coin 10",
type = "shapeless", type = "shapeless",

View File

@ -157,6 +157,10 @@ for i=0,14,1 do
paramtype2 = "color", paramtype2 = "color",
light_source = i, light_source = i,
drop = "rgblightstone:rgblightstone_0", drop = "rgblightstone:rgblightstone_0",
_digistuff_channelcopier_fieldname = "channel",
_digistuff_channelcopier_onset = function(pos)
minetest.get_meta(pos):set_string("infotext","")
end,
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("formspec", "size[8,5;]field[1,1;6,2;channel;Channel;${channel}]field[1,2;2,2;addrx;X Address;${addrx}]field[5,2;2,2;addry;Y Address;${addry}]button_exit[2.25,3;3,1;submit;Save]button_exit[2.25,4;3,1;autofill;Auto-Fill From Node Above]label[3,2;Leave address blank\nfor individual mode]") meta:set_string("formspec", "size[8,5;]field[1,1;6,2;channel;Channel;${channel}]field[1,2;2,2;addrx;X Address;${addrx}]field[5,2;2,2;addry;Y Address;${addry}]button_exit[2.25,3;3,1;submit;Save]button_exit[2.25,4;3,1;autofill;Auto-Fill From Node Above]label[3,2;Leave address blank\nfor individual mode]")
@ -194,6 +198,10 @@ for i=0,14,1 do
description = i == 0 and "True-Color RGB Lightstone" or "True-Color RGB Lightstone (lit state - you hacker you!)", description = i == 0 and "True-Color RGB Lightstone" or "True-Color RGB Lightstone (lit state - you hacker you!)",
light_source = i, light_source = i,
drop = "rgblightstone:rgblightstone_truecolor_0", drop = "rgblightstone:rgblightstone_truecolor_0",
_digistuff_channelcopier_fieldname = "channel",
_digistuff_channelcopier_onset = function(pos)
minetest.get_meta(pos):set_string("infotext","")
end,
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("formspec", "size[8,5;]field[1,1;6,2;channel;Channel;${channel}]field[1,2;2,2;addrx;X Address;${addrx}]field[5,2;2,2;addry;Y Address;${addry}]button_exit[2.25,3;3,1;submit;Save]button_exit[2.25,4;3,1;autofill;Auto-Fill From Node Above]label[3,2;Leave address blank\nfor individual mode]") meta:set_string("formspec", "size[8,5;]field[1,1;6,2;channel;Channel;${channel}]field[1,2;2,2;addrx;X Address;${addrx}]field[5,2;2,2;addry;Y Address;${addry}]button_exit[2.25,3;3,1;submit;Save]button_exit[2.25,4;3,1;autofill;Auto-Fill From Node Above]label[3,2;Leave address blank\nfor individual mode]")