Merge branch 'master' of ssh://git.minetest.land:29418/opfromthestart/MineClone2 into better_dispensers

This commit is contained in:
opfromthestart 2022-08-10 21:40:06 -04:00
commit f2c18f0103
10 changed files with 84 additions and 6 deletions

View File

@ -24,6 +24,10 @@ local function is_ice(pos)
return is_group(pos, "ice")
end
local function is_fire(pos)
return is_group(pos, "set_on_fire")
end
local function get_sign(i)
if i == 0 then
return 0
@ -218,6 +222,10 @@ function boat.on_step(self, dtime, moveresult)
on_water = false
if not in_water and is_ice(waterp) then
on_ice = true
elseif is_fire({x=p.x, y=p.y-boat_y_offset, z=p.z}) then
boat.on_death(self, nil)
self.object:remove()
return
else
v_slowdown = 0.04
v_factor = 0.5

View File

@ -184,8 +184,9 @@ lightning.register_on_strike(function(pos, pos2, objects)
for i = 1, #playerlist do
local player = playerlist[i]
local sky = {}
local sky_table = player:get_sky(true)
sky.bgcolor, sky.type, sky.textures = player:get_sky()
sky.bgcolor, sky.type, sky.textures = sky_table.base_color, sky_table.type, sky_table.textures
local name = player:get_player_name()
if ps[name] == nil then

View File

@ -2,6 +2,7 @@ local PARTICLES_COUNT_RAIN = tonumber(minetest.settings:get("mcl_weather_rain_pa
local PARTICLES_COUNT_THUNDER = tonumber(minetest.settings:get("mcl_weather_thunder_particles")) or 900
local get_connected_players = minetest.get_connected_players
local mgname = minetest.get_mapgen_setting("mg_name")
mcl_weather.rain = {
-- max rain particles created at time
@ -91,7 +92,7 @@ end
function mcl_weather.rain.add_player(player)
if mcl_weather.players[player:get_player_name()] == nil then
local player_meta = {}
player_meta.origin_sky = {player:get_sky()}
player_meta.origin_sky = {player:get_sky(true)}
mcl_weather.players[player:get_player_name()] = player_meta
update_sound[player:get_player_name()]=true
end

View File

@ -246,7 +246,7 @@ mcl_weather.skycolor = {
get_current_bg_color = function()
local players = mcl_weather.skycolor.utils.get_players(nil)
if players[1] then
return players[1]:get_sky()
return players[1]:get_sky(true).sky_color
end
return nil
end

View File

@ -106,7 +106,7 @@ local function info()
end
after(refresh_interval, info)
end
info()
minetest.after(0,info)
minetest.register_on_leaveplayer(function(p)
local name = p:get_player_name()

View File

@ -294,7 +294,7 @@ local dispenserdef = {
local item_entity = minetest.add_item(droppos, dropitem)
local drop_vel = vector.subtract(droppos, pos)
local speed = 3
item_entity:set_velocity(drop_vel * speed)
item_entity:set_velocity(vector.multiply(drop_vel,speed))
end
else
stack:take_item()

View File

@ -1,2 +1,3 @@
name = mcl_beacons
author=chmodsayshello
depends=mcl_formspec, mcl_init, mcl_wip, mesecons_mvps, mcl_core, mcl_sounds, awards, mcl_achievements, mcl_mobitems, mcl_nether

View File

@ -246,7 +246,7 @@ dofile(modpath.."/igloo.lua")
dofile(modpath.."/woodland_mansion.lua")
dofile(modpath.."/ruined_portal.lua")
dofile(modpath.."/geode.lua")
dofile(modpath.."/pillager_outpost.lua")
mcl_structures.register_structure("desert_well",{

View File

@ -0,0 +1,67 @@
local modname = minetest.get_current_modname()
local S = minetest.get_translator(modname)
local modpath = minetest.get_modpath(modname)
mcl_structures.register_structure("pillager_outpost",{
place_on = {"group:grass_block","group:dirt","mcl_core:dirt_with_grass","group:sand"},
fill_ratio = 0.01,
flags = "place_center_x, place_center_z",
solid_ground = true,
make_foundation = true,
sidelen = 18,
y_offset = 0,
chunk_probability = 600,
y_max = mcl_vars.mg_overworld_max,
y_min = 1,
biomes = { "Desert", "Plains", "Savanna", "IcePlains", "Taiga" },
filenames = { modpath.."/schematics/mcl_structures_pillager_outpost.mts" },
loot = {
["mcl_chests:chest_small" ] ={
{
stacks_min = 2,
stacks_max = 3,
items = {
{ itemstring = "mcl_farming:wheat_item", weight = 7, amount_min = 3, amount_max=5 },
{ itemstring = "mcl_farming:carrot_item", weight = 5, amount_min = 3, amount_max=5 },
{ itemstring = "mcl_farming:potato_item", weight = 5, amount_min = 2, amount_max=5 },
}
},
{
stacks_min = 1,
stacks_max = 2,
items = {
{ itemstring = "mcl_experience:bottle", weight = 6, amount_min = 0, amount_max=1 },
{ itemstring = "mcl_bows:arrow", weight = 4, amount_min = 2, amount_max=7 },
{ itemstring = "mcl_mobitems:string", weight = 4, amount_min = 1, amount_max=6 },
{ itemstring = "mcl_core:iron_ingot", weight = 3, amount_min = 1, amount_max = 3 },
{ itemstring = "mcl_books:book", weight = 1, func = function(stack, pr)
mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr)
end },
}
},
{
stacks_min = 1,
stacks_max = 3,
items = {
{ itemstring = "mcl_core:darktree", amount_min = 2, amount_max=3 },
}
},
{
stacks_min = 1,
stacks_max = 1,
items = {
{ itemstring = "mcl_bows:crossbow" },
}
}}
},
after_place = function(p,def,pr)
local p1 = vector.offset(p,-7,0,-7)
local p2 = vector.offset(p,7,14,7)
for _,n in pairs(minetest.find_nodes_in_area(p1,p2,{"group:wall"})) do
local def = minetest.registered_nodes[minetest.get_node(n).name:gsub("_%d+$","")]
if def and def.on_construct then
def.on_construct(n)
end
end
end
})