From 5df668f6af474c56dfe72dfadc177dfe67f3e0c0 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Wed, 17 Mar 2021 16:56:46 +0100 Subject: [PATCH 1/4] fix mcl_buckets extra_check #1320 --- mods/ITEMS/mcl_buckets/init.lua | 2 +- mods/ITEMS/mcl_buckets/register.lua | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_buckets/init.lua b/mods/ITEMS/mcl_buckets/init.lua index 523b10ef..30e4075c 100644 --- a/mods/ITEMS/mcl_buckets/init.lua +++ b/mods/ITEMS/mcl_buckets/init.lua @@ -92,7 +92,7 @@ function mcl_buckets.register_liquid(def) -- Check if pointing to a buildable node local item = itemstack:get_name() - if extra_check and extra_check(place_pos, user) == false then + if def.extra_check and def.extra_check(place_pos, user) == false then -- Fail placement of liquid elseif minetest.registered_nodes[nn] and minetest.registered_nodes[nn].buildable_to then -- buildable; replace the node diff --git a/mods/ITEMS/mcl_buckets/register.lua b/mods/ITEMS/mcl_buckets/register.lua index 1af9fcdb..b5d86ac0 100644 --- a/mods/ITEMS/mcl_buckets/register.lua +++ b/mods/ITEMS/mcl_buckets/register.lua @@ -2,6 +2,20 @@ local S = minetest.get_translator(minetest.get_current_modname()) local mod_mcl_core = minetest.get_modpath("mcl_core") local mod_mclx_core = minetest.get_modpath("mclx_core") +local sound_place = function(itemname, pos) + local def = minetest.registered_nodes[itemname] + if def and def.sounds and def.sounds.place then + minetest.sound_play(def.sounds.place, {gain=1.0, pos = pos, pitch = 1 + math.random(-10, 10)*0.005}, true) + end +end + +local sound_take = function(itemname, pos) + local def = minetest.registered_nodes[itemname] + if def and def.sounds and def.sounds.dug then + minetest.sound_play(def.sounds.dug, {gain=1.0, pos = pos, pitch = 1 + math.random(-10, 10)*0.005}, true) + end +end + if mod_mcl_core then -- Lava bucket mcl_buckets.register_liquid({ From 6b1ce182d3c5fac70e035e14914e29582ec75bd4 Mon Sep 17 00:00:00 2001 From: epCode Date: Wed, 17 Mar 2021 13:47:02 -0700 Subject: [PATCH 2/4] Make players able to shoot themselves --- mods/ITEMS/mcl_bows/arrow.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index 5f2713fd..61cb26f3 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -116,6 +116,8 @@ end ARROW_ENTITY.on_step = function(self, dtime) mcl_burning.tick(self.object, dtime) + self._time_in_air = self._time_in_air + .001 + local pos = self.object:get_pos() local dpos = table.copy(pos) -- digital pos dpos = vector.round(dpos) @@ -125,9 +127,11 @@ ARROW_ENTITY.on_step = function(self, dtime) self.object:remove() end - if self.object:get_attach() and not self.object:get_attach(parent) then - self.object:remove() - end + minetest.register_on_leaveplayer(function(player) + if self.object:get_attach(parent) == player then + self.object:remove() + end + end) if self._stuck then self._stucktimer = self._stucktimer + dtime @@ -208,10 +212,10 @@ ARROW_ENTITY.on_step = function(self, dtime) for k, obj in pairs(objs) do local ok = false -- Arrows can only damage players and mobs - if obj ~= self._shooter and obj:is_player() then + if obj:is_player() then ok = true elseif obj:get_luaentity() ~= nil then - if obj ~= self._shooter and (obj:get_luaentity()._cmi_is_mob or obj:get_luaentity()._hittable_by_projectile) then + if (obj:get_luaentity()._cmi_is_mob or obj:get_luaentity()._hittable_by_projectile) then ok = true end end @@ -229,11 +233,12 @@ ARROW_ENTITY.on_step = function(self, dtime) end -- If an attackable object was found, we will damage the closest one only + if closest_object ~= nil then local obj = closest_object local is_player = obj:is_player() local lua = obj:get_luaentity() - if obj ~= self._shooter and (is_player or (lua and (lua._cmi_is_mob or lua._hittable_by_projectile))) then + if obj == self._shooter and self._time_in_air > 1.02 or obj ~= self._shooter and (is_player or (lua and (lua._cmi_is_mob or lua._hittable_by_projectile))) then if obj:get_hp() > 0 then -- Check if there is no solid node between arrow and object local ray = minetest.raycast(self.object:get_pos(), obj:get_pos(), true) @@ -462,6 +467,7 @@ ARROW_ENTITY.get_staticdata = function(self) end ARROW_ENTITY.on_activate = function(self, staticdata, dtime_s) + self._time_in_air = 1.0 self._in_player = false local data = minetest.deserialize(staticdata) if data then From e52d58d15a78f3299458c3c2049975b4be722181 Mon Sep 17 00:00:00 2001 From: epCode Date: Wed, 17 Mar 2021 22:50:22 +0000 Subject: [PATCH 3/4] Remove skeleton horse texture for copyright reasons see #1322 --- .../mobs_mc/textures/mobs_mc_horse_skeleton.png | Bin 5972 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_skeleton.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_skeleton.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_skeleton.png deleted file mode 100644 index 7fa9ce1de368b5a739b74cd9cdfb3d0ca9231eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5972 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 From 61ef6ebc034af2e38f0980a259689f79f22b6ef4 Mon Sep 17 00:00:00 2001 From: epCode Date: Wed, 17 Mar 2021 22:54:04 +0000 Subject: [PATCH 4/4] Remove skeleton horse from immediate game --- mods/ENTITIES/mobs_mc/horse.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ENTITIES/mobs_mc/horse.lua b/mods/ENTITIES/mobs_mc/horse.lua index 4e588855..a59ed80d 100644 --- a/mods/ENTITIES/mobs_mc/horse.lua +++ b/mods/ENTITIES/mobs_mc/horse.lua @@ -450,7 +450,7 @@ mobs:spawn_specific("mobs_mc:donkey", mobs_mc.spawn.grassland_savanna, {"air"}, -- spawn eggs mobs:register_egg("mobs_mc:horse", S("Horse"), "mobs_mc_spawn_icon_horse.png", 0) -mobs:register_egg("mobs_mc:skeleton_horse", S("Skeleton Horse"), "mobs_mc_spawn_icon_horse_skeleton.png", 0) +--mobs:register_egg("mobs_mc:skeleton_horse", S("Skeleton Horse"), "mobs_mc_spawn_icon_horse_skeleton.png", 0) --mobs:register_egg("mobs_mc:zombie_horse", S("Zombie Horse"), "mobs_mc_spawn_icon_horse_zombie.png", 0) mobs:register_egg("mobs_mc:donkey", S("Donkey"), "mobs_mc_spawn_icon_donkey.png", 0) mobs:register_egg("mobs_mc:mule", S("Mule"), "mobs_mc_spawn_icon_mule.png", 0)