mirror of
https://git.minetest.land/MineClone2/MineClone2.git
synced 2024-11-29 22:33:46 +01:00
Merge branch 'mcl_explosions'
commit
3087621b11
@ -200,6 +200,7 @@ There are so many people to list (sorry). Check out the respective mod directori
|
||||
* [ex-bart](https://github.com/ex-bart): Redstone comparators
|
||||
* [Rootyjr](https://github.com/Rootyjr): Fishing rod and bugfixes
|
||||
* [aligator](https://github.com/aligator): Improvement of doors
|
||||
* [ryvnf](https://github.com/ryvnf): Explosion mechanics
|
||||
* Lots of other people: TO BE WRITTEN (see mod directories for details)
|
||||
|
||||
### Textures
|
||||
|
1
mods/CORE/mcl_explosions/description.txt
Normal file
1
mods/CORE/mcl_explosions/description.txt
Normal file
@ -0,0 +1 @@
|
||||
This mod adds a common API to create explosions.
|
417
mods/CORE/mcl_explosions/init.lua
Normal file
417
mods/CORE/mcl_explosions/init.lua
Normal file
@ -0,0 +1,417 @@
|
||||
--[[ .__ .__
|
||||
____ ___ _________ | | ____ _____|__| ____ ____ ______
|
||||
_/ __ \\ \/ /\____ \| | / _ \/ ___/ |/ _ \ / \ / ___/
|
||||
\ ___/ > < | |_> > |_( <_> )___ \| ( <_> ) | \\___ \
|
||||
\___ >__/\_ \| __/|____/\____/____ >__|\____/|___| /____ >
|
||||
\/ \/|__| \/ \/ \/
|
||||
|
||||
Explosion API mod for Minetest (adapted to MineClone 2)
|
||||
|
||||
This mod is based on the Minetest explosion API mod, but has been changed
|
||||
to have the same explosion mechanics as Minecraft and work with MineClone.
|
||||
The computation-intensive parts of the mod has been optimized to allow for
|
||||
larger explosions and faster world updating.
|
||||
|
||||
This mod was created by Elias Astrom <ryvnf@riseup.net> and is released
|
||||
under the LGPLv2.1 license.
|
||||
--]]
|
||||
|
||||
|
||||
mcl_explosions = {}
|
||||
|
||||
local creative_mode = minetest.settings:get_bool("creative_mode")
|
||||
|
||||
-- Saved sphere explosion shapes for various radiuses
|
||||
local sphere_shapes = {}
|
||||
|
||||
-- Saved node definitions in table using cid-keys for faster look-up.
|
||||
local node_blastres = {}
|
||||
local node_on_blast = {}
|
||||
local node_walkable = {}
|
||||
|
||||
local AIR_CID = minetest.get_content_id('air')
|
||||
|
||||
-- The step length for the rays (Minecraft uses 0.3)
|
||||
local STEP_LENGTH = 0.3
|
||||
|
||||
-- How many rays to compute entity exposure to explosion
|
||||
local N_EXPOSURE_RAYS = 16
|
||||
|
||||
minetest.after(0, function()
|
||||
-- Store blast resistance values by content ids to improve performance.
|
||||
for name, def in pairs(minetest.registered_nodes) do
|
||||
node_blastres[minetest.get_content_id(name)] = def._mcl_blast_resistance or 0
|
||||
node_on_blast[minetest.get_content_id(name)] = def.on_blast
|
||||
node_walkable[minetest.get_content_id(name)] = def.walkable
|
||||
end
|
||||
end)
|
||||
|
||||
-- Compute the rays which make up a sphere with radius. Returns a list of rays
|
||||
-- which can be used to trace explosions. This function is not efficient
|
||||
-- (especially for larger radiuses), so the generated rays for various radiuses
|
||||
-- should be cached and reused.
|
||||
--
|
||||
-- Should be possible to improve by using a midpoint circle algorithm multiple
|
||||
-- times to create the sphere, currently uses more of a brute-force approach.
|
||||
local function compute_sphere_rays(radius)
|
||||
local rays = {}
|
||||
local sphere = {}
|
||||
|
||||
for y = -radius, radius do
|
||||
for z = -radius, radius do
|
||||
for x = -radius, 0, 1 do
|
||||
local d = x * x + y * y + z * z
|
||||
if d <= radius * radius then
|
||||
local pos = { x = x, y = y, z = z }
|
||||
sphere[minetest.hash_node_position(pos)] = pos
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for y = -radius, radius do
|
||||
for z = -radius, radius do
|
||||
for x = radius, 0, -1 do
|
||||
local d = x * x + y * y + z * z
|
||||
if d <= radius * radius then
|
||||
local pos = { x = x, y = y, z = z }
|
||||
sphere[minetest.hash_node_position(pos)] = pos
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for x = -radius, radius do
|
||||
for z = -radius, radius do
|
||||
for y = -radius, 0, 1 do
|
||||
local d = x * x + y * y + z * z
|
||||
if d <= radius * radius then
|
||||
local pos = { x = x, y = y, z = z }
|
||||
sphere[minetest.hash_node_position(pos)] = pos
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for x = -radius, radius do
|
||||
for z = -radius, radius do
|
||||
for y = radius, 0, -1 do
|
||||
local d = x * x + y * y + z * z
|
||||
if d <= radius * radius then
|
||||
local pos = { x = x, y = y, z = z }
|
||||
sphere[minetest.hash_node_position(pos)] = pos
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for x = -radius, radius do
|
||||
for y = -radius, radius do
|
||||
for z = -radius, 0, 1 do
|
||||
local d = x * x + y * y + z * z
|
||||
if d <= radius * radius then
|
||||
local pos = { x = x, y = y, z = z }
|
||||
sphere[minetest.hash_node_position(pos)] = pos
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for x = -radius, radius do
|
||||
for y = -radius, radius do
|
||||
for z = radius, 0, -1 do
|
||||
local d = x * x + y * y + z * z
|
||||
if d <= radius * radius then
|
||||
local pos = { x = x, y = y, z = z }
|
||||
sphere[minetest.hash_node_position(pos)] = pos
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for _, pos in pairs(sphere) do
|
||||
rays[#rays + 1] = vector.normalize(pos)
|
||||
end
|
||||
|
||||
return rays
|
||||
end
|
||||
|
||||
-- Add particles from explosion
|
||||
--
|
||||
-- Parameters:
|
||||
-- pos - The position of the explosion
|
||||
-- radius - The radius of the explosion
|
||||
local function add_particles(pos, radius)
|
||||
minetest.add_particlespawner({
|
||||
amount = 64,
|
||||
time = 0.125,
|
||||
minpos = pos,
|
||||
maxpos = pos,
|
||||
minvel = {x = -radius, y = -radius, z = -radius},
|
||||
maxvel = {x = radius, y = radius, z = radius},
|
||||
minacc = vector.new(),
|
||||
maxacc = vector.new(),
|
||||
minexptime = 0.5,
|
||||
maxexptime = 1.0,
|
||||
minsize = radius * 0.5,
|
||||
maxsize = radius * 1.0,
|
||||
texture = "tnt_smoke.png",
|
||||
})
|
||||
end
|
||||
|
||||
-- Get position from hash. This should be identical to
|
||||
-- 'minetest.get_position_from_hash' but is used in case the hashing function
|
||||
-- would change.
|
||||
local function get_position_from_hash(hash)
|
||||
local pos = {}
|
||||
pos.x = (hash % 65536) - 32768
|
||||
hash = math.floor(hash / 65536)
|
||||
pos.y = (hash % 65536) - 32768
|
||||
hash = math.floor(hash / 65536)
|
||||
pos.z = (hash % 65536) - 32768
|
||||
return pos
|
||||
end
|
||||
|
||||
-- Traces the rays of an explosion, and updates the environment.
|
||||
--
|
||||
-- Parameters:
|
||||
-- pos - Where the rays in the explosion should start from
|
||||
-- strength - The strength of each ray
|
||||
-- raydirs - The directions for each ray
|
||||
-- radius - The maximum distance each ray will go
|
||||
-- drop_chance - The chance that destroyed nodes will drop their items
|
||||
--
|
||||
-- Note that this function has been optimized, it contains code which has been
|
||||
-- inlined to avoid function calls and unnecessary table creation. This was
|
||||
-- measured to give a significant performance increase.
|
||||
local function trace_explode(pos, strength, raydirs, radius, drop_chance)
|
||||
local vm = minetest.get_voxel_manip()
|
||||
|
||||
local emin, emax = vm:read_from_map(vector.subtract(pos, radius),
|
||||
vector.add(pos, radius))
|
||||
local emin_x = emin.x
|
||||
local emin_y = emin.y
|
||||
local emin_z = emin.z
|
||||
|
||||
local ystride = (emax.x - emin_x + 1)
|
||||
local zstride = ystride * (emax.y - emin_y + 1)
|
||||
local pos_x = pos.x
|
||||
local pos_y = pos.y
|
||||
local pos_z = pos.z
|
||||
|
||||
local area = VoxelArea:new {
|
||||
MinEdge = emin,
|
||||
MaxEdge = emax
|
||||
}
|
||||
local data = vm:get_data()
|
||||
local destroy = {}
|
||||
|
||||
-- Trace rays for environment destruction
|
||||
for i = 1, #raydirs do
|
||||
local rpos_x = pos.x
|
||||
local rpos_y = pos.y
|
||||
local rpos_z = pos.z
|
||||
local rdir_x = raydirs[i].x
|
||||
local rdir_y = raydirs[i].y
|
||||
local rdir_z = raydirs[i].z
|
||||
local rstr = (0.7 + math.random() * 0.6) * strength
|
||||
|
||||
for r = 0, math.ceil(radius * (1.0 / STEP_LENGTH)) do
|
||||
local npos_x = math.floor(rpos_x + 0.5)
|
||||
local npos_y = math.floor(rpos_y + 0.5)
|
||||
local npos_z = math.floor(rpos_z + 0.5)
|
||||
local idx = (npos_z - emin_z) * zstride + (npos_y - emin_y) * ystride +
|
||||
npos_x - emin_x + 1
|
||||
|
||||
local cid = data[idx]
|
||||
local br = node_blastres[cid]
|
||||
local hash = (npos_z + 32768) * 65536 * 65536 +
|
||||
(npos_y + 32768) * 65536 +
|
||||
npos_x + 32768
|
||||
|
||||
rpos_x = rpos_x + STEP_LENGTH * rdir_x
|
||||
rpos_y = rpos_y + STEP_LENGTH * rdir_y
|
||||
rpos_z = rpos_z + STEP_LENGTH * rdir_z
|
||||
|
||||
rstr = rstr - 0.75 * STEP_LENGTH - (br + 0.3) * STEP_LENGTH
|
||||
|
||||
if rstr <= 0 then
|
||||
break
|
||||
end
|
||||
|
||||
if cid ~= AIR_CID then
|
||||
destroy[hash] = idx
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Entities in radius of explosion
|
||||
local punch_radius = 2 * strength
|
||||
local objs = minetest.get_objects_inside_radius(pos, punch_radius)
|
||||
|
||||
-- Trace rays for entity damage
|
||||
for _, obj in pairs(objs) do
|
||||
local ent = obj:get_luaentity()
|
||||
|
||||
-- Ignore items to lower lag
|
||||
if obj:is_player() or (ent and ent.name ~= '__builtin.item') then
|
||||
local opos = obj:get_pos()
|
||||
local collisionbox = nil
|
||||
|
||||
if obj:is_player() then
|
||||
collisionbox = { -0.3, 0.0, -0.3, 0.3, 1.77, 0.3 }
|
||||
elseif ent.name then
|
||||
local def = minetest.registered_entities[ent.name]
|
||||
collisionbox = def.collisionbox
|
||||
end
|
||||
|
||||
if collisionbox then
|
||||
-- Create rays from random points in the collision box
|
||||
local x1 = collisionbox[1] * 2
|
||||
local y1 = collisionbox[2] * 2
|
||||
local z1 = collisionbox[3] * 2
|
||||
local x2 = collisionbox[4] * 2
|
||||
local y2 = collisionbox[5] * 2
|
||||
local z2 = collisionbox[6] * 2
|
||||
local x_len = math.abs(x2 - x1)
|
||||
local y_len = math.abs(y2 - y1)
|
||||
local z_len = math.abs(z2 - z1)
|
||||
|
||||
-- Move object position to the center of its bounding box
|
||||
opos.x = opos.x + x1 + x2
|
||||
opos.y = opos.y + y1 + y2
|
||||
opos.z = opos.z + z1 + z2
|
||||
|
||||
-- Count number of rays from collision box which are unobstructed
|
||||
local count = N_EXPOSURE_RAYS
|
||||
|
||||
for i = 1, N_EXPOSURE_RAYS do
|
||||
local rpos_x = opos.x + math.random() * x_len - x_len / 2
|
||||
local rpos_y = opos.y + math.random() * y_len - y_len / 2
|
||||
local rpos_z = opos.z + math.random() * z_len - z_len / 2
|
||||
local rdir_x = pos.x - rpos_x
|
||||
local rdir_y = pos.y - rpos_y
|
||||
local rdir_z = pos.z - rpos_z
|
||||
local rdir_len = math.hypot(rdir_x, math.hypot(rdir_y, rdir_z))
|
||||
rdir_x = rdir_x / rdir_len
|
||||
rdir_y = rdir_y / rdir_len
|
||||
rdir_z = rdir_z / rdir_len
|
||||
|
||||
for i=0, rdir_len / STEP_LENGTH do
|
||||
rpos_x = rpos_x + rdir_x * STEP_LENGTH
|
||||
rpos_y = rpos_y + rdir_y * STEP_LENGTH
|
||||
rpos_z = rpos_z + rdir_z * STEP_LENGTH
|
||||
local npos_x = math.floor(rpos_x + 0.5)
|
||||
local npos_y = math.floor(rpos_y + 0.5)
|
||||
local npos_z = math.floor(rpos_z + 0.5)
|
||||
local idx = (npos_z - emin_z) * zstride + (npos_y - emin_y) * ystride +
|
||||
npos_x - emin_x + 1
|
||||
|
||||
|
||||
local cid = data[idx]
|
||||
local walkable = node_walkable[cid]
|
||||
|
||||
if walkable then
|
||||
count = count - 1
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Punch entity with damage depending on explosion exposure and
|
||||
-- distance to explosion
|
||||
local exposure = count / N_EXPOSURE_RAYS
|
||||
local punch_vec = vector.subtract(opos, pos)
|
||||
local punch_dir = vector.normalize(punch_vec)
|
||||
local impact = (1 - vector.length(punch_vec) / punch_radius) * exposure
|
||||
if impact < 0 then
|
||||
impact = 0
|
||||
end
|
||||
local damage = math.floor((impact * impact + impact) * 7 * strength + 1)
|
||||
obj:punch(obj, 10, { damage_groups = { full_punch_interval = 1,
|
||||
fleshy = damage, knockback = impact * 20.0 } }, punch_dir)
|
||||
|
||||
if obj:is_player() then
|
||||
obj:add_player_velocity(vector.multiply(punch_dir, impact * 20))
|
||||
elseif ent.tnt_knockback then
|
||||
obj:add_velocity(vector.multiply(punch_dir, impact * 20))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Remove destroyed blocks and drop items
|
||||
for hash, idx in pairs(destroy) do
|
||||
local do_drop = not creative_mode and math.random() <= drop_chance
|
||||
local on_blast = node_on_blast[data[idx]]
|
||||
local remove = true
|
||||
|
||||
if do_drop or on_blast ~= nil then
|
||||
local npos = get_position_from_hash(hash)
|
||||
if on_blast ~= nil then
|
||||
remove = on_blast(npos, 1.0)
|
||||
else
|
||||
local name = minetest.get_name_from_content_id(data[idx])
|
||||
local drop = minetest.get_node_drops(name, "")
|
||||
|
||||
for _, item in ipairs(drop) do
|
||||
if type(item) == "string" then
|
||||
minetest.add_item(npos, item)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if remove then
|
||||
data[idx] = AIR_CID
|
||||
end
|
||||
end
|
||||
|
||||
-- Log explosion
|
||||
minetest.log('action', 'Explosion at ' .. minetest.pos_to_string(pos) ..
|
||||
' with strength ' .. strength .. ' and radius ' .. radius)
|
||||
|
||||
-- Update environment
|
||||
vm:set_data(data)
|
||||
vm:write_to_map(data)
|
||||
vm:update_liquids()
|
||||
end
|
||||
|
||||
-- Create an explosion with strength at pos.
|
||||
--
|
||||
-- Parameters:
|
||||
-- pos - The position where the explosion originates from
|
||||
-- strength - The blast strength of the explosion (a TNT explosion uses 4)
|
||||
-- info - Table containing information about explosion.
|
||||
--
|
||||
-- Values in info:
|
||||
-- drop_chance - If specified becomes the drop chance of all nodes in the
|
||||
-- explosion (defaults to 1.0 / strength)
|
||||
-- no_sound - If true then the explosion will not play a sound
|
||||
-- no_particle - If true then the explosion will not create particles
|
||||
function mcl_explosions.explode(pos, strength, info)
|
||||
-- The maximum blast radius (in the air)
|
||||
local radius = math.ceil(1.3 * strength / (0.3 * 0.75) * 0.3)
|
||||
|
||||
if not sphere_shapes[radius] then
|
||||
sphere_shapes[radius] = compute_sphere_rays(radius)
|
||||
end
|
||||
shape = sphere_shapes[radius]
|
||||
|
||||
trace_explode(pos, strength, shape, radius, (info and info.drop_chance) or 1 / strength)
|
||||
|
||||
if not (info and info.no_sound) then
|
||||
add_particles(pos, radius)
|
||||
end
|
||||
if not (info and info.no_particle) then
|
||||
minetest.sound_play("tnt_explode", {
|
||||
pos = pos, gain = 1.0,
|
||||
max_hear_distance = strength * 16
|
||||
}, true)
|
||||
end
|
||||
end
|
@ -1,3 +1,4 @@
|
||||
mcl_explosions
|
||||
mcl_core
|
||||
mcl_sounds
|
||||
mcl_player
|
||||
|
@ -206,7 +206,7 @@ local function register_entity(entity_id, mesh, textures, drop, on_rightclick, o
|
||||
-- Explode if already ignited
|
||||
if self._boomtimer then
|
||||
self.object:remove()
|
||||
tnt.boom(pos)
|
||||
mcl_explosions.explode(pos, 4, { drop_chance = 1.0 })
|
||||
return
|
||||
end
|
||||
|
||||
@ -249,7 +249,7 @@ local function register_entity(entity_id, mesh, textures, drop, on_rightclick, o
|
||||
local pos = self.object:get_pos()
|
||||
if self._boomtimer <= 0 then
|
||||
self.object:remove()
|
||||
tnt.boom(pos)
|
||||
mcl_explosions.explode(pos, 4, { drop_chance = 1.0 })
|
||||
return
|
||||
else
|
||||
tnt.smoke_step(pos)
|
||||
|
@ -2742,7 +2742,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir)
|
||||
|
||||
self.object:set_velocity({
|
||||
x = dir.x * kb,
|
||||
y = up,
|
||||
y = dir.y * kb + up,
|
||||
z = dir.z * kb
|
||||
})
|
||||
|
||||
|
@ -94,7 +94,7 @@ local dispenserdef = {
|
||||
end
|
||||
meta:from_table(meta2:to_table())
|
||||
end,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
mesecons = {effector = {
|
||||
-- Dispense random item when triggered
|
||||
|
@ -94,7 +94,7 @@ local dropperdef = {
|
||||
return stack:get_count()
|
||||
end
|
||||
end,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
mesecons = {effector = {
|
||||
-- Drop random item when triggered
|
||||
|
@ -92,7 +92,7 @@ local dropperdef = {
|
||||
return stack:get_count()
|
||||
end
|
||||
end,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
mesecons = {effector = {
|
||||
-- Drop random item when triggered
|
||||
|
@ -82,7 +82,7 @@ mesecon.register_node("mcl_observers:observer",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
paramtype2 = "facedir",
|
||||
on_rotate = false,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
},
|
||||
{
|
||||
@ -139,7 +139,7 @@ mesecon.register_node("mcl_observers:observer_down",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
||||
on_rotate = false,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
drop = "mcl_observers:observer_off",
|
||||
},
|
||||
@ -188,7 +188,7 @@ mesecon.register_node("mcl_observers:observer_up",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
||||
on_rotate = false,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
drop = "mcl_observers:observer_off",
|
||||
},
|
||||
|
@ -133,7 +133,7 @@ mesecon.register_button = function(basename, description, texture, recipeitem, s
|
||||
_mcl_button_basename = basename,
|
||||
_mcl_button_timer = button_timer,
|
||||
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -184,7 +184,7 @@ mesecon.register_button = function(basename, description, texture, recipeitem, s
|
||||
end
|
||||
end,
|
||||
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
|
@ -242,7 +242,7 @@ S("Example 2:\n give @@n mcl_core:apple 5\nGives the nearest player 5 apples"
|
||||
action_on = commandblock_action_on,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}},
|
||||
_mcl_blast_resistance = 18000000,
|
||||
_mcl_blast_resistance = 3600000,
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
|
||||
@ -261,7 +261,7 @@ minetest.register_node("mesecons_commandblock:commandblock_on", {
|
||||
action_off = commandblock_action_off,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}},
|
||||
_mcl_blast_resistance = 18000000,
|
||||
_mcl_blast_resistance = 3600000,
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
|
||||
|
@ -16,7 +16,7 @@ minetest.register_node("mesecons_lightstone:lightstone_off", {
|
||||
end,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}},
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
})
|
||||
|
||||
@ -34,7 +34,7 @@ minetest.register_node("mesecons_lightstone:lightstone_on", {
|
||||
end,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}},
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
})
|
||||
|
||||
|
@ -48,7 +48,7 @@ S("The note block will only play a note when it is below air, otherwise, it stay
|
||||
end,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}},
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
|
@ -200,7 +200,7 @@ minetest.register_node("mesecons_pistons:piston_normal_off", {
|
||||
action_on = piston_on,
|
||||
rules = piston_get_rules
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = function(pos, node, user, mode)
|
||||
if mode == screwdriver.ROTATE_AXIS then
|
||||
@ -235,7 +235,7 @@ minetest.register_node("mesecons_pistons:piston_normal_on", {
|
||||
action_off = piston_off,
|
||||
rules = piston_get_rules
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
@ -262,7 +262,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_normal", {
|
||||
selection_box = piston_pusher_box,
|
||||
node_box = piston_pusher_box,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
|
||||
@ -304,7 +304,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_off", {
|
||||
action_on = piston_on,
|
||||
rules = piston_get_rules
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = function(pos, node, user, mode)
|
||||
if mode == screwdriver.ROTATE_AXIS then
|
||||
@ -339,7 +339,7 @@ minetest.register_node("mesecons_pistons:piston_sticky_on", {
|
||||
action_off = piston_off,
|
||||
rules = piston_get_rules
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
@ -366,7 +366,7 @@ minetest.register_node("mesecons_pistons:piston_pusher_sticky", {
|
||||
selection_box = piston_pusher_box,
|
||||
node_box = piston_pusher_box,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
|
||||
@ -423,7 +423,7 @@ minetest.register_node("mesecons_pistons:piston_up_normal_off", {
|
||||
sounds = mcl_sounds.node_sound_stone_defaults({
|
||||
footstep = mcl_sounds.node_sound_wood_defaults().footstep
|
||||
}),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = function(pos, node, user, mode)
|
||||
if mode == screwdriver.ROTATE_AXIS then
|
||||
@ -459,7 +459,7 @@ minetest.register_node("mesecons_pistons:piston_up_normal_on", {
|
||||
action_off = piston_off,
|
||||
rules = piston_up_rules,
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
@ -486,7 +486,7 @@ minetest.register_node("mesecons_pistons:piston_up_pusher_normal", {
|
||||
selection_box = piston_up_pusher_box,
|
||||
node_box = piston_up_pusher_box,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
|
||||
@ -526,7 +526,7 @@ minetest.register_node("mesecons_pistons:piston_up_sticky_off", {
|
||||
action_on = piston_on,
|
||||
rules = piston_up_rules,
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = function(pos, node, user, mode)
|
||||
if mode == screwdriver.ROTATE_AXIS then
|
||||
@ -562,7 +562,7 @@ minetest.register_node("mesecons_pistons:piston_up_sticky_on", {
|
||||
action_off = piston_off,
|
||||
rules = piston_up_rules,
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
@ -589,7 +589,7 @@ minetest.register_node("mesecons_pistons:piston_up_pusher_sticky", {
|
||||
selection_box = piston_up_pusher_box,
|
||||
node_box = piston_up_pusher_box,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
|
||||
@ -646,7 +646,7 @@ minetest.register_node("mesecons_pistons:piston_down_normal_off", {
|
||||
action_on = piston_on,
|
||||
rules = piston_down_rules,
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = function(pos, node, user, mode)
|
||||
if mode == screwdriver.ROTATE_AXIS then
|
||||
@ -682,7 +682,7 @@ minetest.register_node("mesecons_pistons:piston_down_normal_on", {
|
||||
action_off = piston_off,
|
||||
rules = piston_down_rules,
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
@ -709,7 +709,7 @@ minetest.register_node("mesecons_pistons:piston_down_pusher_normal", {
|
||||
selection_box = piston_down_pusher_box,
|
||||
node_box = piston_down_pusher_box,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
|
||||
@ -744,7 +744,7 @@ minetest.register_node("mesecons_pistons:piston_down_sticky_off", {
|
||||
action_on = piston_on,
|
||||
rules = piston_down_rules,
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = function(pos, node, user, mode)
|
||||
if mode == screwdriver.ROTATE_AXIS then
|
||||
@ -780,7 +780,7 @@ minetest.register_node("mesecons_pistons:piston_down_sticky_on", {
|
||||
action_off = piston_off,
|
||||
rules = piston_down_rules,
|
||||
}},
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
@ -807,7 +807,7 @@ minetest.register_node("mesecons_pistons:piston_down_pusher_sticky", {
|
||||
selection_box = piston_down_pusher_box,
|
||||
node_box = piston_down_pusher_box,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
on_rotate = false,
|
||||
})
|
||||
|
||||
|
@ -125,7 +125,7 @@ function mesecon.register_pressure_plate(basename, description, textures_off, te
|
||||
is_ground_content = false,
|
||||
pressureplate_basename = basename,
|
||||
pressureplate_activated_by = activated_by,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
},{
|
||||
node_box = pp_box_off,
|
||||
|
@ -36,7 +36,7 @@ minetest.register_node("mesecons_solarpanel:solar_panel_on", {
|
||||
minetest.swap_node(pos, {name = "mesecons_solarpanel:solar_panel_inverted_off"})
|
||||
mesecon.receptor_off(pos, mesecon.rules.pplate)
|
||||
end,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
@ -76,7 +76,7 @@ minetest.register_node("mesecons_solarpanel:solar_panel_off", {
|
||||
minetest.swap_node(pos, {name = "mesecons_solarpanel:solar_panel_inverted_on"})
|
||||
mesecon.receptor_on(pos, mesecon.rules.pplate)
|
||||
end,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
@ -154,7 +154,7 @@ minetest.register_node("mesecons_solarpanel:solar_panel_inverted_on", {
|
||||
minetest.swap_node(pos, {name = "mesecons_solarpanel:solar_panel_off"})
|
||||
mesecon.receptor_off(pos, mesecon.rules.pplate)
|
||||
end,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
@ -192,7 +192,7 @@ minetest.register_node("mesecons_solarpanel:solar_panel_inverted_off", {
|
||||
minetest.swap_node(pos, {name = "mesecons_solarpanel:solar_panel_on"})
|
||||
mesecon.receptor_on(pos, mesecon.rules.pplate)
|
||||
end,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
|
@ -204,7 +204,7 @@ minetest.register_node("mesecons_torch:redstoneblock", {
|
||||
state = mesecon.state.on,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}},
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
|
@ -128,7 +128,7 @@ minetest.register_node("mesecons_walllever:wall_lever_off", {
|
||||
state = mesecon.state.off
|
||||
}},
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
minetest.register_node("mesecons_walllever:wall_lever_on", {
|
||||
@ -160,7 +160,7 @@ minetest.register_node("mesecons_walllever:wall_lever_on", {
|
||||
state = mesecon.state.on
|
||||
}},
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
|
@ -275,7 +275,7 @@ local anvildef = {
|
||||
}
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 6000,
|
||||
_mcl_blast_resistance = 1200,
|
||||
_mcl_hardness = 5,
|
||||
_mcl_after_falling = damage_anvil_by_falling,
|
||||
|
||||
|
@ -230,7 +230,7 @@ S("You can copy the pattern of a banner by placing two banners of the same color
|
||||
respawn_banner_entity(pos, node)
|
||||
end,
|
||||
_mcl_hardness = 1,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
on_rotate = function(pos, node, user, mode, param2)
|
||||
if mode == screwdriver.ROTATE_FACE then
|
||||
local meta = minetest.get_meta(pos)
|
||||
@ -274,7 +274,7 @@ minetest.register_node("mcl_banners:hanging_banner", {
|
||||
respawn_banner_entity(pos, node)
|
||||
end,
|
||||
_mcl_hardness = 1,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
on_rotate = function(pos, node, user, mode, param2)
|
||||
if mode == screwdriver.ROTATE_FACE then
|
||||
local r = screwdriver.rotate.wallmounted(pos, node, mode)
|
||||
|
@ -342,7 +342,7 @@ minetest.register_node("mcl_books:bookshelf", {
|
||||
groups = {handy=1,axey=1, flammable=3,building_block=1, material_wood=1, fire_encouragement=30, fire_flammability=20},
|
||||
drop = "mcl_books:book 3",
|
||||
sounds = wood_sound,
|
||||
_mcl_blast_resistance = 7.5,
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
|
@ -70,7 +70,7 @@ minetest.register_node("mcl_cake:cake", {
|
||||
|
||||
_food_particles = false,
|
||||
_mcl_saturation = 0.4,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -130,7 +130,7 @@ local register_slice = function(level, nodebox, desc)
|
||||
|
||||
_food_particles = false,
|
||||
_mcl_saturation = 0.4,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
|
@ -63,7 +63,7 @@ minetest.register_node("mcl_cauldrons:cauldron", {
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_hardness = 2,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_blast_resistance = 2,
|
||||
})
|
||||
|
||||
-- Template function for cauldrons with water
|
||||
@ -94,7 +94,7 @@ local register_filled_cauldron = function(water_level, description, river_water)
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
drop = "mcl_cauldrons:cauldron",
|
||||
_mcl_hardness = 2,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_blast_resistance = 2,
|
||||
})
|
||||
|
||||
-- Add entry aliases for the Help
|
||||
|
@ -111,7 +111,7 @@ local crop_def = {
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
on_rotate = false,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 0.2,
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ minetest.register_node("mcl_colorblocks:hardened_clay", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, hardened_clay=1,building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 21,
|
||||
_mcl_blast_resistance = 4.2,
|
||||
_mcl_hardness = 1.25,
|
||||
})
|
||||
|
||||
@ -86,7 +86,7 @@ for _, row in ipairs(block.dyes) do
|
||||
groups = {pickaxey=1, hardened_clay=1,building_block=1, material_stone=1},
|
||||
stack_max = 64,
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 21,
|
||||
_mcl_blast_resistance = 4.2,
|
||||
_mcl_hardness = 1.25,
|
||||
})
|
||||
|
||||
@ -127,7 +127,7 @@ for _, row in ipairs(block.dyes) do
|
||||
|
||||
-- Specify the node to which this node will convert after getting in contact with water
|
||||
_mcl_colorblocks_harden_to = "mcl_colorblocks:concrete_"..name,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -141,7 +141,7 @@ for _, row in ipairs(block.dyes) do
|
||||
stack_max = 64,
|
||||
is_ground_content = false,
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 9,
|
||||
_mcl_blast_resistance = 1.8,
|
||||
_mcl_hardness = 1.8,
|
||||
})
|
||||
|
||||
@ -158,7 +158,7 @@ for _, row in ipairs(block.dyes) do
|
||||
stack_max = 64,
|
||||
is_ground_content = false,
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 7,
|
||||
_mcl_blast_resistance = 4.2,
|
||||
_mcl_hardness = 1.4,
|
||||
on_rotate = on_rotate,
|
||||
})
|
||||
|
@ -20,7 +20,7 @@ minetest.register_node("mcl_core:stone", {
|
||||
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
|
||||
drop = 'mcl_core:cobble',
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -34,7 +34,7 @@ minetest.register_node("mcl_core:stone_with_coal", {
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
drop = 'mcl_core:coal_lump',
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -47,7 +47,7 @@ minetest.register_node("mcl_core:stone_with_iron", {
|
||||
groups = {pickaxey=3, building_block=1, material_stone=1},
|
||||
drop = 'mcl_core:stone_with_iron',
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -61,7 +61,7 @@ minetest.register_node("mcl_core:stone_with_gold", {
|
||||
groups = {pickaxey=4, building_block=1, material_stone=1},
|
||||
drop = "mcl_core:stone_with_gold",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -93,7 +93,7 @@ minetest.register_node("mcl_core:stone_with_redstone", {
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
on_punch = redstone_ore_activate,
|
||||
on_walk_over = redstone_ore_activate, -- Uses walkover mod
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -131,7 +131,7 @@ minetest.register_node("mcl_core:stone_with_redstone_lit", {
|
||||
on_timer = function(pos, elapsed)
|
||||
minetest.swap_node(pos, {name="mcl_core:stone_with_redstone"})
|
||||
end,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -153,7 +153,7 @@ minetest.register_node("mcl_core:stone_with_lapis", {
|
||||
}
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -166,7 +166,7 @@ minetest.register_node("mcl_core:stone_with_emerald", {
|
||||
groups = {pickaxey=4, building_block=1, material_stone=1},
|
||||
drop = "mcl_core:emerald",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -179,7 +179,7 @@ minetest.register_node("mcl_core:stone_with_diamond", {
|
||||
groups = {pickaxey=4, building_block=1, material_stone=1},
|
||||
drop = "mcl_core:diamond",
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -191,7 +191,7 @@ minetest.register_node("mcl_core:stonebrick", {
|
||||
groups = {pickaxey=1, stone=1, stonebrick=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
is_ground_content = false,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -203,7 +203,7 @@ minetest.register_node("mcl_core:stonebrickcarved", {
|
||||
groups = {pickaxey=1, stone=1, stonebrick=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
is_ground_content = false,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -215,7 +215,7 @@ minetest.register_node("mcl_core:stonebrickcracked", {
|
||||
groups = {pickaxey=1, stone=1, stonebrick=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
is_ground_content = false,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -227,7 +227,7 @@ minetest.register_node("mcl_core:stonebrickmossy", {
|
||||
groups = {pickaxey=1, stone=1, stonebrick=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
is_ground_content = false,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -239,7 +239,7 @@ minetest.register_node("mcl_core:stone_smooth", {
|
||||
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
is_ground_content = false,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -251,7 +251,7 @@ minetest.register_node("mcl_core:granite", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -263,7 +263,7 @@ minetest.register_node("mcl_core:granite_smooth", {
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -275,7 +275,7 @@ minetest.register_node("mcl_core:andesite", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -299,7 +299,7 @@ minetest.register_node("mcl_core:diorite", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -311,7 +311,7 @@ minetest.register_node("mcl_core:diorite_smooth", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, stone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -344,7 +344,7 @@ minetest.register_node("mcl_core:dirt_with_grass", {
|
||||
return mcl_core.on_snowable_construct(pos)
|
||||
end,
|
||||
_mcl_snowed = "mcl_core:dirt_with_grass_snow",
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
mcl_core.register_snowed_node("mcl_core:dirt_with_grass_snow", "mcl_core:dirt_with_grass", nil, nil, true)
|
||||
@ -368,7 +368,7 @@ minetest.register_node("mcl_core:grass_path", {
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.4},
|
||||
}),
|
||||
_mcl_blast_resistance = 3.25,
|
||||
_mcl_blast_resistance = 0.65,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
@ -387,7 +387,7 @@ minetest.register_node("mcl_core:mycelium", {
|
||||
|
||||
on_construct = mcl_core.on_snowable_construct,
|
||||
_mcl_snowed = "mcl_core:mycelium_snow",
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
mcl_core.register_snowed_node("mcl_core:mycelium_snow", "mcl_core:mycelium")
|
||||
@ -403,7 +403,7 @@ minetest.register_node("mcl_core:podzol", {
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
on_construct = mcl_core.on_snowable_construct,
|
||||
_mcl_snowed = "mcl_core:podzol_snow",
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
mcl_core.register_snowed_node("mcl_core:podzol_snow", "mcl_core:podzol")
|
||||
@ -417,7 +417,7 @@ minetest.register_node("mcl_core:dirt", {
|
||||
stack_max = 64,
|
||||
groups = {handy=1,shovely=1, dirt=1,soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, enderman_takable=1, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -429,7 +429,7 @@ minetest.register_node("mcl_core:coarse_dirt", {
|
||||
stack_max = 64,
|
||||
groups = {handy=1,shovely=1, dirt=3,soil=1, soil_sugarcane=1, cultivatable=1, enderman_takable=1, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -450,7 +450,7 @@ minetest.register_node("mcl_core:gravel", {
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults({
|
||||
footstep = {name="default_gravel_footstep", gain=0.45},
|
||||
}),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
@ -464,7 +464,7 @@ minetest.register_node("mcl_core:sand", {
|
||||
stack_max = 64,
|
||||
groups = {handy=1,shovely=1, falling_node=1, sand=1, soil_sugarcane=1, enderman_takable=1, building_block=1, material_sand=1},
|
||||
sounds = mcl_sounds.node_sound_sand_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -477,7 +477,7 @@ minetest.register_node("mcl_core:sandstone", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, normal_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -489,7 +489,7 @@ minetest.register_node("mcl_core:sandstonesmooth", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, normal_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -501,7 +501,7 @@ minetest.register_node("mcl_core:sandstonecarved", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, normal_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -514,7 +514,7 @@ minetest.register_node("mcl_core:sandstonesmooth2", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, normal_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -528,7 +528,7 @@ minetest.register_node("mcl_core:redsand", {
|
||||
stack_max = 64,
|
||||
groups = {handy=1,shovely=1, falling_node=1, sand=1, soil_sugarcane=1, enderman_takable=1, building_block=1, material_sand=1},
|
||||
sounds = mcl_sounds.node_sound_sand_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -540,7 +540,7 @@ minetest.register_node("mcl_core:redsandstone", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, red_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -552,7 +552,7 @@ minetest.register_node("mcl_core:redsandstonesmooth", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, red_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -564,7 +564,7 @@ minetest.register_node("mcl_core:redsandstonecarved", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, red_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -576,7 +576,7 @@ minetest.register_node("mcl_core:redsandstonesmooth2", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, sandstone=1, red_sandstone=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -592,7 +592,7 @@ minetest.register_node("mcl_core:clay", {
|
||||
groups = {handy=1,shovely=1, enderman_takable=1, building_block=1},
|
||||
drop = 'mcl_core:clay_lump 4',
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
@ -605,7 +605,7 @@ minetest.register_node("mcl_core:brick_block", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -621,7 +621,7 @@ minetest.register_node("mcl_core:bedrock", {
|
||||
is_ground_content = false,
|
||||
on_blast = function() end,
|
||||
drop = '',
|
||||
_mcl_blast_resistance = 18000000,
|
||||
_mcl_blast_resistance = 3600000,
|
||||
_mcl_hardness = -1,
|
||||
|
||||
-- Eternal fire on top of bedrock, if in the End dimension
|
||||
@ -658,7 +658,7 @@ minetest.register_node("mcl_core:cobble", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -670,7 +670,7 @@ minetest.register_node("mcl_core:mossycobble", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -682,7 +682,7 @@ minetest.register_node("mcl_core:coalblock", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, flammable=1, building_block=1, material_stone=1, fire_encouragement=5, fire_flammability=5},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
@ -694,7 +694,7 @@ minetest.register_node("mcl_core:ironblock", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=2, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
@ -706,7 +706,7 @@ minetest.register_node("mcl_core:goldblock", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=4, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
@ -718,7 +718,7 @@ minetest.register_node("mcl_core:diamondblock", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=4, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
@ -730,7 +730,7 @@ minetest.register_node("mcl_core:lapisblock", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=3, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -742,7 +742,7 @@ minetest.register_node("mcl_core:emeraldblock", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=4, building_block=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
@ -754,7 +754,7 @@ minetest.register_node("mcl_core:obsidian", {
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=5, building_block=1, material_stone=1},
|
||||
_mcl_blast_resistance = 6000,
|
||||
_mcl_blast_resistance = 1200,
|
||||
_mcl_hardness = 50,
|
||||
})
|
||||
|
||||
@ -774,7 +774,7 @@ minetest.register_node("mcl_core:ice", {
|
||||
after_dig_node = function(pos, oldnode)
|
||||
mcl_core.melt_ice(pos)
|
||||
end,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -787,7 +787,7 @@ minetest.register_node("mcl_core:packed_ice", {
|
||||
groups = {handy=1,pickaxey=1, slippery=3, building_block=1},
|
||||
drop = "",
|
||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -851,7 +851,7 @@ for i=0,3 do
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.5)
|
||||
end,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
@ -970,7 +970,7 @@ for i=1,8 do
|
||||
on_place = on_place,
|
||||
after_destruct = mcl_core.after_snow_destruct,
|
||||
drop = "mcl_throwing:snowball "..(i+1),
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_blast_resistance = 0.1,
|
||||
_mcl_hardness = 0.1,
|
||||
})
|
||||
end
|
||||
@ -987,7 +987,7 @@ minetest.register_node("mcl_core:snowblock", {
|
||||
on_construct = mcl_core.on_snow_construct,
|
||||
after_destruct = mcl_core.after_snow_destruct,
|
||||
drop = "mcl_throwing:snowball 4",
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
|
@ -42,7 +42,7 @@ minetest.register_node("mcl_core:cactus", {
|
||||
if not node_below then return false end
|
||||
return (node_below.name == "mcl_core:cactus" or minetest.get_item_group(node_below.name, "sand") == 1)
|
||||
end),
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_blast_resistance = 0.4,
|
||||
_mcl_hardness = 0.4,
|
||||
})
|
||||
|
||||
|
@ -81,7 +81,7 @@ minetest.register_node("mcl_core:ladder", {
|
||||
return itemstack
|
||||
end,
|
||||
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_blast_resistance = 0.4,
|
||||
_mcl_hardness = 0.4,
|
||||
on_rotate = rotate_climbable,
|
||||
})
|
||||
@ -164,7 +164,7 @@ minetest.register_node("mcl_core:vine", {
|
||||
end,
|
||||
|
||||
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
on_rotate = false,
|
||||
})
|
||||
|
@ -14,7 +14,7 @@ minetest.register_node("mcl_core:glass", {
|
||||
groups = {handy=1, glass=1, building_block=1, material_glass=1},
|
||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||
drop = "",
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
})
|
||||
|
||||
@ -49,7 +49,7 @@ function mcl_core.add_stained_glass(desc, recipeitem, colorgroup, color)
|
||||
groups = {handy=1, glass=1, building_block=1, material_glass=1},
|
||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||
drop = "",
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
})
|
||||
|
||||
|
@ -49,7 +49,7 @@ minetest.register_node("mcl_core:water_flowing", {
|
||||
liquid_range = 7,
|
||||
post_effect_color = {a=209, r=0x03, g=0x3C, b=0x5C},
|
||||
groups = { water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1, freezes=1, melt_around=1, dig_by_piston=1},
|
||||
_mcl_blast_resistance = 500,
|
||||
_mcl_blast_resistance = 100,
|
||||
-- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
@ -93,7 +93,7 @@ S("• When water is directly below lava, the water turns into stone."),
|
||||
post_effect_color = {a=209, r=0x03, g=0x3C, b=0x5C},
|
||||
stack_max = 64,
|
||||
groups = { water=3, liquid=3, puts_out_fire=1, freezes=1, not_in_creative_inventory=1, dig_by_piston=1},
|
||||
_mcl_blast_resistance = 500,
|
||||
_mcl_blast_resistance = 100,
|
||||
-- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
@ -139,7 +139,7 @@ minetest.register_node("mcl_core:lava_flowing", {
|
||||
_mcl_node_death_message = lava_death_messages,
|
||||
post_effect_color = {a=255, r=208, g=73, b=10},
|
||||
groups = { lava=3, liquid=2, destroys_items=1, not_in_creative_inventory=1, dig_by_piston=1},
|
||||
_mcl_blast_resistance = 500,
|
||||
_mcl_blast_resistance = 100,
|
||||
-- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
@ -194,7 +194,7 @@ S("• When lava is directly above water, the water turns into stone."),
|
||||
post_effect_color = {a=255, r=208, g=73, b=10},
|
||||
stack_max = 64,
|
||||
groups = { lava=3, liquid=2, destroys_items=1, not_in_creative_inventory=1, dig_by_piston=1},
|
||||
_mcl_blast_resistance = 500,
|
||||
_mcl_blast_resistance = 100,
|
||||
-- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
|
@ -17,7 +17,7 @@ minetest.register_node("mcl_core:bone_block", {
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -76,7 +76,7 @@ minetest.register_node("mcl_core:cobweb", {
|
||||
drop = "mcl_mobitems:string",
|
||||
_mcl_shears_drop = true,
|
||||
sounds = mcl_sounds.node_sound_leaves_defaults(),
|
||||
_mcl_blast_resistance = 20,
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_hardness = 4,
|
||||
})
|
||||
|
||||
@ -135,7 +135,7 @@ minetest.register_node("mcl_core:barrier", {
|
||||
groups = {creative_breakable=1, not_in_creative_inventory = 1, not_solid = 1 },
|
||||
on_blast = function() end,
|
||||
drop = "",
|
||||
_mcl_blast_resistance = 18000003,
|
||||
_mcl_blast_resistance = 36000008,
|
||||
_mcl_hardness = -1,
|
||||
after_place_node = function (pos, placer, itemstack, pointed_thing)
|
||||
if placer == nil then
|
||||
@ -195,7 +195,7 @@ minetest.register_node("mcl_core:realm_barrier", {
|
||||
groups = {not_in_creative_inventory = 1, not_solid = 1 },
|
||||
on_blast = function() end,
|
||||
drop = "",
|
||||
_mcl_blast_resistance = 18000003,
|
||||
_mcl_blast_resistance = 36000008,
|
||||
_mcl_hardness = -1,
|
||||
-- Prevent placement to protect player from screwing up the world, because the node is not pointable and hard to get rid of.
|
||||
node_placement_prediction = "",
|
||||
|
@ -20,7 +20,7 @@ local register_tree_trunk = function(subname, description_trunk, description_bar
|
||||
groups = {handy=1,axey=1, tree=1, flammable=2, building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=5},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -35,7 +35,7 @@ local register_tree_trunk = function(subname, description_trunk, description_bar
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
is_ground_content = false,
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -58,7 +58,7 @@ local register_wooden_planks = function(subname, description, tiles)
|
||||
is_ground_content = false,
|
||||
groups = {handy=1,axey=1, flammable=3,wood=1,building_block=1, material_wood=1, fire_encouragement=5, fire_flammability=20},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
end
|
||||
@ -108,7 +108,7 @@ local register_leaves = function(subname, description, longdesc, tiles, drop1, d
|
||||
drop = drop,
|
||||
_mcl_shears_drop = true,
|
||||
sounds = mcl_sounds.node_sound_leaves_defaults(),
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
end
|
||||
|
@ -35,7 +35,7 @@ minetest.register_node("mcl_crafting_table:crafting_table", {
|
||||
minetest.show_formspec(player:get_player_name(), "main", form)
|
||||
end,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 12.5,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_hardness = 2.5,
|
||||
})
|
||||
|
||||
|
@ -13,7 +13,7 @@ mcl_doors:register_door("mcl_doors:wooden_door", {
|
||||
inventory_image = "doors_item_wood.png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_doors_door_wood_lower.png", "mcl_doors_door_wood_side_lower.png"},
|
||||
tiles_top = {"mcl_doors_door_wood_upper.png", "mcl_doors_door_wood_side_upper.png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
@ -36,7 +36,7 @@ mcl_doors:register_door("mcl_doors:acacia_door", {
|
||||
inventory_image = "mcl_doors_door_acacia.png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_doors_door_acacia_lower.png", "mcl_doors_door_acacia_side_lower.png"},
|
||||
tiles_top = {"mcl_doors_door_acacia_upper.png", "mcl_doors_door_acacia_side_upper.png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
@ -59,7 +59,7 @@ mcl_doors:register_door("mcl_doors:birch_door", {
|
||||
inventory_image = "mcl_doors_door_birch.png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_doors_door_birch_lower.png", "mcl_doors_door_birch_side_lower.png"},
|
||||
tiles_top = {"mcl_doors_door_birch_upper.png", "mcl_doors_door_birch_side_upper.png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
@ -82,7 +82,7 @@ mcl_doors:register_door("mcl_doors:dark_oak_door", {
|
||||
inventory_image = "mcl_doors_door_dark_oak.png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_doors_door_dark_oak_lower.png", "mcl_doors_door_dark_oak_side_lower.png"},
|
||||
tiles_top = {"mcl_doors_door_dark_oak_upper.png", "mcl_doors_door_dark_oak_side_upper.png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
@ -105,7 +105,7 @@ mcl_doors:register_door("mcl_doors:jungle_door", {
|
||||
inventory_image = "mcl_doors_door_jungle.png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_doors_door_jungle_lower.png", "mcl_doors_door_jungle_side_lower.png"},
|
||||
tiles_top = {"mcl_doors_door_jungle_upper.png", "mcl_doors_door_jungle_side_upper.png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
@ -128,7 +128,7 @@ mcl_doors:register_door("mcl_doors:spruce_door", {
|
||||
inventory_image = "mcl_doors_door_spruce.png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_doors_door_spruce_lower.png", "mcl_doors_door_spruce_side_lower.png"},
|
||||
tiles_top = {"mcl_doors_door_spruce_upper.png", "mcl_doors_door_spruce_side_upper.png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
@ -182,7 +182,7 @@ mcl_doors:register_door("mcl_doors:iron_door", {
|
||||
inventory_image = "doors_item_steel.png",
|
||||
groups = {pickaxey=1, mesecon_effector_on=1},
|
||||
_mcl_hardness = 5,
|
||||
_mcl_blast_resistance = 25,
|
||||
_mcl_blast_resistance = 5,
|
||||
tiles_bottom = {"mcl_doors_door_iron_lower.png^[transformFX", "mcl_doors_door_iron_side_lower.png"},
|
||||
tiles_top = {"mcl_doors_door_iron_upper.png^[transformFX", "mcl_doors_door_iron_side_upper.png"},
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
@ -224,7 +224,7 @@ for w=1, #woods do
|
||||
wield_image = woods[w][3],
|
||||
groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
@ -251,7 +251,7 @@ mcl_doors:register_trapdoor("mcl_doors:iron_trapdoor", {
|
||||
wield_image = "doors_trapdoor_steel.png",
|
||||
groups = {pickaxey=1, mesecon_effector_on=1},
|
||||
_mcl_hardness = 5,
|
||||
_mcl_blast_resistance = 25,
|
||||
_mcl_blast_resistance = 5,
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
sound_open = "doors_steel_door_open",
|
||||
sound_close = "doors_steel_door_close",
|
||||
|
@ -15,7 +15,7 @@ minetest.register_node("mcl_end:end_stone", {
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
after_dig_node = mcl_end.check_detach_chorus_plant,
|
||||
_mcl_blast_resistance = 45,
|
||||
_mcl_blast_resistance = 9,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -27,7 +27,7 @@ minetest.register_node("mcl_end:end_bricks", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 9,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -39,7 +39,7 @@ minetest.register_node("mcl_end:purpur_block", {
|
||||
stack_max = 64,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1, purpur_block=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -54,7 +54,7 @@ minetest.register_node("mcl_end:purpur_pillar", {
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1, purpur_block=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -167,7 +167,7 @@ minetest.register_node("mcl_end:dragon_egg", {
|
||||
},
|
||||
groups = {handy=1, falling_node = 1, deco_block = 1, not_in_creative_inventory = 1, dig_by_piston = 1 },
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 45,
|
||||
_mcl_blast_resistance = 9,
|
||||
_mcl_hardness = 3,
|
||||
-- TODO: Make dragon egg teleport on punching
|
||||
})
|
||||
|
@ -200,7 +200,7 @@ minetest.register_node("mcl_end:chorus_flower", {
|
||||
end,
|
||||
after_dig_node = mcl_end.check_detach_chorus_plant,
|
||||
on_blast = mcl_end.check_blast_chorus_plant,
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_blast_resistance = 0.4,
|
||||
_mcl_hardness = 0.4,
|
||||
})
|
||||
|
||||
|
@ -33,7 +33,7 @@ local melon_base_def = {
|
||||
}
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_hardness = 1,
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ local pumpkin_base_def = {
|
||||
groups = {handy=1,axey=1, plant=1,building_block=1, dig_by_piston=1, enderman_takable=1},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_hardness = 1,
|
||||
}
|
||||
minetest.register_node("mcl_farming:pumpkin", pumpkin_base_def)
|
||||
@ -148,7 +148,7 @@ minetest.register_node("mcl_farming:pumpkin_face_light", {
|
||||
mobs_mc.tools.check_snow_golem_summon(pos)
|
||||
end,
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_hardness = 1,
|
||||
})
|
||||
|
||||
|
@ -21,7 +21,7 @@ minetest.register_node("mcl_farming:soil", {
|
||||
end,
|
||||
groups = {handy=1,shovely=1, dirtifies_below_solid=1, dirtifier=1, soil=2, soil_sapling=1, deco_block=1 },
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
@ -44,7 +44,7 @@ minetest.register_node("mcl_farming:soil_wet", {
|
||||
end,
|
||||
groups = {handy=1,shovely=1, not_in_creative_inventory=1, dirtifies_below_solid=1, dirtifier=1, soil=3, soil_sapling=1 },
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
|
@ -149,7 +149,7 @@ minetest.register_node("mcl_farming:hay_block", {
|
||||
groups = {handy=1, flammable=2, fire_encouragement=60, fire_flammability=20, building_block=1, fall_damage_add_percent=-80},
|
||||
sounds = mcl_sounds.node_sound_leaves_defaults(),
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
|
@ -359,7 +359,7 @@ minetest.register_node("mcl_furnaces:furnace", {
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
on_metadata_inventory_take = on_metadata_inventory_take,
|
||||
on_receive_fields = receive_fields,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
on_rotate = on_rotate,
|
||||
})
|
||||
@ -402,7 +402,7 @@ minetest.register_node("mcl_furnaces:furnace_active", {
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
on_metadata_inventory_take = on_metadata_inventory_take,
|
||||
on_receive_fields = receive_fields,
|
||||
_mcl_blast_resistance = 17.5,
|
||||
_mcl_blast_resistance = 3.5,
|
||||
_mcl_hardness = 3.5,
|
||||
on_rotate = on_rotate,
|
||||
})
|
||||
|
@ -112,7 +112,7 @@ local function addhead(name, texture, desc, longdesc, rangemob, rangefactor)
|
||||
|
||||
_mcl_armor_mob_range_mob = rangemob,
|
||||
_mcl_armor_mob_range_factor = rangefactor,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_hardness = 1,
|
||||
})
|
||||
|
||||
@ -146,7 +146,7 @@ local function addhead(name, texture, desc, longdesc, rangemob, rangefactor)
|
||||
}),
|
||||
drop = "mcl_heads:"..name,
|
||||
on_rotate = on_rotate_wall,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_hardness = 1,
|
||||
})
|
||||
|
||||
|
@ -114,7 +114,7 @@ local def_hopper = {
|
||||
end,
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
|
||||
_mcl_blast_resistance = 24,
|
||||
_mcl_blast_resistance = 4.8,
|
||||
_mcl_hardness = 3,
|
||||
}
|
||||
|
||||
@ -303,7 +303,7 @@ local def_hopper_side = {
|
||||
on_rotate = on_rotate,
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
|
||||
_mcl_blast_resistance = 24,
|
||||
_mcl_blast_resistance = 4.8,
|
||||
_mcl_hardness = 3,
|
||||
}
|
||||
|
||||
|
@ -227,7 +227,7 @@ minetest.register_node("mcl_jukebox:jukebox", {
|
||||
end
|
||||
meta:from_table(meta2:to_table())
|
||||
end,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
|
@ -323,7 +323,7 @@ minetest.register_node("mcl_mobspawners:spawner", {
|
||||
|
||||
sounds = mcl_sounds.node_sound_metal_defaults(),
|
||||
|
||||
_mcl_blast_resistance = 25,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
|
@ -26,7 +26,7 @@ local register_block = function(subname, description, tiles, is_ground_content)
|
||||
_tt_help = S("Hides a silverfish"),
|
||||
_doc_items_longdesc = S("An infested block is a block from which a silverfish will pop out when it is broken. It looks identical to its normal counterpart."),
|
||||
_mcl_hardness = 0,
|
||||
_mcl_blast_resistance = 3.75,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -4,7 +4,7 @@ local template = {
|
||||
groups = {handy=1,axey=1, building_block = 1, material_wood = 1, flammable = -1 },
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
is_ground_content = true,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ minetest.register_node("mcl_nether:glowstone", {
|
||||
paramtype = "light",
|
||||
light_source = minetest.LIGHT_MAX,
|
||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
})
|
||||
|
||||
@ -38,7 +38,7 @@ minetest.register_node("mcl_nether:quartz_ore", {
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
drop = 'mcl_nether:quartz',
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 15,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
@ -75,7 +75,7 @@ minetest.register_node("mcl_nether:netherrack", {
|
||||
is_ground_content = true,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1, enderman_takable=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_blast_resistance = 0.4,
|
||||
_mcl_hardness = 0.4,
|
||||
|
||||
-- Eternal fire on top
|
||||
@ -104,7 +104,7 @@ minetest.register_node("mcl_nether:magma", {
|
||||
player:set_hp(player:get_hp() - 1, { type = "punch", from = "mod" })
|
||||
end
|
||||
end,
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
|
||||
-- Eternal fire on top
|
||||
@ -125,7 +125,7 @@ minetest.register_node("mcl_nether:soul_sand", {
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5 - 2/16, 0.5 },
|
||||
},
|
||||
sounds = mcl_sounds.node_sound_sand_defaults(),
|
||||
_mcl_blast_resistance = 2.5,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
-- Movement handling is done in mcl_playerplus mod
|
||||
})
|
||||
@ -139,7 +139,7 @@ minetest.register_node("mcl_nether:nether_brick", {
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -152,7 +152,7 @@ minetest.register_node("mcl_nether:red_nether_brick", {
|
||||
is_ground_content = false,
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -170,7 +170,7 @@ minetest.register_node("mcl_nether:nether_wart_block", {
|
||||
dug={name="default_dirt_footstep", gain=1.5},
|
||||
}
|
||||
),
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_hardness = 1,
|
||||
})
|
||||
|
||||
@ -182,7 +182,7 @@ minetest.register_node("mcl_nether:quartz_block", {
|
||||
tiles = {"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"},
|
||||
groups = {pickaxey=1, quartz_block=1,building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -194,7 +194,7 @@ minetest.register_node("mcl_nether:quartz_chiseled", {
|
||||
tiles = {"mcl_nether_quartz_chiseled_top.png", "mcl_nether_quartz_chiseled_top.png", "mcl_nether_quartz_chiseled_side.png"},
|
||||
groups = {pickaxey=1, quartz_block=1,building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
@ -209,7 +209,7 @@ minetest.register_node("mcl_nether:quartz_pillar", {
|
||||
groups = {pickaxey=1, quartz_block=1,building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
on_rotate = on_rotate,
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
minetest.register_node("mcl_nether:quartz_smooth", {
|
||||
@ -220,7 +220,7 @@ minetest.register_node("mcl_nether:quartz_smooth", {
|
||||
tiles = {"mcl_nether_quartz_block_bottom.png"},
|
||||
groups = {pickaxey=1, quartz_block=1,building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
_mcl_hardness = 0.8,
|
||||
})
|
||||
|
||||
|
@ -90,7 +90,7 @@ for c=1, #corals do
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
drop = "mcl_ocean:dead_"..id.."_coral_block",
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
minetest.register_node("mcl_ocean:dead_"..id.."_coral_block", {
|
||||
description = corals[c][3],
|
||||
@ -99,7 +99,7 @@ for c=1, #corals do
|
||||
groups = { pickaxey = 1, building_block = 1, coral=2, coral_block=2, coral_species=c, },
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
|
||||
-- Coral
|
||||
|
@ -19,7 +19,7 @@ minetest.register_node("mcl_ocean:sea_lantern", {
|
||||
tiles = {{name="mcl_ocean_sea_lantern.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.25}}},
|
||||
groups = {handy=1, building_block=1, material_glass=1},
|
||||
sounds = mcl_sounds.node_sound_glass_defaults(),
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
})
|
||||
|
||||
@ -32,7 +32,7 @@ minetest.register_node("mcl_ocean:prismarine", {
|
||||
tiles = {{name="mcl_ocean_prismarine_anim.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=45.0}}},
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -44,7 +44,7 @@ minetest.register_node("mcl_ocean:prismarine_brick", {
|
||||
tiles = {"mcl_ocean_prismarine_bricks.png"},
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
@ -56,7 +56,7 @@ minetest.register_node("mcl_ocean:prismarine_dark", {
|
||||
tiles = {"mcl_ocean_prismarine_dark.png"},
|
||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
|
@ -79,7 +79,7 @@ minetest.register_node("mcl_portals:portal_end", {
|
||||
groups = {portal=1, not_in_creative_inventory = 1, disable_jump = 1},
|
||||
|
||||
_mcl_hardness = -1,
|
||||
_mcl_blast_resistance = 18000000,
|
||||
_mcl_blast_resistance = 36000000,
|
||||
})
|
||||
|
||||
-- Obsidian platform at the End portal destination in the End
|
||||
@ -329,7 +329,7 @@ minetest.register_node("mcl_portals:end_portal_frame", {
|
||||
|
||||
on_rotate = rotate_frame,
|
||||
|
||||
_mcl_blast_resistance = 18000000,
|
||||
_mcl_blast_resistance = 36000000,
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
|
||||
@ -368,7 +368,7 @@ minetest.register_node("mcl_portals:end_portal_frame_eye", {
|
||||
|
||||
on_rotate = rotate_frame_eye,
|
||||
|
||||
_mcl_blast_resistance = 18000000,
|
||||
_mcl_blast_resistance = 36000000,
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
|
||||
|
@ -412,7 +412,7 @@ minetest.register_node("mcl_signs:wall_sign", {
|
||||
end
|
||||
end,
|
||||
_mcl_hardness = 1,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
})
|
||||
|
||||
-- Standing sign nodes.
|
||||
@ -452,7 +452,7 @@ local ssign = {
|
||||
end,
|
||||
|
||||
_mcl_hardness = 1,
|
||||
_mcl_blast_resistance = 5,
|
||||
_mcl_blast_resistance = 1,
|
||||
}
|
||||
|
||||
minetest.register_node("mcl_signs:standing_sign", ssign)
|
||||
|
@ -90,7 +90,7 @@ minetest.register_node("mcl_sponges:sponge", {
|
||||
end
|
||||
return minetest.item_place_node(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
@ -108,7 +108,7 @@ minetest.register_node("mcl_sponges:sponge_wet", {
|
||||
stack_max = 64,
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
groups = {handy=1, building_block=1},
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
@ -127,7 +127,7 @@ if minetest.get_modpath("mclx_core") then
|
||||
stack_max = 64,
|
||||
sounds = mcl_sounds.node_sound_dirt_defaults(),
|
||||
groups = {handy=1, building_block=1},
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
mcl_explosions
|
||||
mcl_sounds?
|
||||
mcl_mobitems?
|
||||
mcl_death_messages?
|
||||
|
@ -103,6 +103,11 @@ minetest.register_node("mcl_tnt:tnt", {
|
||||
_doc_items_usagehelp = S("Place the TNT and ignite it with one of the methods above. Quickly get in safe distance. The TNT will start to be affected by gravity and explodes in 4 seconds."),
|
||||
groups = { dig_immediate = 3, tnt = 1, enderman_takable=1 },
|
||||
mesecons = tnt_mesecons,
|
||||
on_blast = function(pos)
|
||||
local e = spawn_tnt(pos, "mcl_tnt:tnt")
|
||||
e:get_luaentity().timer = tnt.BOOMTIMER - (0.5 + math.random())
|
||||
return true
|
||||
end,
|
||||
_on_ignite = function(player, pointed_thing)
|
||||
tnt.ignite(pointed_thing.under)
|
||||
return true
|
||||
@ -129,6 +134,7 @@ local TNT = {
|
||||
-- Initial value for our timer
|
||||
timer = 0,
|
||||
blinktimer = 0,
|
||||
tnt_knockback = true,
|
||||
blinkstatus = true,}
|
||||
|
||||
function TNT:on_activate(staticdata)
|
||||
@ -204,7 +210,7 @@ function TNT:on_step(dtime)
|
||||
self.blinkstatus = not self.blinkstatus
|
||||
end
|
||||
if self.timer > tnt.BOOMTIMER then
|
||||
tnt.boom(self.object:get_pos(), nil, self.object)
|
||||
mcl_explosions.explode(self.object:get_pos(), 4, { drop_chance = 1.0 })
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
|
@ -166,7 +166,7 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||
fixed = take
|
||||
},
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
@ -193,7 +193,7 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||
fixed = {pillar, full_blocks[1]}
|
||||
},
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
-- Add entry alias for the Help
|
||||
@ -218,7 +218,7 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||
fixed = {pillar, full_blocks[2]}
|
||||
},
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
-- Add entry alias for the Help
|
||||
@ -249,7 +249,7 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||
collisionbox = {-0.2, 0, -0.2, 0.2, 1.4, 0.2},
|
||||
on_construct = update_wall,
|
||||
sounds = sounds,
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
if source then
|
||||
|
@ -63,7 +63,7 @@ for _, row in ipairs(wool.dyes) do
|
||||
groups = {handy=1,shearsy_wool=1, flammable=1,fire_encouragement=30, fire_flammability=60, wool=1,building_block=1,[color_group]=1},
|
||||
sounds = mcl_sounds.node_sound_wool_defaults(),
|
||||
_mcl_hardness = 0.8,
|
||||
_mcl_blast_resistance = 4,
|
||||
_mcl_blast_resistance = 0.8,
|
||||
})
|
||||
minetest.register_node("mcl_wool:"..name.."_carpet", {
|
||||
description = desc_carpet,
|
||||
@ -89,7 +89,7 @@ for _, row in ipairs(wool.dyes) do
|
||||
},
|
||||
},
|
||||
_mcl_hardness = 0.1,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_blast_resistance = 0.1,
|
||||
})
|
||||
if mod_doc and not is_canonical then
|
||||
doc.add_entry_alias("nodes", "mcl_wool:"..canonical_color, "nodes", "mcl_wool:"..name)
|
||||
|
@ -202,7 +202,7 @@ local pane = function(description, node, append)
|
||||
{node, node, node},
|
||||
},
|
||||
drop = "",
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
})
|
||||
|
||||
@ -225,7 +225,7 @@ xpanes.register_pane("bar", {
|
||||
{"mcl_core:iron_ingot", "mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
||||
{"mcl_core:iron_ingot", "mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
||||
},
|
||||
_mcl_blast_resistance = 30,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 5,
|
||||
})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user