Add files via upload

This commit is contained in:
loosewheel
2022-03-02 17:46:06 +10:00
committed by GitHub
parent e4b3ae935d
commit 02a5ea0ca4
4 changed files with 229 additions and 15 deletions

View File

@@ -1,35 +1,47 @@
Conduit Conduit
------- -------
* This block is only available if digilines and/or mesecons are loaded.
Conduits are connected in a circuit, and can move items from their Conduits are connected in a circuit, and can move items from their
inventory to another conduit in the same circuit. inventory to another conduit in the same circuit.
When a conduit node is placed it has a simple form that asks for a channel. When a conduit node is placed it has a simple form that asks for a channel.
This channel is both the digilines' channel and the target id of this This channel is both the digilines' channel and the target id of this
conduit within the circuit. A conduit does not have to be given a name. conduit within the circuit. A conduit does not have to be given a channel.
Most of them are just used to connect other conduits together. Most of them are just used to connect other conduits together.
Transfer of items takes 0.1 seconds per conduit node moved, and will work Transfer of items takes 0.1 seconds per conduit node moved, and will work
in unloaded blocks. in unloaded blocks.
Also acts as a digilines conductor. If the hopper mod is loaded, will Filtering of items can be done by placing an item into a filter slot and
take items from the top and sides, and release them from the bottom. setting a target for that item. If an item is not filtered it is sent to
the main target. Filtering can also be implemented through digilines.
Conduits also act as a digilines conductor. If the hopper mod is loaded,
the conduit will take items from the top and sides, and release them from
the bottom. Be aware that hoppers from the hopper mod have some deficits
that can cause some nodes from this mod to not function correctly in
multi-player environments. The hoppers from this mod are more compatible.
Pipeworks tubes can push items into and pull items from the inventory. Pipeworks tubes can push items into and pull items from the inventory.
Note that if a sending conduit is moved (as with a piston) while in the
process of sending items, when the conduit is moved back into a circuit
a duplicate of the last sent item/s can be resent.
Only the owner can dig or access the form of the locked version. Only the owner can dig or access the form of the locked version.
UI UI
Channel - digilines channel/target id of circuit. Channel - digilines channel/target id of conduit.
Target - target id/channel of circuit this circuit will transfer to. Target - target id/channel of conduit this conduit will transfer to.
Automatic - if checked transfers next item every second without command. Automatic - if checked transfers next item every second without command.
Top right 16 slot inventory - storage of items. Top center 16 slot inventory - storage of items.
Bottom 32 slot inventory - player's inventory. Bottom 32 slot inventory - player's inventory.
Filter - 8 vertical slot inventory on the right, each with their accompanying
target field.
Mesecons Mesecons
Transfers the next item when power is turned on to the target circuit. Transfers the next item when power is turned on to the target conduit.
Digilines messages Digilines messages
"target <id>" "target <id>"
@@ -47,7 +59,7 @@ Digilines messages
"transfer" "transfer"
Simple transfer. Transfers the next item in the inventory to the target Simple transfer. Transfers the next item in the inventory to the target
circuit (same as mesecons power). conduit (same as mesecons power).
table message table message
{ {
@@ -57,13 +69,41 @@ table message
item = "<itemname>" item = "<itemname>"
} }
If target is not given, the circuit's set target is used. If target is not given, the conduit determines the target from it's
own settings.
slot should be a number between 1 to 16. If the slot is empty nothing slot should be a number between 1 to 16. If the slot is empty nothing
is transferred. is transferred.
item should be the registered item name. If the circuit's inventory item should be the registered item name. If the conduit's inventory
does not contain any nothing is transferred. does not contain any nothing is transferred.
Only slot or item should be given. If both are given slot is used. If Only slot or item should be given. If both are given slot is used. If
neither are given the next item in the inventory is transferred. neither are given the next item in the inventory is transferred.
"inventory"
Sends a digilines message with it's own channel in the following form:
{
action = "inventory",
inventory = {
<items>
}
}
The inventory key is an indexed list of items in the conduit in slot
order. Each item entry is a table with the following keys:
{
name -- string, the name of the item, as <mod>:<name>
description -- string, description of the item, same as in UI
count -- number, the total number of this item in storage
custom -- true if a custom item (has metadata), false if not
pallet_index -- string if the item has a pallet index, otherwise nil
}
The description is derived from the short description, if none
then the description, and if none then the item's name, as
<mod>:<name>.
Note: When sending transfer messages the simple item name, as <mod>:<name>,
will work for most items, but not for custom items. With custom items, or
to play it safe, use the table form of the transfer message and use the
index for the item from an inventory message as the slot for the transfer
message.

