mirror of
https://github.com/minetest-mods/technic.git
synced 2025-07-08 11:11:28 +02:00
Compare commits
2 Commits
88f2bc388f
...
d69064c14e
Author | SHA1 | Date | |
---|---|---|---|
d69064c14e | |||
12b65e857b |
20
.github/ISSUE_TEMPLATE/bug_report.md
vendored
20
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Report a problem within technic
|
|
||||||
title: ''
|
|
||||||
labels: Bug
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Technic has no main developer and largely depends on
|
|
||||||
user-provided Pull Requests. It will take a while until
|
|
||||||
even important issues are noticed.
|
|
||||||
Please consider proposing a PR directly.
|
|
||||||
_______________________________________________
|
|
||||||
|
|
||||||
|
|
||||||
**Bug description**
|
|
||||||
|
|
||||||
|
|
||||||
**Steps to reproduce this issue**
|
|
11
.github/workflows/check-release.yml
vendored
11
.github/workflows/check-release.yml
vendored
@ -1,11 +0,0 @@
|
|||||||
on: [push, pull_request]
|
|
||||||
name: Check & Release
|
|
||||||
jobs:
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
- name: lint
|
|
||||||
uses: Roang-zero1/factorio-mod-luacheck@master
|
|
||||||
with:
|
|
||||||
luacheckrc_url: https://raw.githubusercontent.com/minetest-mods/technic/master/.luacheckrc
|
|
48
.luacheckrc
48
.luacheckrc
@ -1,48 +0,0 @@
|
|||||||
unused_args = false
|
|
||||||
allow_defined_top = true
|
|
||||||
max_line_length = 999
|
|
||||||
|
|
||||||
globals = {
|
|
||||||
"technic", "minetest",
|
|
||||||
"srcstack",
|
|
||||||
}
|
|
||||||
|
|
||||||
read_globals = {
|
|
||||||
string = {fields = {"split", "trim"}},
|
|
||||||
table = {fields = {"copy", "getn"}},
|
|
||||||
|
|
||||||
"intllib", "VoxelArea",
|
|
||||||
"default", "stairsplus",
|
|
||||||
|
|
||||||
"PseudoRandom", "ItemStack",
|
|
||||||
"mg", "tubelib", "vector",
|
|
||||||
|
|
||||||
"moretrees", "bucket",
|
|
||||||
"unified_inventory", "digilines",
|
|
||||||
|
|
||||||
"pipeworks", "screwdriver",
|
|
||||||
"VoxelManip", "unifieddyes",
|
|
||||||
|
|
||||||
"Settings", "mesecon",
|
|
||||||
"digiline_remote",
|
|
||||||
|
|
||||||
"protector", "isprotect",
|
|
||||||
"homedecor_expect_infinite_stacks",
|
|
||||||
}
|
|
||||||
|
|
||||||
files["concrete/init.lua"].ignore = { "steel_ingot" }
|
|
||||||
files["technic/machines/MV/tool_workshop.lua"].ignore = { "pos" }
|
|
||||||
files["technic/machines/other/frames.lua"].ignore = { "item_texture", "item_type", "adj", "connected", "" }
|
|
||||||
files["technic/machines/register/battery_box.lua"].ignore = { "pos", "tube_upgrade" }
|
|
||||||
files["technic/machines/register/cables.lua"].ignore = { "name", "from_below", "p" }
|
|
||||||
files["technic/machines/register/common.lua"].ignore = { "result" }
|
|
||||||
|
|
||||||
files["technic/machines/register/generator.lua"].ignore = { "node" }
|
|
||||||
files["technic/machines/switching_station.lua"].ignore = { "pos1", "tier", "poshash" }
|
|
||||||
files["technic/radiation.lua"].ignore = { "LAVA_VISC" }
|
|
||||||
files["technic/tools/chainsaw.lua"].ignore = { "pos" }
|
|
||||||
files["technic/tools/mining_drill.lua"].ignore = { "mode" }
|
|
||||||
files["technic_chests/register.lua"].ignore = { "fs_helpers", "name", "locked_after_place" }
|
|
||||||
|
|
||||||
files["technic_cnc/cnc.lua"].ignore = { "multiplier" }
|
|
||||||
files["wrench/init.lua"].ignore = { "name", "stack" }
|
|
@ -1,9 +1,6 @@
|
|||||||
Technic
|
Technic
|
||||||
=======
|
=======
|
||||||
|
|
||||||
[](https://github.com/minetest-mods/technic/actions)
|
|
||||||
[](https://www.gnu.org/licenses/old-licenses/lgpl-2.0.en.html)
|
|
||||||
|
|
||||||
Credits for contributing to the project (in alphabetical order):
|
Credits for contributing to the project (in alphabetical order):
|
||||||
* kpoppel
|
* kpoppel
|
||||||
* Nekogloop
|
* Nekogloop
|
||||||
|
@ -83,7 +83,7 @@ function technic.get_or_load_node(pos)
|
|||||||
local node = minetest.get_node_or_nil(pos)
|
local node = minetest.get_node_or_nil(pos)
|
||||||
if node then return node end
|
if node then return node end
|
||||||
local vm = VoxelManip()
|
local vm = VoxelManip()
|
||||||
local _, _ = vm:read_from_map(pos, pos)
|
local MinEdge, MaxEdge = vm:read_from_map(pos, pos)
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ local run = function(pos, node)
|
|||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local eu_input = meta:get_int("LV_EU_input")
|
local eu_input = meta:get_int("LV_EU_input")
|
||||||
local machine_name = S("%s Music Player"):format("LV")
|
local machine_name = S("%s Music Player"):format("LV")
|
||||||
|
local machine_node = "technic:music_player"
|
||||||
local demand = 150
|
local demand = 150
|
||||||
|
|
||||||
local current_track = meta:get_int("current_track")
|
local current_track = meta:get_int("current_track")
|
||||||
|
@ -29,8 +29,8 @@ end
|
|||||||
local run = function(pos, node)
|
local run = function(pos, node)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local water_flow = 0
|
local water_flow = 0
|
||||||
local production_level
|
local production_level = 0
|
||||||
local eu_supply
|
local eu_supply = 0
|
||||||
local max_output = 4 * 45 -- keeping it around 180, little more than previous 150 :)
|
local max_output = 4 * 45 -- keeping it around 180, little more than previous 150 :)
|
||||||
|
|
||||||
local positions = {
|
local positions = {
|
||||||
|
@ -30,8 +30,8 @@ end
|
|||||||
local run = function(pos, node)
|
local run = function(pos, node)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local water_flow = 0
|
local water_flow = 0
|
||||||
local production_level
|
local production_level = 0
|
||||||
local eu_supply
|
local eu_supply = 0
|
||||||
local max_output = 40 * 45 -- Generates 1800EU/s
|
local max_output = 40 * 45 -- Generates 1800EU/s
|
||||||
|
|
||||||
local positions = {
|
local positions = {
|
||||||
|
@ -45,6 +45,7 @@ function technic_homedecor_node_is_owned(pos, placer)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local dirs1 = {20, 23, 22, 21}
|
||||||
local dirs2 = {9, 18, 7, 12}
|
local dirs2 = {9, 18, 7, 12}
|
||||||
|
|
||||||
local technic_homedecor_rotate_and_place = function(itemstack, placer, pointed_thing)
|
local technic_homedecor_rotate_and_place = function(itemstack, placer, pointed_thing)
|
||||||
@ -57,6 +58,7 @@ local technic_homedecor_rotate_and_place = function(itemstack, placer, pointed_t
|
|||||||
local under = pointed_thing.under
|
local under = pointed_thing.under
|
||||||
local pitch = placer:get_look_pitch()
|
local pitch = placer:get_look_pitch()
|
||||||
local pname = minetest.get_node(under).name
|
local pname = minetest.get_node(under).name
|
||||||
|
local node = minetest.get_node(above)
|
||||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||||
local wield_name = itemstack:get_name()
|
local wield_name = itemstack:get_name()
|
||||||
|
|
||||||
@ -157,7 +159,7 @@ minetest.register_node('technic:homedecor_glowlight_half_yellow_active', {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
light_source = minetest.LIGHT_MAX,
|
light_source = LIGHT_MAX,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1},
|
groups = { snappy = 3, not_in_creative_inventory=1},
|
||||||
@ -238,7 +240,7 @@ minetest.register_node('technic:homedecor_glowlight_quarter_yellow_active', {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
light_source = minetest.LIGHT_MAX-1,
|
light_source = LIGHT_MAX-1,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1},
|
groups = { snappy = 3, not_in_creative_inventory=1},
|
||||||
@ -320,7 +322,7 @@ minetest.register_node('technic:homedecor_glowlight_half_white_active', {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
light_source = minetest.LIGHT_MAX,
|
light_source = LIGHT_MAX,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1},
|
groups = { snappy = 3, not_in_creative_inventory=1},
|
||||||
@ -401,7 +403,7 @@ minetest.register_node('technic:homedecor_glowlight_quarter_white_active', {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
light_source = minetest.LIGHT_MAX-1,
|
light_source = LIGHT_MAX-1,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1},
|
groups = { snappy = 3, not_in_creative_inventory=1},
|
||||||
@ -482,7 +484,7 @@ minetest.register_node('technic:homedecor_glowlight_small_cube_yellow_active', {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
light_source = minetest.LIGHT_MAX-1,
|
light_source = LIGHT_MAX-1,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1},
|
groups = { snappy = 3, not_in_creative_inventory=1},
|
||||||
@ -563,7 +565,7 @@ minetest.register_node('technic:homedecor_glowlight_small_cube_white_active', {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
light_source = minetest.LIGHT_MAX-1,
|
light_source = LIGHT_MAX-1,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1},
|
groups = { snappy = 3, not_in_creative_inventory=1},
|
||||||
|
@ -177,6 +177,8 @@ minetest.register_abm({
|
|||||||
-- The supply radius
|
-- The supply radius
|
||||||
local rad = power_radius
|
local rad = power_radius
|
||||||
|
|
||||||
|
local meta1 = nil
|
||||||
|
local pos1 = {}
|
||||||
local used_charge = 0
|
local used_charge = 0
|
||||||
|
|
||||||
-- Index all nodes within supply range
|
-- Index all nodes within supply range
|
||||||
|
@ -39,6 +39,7 @@ local run = function(pos, node)
|
|||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
local eu_input = meta:get_int("MV_EU_input")
|
local eu_input = meta:get_int("MV_EU_input")
|
||||||
local machine_name = S("%s Tool Workshop"):format("MV")
|
local machine_name = S("%s Tool Workshop"):format("MV")
|
||||||
|
local machine_node = "technic:tool_workshop"
|
||||||
|
|
||||||
-- Setup meta data if it does not exist.
|
-- Setup meta data if it does not exist.
|
||||||
if not eu_input then
|
if not eu_input then
|
||||||
|
@ -84,6 +84,8 @@ minetest.register_abm({
|
|||||||
inv:set_size("src2", 0)
|
inv:set_size("src2", 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local recipe = nil
|
||||||
|
|
||||||
for i, name in pairs({
|
for i, name in pairs({
|
||||||
"fuel_totaltime",
|
"fuel_totaltime",
|
||||||
"fuel_time",
|
"fuel_time",
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
local S = technic.getter
|
local S = technic.getter
|
||||||
|
|
||||||
|
frames = {}
|
||||||
|
|
||||||
local infinite_stacks = minetest.settings:get_bool("creative_mode")
|
local infinite_stacks = minetest.settings:get_bool("creative_mode")
|
||||||
and minetest.get_modpath("unified_inventory") == nil
|
and minetest.get_modpath("unified_inventory") == nil
|
||||||
|
|
||||||
@ -98,7 +100,7 @@ end
|
|||||||
local function add_table(table, toadd)
|
local function add_table(table, toadd)
|
||||||
local i = 1
|
local i = 1
|
||||||
while true do
|
while true do
|
||||||
local o = table[i]
|
o = table[i]
|
||||||
if o == toadd then return end
|
if o == toadd then return end
|
||||||
if o == nil then break end
|
if o == nil then break end
|
||||||
i = i + 1
|
i = i + 1
|
||||||
@ -259,8 +261,8 @@ for zp = 0, 1 do
|
|||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
|
|
||||||
frame_connect_all = function(nodename)
|
frame_connect_all = function(nodename)
|
||||||
local l2 = {}
|
l2 = {}
|
||||||
local l1 = {
|
l1 = {
|
||||||
{ x = -1, y = 0, z = 0 }, { x = 1, y = 0, z = 0 },
|
{ x = -1, y = 0, z = 0 }, { x = 1, y = 0, z = 0 },
|
||||||
{ x = 0, y = -1, z = 0 }, { x = 0, y = 1, z = 0 },
|
{ x = 0, y = -1, z = 0 }, { x = 0, y = 1, z = 0 },
|
||||||
{ x = 0, y = 0, z = -1 }, { x = 0, y = 0, z = 1 }
|
{ x = 0, y = 0, z = -1 }, { x = 0, y = 0, z = 1 }
|
||||||
@ -309,7 +311,7 @@ for zp = 0, 1 do
|
|||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
if node.name ~= "air" then
|
if node.name ~= "air" then
|
||||||
if is_supported_node(node.name) then
|
if is_supported_node(node.name) then
|
||||||
local obj = minetest.add_entity(pos, "technic:frame_entity")
|
obj = minetest.add_entity(pos, "technic:frame_entity")
|
||||||
obj:get_luaentity():set_node({ name = itemstack:get_name() })
|
obj:get_luaentity():set_node({ name = itemstack:get_name() })
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -347,8 +349,8 @@ for zp = 0, 1 do
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Run script hook
|
-- Run script hook
|
||||||
local callback = nil
|
local _, callback
|
||||||
for _, _ in ipairs(minetest.registered_on_placenodes) do
|
for _, callback in ipairs(minetest.registered_on_placenodes) do
|
||||||
-- Copy pos and node because callback can modify them
|
-- Copy pos and node because callback can modify them
|
||||||
local pos_copy = { x = pos.x, y = pos.y, z = pos.z }
|
local pos_copy = { x = pos.x, y = pos.y, z = pos.z }
|
||||||
local newnode_copy = { name = def.name, param1 = 0, param2 = 0 }
|
local newnode_copy = { name = def.name, param1 = 0, param2 = 0 }
|
||||||
@ -362,7 +364,7 @@ for zp = 0, 1 do
|
|||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
end
|
end
|
||||||
|
|
||||||
local obj = minetest.add_entity(pos, "technic:frame_entity")
|
obj = minetest.add_entity(pos, "technic:frame_entity")
|
||||||
obj:get_luaentity():set_node({ name = node.name })
|
obj:get_luaentity():set_node({ name = node.name })
|
||||||
|
|
||||||
return itemstack
|
return itemstack
|
||||||
@ -412,7 +414,7 @@ minetest.register_entity("technic:frame_entity", {
|
|||||||
item_texture = minetest.registered_items[itemname].inventory_image
|
item_texture = minetest.registered_items[itemname].inventory_image
|
||||||
item_type = minetest.registered_items[itemname].type
|
item_type = minetest.registered_items[itemname].type
|
||||||
end
|
end
|
||||||
local prop = {
|
prop = {
|
||||||
is_visible = true,
|
is_visible = true,
|
||||||
textures = { node.name },
|
textures = { node.name },
|
||||||
}
|
}
|
||||||
@ -587,7 +589,7 @@ local function connected(pos, c, adj)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function get_connected_nodes(pos)
|
local function get_connected_nodes(pos)
|
||||||
local c = { pos }
|
c = { pos }
|
||||||
local nodename = minetest.get_node(pos).name
|
local nodename = minetest.get_node(pos).name
|
||||||
if frames_pos[pos_to_string(pos)] then
|
if frames_pos[pos_to_string(pos)] then
|
||||||
nodename = frames_pos[pos_to_string(pos)]
|
nodename = frames_pos[pos_to_string(pos)]
|
||||||
@ -693,7 +695,7 @@ local function swap_template(pos, new)
|
|||||||
local saved_node = meta:get_string("saved_node")
|
local saved_node = meta:get_string("saved_node")
|
||||||
meta:set_string("saved_node", "")
|
meta:set_string("saved_node", "")
|
||||||
technic.swap_node(pos, new)
|
technic.swap_node(pos, new)
|
||||||
meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("saved_node", saved_node)
|
meta:set_string("saved_node", saved_node)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -855,7 +857,7 @@ minetest.register_node("technic:template_disabled", {
|
|||||||
on_destruct = template_on_destruct,
|
on_destruct = template_on_destruct,
|
||||||
after_dig_node = template_drops,
|
after_dig_node = template_drops,
|
||||||
on_punch = function(pos, node, puncher)
|
on_punch = function(pos, node, puncher)
|
||||||
local _ = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
swap_template(pos, "technic:template_connector")
|
swap_template(pos, "technic:template_connector")
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -16,7 +16,7 @@ local function inject_items (pos)
|
|||||||
if stack then
|
if stack then
|
||||||
local item0=stack:to_table()
|
local item0=stack:to_table()
|
||||||
if item0 then
|
if item0 then
|
||||||
item0["count"] = 1
|
item0["count"] = "1"
|
||||||
technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0)
|
technic.tube_inject_item(pos, pos, vector.new(0, -1, 0), item0)
|
||||||
stack:take_item(1)
|
stack:take_item(1)
|
||||||
inv:set_stack("main", i, stack)
|
inv:set_stack("main", i, stack)
|
||||||
|
@ -12,14 +12,14 @@ function technic.register_alloy_recipe(data)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local recipes = {
|
local recipes = {
|
||||||
{"technic:copper_dust 7", "technic:tin_dust", "technic:bronze_dust 8", 12},
|
{"technic:copper_dust 3", "technic:tin_dust", "technic:bronze_dust 4"},
|
||||||
{"default:copper_ingot 7", "default:tin_ingot", "default:bronze_ingot 8", 12},
|
{"default:copper_ingot 3", "default:tin_ingot", "default:bronze_ingot 4"},
|
||||||
{"technic:wrought_iron_dust 2", "technic:coal_dust", "technic:carbon_steel_dust 2", 6},
|
{"technic:wrought_iron_dust", "technic:coal_dust", "technic:carbon_steel_dust", 3},
|
||||||
{"technic:wrought_iron_ingot 2", "technic:coal_dust", "technic:carbon_steel_ingot 2", 6},
|
{"technic:wrought_iron_ingot", "technic:coal_dust", "technic:carbon_steel_ingot", 3},
|
||||||
{"technic:carbon_steel_dust 2", "technic:coal_dust", "technic:cast_iron_dust 2", 6},
|
{"technic:carbon_steel_dust", "technic:coal_dust", "technic:cast_iron_dust", 3},
|
||||||
{"technic:carbon_steel_ingot 2", "technic:coal_dust", "technic:cast_iron_ingot 2", 6},
|
{"technic:carbon_steel_ingot", "technic:coal_dust", "technic:cast_iron_ingot", 3},
|
||||||
{"technic:carbon_steel_dust 4", "technic:chromium_dust", "technic:stainless_steel_dust 5", 7.5},
|
{"technic:carbon_steel_dust 3", "technic:chromium_dust", "technic:stainless_steel_dust 4"},
|
||||||
{"technic:carbon_steel_ingot 4", "technic:chromium_ingot", "technic:stainless_steel_ingot 5", 7.5},
|
{"technic:carbon_steel_ingot 3", "technic:chromium_ingot", "technic:stainless_steel_ingot 4"},
|
||||||
{"technic:copper_dust 2", "technic:zinc_dust", "technic:brass_dust 3"},
|
{"technic:copper_dust 2", "technic:zinc_dust", "technic:brass_dust 3"},
|
||||||
{"default:copper_ingot 2", "technic:zinc_ingot", "basic_materials:brass_ingot 3"},
|
{"default:copper_ingot 2", "technic:zinc_ingot", "basic_materials:brass_ingot 3"},
|
||||||
{"default:sand 2", "technic:coal_dust 2", "technic:silicon_wafer"},
|
{"default:sand 2", "technic:coal_dust 2", "technic:silicon_wafer"},
|
||||||
|
@ -312,6 +312,7 @@ function technic.register_battery_box(data)
|
|||||||
local charge = meta:get_int("internal_EU_charge")
|
local charge = meta:get_int("internal_EU_charge")
|
||||||
local cpercent = math.floor(charge / max_charge * 100)
|
local cpercent = math.floor(charge / max_charge * 100)
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
meta:set_string("infotext", S("%s Battery Box"):format(tier))
|
meta:set_string("infotext", S("%s Battery Box"):format(tier))
|
||||||
meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, cpercent))
|
meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, cpercent))
|
||||||
meta:set_string("channel", ltier.."_battery_box"..minetest.pos_to_string(pos))
|
meta:set_string("channel", ltier.."_battery_box"..minetest.pos_to_string(pos))
|
||||||
@ -334,6 +335,7 @@ function technic.register_battery_box(data)
|
|||||||
after_dig_node = technic.machine_after_dig_node,
|
after_dig_node = technic.machine_after_dig_node,
|
||||||
on_receive_fields = function(pos, formname, fields, sender)
|
on_receive_fields = function(pos, formname, fields, sender)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
local nodename = minetest.get_node(pos).name
|
||||||
if fields.edit_channel then
|
if fields.edit_channel then
|
||||||
minetest.show_formspec(sender:get_player_name(),
|
minetest.show_formspec(sender:get_player_name(),
|
||||||
"technic:battery_box_edit_channel"..minetest.pos_to_string(pos),
|
"technic:battery_box_edit_channel"..minetest.pos_to_string(pos),
|
||||||
@ -342,7 +344,7 @@ function technic.register_battery_box(data)
|
|||||||
or fields["fs_helpers_cycling:0:split_dst_stacks"]
|
or fields["fs_helpers_cycling:0:split_dst_stacks"]
|
||||||
or fields["fs_helpers_cycling:1:split_src_stacks"]
|
or fields["fs_helpers_cycling:1:split_src_stacks"]
|
||||||
or fields["fs_helpers_cycling:1:split_dst_stacks"] then
|
or fields["fs_helpers_cycling:1:split_dst_stacks"] then
|
||||||
meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
if not pipeworks.may_configure(pos, sender) then return end
|
if not pipeworks.may_configure(pos, sender) then return end
|
||||||
fs_helpers.on_receive_fields(pos, fields)
|
fs_helpers.on_receive_fields(pos, fields)
|
||||||
local EU_upgrade, tube_upgrade = 0, 0
|
local EU_upgrade, tube_upgrade = 0, 0
|
||||||
|
@ -11,8 +11,8 @@ function technic.register_separating_recipe(data)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local recipes = {
|
local recipes = {
|
||||||
{ "technic:bronze_dust 8", "technic:copper_dust 7", "technic:tin_dust" },
|
{ "technic:bronze_dust 4", "technic:copper_dust 3", "technic:tin_dust" },
|
||||||
{ "technic:stainless_steel_dust 5", "technic:wrought_iron_dust 4", "technic:chromium_dust" },
|
{ "technic:stainless_steel_dust 4", "technic:wrought_iron_dust 3", "technic:chromium_dust" },
|
||||||
{ "technic:brass_dust 3", "technic:copper_dust 2", "technic:zinc_dust" },
|
{ "technic:brass_dust 3", "technic:copper_dust 2", "technic:zinc_dust" },
|
||||||
{ "technic:chernobylite_dust", "default:sand", "technic:uranium3_dust" },
|
{ "technic:chernobylite_dust", "default:sand", "technic:uranium3_dust" },
|
||||||
{ "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 2" },
|
{ "default:dirt 4", "default:sand", "default:gravel", "default:clay_lump 2" },
|
||||||
|
@ -74,7 +74,7 @@ function technic.send_items(pos, x_velocity, z_velocity, output_name)
|
|||||||
if stack then
|
if stack then
|
||||||
local item0 = stack:to_table()
|
local item0 = stack:to_table()
|
||||||
if item0 then
|
if item0 then
|
||||||
item0["count"] = 1
|
item0["count"] = "1"
|
||||||
technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0)
|
technic.tube_inject_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0)
|
||||||
stack:take_item(1)
|
stack:take_item(1)
|
||||||
inv:set_stack(output_name, i, stack)
|
inv:set_stack(output_name, i, stack)
|
||||||
@ -84,6 +84,7 @@ function technic.send_items(pos, x_velocity, z_velocity, output_name)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function technic.smelt_item(meta, result, speed)
|
function technic.smelt_item(meta, result, speed)
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
meta:set_int("cook_time", meta:get_int("cook_time") + 1)
|
meta:set_int("cook_time", meta:get_int("cook_time") + 1)
|
||||||
@ -111,6 +112,7 @@ function technic.handle_machine_pipeworks(pos, tube_upgrade, send_function)
|
|||||||
|
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
local inv = meta:get_inventory()
|
||||||
local pos1 = vector.new(pos)
|
local pos1 = vector.new(pos)
|
||||||
local x_velocity = 0
|
local x_velocity = 0
|
||||||
local z_velocity = 0
|
local z_velocity = 0
|
||||||
|
@ -162,6 +162,7 @@ function technic.register_generator(data)
|
|||||||
fs_helpers.on_receive_fields(pos, fields)
|
fs_helpers.on_receive_fields(pos, fields)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
local form = generator_formspec
|
||||||
local form_buttons = ""
|
local form_buttons = ""
|
||||||
if not string.find(node.name, ":lv_") then
|
if not string.find(node.name, ":lv_") then
|
||||||
form_buttons = fs_helpers.cycling_button(
|
form_buttons = fs_helpers.cycling_button(
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
local S = technic.getter
|
local S = technic.getter
|
||||||
local moretrees = minetest.get_modpath("moretrees")
|
local moretrees = minetest.get_modpath("moretrees")
|
||||||
|
local mesecons_materials = minetest.get_modpath("mesecons_materials")
|
||||||
local dye = minetest.get_modpath("dye")
|
local dye = minetest.get_modpath("dye")
|
||||||
|
|
||||||
-- sawdust, the finest wood/tree grinding
|
-- sawdust, the finest wood/tree grinding
|
||||||
|
@ -56,6 +56,7 @@ function technic.register_solar_array(data)
|
|||||||
},
|
},
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
local name = minetest.get_node(pos).name
|
||||||
meta:set_int(tier.."_EU_supply", 0)
|
meta:set_int(tier.."_EU_supply", 0)
|
||||||
end,
|
end,
|
||||||
technic_run = run,
|
technic_run = run,
|
||||||
|
@ -249,8 +249,12 @@ minetest.register_abm({
|
|||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
if not technic.powerctrl_state then return end
|
if not technic.powerctrl_state then return end
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local meta1
|
local meta1 = nil
|
||||||
local pos1 = {}
|
local pos1 = {}
|
||||||
|
local PR_EU = 0 -- EUs from PR nodes
|
||||||
|
local BA_PR_EU = 0 -- EUs from BA nodes (discharching)
|
||||||
|
local BA_RE_EU = 0 -- EUs to BA nodes (charging)
|
||||||
|
local RE_EU = 0 -- EUs to RE nodes
|
||||||
|
|
||||||
local tier = ""
|
local tier = ""
|
||||||
local PR_nodes
|
local PR_nodes
|
||||||
|
@ -244,6 +244,7 @@ to be safe, and limits the range at which source/player interactions
|
|||||||
need to be considered.
|
need to be considered.
|
||||||
--]]
|
--]]
|
||||||
local abdomen_offset = 1
|
local abdomen_offset = 1
|
||||||
|
local cache_scaled_shielding = {}
|
||||||
local rad_dmg_cutoff = 0.2
|
local rad_dmg_cutoff = 0.2
|
||||||
local radiated_players = {}
|
local radiated_players = {}
|
||||||
|
|
||||||
|
@ -24,81 +24,48 @@ local nodes = {
|
|||||||
{"default:jungleleaves", false},
|
{"default:jungleleaves", false},
|
||||||
{"default:pine_needles", false},
|
{"default:pine_needles", false},
|
||||||
|
|
||||||
-- The default bushes
|
|
||||||
{"default:acacia_bush_stem", true},
|
|
||||||
{"default:bush_stem", true},
|
|
||||||
{"default:pine_bush_stem", true},
|
|
||||||
{"default:acacia_bush_leaves", false},
|
|
||||||
{"default:blueberry_bush_leaves", false},
|
|
||||||
{"default:blueberry_bush_leaves_with_berries", false},
|
|
||||||
{"default:bush_leaves", false},
|
|
||||||
{"default:pine_bush_needles", false},
|
|
||||||
|
|
||||||
-- Rubber trees from moretrees or technic_worldgen if moretrees isn't installed
|
-- Rubber trees from moretrees or technic_worldgen if moretrees isn't installed
|
||||||
{"moretrees:rubber_tree_trunk_empty", true},
|
{"moretrees:rubber_tree_trunk_empty", true},
|
||||||
{"moretrees:rubber_tree_trunk", true},
|
{"moretrees:rubber_tree_trunk", true},
|
||||||
{"moretrees:rubber_tree_leaves", false},
|
{"moretrees:rubber_tree_leaves", false},
|
||||||
|
|
||||||
-- Support moretrees (trunk)
|
-- Support moretrees
|
||||||
{"moretrees:acacia_trunk", true},
|
{"moretrees:acacia_trunk", true},
|
||||||
{"moretrees:apple_tree_trunk", true},
|
{"moretrees:apple_tree_trunk", true},
|
||||||
{"moretrees:beech_trunk", true},
|
{"moretrees:beech_trunk", true},
|
||||||
{"moretrees:birch_trunk", true},
|
{"moretrees:birch_trunk", true},
|
||||||
{"moretrees:cedar_trunk", true},
|
|
||||||
{"moretrees:date_palm_ffruit_trunk", true},
|
|
||||||
{"moretrees:date_palm_fruit_trunk", true},
|
|
||||||
{"moretrees:date_palm_mfruit_trunk", true},
|
|
||||||
{"moretrees:date_palm_trunk", true},
|
|
||||||
{"moretrees:fir_trunk", true},
|
{"moretrees:fir_trunk", true},
|
||||||
{"moretrees:jungletree_trunk", true},
|
|
||||||
{"moretrees:oak_trunk", true},
|
{"moretrees:oak_trunk", true},
|
||||||
{"moretrees:palm_trunk", true},
|
{"moretrees:palm_trunk", true},
|
||||||
{"moretrees:palm_fruit_trunk", true},
|
|
||||||
{"moretrees:palm_fruit_trunk_gen", true},
|
|
||||||
{"moretrees:pine_trunk", true},
|
{"moretrees:pine_trunk", true},
|
||||||
{"moretrees:poplar_trunk", true},
|
|
||||||
{"moretrees:sequoia_trunk", true},
|
{"moretrees:sequoia_trunk", true},
|
||||||
{"moretrees:spruce_trunk", true},
|
{"moretrees:spruce_trunk", true},
|
||||||
{"moretrees:willow_trunk", true},
|
{"moretrees:willow_trunk", true},
|
||||||
-- Support moretrees (leaves)
|
{"moretrees:jungletree_trunk", true},
|
||||||
|
{"moretrees:poplar_trunk", true},
|
||||||
{"moretrees:acacia_leaves", false},
|
{"moretrees:acacia_leaves", false},
|
||||||
{"moretrees:apple_tree_leaves", false},
|
{"moretrees:apple_tree_leaves", false},
|
||||||
{"moretrees:beech_leaves", false},
|
{"moretrees:oak_leaves", false},
|
||||||
{"moretrees:birch_leaves", false},
|
|
||||||
{"moretrees:cedar_leaves", false},
|
|
||||||
{"moretrees:date_palm_leaves", false},
|
|
||||||
{"moretrees:fir_leaves", false},
|
{"moretrees:fir_leaves", false},
|
||||||
{"moretrees:fir_leaves_bright", false},
|
{"moretrees:fir_leaves_bright", false},
|
||||||
|
{"moretrees:sequoia_leaves", false},
|
||||||
|
{"moretrees:birch_leaves", false},
|
||||||
|
{"moretrees:birch_leaves", false},
|
||||||
|
{"moretrees:palm_leaves", false},
|
||||||
|
{"moretrees:spruce_leaves", false},
|
||||||
|
{"moretrees:spruce_leaves", false},
|
||||||
|
{"moretrees:pine_leaves", false},
|
||||||
|
{"moretrees:willow_leaves", false},
|
||||||
{"moretrees:jungletree_leaves_green", false},
|
{"moretrees:jungletree_leaves_green", false},
|
||||||
{"moretrees:jungletree_leaves_yellow", false},
|
{"moretrees:jungletree_leaves_yellow", false},
|
||||||
{"moretrees:jungletree_leaves_red", false},
|
{"moretrees:jungletree_leaves_red", false},
|
||||||
{"moretrees:oak_leaves", false},
|
|
||||||
{"moretrees:palm_leaves", false},
|
|
||||||
{"moretrees:poplar_leaves", false},
|
|
||||||
{"moretrees:pine_leaves", false},
|
|
||||||
{"moretrees:sequoia_leaves", false},
|
|
||||||
{"moretrees:spruce_leaves", false},
|
|
||||||
{"moretrees:willow_leaves", false},
|
|
||||||
-- Support moretrees (fruit)
|
|
||||||
{"moretrees:acorn", false},
|
{"moretrees:acorn", false},
|
||||||
{"moretrees:apple_blossoms", false},
|
|
||||||
{"moretrees:cedar_cone", false},
|
|
||||||
{"moretrees:coconut", false},
|
{"moretrees:coconut", false},
|
||||||
{"moretrees:coconut_0", false},
|
|
||||||
{"moretrees:coconut_1", false},
|
|
||||||
{"moretrees:coconut_2", false},
|
|
||||||
{"moretrees:coconut_3", false},
|
|
||||||
{"moretrees:dates_f0", false},
|
|
||||||
{"moretrees:dates_f1", false},
|
|
||||||
{"moretrees:dates_f2", false},
|
|
||||||
{"moretrees:dates_f3", false},
|
|
||||||
{"moretrees:dates_f4", false},
|
|
||||||
{"moretrees:dates_fn", false},
|
|
||||||
{"moretrees:dates_m0", false},
|
|
||||||
{"moretrees:dates_n", false},
|
|
||||||
{"moretrees:fir_cone", false},
|
|
||||||
{"moretrees:pine_cone", false},
|
|
||||||
{"moretrees:spruce_cone", false},
|
{"moretrees:spruce_cone", false},
|
||||||
|
{"moretrees:pine_cone", false},
|
||||||
|
{"moretrees:fir_cone", false},
|
||||||
|
{"moretrees:apple_blossoms", false},
|
||||||
|
{"moretrees:poplar_leaves", false},
|
||||||
|
|
||||||
-- Support growing_trees
|
-- Support growing_trees
|
||||||
{"growing_trees:trunk", true},
|
{"growing_trees:trunk", true},
|
||||||
@ -194,18 +161,6 @@ local S = technic.getter
|
|||||||
|
|
||||||
technic.register_power_tool("technic:chainsaw", chainsaw_max_charge)
|
technic.register_power_tool("technic:chainsaw", chainsaw_max_charge)
|
||||||
|
|
||||||
-- This function checks if the specified node should be sawed
|
|
||||||
local function check_if_node_sawed(pos)
|
|
||||||
local node_name = minetest.get_node(pos).name
|
|
||||||
if timber_nodenames[node_name]
|
|
||||||
or (chainsaw_leaves and minetest.get_item_group(node_name, "leaves") ~= 0)
|
|
||||||
or minetest.get_item_group(node_name, "tree") ~= 0 then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Table for saving what was sawed down
|
-- Table for saving what was sawed down
|
||||||
local produced = {}
|
local produced = {}
|
||||||
|
|
||||||
@ -282,7 +237,7 @@ local function recursive_dig(pos, remaining_charge)
|
|||||||
end
|
end
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if not check_if_node_sawed(pos) then
|
if not timber_nodenames[node.name] then
|
||||||
return remaining_charge
|
return remaining_charge
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -296,10 +251,8 @@ local function recursive_dig(pos, remaining_charge)
|
|||||||
if remaining_charge < chainsaw_charge_per_node then
|
if remaining_charge < chainsaw_charge_per_node then
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
if check_if_node_sawed(npos) then
|
if timber_nodenames[minetest.get_node(npos).name] then
|
||||||
remaining_charge = recursive_dig(npos, remaining_charge)
|
remaining_charge = recursive_dig(npos, remaining_charge)
|
||||||
else
|
|
||||||
minetest.check_for_falling(npos)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return remaining_charge
|
return remaining_charge
|
||||||
|
@ -99,7 +99,7 @@ minetest.register_globalstep(function(dtime)
|
|||||||
if node and node.name == "air" then
|
if node and node.name == "air" then
|
||||||
minetest.set_node(rounded_pos, {name="technic:light"})
|
minetest.set_node(rounded_pos, {name="technic:light"})
|
||||||
end
|
end
|
||||||
node = minetest.get_node_or_nil(old_pos)
|
local node = minetest.get_node_or_nil(old_pos)
|
||||||
if node and node.name == "technic:light" then
|
if node and node.name == "technic:light" then
|
||||||
minetest.remove_node(old_pos)
|
minetest.remove_node(old_pos)
|
||||||
end
|
end
|
||||||
@ -118,6 +118,6 @@ minetest.register_node("technic:light", {
|
|||||||
walkable = false,
|
walkable = false,
|
||||||
buildable_to = true,
|
buildable_to = true,
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
light_source = minetest.LIGHT_MAX,
|
light_source = LIGHT_MAX,
|
||||||
pointable = false,
|
pointable = false,
|
||||||
})
|
})
|
||||||
|
@ -156,7 +156,7 @@ local function drill_dig_it(pos, player, mode)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if mode == 2 then -- 3 deep
|
if mode == 2 then -- 3 deep
|
||||||
local dir = drill_dig_it1(player)
|
dir = drill_dig_it1(player)
|
||||||
if dir == 0 then -- x+
|
if dir == 0 then -- x+
|
||||||
drill_dig_it0(pos, player)
|
drill_dig_it0(pos, player)
|
||||||
pos.x = pos.x + 1
|
pos.x = pos.x + 1
|
||||||
@ -188,7 +188,7 @@ local function drill_dig_it(pos, player, mode)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if mode==3 then -- 3 wide
|
if mode==3 then -- 3 wide
|
||||||
local dir = drill_dig_it1(player)
|
dir=drill_dig_it1(player)
|
||||||
if dir==0 or dir==1 then -- x
|
if dir==0 or dir==1 then -- x
|
||||||
drill_dig_it0 (pos,player)
|
drill_dig_it0 (pos,player)
|
||||||
pos.z=pos.z+1
|
pos.z=pos.z+1
|
||||||
@ -240,7 +240,6 @@ end
|
|||||||
local function mining_drill_mk2_setmode(user,itemstack)
|
local function mining_drill_mk2_setmode(user,itemstack)
|
||||||
local player_name=user:get_player_name()
|
local player_name=user:get_player_name()
|
||||||
local item=itemstack:to_table()
|
local item=itemstack:to_table()
|
||||||
local mode = nil
|
|
||||||
local meta=minetest.deserialize(item["metadata"])
|
local meta=minetest.deserialize(item["metadata"])
|
||||||
if meta==nil then
|
if meta==nil then
|
||||||
meta={}
|
meta={}
|
||||||
@ -287,6 +286,7 @@ end
|
|||||||
|
|
||||||
local function mining_drill_mk2_handler(itemstack, user, pointed_thing)
|
local function mining_drill_mk2_handler(itemstack, user, pointed_thing)
|
||||||
local keys = user:get_player_control()
|
local keys = user:get_player_control()
|
||||||
|
local player_name = user:get_player_name()
|
||||||
local meta = minetest.deserialize(itemstack:get_metadata())
|
local meta = minetest.deserialize(itemstack:get_metadata())
|
||||||
if not meta or not meta.mode or keys.sneak then
|
if not meta or not meta.mode or keys.sneak then
|
||||||
return mining_drill_mk2_setmode(user, itemstack)
|
return mining_drill_mk2_setmode(user, itemstack)
|
||||||
@ -309,6 +309,7 @@ end
|
|||||||
|
|
||||||
local function mining_drill_mk3_handler(itemstack, user, pointed_thing)
|
local function mining_drill_mk3_handler(itemstack, user, pointed_thing)
|
||||||
local keys = user:get_player_control()
|
local keys = user:get_player_control()
|
||||||
|
local player_name = user:get_player_name()
|
||||||
local meta = minetest.deserialize(itemstack:get_metadata())
|
local meta = minetest.deserialize(itemstack:get_metadata())
|
||||||
if not meta or not meta.mode or keys.sneak then
|
if not meta or not meta.mode or keys.sneak then
|
||||||
return mining_drill_mk3_setmode(user, itemstack)
|
return mining_drill_mk3_setmode(user, itemstack)
|
||||||
|
@ -84,6 +84,7 @@ end
|
|||||||
|
|
||||||
local function set_formspec(pos, data, page)
|
local function set_formspec(pos, data, page)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
local formspec = data.base_formspec
|
local formspec = data.base_formspec
|
||||||
formspec = formspec..fs_helpers.cycling_button(
|
formspec = formspec..fs_helpers.cycling_button(
|
||||||
meta,
|
meta,
|
||||||
|
@ -72,6 +72,7 @@ else
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local shape = {}
|
||||||
local onesize_products = {
|
local onesize_products = {
|
||||||
slope = 2,
|
slope = 2,
|
||||||
slope_edge = 1,
|
slope_edge = 1,
|
||||||
|
@ -15,10 +15,12 @@ Syntax:
|
|||||||
inventory is always stored (Ex. active state for machines)
|
inventory is always stored (Ex. active state for machines)
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
|
wrench.META_TYPE_INT = 0
|
||||||
wrench.META_TYPE_FLOAT = 1
|
wrench.META_TYPE_FLOAT = 1
|
||||||
wrench.META_TYPE_STRING = 2
|
wrench.META_TYPE_STRING = 2
|
||||||
|
|
||||||
local STRING, FLOAT =
|
local INT, STRING, FLOAT =
|
||||||
|
wrench.META_TYPE_INT,
|
||||||
wrench.META_TYPE_STRING,
|
wrench.META_TYPE_STRING,
|
||||||
wrench.META_TYPE_FLOAT
|
wrench.META_TYPE_FLOAT
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user