Documentation for this module may be created at Module:Infobox/thing/en/doc
-- <languages />
--<pre>
local p = {}
-- Translation note: Translatable strings MUST be enclosed in [=[ this sort ]=] of delimiter (as opposed to "this sort" or 'this sort').
-- Units
local units = {
cf = [=[CF]=],
cfPerTick = [=[CF/t]=],
emc = [=[EMC]=],
emcPerSec = [=[EMC/second]=],
eu = [=[EU]=],
euAmps = [=[EU-Amps]=],
euPerTick = [=[EU/t]=],
euPerUse = [=[EU/use]=],
euVolts = [=[EU-Volts]=],
huPerTick = [=[hU/t]=],
k = [=[K]=],
kuPerTick = [=[kU/t]=],
litres = [=[L]=],
litresPerSec = [=[L/s]=],
litresPerTick = [=[L/t]=],
mb = [=[mB]=],
mj = [=[MJ]=],
mjPerTick = [=[MJ/t]=],
metersPerSec = [=[m/s]=],
nm = [=[Nm]=],
degc = [=[ºC]=],
degf = [=[ºF]=],
perTick = [=[per tick]=],
radPerSec = [=[rad/s]=],
rf = [=[RF]=],
rfPerTick = [=[RF/t]=],
t = [=[T]=],
tPerTick = [=[T/t]=],
stacksPerSec = [=[Stacks/s]=],
su = [=[SU]=],
suPerTick = [=[SU/t]=],
suPerUse = [=[SU/use]=],
watts = [=[W]=],
aePerUse = [=[AE/use]=]
}
-- This variable holds the list of item types.
local itemTypes = {
armor = [=[Armor]=],
block = [=[Solid Block]=],
sblock = [=[Solid Block]=],
oblock = [=[Solid Block]=],
tblock = [=[Transparent Block]=],
component = [=[Component]=],
crop = [=[Crop]=],
entity = [=[Entity]=],
tentity = [=[Tile Entity]=],
food = [=[Food]=],
item = [=[Item]=],
machine = [=[Machine]=],
mob = [=[Monster]=],
hmob = [=[Hostile Monster]=],
nmob = [=[Neutral Monster]=],
fmob = [=[Friendly Monster]=],
seed = [=[Seed]=],
tool = [=[Tool]=],
wand = [=[Wand]=],
weap = [=[Weapon]=],
weapon = [=[Weapon]=],
hull = [=[{{L|Steve's Carts}} {{L|Hull}}]=],
module = [=[{{L|Steve's Carts}} {{L|Module (Steve's Carts)|Module}}]=],
upgrade = [=[{{L|Steve's Carts}} {{L|Upgrades (Steve's Carts)|Upgrade}}]=],
landmark = [=[Landmark]=],
ritual = [=[Ritual]=],
liquid = [=[Fluid]=],
fluid = [=[Fluid]=],
["multiblock structure"] = [=[Multiblock Structure]=],
enchant = [=[Enchantment]=],
mechanic = [=[Mechanic]=],
dimension = [=[Dimension]=],
flower = [=[Flower]=],
command = [=[Command]=],
aspect = [=[Aspect]=],
bauble = [=[Bauble]=],
book = [=[Book]=],
cover = [=[Cover]=],
cable = [=[Cable]=],
pipe = [=[Pipe]=]
}
p.docLead = [=[This one is for items, blocks, and the like.]=]
p.format = {
{
name = [=[Basic]=],
title = {arg="name", desc=[=[The title that will be displayed at the top of the info box.]=]},
{
{ {arg={"blockimage","image"}, type="image", desc=[=[The big picture.]=] } },
{ {arg={"iconimage","imageicon"}, desc=[=[The icon image. Use {{Tl|Gc}} or {{Tl|O}}.]=]} }
},
{
{ [=[Mod]=], {arg="mod", desc=[=[The mod the item belongs to. Always refer to the main page of the mod. Please do ''not'' use version numbers like "Flaxbeard's Steam Power 0.28.0"; just use the regular name instead. '''(Will detect page language and link to respective languages)''']=]} },
{ [=[Type]=], {arg="type", type="switch", allowedValues=itemTypes, desc=[=[The item type.]=]} },
{ [=[Tooltip text]=], {arg="lore", desc=[=[Additional information that is displayed on the tooltip of the item in game. If the in-game tooltip has custom colors, they should be added to this parameter using the {{Tl|Color}} template. Colors that are typically used can be found on the [[mcw:Formatting codes#Color codes|Minecraft Wiki]].]=] }},
{ [=[Required Modules]=], {arg="module", desc=[=[The module or modules that are required to be installed/enabled for the item to be present in the mod. Some examples of mods that add modules include {{L|RedPower 2}}, {{L|Project Red}}, and {{L|Railcraft}}.]=]}},
{ [=[Chemical Composition]=], {arg="chemcomp", desc=[=[Chemical composition of the item.]=]} }
}
},
{
name="Basic",
title=[=[Properties]=],
{
{[=[Blast Resistance]=], {arg="blastresistance", desc=[=[The blast resistance of the block. Include '''only''' the number.]=]} },
{[=[Hardness]=], {arg="hardness", desc=[=[The hardness of a block.]=] }}
},
{
{[=[Restores]=], {arg="foodpoints", desc=[=[The food points a food regenerates. Add this ''only'' to food.]=]}},
{[=[Saturation]=], {arg="saturation", desc=[=[The saturation the food regenerates. Add this ''only'' to food.]=]}},
{{arg="hunger", desc=[=[The foodpoints and the saturation the food restores. Be sure to use {{Tl|Shanks}}. Add this ''only'' to food.]=], prefix=[=['''Restored Hunger'''<br style="margin-bottom: 8px;" />]=]}},
{[=[Effects]=], {arg="effects", desc=[=[List of effects the food/potion buffs you with. Use {{Tl|Effect}}.]=]}},
{[=[Cookable]=], {arg="cookable", desc=[=[Whether the item is cookable (food).]=]}},
{[=[Health Points]=], {arg="hp", desc=[=[The amount of health points (hp) that the entity has.]=]}},
{[=[Armor Points]=], {arg="ap", desc=[=[The amount of armor points (ap) that the entity has.]=]}}
},
{
{[=[Armor Rating]=],{arg="armorrating",desc=[=[The armor rating of the armor. Add this ''only'' to armor.]=]}},
{[=[Armor Toughness]=], {arg="toughness", desc=[=[The toughness rating of the armor. Add this ''only'' to armor.]=]}},
{[=[Damage]=],{arg="damage",desc=[=[The weapon's damage (one heart is two damage, half a heart is one damage). Add this ''only'' to weapons]=]}},
{[=[Speed]=],{arg="aspeed",desc=[=[The weapon's attack speed (added in Minecraft 1.9). Add this ''only'' to weapons]=]}},
{[=[Durability]=],{arg="durability",desc=[=[The durability of the tool or armor. Add this ''only'' to tools and armor. ]=]}},
{[=[Mining level]=],{arg="mininglevel",desc=[=[The pick's mining level (wood, stone, iron etc...).]=]}},
{[=[Mining speed]=],{arg="miningspeed",desc=[=[The pick's mining speed.]=]}}
},
{
{[=[Stackable]=],{arg="stackable", desc = [=[Whether the block/item is stackable.]=]}},
{[=[Flammable]=],{arg="flammable", desc = [=[Whether the block/item is flammable (can be set on fire and burned).]=]}}
},
{
{[=[Storage]=],{arg={"storageslots","storage"}, desc = [=[The storage of the item - This parameter does NOT add "cells" or "stacks" after the parameter's text.]=]}},
{[=[Liquid Storage]=],{arg="lstorage", units=units.mb, desc = [=[The maximum liquid storage of the item in mB. Include only the number.]=]}}
},
{
{[=[Heat (C)]=],{arg="heatc", units=units.degc, desc = [=[The maximum heat capacity of the item in C (Celsius). Include only the number.]=]}},
{[=[Heat (F)]=],{arg="heatf", units=units.degf, desc = [=[The maximum heat capacity of the item in F (Fahrenheit). Include only the number.]=]}}
}
},
{
name="DecoCraft Costs",
title = [=[DecoCraft Costs]=],
{
{[=[Clay]=], {arg="decoclay", desc=[=[The cost of normal clay requiried to create the item. For use with DecoCraft.]=]}},
{[=[Red]=], {arg="decored", desc=[=[The cost of red color required to create the item. For use with DecoCraft.]=]}},
{[=[Blue]=], {arg="decoblue", desc=[=[The cost of blue color required to create the item. For use with DecoCraft.]=]}},
{[=[Green]=], {arg="decogreen", desc=[=[The cost of green color required to create the item. For use with DecoCraft.]=]}}
}
},
{
name="Upgrades",
title = [=[Upgrades]=],
{
{{arg="upgrades", desc = [=[Upgrades that can be applied or installed to the machine.]=]}}
},
{
{[=[Previous Tier]=],{arg="prevtier", desc = [=[Previous tier of the item, tool or machine.]=]}}
},
{
{[=[Next Tier]=],{arg="nexttier", desc = [=[Next tier of the item, tool or machine.]=]}}
}
},
{
name="Energy",
title = [=[Energy]=],
{
{[=[Max EU input]=], {arg="euinput", units=units.euPerTick, desc = [=[Maximum input of EU/t. Include only the number.]=]}},
{[=[EU use]=], {arg="euuse", units=units.euPerTick, desc = [=[EU consumption in EU/t. Include only the number.]=]}},
{[=[EU use]=], {arg="euusetool", units="EU/use", desc = [=[EU consumption in EU per use (only used on tools that use EU per use). Include only the number.]=]}},
{[=[EU storage]=], {arg="eustorage", units=units.eu, desc = [=[EU storage in EU. Include only the number.]=]}},
{[=[Max EU output]=], {arg="euoutput", units=units.euPerTick, desc = [=[Maximum output of EU/t. Include only the number.]=]}},
{[=[EU production]=], {arg="euproduction", units=units.euPerTick, desc = [=[EU production in EU/t. Include only the number.]=]}},
{[=[EU traversing]=], {arg="eutraversing", units=units.euPerTick, desc = [=[Maximum energy traversing - only for cables. Include only the number.]=]}}
},
{
{[=[Heat input]=], {arg="huinput", units=units.huPerTick, desc = [=[Maximum {{L|Industrialcraft_2}} heat input per tick.]=]}},
{[=[Heat use]=], {arg="huuse", units=units.huPerTick, desc = [=[hU consumption per tick.]=]}},
{[=[Max heat output]=], {arg="huoutput", units=units.huPerTick, desc = [=[Maximum output of hU/t.]=]}},
{[=[Heat production]=], {arg="huproduction", units=units.huPerTick, desc = [=[Heat production in hU/t.]=]}},
{[=[Heat traversing]=], {arg="hutraversing", units=units.huPerTick, desc = [=[Maximum heat energy traversing the cable.]=]}}
},
{
{[=[Kinetic input]=], {arg="kuinput", units=units.kuPerTick, desc = [=[Maximum {{L|Industrialcraft_2}} rotation energy per tick.]=]}},
{[=[Kinetic energy use]=], {arg="kuuse", units=units.kuPerTick, desc = [=[Kinetic energy consumption per tick.]=]}},
{[=[Max kinetic output]=], {arg="kuoutput", units=units.kuPerTick, desc = [=[Maximum output of kU/t]=]}},
{[=[Kinetic energy production]=], {arg="kuproduction", units=units, desc = [=[Kinetic energy production in kU/t.]=]}},
{[=[Kinetic energy traversing]=], {arg="kutraversing", units=units.kuPerTick, desc = [=[Maximum kinetic energy traversing the cable.]=]}}
},
{
{[=[Steam storage]=], {arg="gtsteamstorage", units=units.litres, desc = [=[Maximum liters of steam that it can hold - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Steam usage]=], {arg="gtsteamusage", desc = [=[Liters of steam that is used by it per tick - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Steam production]=], {arg="gtsteamproduction", units=units.litresPerTick, desc = [=[How many liters of steam it makes per tick - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Energy storage]=], {arg="gteustorage", units=units.eu, desc = [=[How much EU it can hold - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Energy usage]=], {arg="gteuusage", units=units.euPerTick, desc = [=[How much EU is used by it per tick - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Energy production]=], {arg="gteuproduction", units=units.euPerTick, desc = [=[How much EU is produced by it per tick - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Voltage in]=], {arg="gtvoltagein", units=units.euVolts, desc = [=[Maximum EU voltage that can be put into it - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Voltage out]=], {arg="gtvoltageout", units=units.euVolts, desc = [=[Maximum EU voltage that can be output - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Max amperage]=], {arg="gtamperage", units=units.euAmps, desc = [=[Maximum EU amperage - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Loss/meter/amp]=], {arg="gtloss", units=units.euVolts, desc = [=[Loss/meter/amperage - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Heat limit]=], {arg="gtheatlimit", units=units.k, desc = [=[Maximum heat that it can take in Kelvin - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Fluid capacity]=], {arg="gtfluidcapacity", units=units.litresPerSec, desc = [=[Maximum liters that it can hold - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Item capacity]=], {arg="gtitemcapacity", units=units.stacksPerSec, desc = [=[Maximum stacks of items it can hold - for {{L|GregTech}} and its addons. Include only the number.]=]}},
{[=[Routing value]=], {arg="gtrouting", desc = [=[Routing value - for {{L|GregTech}} and its addons.]=]}},
{[=[Fuel efficiency]=], {arg="gtefficiency", desc = [=[Fuel efficiency - for {{L|GregTech}} and its addons.]=]}}
},
{
{[=[Charge storage]=], {arg="rccharge", desc = [=[{{L|Railcraft}} energy storage. Include only the number.]=]}},
{[=[Energy loss]=], {arg="rcloss", units=units.perTick, desc = [=[How much energy is lost per tick - for {{L|Railcraft}} and its addons. Include only the number.]=]}}
},
{
{[=[Required Power]=], {arg="rocpower", units=units.watts, desc = [=[Required amount of power - for {{L|RotaryCraft}} and its addons. Include only the number.]=]}},
{[=[Required Torque]=], {arg="roctorque", units=units.nm, desc = [=[Required torque - for {{L|RotaryCraft}} and its addons. Include only the number.]=]}},
{[=[Required Speed]=], {arg="rocspeed", units=units.radPerSec, desc = [=[Required speed - for {{L|RotaryCraft}} and its addons. Include only the number.]=]}}
},
{
{[=[Max MJ input]=], {arg="mjinput", units=units.mjPerTick, desc = [=[Maximum input of MJ/t. Include only the number.]=]}},
{[=[MJ use]=], {arg="mjuse", units=units.mjPerTick, desc = [=[MJ consumption in MJ/t. Include only the number.]=]}},
{[=[MJ storage]=], {arg="mjstorage", units=units.mj, desc = [=[MJ storage in MJ. Include only the number.]=]}},
{[=[Max MJ output]=], {arg="mjoutput", units=units.mjPerTick, desc = [=[Maximum output of MJ/t. Include only the number.]=]}},
{[=[MJ production]=], {arg="mjproduction", units=units.mjPerTick, desc = [=[MJ production in MJ/t. Include only the number.]=]}},
{[=[MJ traversing]=], {arg="mjtraversing", units=units.mjPerTick, desc = [=[Maximum energy traversing - only for pipes. Include only the number.]=]}}
},
{
{[=[Max CF input]=], {arg="cfinput", units=units.cfPerTick, desc = [=[Maximum input of CF/t. Include only the number.]=]}},
{[=[CF use]=], {arg="cfuse", units=units.cfPerTick, desc = [=[CF consumption in CF/t. Include only the number.]=]}},
{[=[CF storage]=], {arg="cfstorage", units=units.cf, desc = [=[CF storage in CF. Include only the number.]=]}},
{[=[Max CF output]=], {arg="cfoutput", units=units.cfPerTick, desc = [=[Maximum output of CF/t. Include only the number.]=]}},
{[=[CF production]=], {arg="cfproduction", units=units.cfPerTick, desc = [=[CF production in RF/t. Include only the number.]=]}},
{[=[CF traversing]=], {arg="cftraversing", units=units.cfPerTick, desc = [=[Maximum energy traversing in CF/t - only for conduits. Include only the number.]=]}}
},
{
{[=[Max RF input]=], {arg="rfinput", units=units.rfPerTick, desc = [=[Maximum input of RF/t. Include only the number.]=]}},
{[=[RF use]=], {arg="rfuse", units=units.rfPerTick, desc = [=[RF consumption in RF/t. Include only the number.]=]}},
{[=[RF storage]=], {arg="rfstorage", units=units.rf, desc = [=[RF storage in RF. Include only the number.]=]}},
{[=[Max RF output]=], {arg="rfoutput", units=units.rfPerTick, desc = [=[Maximum output of RF/t. Include only the number.]=]}},
{[=[RF production]=], {arg="rfproduction", units=units.rfPerTick, desc = [=[RF production in RF/t. Include only the number.]=]}},
{[=[RF traversing]=], {arg="rftraversing", units=units.rfPerTick, desc = [=[Maximum energy traversing in RF/t - only for conduits. Include only the number.]=]}}
},
{
{[=[Max Tesla input]=], {arg="tinput", units=units.tPerTick, desc = [=[Maximum input of T/t. Include only the number.]=]}},
{[=[Tesla use]=], {arg="tuse", units=units.tPerTick, desc = [=[Tesla consumption in T/t. Include only the number.]=]}},
{[=[Tesla storage]=], {arg="tstorage", units=units.t, desc = [=[Tesla storage. Include only the number.]=]}},
{[=[Max Tesla output]=], {arg="toutput", units=units.tPerTick, desc = [=[Maximum output of T/t. Include only the number.]=]}},
{[=[Tesla production]=], {arg="tproduction", units=units.tPerTick, desc = [=[Tesla production in T/t. Include only the number.]=]}},
{[=[Tesla traversing]=], {arg="ttraversing", units=units.tPerTick, desc = [=[Maximum energy traversing in T/t - only for conduits/wires/whatnot. Include only the number.]=]}}
},
{
{[=[Steam usage default]=], {arg="fspsuuse", units=units.suPerUse, desc = [=[Steam unit consumption in SU/use. Include only the number.]=]}},
{[=[Steam usage default]=], {arg="fspsutick", units=units.suPerTick, desc = [=[Steam unit consumption in SU/tick. Include only the number.]=]}},
{[=[Steam storage default]=], {arg="fspsteamstorage", units=units.su, desc = [=[Steam storage in SU. Include only the number.]=]}}
},
{
{[=[EMC value]=], {arg="emc", units=units.emc, desc = [=[EMC value of the item. Include only the number.]=]}},
{[=[EMC storage]=], {arg="emcstorage", units=units.emc, desc = [=[How much EMC the item can hold. This is mostly relevant for Equivalent Exchange Klein Stars. Include only the number.]=]}},
{[=[EMC creation]=], {arg="emcproduction", units=units.emcPerSec, desc = [=[How much EMC the item or block will create per second. Include only the number.]=]}}
},
{
{[=[Arcane Energy Cost]=], {arg="aeuse", units=units.aePerUse, desc=[=[Arcane Energy cost per use. Include only the number.]=]}},
}
},
{
name="Technical",
title = [=[Technical Details]=],
{
{[=[Default data value]=], {arg="datavalue", desc = [=[Block ID. ''Do not use''.]=]}},
{[=[Ore dictionary name]=], {arg="oredictname", desc = [=[The oredictionary name for this item.]=]}}
},
{
{[=[First appearance]=], {arg="firstappearance", desc = [=[The version string that the item first appeared in.]=]}},
{[=[Last appearance]=], {arg="lastappearance", desc = [=[The version string that the item last appeared in.]=]}}
},
{
{[=[Experience]=], {arg="exp", desc = [=[Exp you gain from mining or smelting it.]=]}},
{[=[Flow speed]=], {arg="flowspeed", units=units.metersPerSec, desc = [=[The flow speed of liquids in m/s.]=]}}
},
{
{[=[Player speed]=], {arg="speed", desc = [=[The walk speed of the player character when on or in it.]=]}}
}
}
}
-- This next bit adds the PWhatever lines.
-- 4 is the Energy Use section.
local energyUseSection = p.format[4]
local pwhateverfields = {"input", "use", "storage", "output", "production"}
local usageCat = "[[Category:Pages_that_use_PWhatever_in_Infobox_thing]]"
for i=1,5 do
local subsection = {}
for j,name in ipairs(pwhateverfields) do
subsection[#subsection+1] = { { arg=i..name.."title", units=usageCat }, {arg=i..name, units=usageCat} }
end
energyUseSection[#energyUseSection + 1] = subsection
end
energyUseSection[#energyUseSection + 1] = {
docOnly = true,
desc = [=[You can also add more input/use/output/storage sections with Ptype and Ptypetitle, where P can be a number between 1 and 5.]=],
{{arg="Pinputtitle", desc = [=[Title for the input field]=]}},
{{arg="Pinput", desc = [=[Input]=]}},
{{arg="Pusetitle", desc = [=[Title for the energy use field]=]}},
{{arg="Puse", desc = [=[Energy use]=]}},
{{arg="Pstoragetitle", desc = [=[Title for the energy storage field]=]}},
{{arg="Pstorage", desc = [=[Energy storage]=]}},
{{arg="Poutputtitle", desc = [=[Title for the output field]=]}},
{{arg="Poutput", desc = [=[Output]=]}},
{{arg="Pproductiontitle", desc = [=[Title for the energy production field]=]}},
{{arg="Pproduction", desc = [=[Energy Production]=]}}
}
p.examples = {
{ [=[{{Infobox
|name=Sand
|image=Block_Sand.png
|imageicon={{Gc|mod=V|dis=false|Oak Wood Planks}}{{Gc|mod=OB|dis=false|Elevator}}{{O|blockCopper}}
|mod=Industrial Craft
|type=block
|lore=A block of sand.
|blastresistance=2.5
|hardness=0.5
|hunger={{Shanks|2|0.5}}
|effects={{Effect|Hunger|200|0|75}}
|cookable=Yes
|armorrating=5.5
|damage=9.5
|durability=350
|mininglevel=1
|flammable=No
|storage=1000
|lstorage=1000
|heatf=32
|heatc=0
|upgrades={{Gc|mod=V|dis=false|Sandstone}}
|prevtier={{Gc|mod=V|dis=false|Cobblestone}}
|nexttier={{Gc|mod=V|dis=false|Chiseled Sandstone}}
|euinput=32
|euuse=32
|euusetool=50
|euoutput=8
|eustorage=40,000
|euproduction=128
|eutraversing=16
|mjinput=32
|mjuse=32
|mjoutput=8
|mjstorage=60,000
|mjproduction=1~6
|mjtraversing=48
|rfinput=32
|rfuse=32
|rfoutput=8
|rfstorage=60,000
|rfproduction=16
|rftraversing=48
|fspsuuse=6
|fspsutick=50000000
|fspsteamstorage=14
|datavalue=0 Sand
|oredictname=sand
|firstappearance=Classic 0.0.14a
|lastappearance=x.y.z
|exp=Smelted: 0.1
|flowspeed=2
|speed=3
}}]=]}
}
return p
--</pre>