1
0
Fork 0

Compare commits

..

1 Commits

Author SHA1 Message Date
Mikita Wiśniewski cb684521cc mcl_archaeology 2023-08-05 20:45:30 +07:00
44 changed files with 174 additions and 47 deletions

5
.gitignore vendored
View File

@ -5,4 +5,7 @@
*.blend3
/.idea/
*.xcf
.Rproj.user
.Rproj.user
# Windows Thumbnail Cache
Thumbs.db

View File

@ -38,11 +38,11 @@ No non-free licenses are used anywhere.
The textures, unless otherwise noted, are based on the Pixel Perfection resource pack for Minecraft 1.11,
authored by XSSheep. Most textures are verbatim copies, while some textures have been changed or redone
from scratch.
The glazed terracotta textures have been created by [MysticTempest](https://github.com/MysticTempest).
The glazed terracotta textures have been created by (MysticTempest)[https://github.com/MysticTempest].
Source: <https://www.planetminecraft.com/texture_pack/131pixel-perfection/>
License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)
The main menu images are released under: [CC0](https://creativecommons.org/publicdomain/zero/1.0/)
The main menu images are release under: [CC0](https://creativecommons.org/publicdomain/zero/1.0/)
All other files, unless mentioned otherwise, fall under:
Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)

View File

@ -1,14 +1,13 @@
# Models in Minetest/Mineclone2
#Models in Minetest/Mineclone2
Models are an important part of all entities & unique nodes in Mineclone2. They provide a 3 dimensional map of an object for which textures are then applied to. This document is for modders, it quickly highlights some important information for the software needed to open models in Mineclone2.
## Minetest Wiki
For more detailed information on actually using blender to create and modify models for Minetest/Mineclone2, please visit the Minetest wiki's page on using Blender [Here](https://wiki.minetest.net/Using_Blender)
## Recommended software
##Recommended software
### Blender
###Blender
Blender is a very popular and free modeling software supported on Windows, MacOS, and most Linux distributions. It is recommended to use Blender to create and modify 3D models within the minetest engine.
@ -20,16 +19,14 @@ Blitz 3D (.b3d) Is one of the main animated model formats used for entities in t
The most up to date version of this Blender plugin can be downloaded [Here](https://github.com/GreenXenith/io_scene_b3d/releases/tag/f189786)
## Types of model formats
### Animated, skinned models
##Types of model formats
###Animated, skinned models
* Blitz 3D files (.b3d)
* Microsoft DirectX (.x) (binary & text, compression is not supported)
### Static meshes
###Static meshes
* Wavefront OBJ (.obj)
Note: The sometimes accompanying .mtl files are not supported and can safely be deleted.
@ -48,18 +45,16 @@ Note: Do not use .b3d and .x files for static meshes at the moment, Minetest cur
Note: Any formats not mentioned above but known to work in the past were removed in 5.5.0 and aren't supported anymore.
## Pros & Cons of .b3d vs .x
### B3D
##Pros & Cons of .b3d vs .x
###B3D
* [+] Binary format means a small size
* [-] Difficult to postprocess after exporting
* [-] Difficult to debug problems
### X (text version)
###X (text version)
* [+] Can be parsed easily with lua scripts
* [+] Can be easily generated by scripts

View File

@ -1,11 +1,10 @@
### Standard Release
# File to document release steps with a view to evolving into a script
#File to document release steps with a view to evolving into a script
# Update CREDITS.md
# Update version in game.conf
#Update CREDITS.md
#Update version in game.conf
```
lua tools/generate_ingame_credits.lua
git add CREDITS.md
@ -19,11 +18,10 @@ git commit -m "Pre-release update credits and set version 0.83.0"
git tag 0.83.0
git push origin 0.83.0
```
# Update version in game.conf to the next version with -SNAPSHOT suffix
#Update version in game.conf to the next version with -SNAPSHOT suffix
`git commit -m "Post-release set version 0.84.0-SNAPSHOT"`
git commit -m "Post-release set version 0.84.0-SNAPSHOT"
### Hotfix Release
@ -34,17 +32,15 @@ To mitigate this, you just release the last release, and the relevant bug fix. F
* Create release branch from the last release tag, push it:
```
git checkout -b release/0.82.1 0.82.0
git push origin release/0.82.1
```
##### Prepare feature branch and fix
* Create feature branch from that release branch (can review it to check only fix is there, nothing else, and use to also merge into master separately)
`git checkout -b hotfix_bug_1_branch`
git checkout -b hotfix_bug_1_branch
* Fix crash/serious bug and commit
* Push branch and create pr to the release and also the master branch (Do not rebase, to reduce merge conflict risk. Do not delete after first merge or it needs to be repushed)
@ -57,13 +53,11 @@ git push origin release/0.82.1
* Tag it, push tag and branch:
```
git tag 0.82.1
git push origin 0.82.1
git push origin release/0.82.1
```
Note: If you have to do more than 1 hotfix release, can do it on the same release branch.

View File

@ -187,6 +187,15 @@ function mcl_sounds.node_sound_lava_defaults(table)
return table
end
function mcl_sounds.node_sound_decorated_pot_defaults(table)
table = table or {}
-- TODO: Footstep and dug sounds
table.place = table.place or
{name = "archaeology_decorated_pot_place", gain = 1.0}
mcl_sounds.node_sound_defaults(table)
return table
end
-- Player death sound
minetest.register_on_dieplayer(function(player)
-- TODO: Add separate death sound

View File

@ -191,10 +191,9 @@ Origin of those models:
* [Spennnyyy](https://freesound.org/people/Spennnyyy/) (CC0)
* `mcl_totems_totem.ogg`
* Source: <https://freesound.org/people/Spennnyyy/sounds/323502/>
* [Baŝto](https://opengameart.org/users/ba%C5%9Dto) (remixer) and [kantouth](https://freesound.org/people/kantouth/) (original author)
* [Baŝto](https://opengameart.org/users/ba%C5%9Dto)
* `mobs_mc_skeleton_random.*.ogg` (CC BY 3.0)
* Source: <https://opengameart.org/content/walking-skeleton>
* Based on: <https://freesound.org/people/kantouth/sounds/115113/>
* [spookymodem](https://freesound.org/people/spookymodem/)
* `mobs_mc_skeleton_death.ogg` (CC0)
* <https://freesound.org/people/spookymodem/sounds/202091/>
@ -308,4 +307,4 @@ Origin of those models:
Note: Many of these sounds have been more or less modified to fit the game.
Sounds not mentioned here are licensed under CC0.
Sounds not mentioned hre are licensed under CC0.

View File

@ -351,7 +351,7 @@ local professions = {
leatherworker = {
name = N("Leatherworker"),
texture = "mobs_mc_villager_leatherworker.png",
jobsite = "group:cauldron",
jobsite = "mcl_cauldrons:cauldron",
trades = {
{
{ { "mcl_mobitems:leather", 9, 12 }, E1 },
@ -1008,15 +1008,7 @@ end
----- JOBSITE LOGIC
local function get_profession_by_jobsite(js)
for k,v in pairs(professions) do
if v.jobsite == js then
return k
-- Catch Nitwit doesn't have a jobsite
elseif v.jobsite and v.jobsite:find("^group:") then
local group = v.jobsite:gsub("^group:", "")
if minetest.get_item_group(js, group) > 0 then
return k
end
end
if v.jobsite == js then return k end
end
end

View File

@ -0,0 +1,11 @@
# MineClone2 Archaeology [mcl_archaeology]
Adds 1.20 archaeology mechanic(s) (brush, suspicious blocks, pottery sherds, decorated pots, trail ruins)
## Credits
* rudzik8 (all code and textures except for what is mentioned below)
* XSSheep (for the textures I've used as a base for my own ones)
* Ex (advice, also `mcl_archaeology_decorated_pot_base.png`, `mcl_archaeology_decorated_pot_side.png` and derevatives)
* chmodsayshello (advice, consultation and some MC showcase)
* Nicu (advice)

View File

@ -0,0 +1,31 @@
local mp = minetest.get_modpath(minetest.get_current_modname())
local S = minetest.get_translator(mp)
mcl_archaeology = {}
mcl_archaeology.pottery_sherds = {
-- name, description
{"angler", S("Angler Pottery Sherd")},
{"archer", S("Archer Pottery Sherd")},
{"arms_up", S("Arms Up Pottery Sherd")},
{"blade", S("Blade Pottery Sherd")},
{"brewer", S("Brewer Pottery Sherd")},
{"burn", S("Burn Pottery Sherd")},
{"danger", S("Danger Pottery Sherd")},
{"explorer", S("Explorer Pottery Sherd")},
{"friend", S("Friend Pottery Sherd")},
{"heart", S("Heart Pottery Sherd")},
{"heartbreak", S("Heartbreak Pottery Sherd")},
{"howl", S("Howl Pottery Sherd")},
{"miner", S("Miner Pottery Sherd")},
{"mourner", S("Mourner Pottery Sherd")},
{"plenty", S("Plenty Pottery Sherd")},
{"prize", S("Prize Pottery Sherd")},
{"sheaf", S("Sheaf Pottery Sherd")},
{"shelter", S("Shelter Pottery Sherd")},
{"skull", S("Skull Pottery Sherd")},
{"snort", S("Snort Pottery Sherd")}
}
dofile(mp.."/items.lua")
dofile(mp.."/nodes.lua")

View File

@ -0,0 +1,33 @@
local S = minetest.get_translator(minetest.get_current_modname())
for _, row in ipairs(mcl_archaeology.pottery_sherds) do
-- assign variable = row[x]
local name = row[1]
local desc = row[2] -- short for "description"
-- register
minetest.register_craftitem("mcl_archaeology:"..name.."_pottery_sherd", {
description = desc,
_doc_items_longdesc = S("A pottery sherd is used to craft Decorated Pots."),
inventory_image = "mcl_archaeology_pottery_sherd_"..name..".png",
groups = { craftitem = 1, pottery_sherd = 1, pottery = 1 }
})
end
minetest.register_craftitem("mcl_archaeology:brush", {
description = S("Brush"),
_doc_items_longdesc = S("A brush can be used to excavate suspicious blocks."),
_tt_help = S("Excavates suspicious blocks"),
inventory_image = "mcl_archaeology_brush.png",
stack_max = 1,
groups = {tool=1},
})
minetest.register_craft({
output = "mcl_archaeology:brush",
recipe = {
{"mcl_mobitems:feather"},
{"mcl_copper:copper_ingot"},
{"mcl_core:stick"}
}
})

View File

@ -0,0 +1,4 @@
name = mcl_archaeology
title = MineClone2 Archaeology
description = Adds 1.20 archaeology mechanic(s) (brush, suspicious blocks, pottery sherds, decorated pots, trail ruins) into the MineClone 2 game
depends = mcl_core

View File

@ -0,0 +1,56 @@
local S = minetest.get_translator(minetest.get_current_modname())
minetest.register_node("mcl_archaeology:suspicious_sand", {
description = S("Suspicious Sand"),
tiles = {"mcl_archaeology_suspicious_sand.png"},
groups = { handy = 1, shovely = 1, falling_node = 1,
dig_by_piston = 1, dig_immediate_piston = 1 },
sounds = mcl_sounds.node_sound_sand_defaults(),
_mcl_blast_resistance = 0.5,
_mcl_hardness = 0.5,
})
minetest.register_node("mcl_archaeology:suspicious_gravel", {
description = S("Suspicious Gravel"),
tiles = {"mcl_archaeology_suspicious_gravel.png"},
groups = { handy = 1, shovely = 1, falling_node = 1,
dig_by_piston = 1, dig_immediate_piston = 1 },
sounds = mcl_sounds.node_sound_gravel_defaults(),
_mcl_blast_resistance = 0.6,
_mcl_hardness = 0.6,
})
minetest.register_node("mcl_archaeology:decorated_pot", {
description = S("Decorated Pot"),
tiles = {
"mcl_archaeology_decorated_pot_top.png",
"mcl_archaeology_decorated_pot_bottom.png",
"mcl_archaeology_decorated_pot_side.png",
"mcl_archaeology_decorated_pot_side.png",
"mcl_archaeology_decorated_pot_side.png",
"mcl_archaeology_decorated_pot_side.png"
},
drawtype = "nodebox",
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-0.4375, -0.5, -0.4375, 0.4375, 0.5, 0.4375}, -- base
{-0.1875, 0.5, -0.1875, 0.1875, 0.5625, 0.1875}, -- neck (bottom part)
{-0.25, 0.5625, -0.25, 0.25, 0.6875, 0.25}, -- neck (top part)
}
},
--drops = {},
groups = { handy = 1 },
_mcl_silk_touch_drop = true -- TODO: different sound when breaking with silk touch
})
-- normal, non-pattern recipe
minetest.register_craft({
output = "mcl_archaeology:decorated_pot",
recipe = {
{"", "group:pottery", ""},
{"group:pottery", "", "group:pottery"},
{"", "group:pottery", ""},
}
})

View File

@ -114,7 +114,7 @@ minetest.register_craftitem("mcl_core:brick", {
_doc_items_longdesc = S("Bricks are used to craft brick blocks."),
inventory_image = "default_clay_brick.png",
stack_max = 64,
groups = { craftitem=1 },
groups = { craftitem=1, pottery=1 },
})
minetest.register_craftitem("mcl_core:flint", {

View File

@ -85,16 +85,16 @@ function mcl_meshhand.update_player(player)
end
end
minetest.register_on_joinplayer(function(player)
player:get_inventory():set_size("hand", 1)
end)
if mcl_skins_enabled then
mcl_player.register_on_visual_change(mcl_meshhand.update_player)
else
minetest.register_on_joinplayer(mcl_meshhand.update_player)
end
minetest.register_on_joinplayer(function(player)
player:get_inventory():set_size("hand", 1)
end)
-- This is needed to deal damage when punching mobs
-- with random items in hand in survival mode
minetest.override_item("", {

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B