View File

@@ -0,0 +1,160 @@
1st right click - set channel, can't be changed after that.
Following right clicks displays touchscreen form.
Sent message as a table. Each command can be sent individually or as
indexes of a table to run as batch.
Clears the current form.
{
command = "clear"
}
Adds elements to the form. The form is size[10,8]. The parameters are as
for formspec (see api docs). No version is specified.
{
command = "realcoordinates",
enabled = true or false
}
{
command = "addimage",
X = n,
Y = n,
W = n,
H = n,
texture_name = string
}
{
command = "addfield",
X = n,
Y = n,
W = n,
H = n,
name = string,
label = string,
default = string
}
{
command = "addpwdfield",
X = n,
Y = n,
W = n,
H = n,
name = string,
label = string
}
{
command = "addtextarea",
X = n,
Y = n,
W = n,
H = n,
name = string,
label = string,
default = string
}
{
command = "addlabel",
X = n,
Y = n,
label = string
}
{
command = "addvertlabel",
X = n,
Y = n,
label = string
}
{
command = "addbutton",
X = n,
Y = n,
W = n,
H = n,
name = string,
label = string
}
{
command = "addbutton_exit",
X = n,
Y = n,
W = n,
H = n,
name = string,
label = string
}
{
command = "addimage_button",
X = n,
Y = n,
W = n,
H = n,
image = string,
name = string,
label = string
}
{
command = "addimage_button_exit",
X = n,
Y = n,
W = n,
H = n,
image = string,
name = string,
label = string
}
{
command = "adddropdown",
X = n,
Y = n,
W = n,
H = n,
name = string,
selected_id = n,
choices = { string [, string ... ] }
}
{
command = "addtextlist",
X = n,
Y = n,
W = n,
H = n,
transparent = true/false,
name = string,
selected_id = n,
listelements = { string [, string ... ] }
}
If unlocked ignores protection.
{
command = "lock"
}
{
command = "locked"
}
When the touchscreen form is accessed a message is sent with the
touchscreen's channel with the 'fields' parameter from the on_receive_fields
handler, with an additional field 'clicker' with the name of the player
that accessed the form.

12
docs/hopper.txt Normal file
View File

@@ -0,0 +1,12 @@
Hopper
------
* This block is only available if the hopper mod is loaded.
This version of a hopper will transfer items from a drop or inventory in
the node at the wide end of the hopper to the inventory in the node at the
narrow end of the hopper. The hopper has no inventory itself, and always
moves items one at a time, every second. These hoppers cannot be chained
to transfer items, but work in unloaded blocks. This hopper uses the
hopper mod's registered list of nodes, and should work with nodes with
hopper support. These hoppers can be rotated with a screwdriver, but
function as their typical placement when rotated.

View File

@@ -52,6 +52,9 @@ are disposed of.
Hoppers placed to the top or sides of an indexer will feed items into the Hoppers placed to the top or sides of an indexer will feed items into the
input. Hoppers placed below an indexer will take items from the output. input. Hoppers placed below an indexer will take items from the output.
Note, when a hopper from the hopper mod is used to place items into the
input, if the player that placed the hopper leaves the game the input will
not be pulled into storage.
Pipeworks tubes can push items into the input, and pull items from the Pipeworks tubes can push items into the input, and pull items from the
output. output.
@@ -92,10 +95,9 @@ or
pallet_index -- string if the item has a pallet index, otherwise nil pallet_index -- string if the item has a pallet index, otherwise nil
id -- string, unique id of the item in storage id -- string, unique id of the item in storage
} }
The description is derived in the following manner: from a custom The description is derived from the short description, if none
description in metadata; if none then the short description from then the description, and if none then the item's name, as
the item's definition; if none then the description from the item's <mod>:<name>.
definition; if none then the item's name, as <mod>:<name>.
Note: When sending output messages the simple item name, as <mod>:<name>, Note: When sending output messages the simple item name, as <mod>:<name>,
will work for most items, but not for custom items. With custom items, or will work for most items, but not for custom items. With custom items, or