Compare commits

..

1 Commits

Author SHA1 Message Date
Elias Åström 1320b27600 Merge pull request 'mcl_explosions: Adjust explosion entity damage hitbox' (#62) from mcl_explosions2 into fake_master
Reviewed-on: Mineclonia/Mineclonia#62
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-05-19 09:35:34 +00:00
337 changed files with 732 additions and 895 deletions

View File

@ -1,38 +0,0 @@
---
name: "Bug Report"
about: "Use this for when something's broken."
labels:
- bug
- unconfirmed
---
##### What happened?
<!-- Describe what's wrong. -->
##### What did I expect?
<!-- Describe what should be happening instead -->
##### How to get it to happen
<!--
Write down exactly what you did to get the bug to happen
If you need more steps, just keep adding numbers. If you
don't need them all, delete the empty numbers.
-->
1.
2.
3.
##### Environment
Mineclonia Version: <!-- Paste the version of Mineclonia here, if you know it. -->
<!--
Please refer to https://git.minetest.land/Mineclonia/Mineclonia/wiki/Reporting-Bugs
if you need help finding your Minetest version.
-->
Minetest Version:

View File

@ -1,22 +0,0 @@
---
name: "Feature Request"
about: "Mineclonia doesn't do something you need it to"
labels:
- "feature request"
---
##### Problem
<!--
Describe what's wrong.
If you're reporting a missing feature from Minecraft,
please include a link to the Minetest wiki or Mojang bug
tracker entry describing that feature.
-->
##### Solution
<!-- Write down an example of what you'd like to happen. -->

View File

@ -1,51 +0,0 @@
<!--
Please include the main mod this PR affects in the title, including
the leading directory. For example, if you have added a new
type of banner to mcl_banners, the title should look like:
items/mcl_banners: add new banner type
-->
##### Problem
TRACKING ISSUE: #<!-- Tracking issue number -->
<!--
Describe WHAT problem this pull request solves.
If the tracking issue includes all the needed
information, you can leave this section empty.
-->
##### Solution
<!-- Describe HOW this pull request solves its problem. -->
##### Details
<!-- Include any additional information here. -->
##### Testing Steps
<!--
Write how we can verify this patch addresses its problem.
If you need more steps, just keep adding numbers. If you
don't need them all, delete the empty numbers.
-->
1.
2.
3.
<!--
If your pull request still needs work, uncomment the
following section and include a list of things that
need to be done before it's ready for us to look at.
Please remember to put WIP: in front of the title as well.
-->
<!--
##### To do
- [ ] Item 1
- [ ] Item 2
- [ ] Item 3
-->

View File

@ -1,102 +0,0 @@
std = "min"
read_globals = {
"ItemStack",
"dump", "dump2",
"vector",
"VoxelArea",
"minetest",
"PseudoRandom",
"PerlinNoise",
"PcgRandom",
string = {fields = {"split", "trim"}},
table = {fields = {"copy", "getn", "indexof", "insert_all"}},
math = {fields = {"hypot", "round"}},
}
-- A config option to allow r/w access to mods which contain
-- this one. It only avoids a couple warnings, and may not be
-- the behavior we want, so it's disabled by default.
local allow_parents=false
local lfs = require "lfs"
-- Seed the queue with the mods/ directory
local queue={ {"mods"} }
local function check(dir)
-- Get the string of the directory path
local sdir=table.concat(dir, "/")
-- Save the top-level directory name as a
-- fallback in case there's no mod.conf,
-- or no name= directive.
local name=dir[#dir]
-- Is there a mod.conf?
if lfs.attributes(sdir.."/mod.conf", "mode") == "file" then
local deps={}
for line in io.lines(sdir.."/mod.conf") do
-- Use name= if it's there
name=string.match(line, "name *= *([a-zA-Z0-9_]+)") or name
-- Get the dependency entries (if they're there)
local ents=string.match(line, "depends *=(.*)$")
if ents then
-- Split them in to the comma-separated names
for m in string.gmatch(ents, "([a-zA-Z0-9_]+),?") do
table.insert(deps, m)
end
end
end
local glb={ name }
if allow_parents then
for _, v in pairs(dir) do
-- Skip ALL-CAPS names since those tend
-- to be collections of mods instead of
-- mods themselves.
if not string.match(v, "^[A-Z]+$") then
table.insert(glb, v)
end
end
end
-- Tell Luacheck what the directory is allowed to do
files[sdir]={
globals = glb,
read_globals = deps,
}
elseif lfs.attributes(sdir.."/init.lua", "mode") == "file" then
-- No mod.conf, but there's an init.lua here.
local glb={ name }
if allow_parents then
for _, v in pairs(dir) do
-- Again, skip ALL-CAPS.
if not string.match(v, "^[A-Z]+$") then
table.insert(glb, v)
end
end
end
files[sdir]={ globals=glb }
end
-- Queue any child directories
for d in lfs.dir(sdir) do
-- Skip hidden directories and parent/current directories.
if lfs.attributes(sdir.."/"..d, "mode") == "directory" and not string.match(d, "^%.") then
-- Copy dir in to nd (New Dir)
local nd={}
for k, v in pairs(dir) do
nd[k]=v
end
nd[#nd+1]=d
table.insert(queue, nd)
end
end
end
while #queue > 0 do
-- Pop an entry and process it.
check(table.remove(queue, 1))
end

View File

@ -149,7 +149,7 @@ These groups are used mostly for informational purposes
* `trapdoor=2`: Open trapdoor
* `glass=1`: Glass (full cubes only)
* `rail=1`: Rail
* `music_record=1`: Music Disc
* `music_record`: Music Disc (rating is track ID)
* `tnt=1`: Block is TNT
* `boat=1`: Boat
* `minecart=1`: Minecart

View File

@ -207,10 +207,6 @@ end
function mcl_autogroup.can_harvest(nodename, toolname)
local ndef = minetest.registered_nodes[nodename]
if not ndef then
return false
end
if minetest.get_item_group(nodename, "dig_immediate") >= 2 then
return true
end

View File

@ -0,0 +1 @@
Adds additional ways for nodes to be attached.

View File

@ -1,2 +0,0 @@
name = mcl_attached
description = Adds additional ways for nodes to be attached.

View File

@ -57,44 +57,46 @@ local function compute_sphere_rays(radius)
local rays = {}
local sphere = {}
local function add_ray(pos)
sphere[minetest.hash_node_position(pos)] = pos
end
for y = -radius, radius do
for z = -radius, radius do
for x = -radius, 0 do
local d = x * x + y * y + z * z
if d <= radius * radius then
add_ray(vector.new(x, y, z))
add_ray(vector.new(-x, y, z))
break
end
end
end
end
for x = -radius, radius do
for z = -radius, radius do
for y = -radius, 0 do
local d = x * x + y * y + z * z
if d <= radius * radius then
add_ray(vector.new(x, y, z))
add_ray(vector.new(x, -y, z))
break
end
end
end
end
for x = -radius, radius do
for i=1, 2 do
for y = -radius, radius do
for z = -radius, 0 do
local d = x * x + y * y + z * z
if d <= radius * radius then
add_ray(vector.new(x, y, z))
add_ray(vector.new(x, y, -z))
break
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
end
for i=1,2 do
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
end
for i=1,2 do
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

View File

@ -0,0 +1 @@
Initialization mod of MineClone 2. Defines some common shared variables and sets up initial default settings which have to be set at the beginning.

View File

@ -1,2 +1 @@
name = mcl_init
description = Initialization mod of MineClone 2. Defines some common shared variables and sets up initial default settings which have to be set at the beginning.

View File

@ -0,0 +1 @@
API for filling a chest with random treasures.

View File

@ -1,2 +1 @@
name = mcl_loot
description = API for filling a chest with random treasures.

View File

@ -0,0 +1 @@
Contains particle images of MineClone 2. No code.

View File

@ -1,2 +1 @@
name = mcl_particles
description = Contains particle images of MineClone 2. No code.

View File

@ -0,0 +1 @@
This mod contains the core sounds of MineClone 2 as well as helper function for mods to access them.

View File

@ -1,2 +1 @@
name = mcl_sounds
description = This mod contains the core sounds of MineClone 2 as well as helper function for mods to access them.

View File

@ -0,0 +1 @@
mcl_init

View File

@ -0,0 +1 @@
Helper functions for MineClone 2.

View File

@ -1,3 +1 @@
name = mcl_util
description = Helper functions for MineClone 2.
depends = mcl_init

View File

@ -0,0 +1 @@
mcl_init

View File

@ -0,0 +1 @@
Utility functions for worlds and the “dimensions”.

View File

@ -1,3 +0,0 @@
name = mcl_worlds
description = Utility functions for worlds and the “dimensions”.
depends = mcl_init

View File

@ -0,0 +1 @@
mcl_core

View File

@ -1,2 +0,0 @@
name = drippingwater
depends = mcl_core

View File

@ -0,0 +1,3 @@
mcl_player
mcl_core?
doc_identifier?

View File

@ -0,0 +1 @@
Adds drivable boats.

View File

@ -243,7 +243,7 @@ function boat.on_step(self, dtime, moveresult)
else
local ctrl = self._passenger:get_player_control()
if ctrl and ctrl.sneak then
detach_object(self._passenger, true)
detach_player(self._passenger, true)
self._passenger = nil
end
end

View File

@ -1,4 +1 @@
name = mcl_boats
description = Adds drivable boats.
depends = mcl_player
optional_depends = mcl_core, doc_identifier

View File

@ -0,0 +1 @@
Falling node entities, Minecraft-style

View File

@ -1,2 +1 @@
name = mcl_falling_nodes
description = Falling node entities, Minecraft-style

View File

@ -0,0 +1,2 @@
flowlib
mcl_enchanting

View File

@ -0,0 +1 @@
Dropped items will be attracted to the player like a magnet.

View File

@ -1,3 +1 @@
name = mcl_item_entity
description = Dropped items will be attracted to the player like a magnet.
depends = flowlib, mcl_enchanting

View File

@ -0,0 +1,12 @@
mcl_explosions
mcl_core
mcl_sounds
mcl_player
mcl_achievements
mcl_chests
mcl_furnaces
mesecons_commandblock
mcl_hoppers
mcl_tnt
mesecons
doc_identifier?

View File

@ -0,0 +1 @@
Minecarts are vehicles to move players quickly on rails.

View File

@ -1,4 +1 @@
name = mcl_minecarts
description = Minecarts are vehicles to move players quickly on rails.
depends = mcl_explosions, mcl_core, mcl_sounds, mcl_player, mcl_achievements, mcl_chests, mcl_furnaces, mesecons_commandblock, mcl_hoppers, mcl_tnt, mesecons
optional_depends = doc_identifier

View File

@ -0,0 +1 @@
Adds a mob API for mods to add animals or monsters, etc.

View File

@ -1,4 +1,3 @@
name = mcl_mobs
depends = mcl_particles
optional_depends = mcl_weather, mcl_explosions, mcl_hunger, mcl_worlds, invisibility, lucky_block, cmi, doc_identifier, mcl_armor, mcl_portals, mcl_experience
description = Adds a mob API for mods to add animals or monsters, etc.

View File

@ -0,0 +1,12 @@
mcl_init
mcl_particles
default?
mcl_mobs
mcl_tnt?
mcl_bows?
mcl_throwing?
mcl_fishing?
bones?
mesecons_materials?
mobs_mc_gameconfig?
doc_items?

View File

@ -0,0 +1 @@
Adds Minecraft-like monsters and animals.

View File

@ -1,4 +1 @@
name = mobs_mc
description = Adds Minecraft-like monsters and animals.
depends = mcl_init, mcl_particles, mcl_mobs
optional_depends = default, mcl_tnt, mcl_bows, mcl_throwing, mcl_fishing, bones, mesecons_materials, mobs_mc_gameconfig, doc_items

View File

@ -0,0 +1,2 @@
mcl_init
mcl_core

View File

@ -1,2 +0,0 @@
name = mobs_mc_gameconfig
depends = mcl_init, mcl_core

View File

@ -0,0 +1,2 @@
mcl_fire
mcl_death_messages?

View File

@ -0,0 +1 @@
A mod that adds thunder and lightning effects.

View File

@ -1,4 +1 @@
name = lightning
description = A mod that adds thunder and lightning effects.
depends = mcl_fire
optional_depends = mcl_death_messages

View File

@ -0,0 +1,2 @@
mcl_worlds
mcl_death_messages

View File

@ -0,0 +1 @@
Deal damage to entities stuck in the deep void

View File

@ -1,3 +1 @@
name = mcl_void_damage
description = Deal damage to entities stuck in the deep void
depends = mcl_worlds, mcl_death_messages

View File

@ -0,0 +1,3 @@
mcl_init
mcl_worlds
lightning?

View File

@ -0,0 +1 @@
Weather and sky handling: Rain, snow, thunderstorm, End and Nether ambience

View File

@ -1,4 +1 @@
name = mcl_weather
description = Weather and sky handling: Rain, snow, thunderstorm, End and Nether ambience
depends = mcl_init, mcl_worlds
optional_depends = lightning

View File

@ -0,0 +1 @@
Provides an extensible in-game help with texts about gameplay basics (such a crafting), items and advanced usage.

View File

@ -1,2 +0,0 @@
name = doc
description = Provides an extensible in-game help with texts about gameplay basics (such a crafting), items and advanced usage.

View File

@ -0,0 +1,6 @@
mcl_core
mcl_compass
mcl_clock
doc
sfinv?
sfinv_buttons?

View File

@ -0,0 +1,2 @@
The most comprehensive Crafting Guide
on Minetest.

View File

@ -1,5 +1 @@
name = mcl_craftguide
description = The most comprehensive Crafting Guide
on Minetest.
depends = mcl_core, mcl_compass, mcl_clock, doc
optional_depends = sfinv, sfinv_buttons

View File

@ -0,0 +1,2 @@
doc
doc_items

View File

@ -0,0 +1 @@
This MineClone 2 mod sets up and configures the Help modpack mods to tailor the help towards MineClone 2.

View File

@ -1,3 +1 @@
name = mcl_doc
description = This MineClone 2 mod sets up and configures the Help modpack mods to tailor the help towards MineClone 2.
depends = doc, doc_items

View File

@ -0,0 +1,2 @@
tt
mcl_enchanting

View File

@ -1,2 +0,0 @@
name = mcl_tt
depends = tt, mcl_enchanting

View File

@ -0,0 +1,2 @@
sfinv?
unified_inventory?

View File

@ -0,0 +1 @@
Adds achievements to Minetest, and an API to register new ones.

View File

@ -5,4 +5,3 @@ description = Adds achievements to Minetest, and an API to register new ones.
license = LGPL 2.1 or later
forum = https://forum.minetest.net/viewtopic.php?t=4870
version = 2.3.0
optional_depends = sfinv, unified_inventory

View File

@ -0,0 +1 @@
awards

View File

@ -1,2 +1 @@
name = mcl_achievements
depends = awards

View File

@ -0,0 +1 @@
Provides core textures needed by Minetest.

View File

@ -1,2 +1 @@
name = mcl_base_textures
description = Provides core textures needed by Minetest.

View File

@ -0,0 +1 @@
Shows messages in chat when a player dies.

View File

@ -10,7 +10,6 @@
@1 drowned.=@1 ertrank.
@1 ran out of oxygen.=@1 ging die Luft aus.
@1 was killed by @2.=@1 wurde von @2 getötet.
@1 was slain by @2.=@1 wurde von @2 getötet.
@1 was killed.=@1 wurde getötet.
@1 was killed by a mob.=@1 wurde von einem Mob getötet.
@1 was burned to death by a blaze's fireball.=@1 wurde von einem Feuerball einer Lohe zu Tode verbrannt.

View File

@ -10,7 +10,6 @@
@1 drowned.=
@1 ran out of oxygen.=
@1 was killed by @2.=
@1 was slain by @2.=
@1 was killed.=
@1 was killed by a mob.=
@1 was burned to death by a blaze's fireball.=

View File

@ -1,2 +1 @@
name = mcl_death_messages
description = Shows messages in chat when a player dies.

View File

@ -0,0 +1 @@
mcl_init

View File

@ -1,2 +1 @@
name = mcl_formspec_prepend
depends = mcl_init

View File

@ -0,0 +1 @@
Adds a HUD bar displaying the current damage of the player's armor.

View File

@ -1,3 +1,2 @@
name = mcl_hbarmor
depends = hudbars, mcl_armor
description = Adds a HUD bar displaying the current damage of the player's armor.

View File

@ -28,9 +28,10 @@ local function replace_enchanted_books(tbl)
end
end
--[[ Populate all the item tables. We only do this once. Note this code must be
executed after loading all the other mods in order to work. ]]
minetest.register_on_mods_loaded(function()
--[[ Populate all the item tables. We only do this once. Note this mod must be
loaded after _mcl_autogroup for this to work, because it required certain
groups to be set. ]]
do
for name,def in pairs(minetest.registered_items) do
if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) and def.description and def.description ~= "" then
local is_redstone = function(def)
@ -108,7 +109,7 @@ minetest.register_on_mods_loaded(function()
table.sort(to_sort)
replace_enchanted_books(to_sort)
end
end)
end
local function filter_item(name, description, lang, filter)
local desc

View File

@ -0,0 +1,8 @@
mcl_init
mcl_formspec
mcl_player?
_mcl_autogroup?
mcl_armor?
mcl_brewing?
mcl_potions?
mcl_enchanting

View File

@ -0,0 +1 @@
Adds the player inventory and creative inventory.

View File

@ -1,4 +1 @@
name = mcl_inventory
description = Adds the player inventory and creative inventory.
depends = mcl_init, mcl_formspec, mcl_enchanting
optional_depends = mcl_player, mcl_armor, mcl_brewing, mcl_potions

View File

@ -0,0 +1 @@
hudbars?

View File

@ -0,0 +1 @@
Displays the name of the wielded item.

View File

@ -1,3 +1 @@
name = show_wielded_item
description = Displays the name of the wielded item.
optional_depends = hudbars

View File

@ -0,0 +1,4 @@
mesecons
mcl_sounds
doc?
screwdriver?

View File

@ -1,3 +1 @@
name = mcl_comparators
depends = mesecons, mcl_sounds
optional_depends = doc, screwdriver

View File

@ -0,0 +1,12 @@
mcl_init
mcl_formspec
mesecons
mcl_sounds
mcl_tnt
mcl_worlds
mcl_core
mcl_nether
mcl_armor_stand
mcl_armor
doc?
screwdriver?

View File

@ -129,19 +129,6 @@ local dispenserdef = {
local stack_id = stacks[r].stackpos
local stackdef = stack:get_definition()
local iname = stack:get_name()
if not minetest.registered_items[iname] then
minetest.log(
"warning",
"Trying to dispense unknown item " ..
"" .. iname .. "" ..
"near (" ..
pos.x .. ", " ..
pos.y .. ", " ..
pos.z ..
")"
)
return
end
local igroups = minetest.registered_items[iname].groups
--[===[ Dispense item ]===]

View File

@ -1,3 +0,0 @@
name = mcl_dispensers
depends = mcl_init, mcl_formspec, mesecons, mcl_sounds, mcl_tnt, mcl_worlds, mcl_core, mcl_nether, mcl_armor_stand, mcl_armor
optional_depends = doc, screwdriver

View File

@ -0,0 +1,6 @@
mcl_init
mcl_formspec
mesecons
mcl_util
doc?
screwdriver?

View File

@ -1,3 +0,0 @@
name = mcl_droppers
depends = mcl_init, mcl_formspec, mesecons, mcl_util
optional_depends = doc, screwdriver

View File

@ -0,0 +1,2 @@
mesecons
mcl_util

View File

@ -1,2 +0,0 @@
name = mcl_observers
depends = mesecons, mcl_util

View File

@ -0,0 +1,3 @@
mcl_sounds
mcl_core
doc?

View File

@ -483,13 +483,11 @@ function mesecon.turnoff(pos, link)
for _, r in ipairs(mesecon.rule2meta(f.link, mesecon.rules.mcl_alldirs_spread)) do
local np = vector.add(f.pos, r)
local n = mesecon.get_node_force(np)
if not (mesecon.get_node_force(np) == nil) then
if mesecon.is_receptor_on(n.name) then
local receptorrules = mesecon.receptor_get_rules(n)
for _, rr in pairs(receptorrules) do
if rr.spread and vector.equals(mesecon.invertRule(rr), r) then
return false
end
if mesecon.is_receptor_on(n.name) then
local receptorrules = mesecon.receptor_get_rules(n)
for _, rr in pairs(receptorrules) do
if rr.spread and vector.equals(mesecon.invertRule(rr), r) then
return false
end
end
end

View File

@ -1,3 +0,0 @@
name = mesecons
depends = mcl_sounds, mcl_core
optional_depends = doc

View File

@ -0,0 +1 @@
mesecons

View File

@ -1,2 +0,0 @@
name = mesecons_alias
depends = mesecons

View File

@ -0,0 +1,2 @@
mesecons
doc?

Some files were not shown because too many files have changed in this diff Show More