Jordach wrote:At some point I will fork this and make a better system for hand wielding. Me thanks GPL V3.
EDIT: Because I know a little about the engine, I might be able to make the hand wielding a little less laggy.
66,67d65
< local player_wielded_item = {}
< local time = 0
138,148c136
< end
<
< local function update_wielded_item(player)
< local name = player:get_player_name()
< local stack = player:get_wielded_item()
< local item = stack:get_name()
< if player_wielded_item[name] == item then
< return
< end
< player_wielded_item[name] = item
< set_player_armor(player)
---
> minetest.after(4, set_player_armor, player)
196,206d183
<
< minetest.register_globalstep(function(dtime)
< time = time + dtime
< if time > 4 then
< for _,player in ipairs(minetest.get_connected_players()) do
< update_wielded_item(player)
< end
< time = 0
< end
< end)
<
0gb.us wrote:LorenzoVulcan wrote:0gb.us wrote:
No, armour is too Minecraft-like. It's okay for people who want it, but it would be sad to see the default game become too close to what Minecraft is like.
Unless you mean only the visible wield items. I get the feeling that's going to be added to default Minetest eventually.
Armors are necessary to PVP,independently they're minecraft-like or not.And i think they're not minecraft-like.
So this should be added to player versus player servers, not the default game.jojoa1997 wrote:They are not minecraft-like they are flat against skin, have diffrperent textures, and the legs and shoes are combined in this mod.
Being flat against the skin is just the style. It's not the style that I'm commenting on. Having armour at all is quite Minecraft-like, and I don't think any style of armour belongs in the default game.
Besides, it encourages fighting. On some servers, that's fine, but others are build/peaceful servers instead. Recommending this to be added to PvP servers is one thing, and I would agree that this would be nice on PvP servers. But I do not agree that this belongs in the default game.
I dont know how patches work, could it be possible to generate an init.lua file?stu wrote:Jordach wrote:At some point I will fork this and make a better system for hand wielding. Me thanks GPL V3.
EDIT: Because I know a little about the engine, I might be able to make the hand wielding a little less laggy.
That's great, I rather hoped someone might pick up on the basic concept and take it further.
Reading a recent post in the 'mod questions' thread gave me an idea how to improve the wielded item handling somewhat.
I admit that it is still not ideal but I am much happier with this approach and will probably update the mod sometime over the weekend.
In the meantime anyone interested can apply the following patch:Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
66,67d65
< local player_wielded_item = {}
< local time = 0
138,148c136
< end
<
< local function update_wielded_item(player)
< local name = player:get_player_name()
< local stack = player:get_wielded_item()
< local item = stack:get_name()
< if player_wielded_item[name] == item then
< return
< end
< player_wielded_item[name] = item
< set_player_armor(player)
---
> minetest.after(4, set_player_armor, player)
196,206d183
<
< minetest.register_globalstep(function(dtime)
< time = time + dtime
< if time > 4 then
< for _,player in ipairs(minetest.get_connected_players()) do
< update_wielded_item(player)
< end
< time = 0
< end
< end)
<
Again, thanks for all the encouraging comments and ideas.
"Someone (I forgot who) made a "3D Armor" mod"
Jordach wrote:I dont know how patches work, could it be possible to generate an init.lua file?
4aiman wrote:According to the readme, Kaeza "forgot" who made this mod despite it's WIP state and made his own version.
stu wrote:on a real operating system you would use: patch init.lua < foobar.patch. IIRC you can maybe do this with MSYS under windoze.
jordan4ibanez wrote:Goodwork, couldn't you just have multiple textures on the model? one for the player, one for the wield item?
stu wrote:jordan4ibanez wrote:Goodwork, couldn't you just have multiple textures on the model? one for the player, one for the wield item?
Not sure I get your meaning...is that not what I am already doing?
jordan4ibanez wrote:Aren't you having the player's wield item be part of their skin?
stu wrote:jordan4ibanez wrote:Aren't you having the player's wield item be part of their skin?
Not quite, the wielded item image is merged with the player skin, as are the individual armor images. Only problem is, all images need to be the same size for this to work. If you know a better way to accomplish this then I would really love to hear it.
Cheers!
jordan4ibanez wrote:So what you're saying is it can work with any 16x16 image? How does the wield image get stuck onto the hand?
stu wrote:jordan4ibanez wrote:Aren't you having the player's wield item be part of their skin?
Not quite, the wielded item image is merged with the player skin, as are the individual armor images. Only problem is, all images need to be the same size for this to work. If you know a better way to accomplish this then I would really love to hear it.
stu wrote:jordan4ibanez wrote:So what you're saying is it can work with any 16x16 image? How does the wield image get stuck onto the hand?
By merging the image with the unwrap vector map (or skin) of a customized player mesh.
Edit: Or more correctly, character mesh ;)
jordan4ibanez wrote:Oh so whatever you're wielding does show? or only certain things? I'm kind of confused.
armor_api.wieldable_items = {
["default:sword_steel"] = "3d_armor_default_sword_steel.png",
["default:sword_stone"] = "3d_armor_default_sword_stone.png",
["default:sword_wood"] = "3d_armor_default_sword_wood.png",
["default:pick_mese"] = "3d_armor_default_pick_mese.png",
["default:pick_steel"] = "3d_armor_default_pick_steel.png",
["default:pick_stone"] = "3d_armor_default_pick_stone.png",
["default:pick_wood"] = "3d_armor_default_pick_wood.png",
["default:axe_steel"] = "3d_armor_default_axe_steel.png",
["default:axe_stone"] = "3d_armor_default_axe_stone.png",
["default:axe_wood"] = "3d_armor_default_axe_wood.png",
["default:shovel_steel"] = "3d_armor_default_shovel_steel.png",
["default:shovel_stone"] = "3d_armor_default_shovel_stone.png",
["default:shovel_wood"] = "3d_armor_default_shovel_wood.png",
}
jordan4ibanez wrote:Oh so whatever you're wielding does show? or only certain things? I'm kind of confused.
stu wrote:jordan4ibanez wrote:Oh so whatever you're wielding does show? or only certain things? I'm kind of confused.
Additional wieldable items can be included via init.luaYour phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
armor_api.wieldable_items = {
["default:sword_steel"] = "3d_armor_default_sword_steel.png",
["default:sword_stone"] = "3d_armor_default_sword_stone.png",
["default:sword_wood"] = "3d_armor_default_sword_wood.png",
["default:pick_mese"] = "3d_armor_default_pick_mese.png",
["default:pick_steel"] = "3d_armor_default_pick_steel.png",
["default:pick_stone"] = "3d_armor_default_pick_stone.png",
["default:pick_wood"] = "3d_armor_default_pick_wood.png",
["default:axe_steel"] = "3d_armor_default_axe_steel.png",
["default:axe_stone"] = "3d_armor_default_axe_stone.png",
["default:axe_wood"] = "3d_armor_default_axe_wood.png",
["default:shovel_steel"] = "3d_armor_default_shovel_steel.png",
["default:shovel_stone"] = "3d_armor_default_shovel_stone.png",
["default:shovel_wood"] = "3d_armor_default_shovel_wood.png",
}
Just look at those included for an example.
jordan4ibanez wrote:Why not just check the wield item's wield texture on the go and just use that so you don't have to define every SINGLE THING that is installed?
stu wrote:jordan4ibanez wrote:Why not just check the wield item's wield texture on the go and just use that so you don't have to define every SINGLE THING that is installed?
A. Because I don't even think it is currently possible to read an items texture (could be mistaken here)
B. The image needs to be re-sized to 64x64 to fit my customized mesh.
jordan4ibanez wrote:A: Yes you can
B: Why not resize your mesh to fix 16x16?
stu wrote:jordan4ibanez wrote:A: Yes you can
B: Why not resize your mesh to fix 16x16?
Well, on both counts, I do not know how to do that.
minetest.register_globalstep(function(dtime)
for _,player in ipairs(minetest.get_connected_players()) do
local wielded_item = player:get_wielded_item()
local readable_wielded_item = wielded_item:to_table()
if readable_wielded_item ~= nil then
local get_item_name = readable_wielded_item.name
local wield_item_texture = minetest.registered_items[get_item_name].inventory_image
if wield_item_texture == "" then
local wield_item_texture = minetest.registered_items[get_item_name].tiles[1]
end
print(dump(wield_item_texture))
end
end
end)
stu wrote:Jordach wrote:I dont know how patches work, could it be possible to generate an init.lua file?
on a real operating system you would use: patch init.lua < foobar.patch. IIRC you can maybe do this with MSYS under windoze.4aiman wrote:According to the readme, Kaeza "forgot" who made this mod despite it's WIP state and made his own version.
I think Kaeza was referring to your 3d armor entity thread there. He does not seem to even acknowledge the existence of this mod. To be fair though, I did not even release this as a mod myself, it got moved here from modding general and re-titled by some admin.
Anyway, Kaeza is quite welcome to use this idea with the existing armor mod because that is exactly what I did not want to do. There should be no wood (shield excepted) or stone armor for sure. Even copper, gold and silver are a bit wrong IMO.
@LorenzoVulcan I do plan to include some limited support for the player skin switching. Unfortunately it is not something as straightforward as rendering the .x to fit the skin. The skin needs to fit the mesh and will therefore need to be re-sized in order to work with the new wielded items model.
jordan4ibanez wrote:stu wrote:jordan4ibanez wrote:A: Yes you can
B: Why not resize your mesh to fix 16x16?
Well, on both counts, I do not know how to do that.
Here, this will check if the wield item's texture, and if it is a block it will use the first texture from the tile face.Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
minetest.register_globalstep(function(dtime)
for _,player in ipairs(minetest.get_connected_players()) do
local wielded_item = player:get_wielded_item()
local readable_wielded_item = wielded_item:to_table()
if readable_wielded_item ~= nil then
local get_item_name = readable_wielded_item.name
local wield_item_texture = minetest.registered_items[get_item_name].inventory_image
if wield_item_texture == "" then
local wield_item_texture = minetest.registered_items[get_item_name].tiles[1]
end
print(dump(wield_item_texture))
end
end
end)
kaeza wrote:I will switch my mod into something different (sorry, I didn't notice this mod was already started).
kaeza wrote:BTW, what is your method for "displaying" the armors? Do you use overlayed textures?
Likwid H-Craft wrote:How do you have players holding items?
Since I like to make it, work for my Portaltest.
Iqualfragile wrote:that looks great, but could you please move your code into a repository like git or hg so it would be easier to update your mod for a server-admin.
Users browsing this forum: No registered users and 48 guests