Version for MTEngine 5.2.0. Also improve player and wieldhand textures

master
paramat 2020-04-21 23:03:20 +01:00
parent ef2784fd5a
commit d0f23254ac
13 changed files with 25 additions and 23 deletions

View File

@ -1,5 +1,5 @@
minipeli 0.2.4 by paramat.
A game for Minetest Engine 5.1.0 and later.
minipeli 0.2.5 by paramat.
A game for Minetest Engine 5.2.0 and later.
See each mod for mod-specific credits and licenses.
@ -17,7 +17,7 @@ About Minipeli
This game is intended to be an example of minimal requirements for a Minetest Engine game, while still supporting all non-Mapgen V6 mapgens and providing a minimal number of biomes with appropriate vertical variation.
The intention is to help others and myself create completely new games.
This also suggests a good mod structure, as opposed to the problematic structure of the game called 'Minetest Game', which has most content in one large mod called 'default'. It is better to split content into many smaller mods.
This also suggests a good mod structure, as opposed to the problematic structure of Minetest Game, which has most content in one large mod. It is better to split content into many smaller mods.
Because creating animated meshes is difficult, the player model from Minetest Game is used, it seems suitable for many games.
The player API of Minetest Game is very useful and quite fundamental, so the 'player_api' mod from Minetest Game is included, but with new player textures.
@ -123,6 +123,7 @@ Minetest Game mods used heavily modified:
'default' mod:
The minipeli 'gui', 'hand' and 'media' mods are derived from it.
'gui' mod contains:
Textures:
gui_formbg

View File

@ -1,6 +1,5 @@
Minipeli mod: gui
=================
See license.txt for license information.
Derived by paramat from Minetest Game 'default' mod.
Authors of source code

View File

@ -6,8 +6,7 @@ minetest.register_on_joinplayer(function(player)
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]
local name = player:get_player_name()
local info = minetest.get_player_information(name)
-- 'info and' is a temporary workaround for an engine bug
if info and info.formspec_version > 1 then
if info.formspec_version > 1 then
formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]"
else
formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]"

View File

@ -1,6 +1,5 @@
Minipeli mod: hand
==================
See license.txt for license information.
Derived by paramat from Minetest Game 'default' mod.
Authors of source code

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 109 B

View File

@ -1,5 +1,5 @@
Minipeli mod: light
===================
See license.txt for license information.
Source code by paramat (MIT).
Textures by paramat (CC BY-SA 3.0).

View File

@ -1,10 +1,13 @@
Minipeli mod: mapgen
====================
See license.txt for license information.
Source code by paramat (MIT).
Authors of media
----------------
All textures by paramat (CC BY-SA 3.0).
All sounds from Minetest Game:
All sounds from Minetest Game 'default' mod:
Mito551 (sounds) (CC BY-SA 3.0):
dig_cracky.ogg

View File

@ -1,7 +1,5 @@
Minipeli mod: media
===================
See license.txt for license information.
Derived by paramat from Minetest Game 'default' mod.
Authors of media
----------------

View File

@ -1,6 +1,5 @@
Minipeli mod: player_api
========================
See license.txt for license information.
Derived by paramat from Minetest Game 'player_api' mod.
Provides an API to allow multiple mods to set player models and textures.

View File

@ -96,6 +96,15 @@ end)
local player_set_animation = player_api.set_animation
local player_attached = player_api.player_attached
-- Prevent knockback for attached players
local old_calculate_knockback = minetest.calculate_knockback
function minetest.calculate_knockback(player, ...)
if player_attached[player:get_player_name()] then
return 0
end
return old_calculate_knockback(player, ...)
end
-- Check each player and apply animations
minetest.register_globalstep(function(dtime)
for _, player in pairs(minetest.get_connected_players()) do
@ -104,14 +113,8 @@ minetest.register_globalstep(function(dtime)
local model = model_name and models[model_name]
if model and not player_attached[name] then
local controls = player:get_player_control()
local walking = false
local animation_speed_mod = model.animation_speed or 30
-- Determine if the player is walking
if controls.up or controls.down or controls.left or controls.right then
walking = true
end
-- Determine if the player is sneaking, and reduce animation speed if so
if controls.sneak then
animation_speed_mod = animation_speed_mod / 2
@ -120,18 +123,19 @@ minetest.register_globalstep(function(dtime)
-- Apply animations based on what the player is doing
if player:get_hp() == 0 then
player_set_animation(player, "lay")
elseif walking then
-- Determine if the player is walking
elseif controls.up or controls.down or controls.left or controls.right then
if player_sneak[name] ~= controls.sneak then
player_anim[name] = nil
player_sneak[name] = controls.sneak
end
if controls.LMB then
if controls.LMB or controls.RMB then
player_set_animation(player, "walk_mine", animation_speed_mod)
else
player_set_animation(player, "walk", animation_speed_mod)
end
elseif controls.LMB then
player_set_animation(player, "mine")
elseif controls.LMB or controls.RMB then
player_set_animation(player, "mine", animation_speed_mod)
else
player_set_animation(player, "stand", animation_speed_mod)
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 B

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 B

After

Width:  |  Height:  |  Size: 125 B