Modders: Give feedback to the core developers

User avatar
webdesigner97
Member
 
Posts: 1307
Joined: Mon Jul 30, 2012 19:16
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: Modders: Give feedback to the core developers

by webdesigner97 » Mon Apr 28, 2014 19:45

A moddable death screen, respawn timers, ressurection :D
 

User avatar
Casimir
Member
 
Posts: 1101
Joined: Fri Aug 03, 2012 16:59

Re: Modders: Give feedback to the core developers

by Casimir » Mon Apr 28, 2014 20:41

Casimir wrote:For almost everything an option to disable it would be usefull, both for subgames and for server. A server [...] thats gets spamed often could disable doping of items.

I found that the function is in builtin/item.lua and therefore I can just overwrite it.
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
function minetest.item_drop(itemstack, dropper, pos)
   local name = dropper:get_player_name()
   if name then
      minetest.chat_send_player(name, "Itemdrop is disabled.")
   end
   return itemstack
end
Last edited by Casimir on Mon Apr 28, 2014 20:50, edited 2 times in total.
 

User avatar
Casimir
Member
 
Posts: 1101
Joined: Fri Aug 03, 2012 16:59

Re: Modders: Give feedback to the core developers

by Casimir » Mon Apr 28, 2014 20:49

spillz wrote:The game shouldn't be displaying options that either have no effect or are incompatible.

But it also shouldn't hide possible options. When someone wants to test mapgen v7 with minetest_game for any reason, they should be able to do it, and at the same time be informed that it is not supported. The simplest solution would be a general info about the subgame when choosing one. You also could write a mod that outputs a message, just like in minimal developement test, for all unsupported mapgens.
 

User avatar
stu
Member
 
Posts: 737
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11

Re: Modders: Give feedback to the core developers

by stu » Mon Apr 28, 2014 21:43

BrandonReese wrote:I would like to see an option that would make it so name tags do not show through nodes, that would make it possible for people to hide.


+1000 This is very much needed and probably trivial to implement.

Sokomine wrote:
Pavel_S wrote:Also get_id() function will make easy to create entity inventory.

Good idea. When writing my traders, I found it annyoing that I had to come up with my own uniq_id function for them. Reliable uniq id's for entities would be helpful. Such things are better done in a library than in each mod individually.


+1000 Again, should not be hard to do, I'm sure I read mention of if before somewhere but can't remember if anything was ever done.

Something else I would like are more player related callbacks, like when a player is punched, it would save me polling player hp to make armor wear-out possible. A callback when a player is 'fully loaded' and all methods and properties are available would be nice too instead of guesswork and multiple delays for model changing, attachments, etc.

And what's happening with this?

dev wiki wrote:get_armor_groups() - Returns {group1=rating, group2=rating, ...}) (NOTE: Documented in lua_api.txt but not yet implemented as of version 0.4.4)

I would also like to see more helpful stuff for fps style mods/games. A method like minetest.line_of_sight that could return objects in the line of sight (to a given range) might be good.

Almost forgot the thing I want most, 'pitch', then I can make planes \o/

Cheers!
 

User avatar
ShadowNinja
Member
 
Posts: 194
Joined: Tue Jan 22, 2013 22:35
GitHub: ShadowNinja
IRC: ShadowNinja
In-game: ShadowNinja

Re: Modders: Give feedback to the core developers

by ShadowNinja » Tue Apr 29, 2014 02:26

Topywo wrote:AFAIK ABMs keep going once put on. If that's really true (not my lack of knowledge), I would like to see the possibilities to shut them off and on later in the game, after meeting a condition, paired with the computers internal clock or connected with the Minetest time.

ABMs are designed to run on every loaded node that meets the specified conditions, always. Node timers might be more suitable for your purpose as they are cancelable and restartable. They don't have features like neighbor checking built-in though.
I play on my Minetest server and VanessaE's.
The best way to contact me is usually IRC (InchraNet, freenode).
 

User avatar
webdesigner97
Member
 
Posts: 1307
Joined: Mon Jul 30, 2012 19:16
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: Modders: Give feedback to the core developers

by webdesigner97 » Wed Apr 30, 2014 05:55

Also modders should be able to do http requests, e.g. to check for a new mod version...
 

Kilarin
Member
 
Posts: 649
Joined: Mon Mar 10, 2014 00:36

Re: Modders: Give feedback to the core developers

by Kilarin » Wed Apr 30, 2014 13:12

First a request that would probably be pretty easy to implement:
I think "Tool Tips" would be a REALLY nice feature. It would make it much more user friendly for players when using tools whose function or operation are not immediately obvious.

Now a request that may be very difficult or even unwise to implement:
Normally objects can only be active within the region loaded around a player, and the vast majority of the time that makes perfect sense. But it would be nice if it was possible to override this behavior, so that, for example, a cart could be sent heading down a long track, and just keep loading the region around it until it reaches the end of it's track.
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Re: Modders: Give feedback to the core developers

by rubenwardy » Wed Apr 30, 2014 13:51

Kilarin wrote:Now a request that may be very difficult or even unwise to implement:
Normally objects can only be active within the region loaded around a player, and the vast majority of the time that makes perfect sense. But it would be nice if it was possible to override this behavior, so that, for example, a cart could be sent heading down a long track, and just keep loading the region around it until it reaches the end of it's track.


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.forceload_block(pos)
^ forceloads the position pos.
^ returns true if area could be forceloaded


https://github.com/minetest/minetest/bl ... .txt#L1704
 

Kilarin
Member
 
Posts: 649
Joined: Mon Mar 10, 2014 00:36

Re: Modders: Give feedback to the core developers

by Kilarin » Thu May 01, 2014 12:08

rubenwardy wrote:minetest.forceload_block(pos)

So, for example, I could modify the cart mod to check if it gets an "ignore" for a node, and if so, force load it? Hmmm, that is worth trying. Thank you!

Another suggestion for the developers:
The ability to set gravity locally. So that, for example, the "Dyson Cube" mod could make gravity for each different side of the cube point towards that edge. And any mod could make gravity in a local area point in whatever direction they wanted, (or turn it off entirely). Is there already a way to do this? And if not, could it be implemented without completely rewriting the existing engine?
 

User avatar
Evergreen
Member
 
Posts: 2131
Joined: Sun Jan 06, 2013 01:22
GitHub: 4Evergreen4
IRC: EvergreenTree
In-game: Evergreen

Re: Modders: Give feedback to the core developers

by Evergreen » Thu May 01, 2014 12:18

Kilarin wrote:
rubenwardy wrote:minetest.forceload_block(pos)

So, for example, I could modify the cart mod to check if it gets an "ignore" for a node, and if so, force load it? Hmmm, that is worth trying. Thank you!

Another suggestion for the developers:
The ability to set gravity locally. So that, for example, the "Dyson Cube" mod could make gravity for each different side of the cube point towards that edge. And any mod could make gravity in a local area point in whatever direction they wanted, (or turn it off entirely). Is there already a way to do this? And if not, could it be implemented without completely rewriting the existing engine?
It would probably be better to include something which alwos modders to push and pull the player, and a way to rotate the player model.
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Re: Modders: Give feedback to the core developers

by rubenwardy » Thu May 01, 2014 16:58

Kilarin wrote:
rubenwardy wrote:minetest.forceload_block(pos)

So, for example, I could modify the cart mod to check if it gets an "ignore" for a node, and if so, force load it? Hmmm, that is worth trying. Thank you!

Another suggestion for the developers:
The ability to set gravity locally. So that, for example, the "Dyson Cube" mod could make gravity for each different side of the cube point towards that edge. And any mod could make gravity in a local area point in whatever direction they wanted, (or turn it off entirely). Is there already a way to do this? And if not, could it be implemented without completely rewriting the existing engine?


Issue on Freeminer: https://github.com/freeminer/freeminer/issues/62

I had this idea a while ago, and I discussed it with PilzAdam.
Most of the modifications required are server side.
 

User avatar
Pavel_S
Member
 
Posts: 131
Joined: Sat Apr 06, 2013 11:43

Re: Modders: Give feedback to the core developers

by Pavel_S » Sun May 04, 2014 16:28

.isVisible and .isClickable propetries of entity`s collision box would be a nice feature, for any mob mod, to hide collision box, as well as for all players and NPC`s. Also sometimes it`s needed to attach one entity to another and have callbacks on_punch or on_rightclick for both, but attached entity has invisible, unclickable collision box.
 

User avatar
spootonium
Member
 
Posts: 94
Joined: Fri May 02, 2014 01:38

Re: Modders: Give feedback to the core developers

by spootonium » Mon May 05, 2014 13:58

I'd like to be able to define default and alternative keyboard controls as part of a gamemode, and to assign additional keys for mod functions. An example of usage might be if I wanted to implement a "crouch" or "crawl" capability instead of, or in addition to "sneak".

From what I can glean from the dev wiki, the Player object's get_player_control() and get_player_control_bits() can only return specific, hard-coded values. What I propose, is the ability to modify or add to these, through some sort of a minetest.register_player_control(key,controlbit) function.
I write code. Sometimes, it even works.
 

User avatar
Pavel_S
Member
 
Posts: 131
Joined: Sat Apr 06, 2013 11:43

Re: Modders: Give feedback to the core developers

by Pavel_S » Thu May 08, 2014 01:57

Does Minetest do interpolation to entities?
I ask because it seems like single entity moves using interpolation, but attached entity don`t. And it moves annoyingly(see jumping player in Cars mod or shaking heli in Helicopter mod).
 

dgm5555
Member
 
Posts: 244
Joined: Tue Apr 08, 2014 19:45

Re: Modders: Give feedback to the core developers

by dgm5555 » Sun May 18, 2014 10:10

my first take on functions I would like:-
forceload_block(now=true/false, onstartup=true/false) - which would load a block immediately - the current one doesn't seem to guarantee loading [EDIT: this seems to be an undocumented benefit of voxel_manip]
ground_level(x,z,ignore_water=true/false) to identify the level of ground at a particular location (possibly with option of returning waterlevel if it was higher.
refresh_texture("mod:texname") - to enable reload of a texture if it has changed.
refresh_mod("mod") - to enable reload of mod - really useful if debugging without having to go in and out of game.
node_identify_onpoint = true/false - so a tool-tip (or whatever it's called - like the text a sign shows) is shown for every node to identify it's identity and properties. [EDIT: like worldedit //inspect, but displayed by the HUD]
copy and paste to the chat bar (and fix the F10 bug which means full-screen chat can't be cleared)
Last edited by dgm5555 on Fri May 23, 2014 23:26, edited 1 time in total.
 

spillz
Member
 
Posts: 138
Joined: Thu Feb 13, 2014 05:11

Re: Modders: Give feedback to the core developers

by spillz » Sun May 18, 2014 12:32

rubenwardy wrote:
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.forceload_block(pos)
^ forceloads the position pos.
^ returns true if area could be forceloaded


https://github.com/minetest/minetest/bl ... .txt#L1704


This isn't quite what it seems. (And people writing API docs really need to care more for their users than this)

https://github.com/minetest/minetest/bl ... v.cpp#L778

It adds the block to a list of blocks that should be kept loaded. It doesn't synchronously load the block right away, it is an asynchronous request. Presumably there is a way to get chunk load notifications....
 

spillz
Member
 
Posts: 138
Joined: Thu Feb 13, 2014 05:11

Re: Modders: Give feedback to the core developers

by spillz » Sun May 18, 2014 12:37

spootonium wrote:I'd like to be able to define default and alternative keyboard controls as part of a gamemode, and to assign additional keys for mod functions. An example of usage might be if I wanted to implement a "crouch" or "crawl" capability instead of, or in addition to "sneak".

From what I can glean from the dev wiki, the Player object's get_player_control() and get_player_control_bits() can only return specific, hard-coded values. What I propose, is the ability to modify or add to these, through some sort of a minetest.register_player_control(key,controlbit) function.


See also https://github.com/minetest/minetest/pull/1217

This adds keyboard shortcuts for chat commands and if they ever except it I would then hope to add mod support.
 

dgm5555
Member
 
Posts: 244
Joined: Tue Apr 08, 2014 19:45

Re: Modders: Give feedback to the core developers

by dgm5555 » Sun May 18, 2014 13:04

spillz wrote:This isn't quite what it seems. (And people writing API docs really need to care more for their users than this)
https://github.com/minetest/minetest/bl ... v.cpp#L778
It adds the block to a list of blocks that should be kept loaded. It doesn't synchronously load the block right away, it is an asynchronous request. Presumably there is a way to get chunk load notifications....

I agree. I wasted at least an hour of my time figuring this out, and it couldn't possibly have taken more than 2 minutes to document it properly.

Actually that would be another one extremely high on my wish list - a properly documented API

Another would be a central repository of mods listing global functions and variables, to reduce risk of conflict with other mods. And on that note, is there a function to poll if a mod is enabled? I've ended up polling for globals and assuming if result is nil then not loaded (so I know whether my mod can use other mod's functions), but it's not very robust.
 

User avatar
kaeza
Member
 
Posts: 2141
Joined: Thu Oct 18, 2012 05:00
GitHub: kaeza
IRC: kaeza diemartin blaaaaargh
In-game: kaeza

Re: Modders: Give feedback to the core developers

by kaeza » Sun May 18, 2014 13:37

dgm5555 wrote:And on that note, is there a function to poll if a mod is enabled?

Yes:
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
if minetest.get_modpath("foobarmod") then
  -- Code using `foobarmod' features goes here.
end
Your signature is not the place for a blog post. Please keep it as concise as possible. Thank you!

Check out my stuff! | Donations greatly appreciated! PayPal | BTC: 1DFZAa5VtNG7Levux4oP6BuUzr1e83pJK2
 

Sokomine
Member
 
Posts: 2980
Joined: Sun Sep 09, 2012 17:31

Re: Modders: Give feedback to the core developers

by Sokomine » Sun May 18, 2014 17:36

Beeing able to read zlib streams without having to add extra libraries would be great. The schematics are encoded that way, and sometimes (at least for my use case) I'd like to know how many of each node are contained in the schematic (so that I can ask the player to insert that many blocks into the build chest).

Also saving/restoring table values for mods would be great. There's a mod out there that does it; but we need it in the main game. It's inacceptable that one has to copy the code for saving data each time a mod may use it. Depending on other mods is very unpopular as it makes installation for inexperienced players even more difficult. Plus this is something that could very easily be done inside e.g. builtin.
 

User avatar
HeroOfTheWinds
Member
 
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero

Re: Modders: Give feedback to the core developers

by HeroOfTheWinds » Mon May 19, 2014 23:08

Not sure if this is something particularly earth-shattering, but animated HUD image support would be nice. That way, you could have even nicer hotbars such as ones where the highlighted item has an animated video-noise texture over it.

Being able to redefine "air" would also be cool.
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P
 

User avatar
webdesigner97
Member
 
Posts: 1307
Joined: Mon Jul 30, 2012 19:16
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: Modders: Give feedback to the core developers

by webdesigner97 » Tue May 20, 2014 04:55

What about being able to hide/show the entity collision_box? When sitting in a car, this box just looks ugly...

Image
 

User avatar
philipbenr
Member
 
Posts: 1665
Joined: Fri Jun 14, 2013 01:56
GitHub: philipbenr
IRC: philipbenr
In-game: WisdomFire or philipbenr

Re: Modders: Give feedback to the core developers

by philipbenr » Wed May 21, 2014 21:32

press [ f1 ] webdesigner. -.-

;)
 

User avatar
BrandonReese
Member
 
Posts: 836
Joined: Wed Sep 12, 2012 00:44
GitHub: bremaweb
IRC: BrandonReese
In-game: BrandonReese

Re: Modders: Give feedback to the core developers

by BrandonReese » Thu May 22, 2014 03:00

Light emitting entities.
 

User avatar
webdesigner97
Member
 
Posts: 1307
Joined: Mon Jul 30, 2012 19:16
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: Modders: Give feedback to the core developers

by webdesigner97 » Thu May 22, 2014 04:32

philipbenr wrote:press [ f1 ] webdesigner. -.-

;)

That's not a solution. F1 hides the complete HUD, and I also want the box to be visible when outside the car.
 

dgm5555
Member
 
Posts: 244
Joined: Tue Apr 08, 2014 19:45

Re: Modders: Give feedback to the core developers

by dgm5555 » Thu May 22, 2014 08:11

Support for {enter} key from a text box activating a button rather than closing a form (eg pressing enter after typing text in the search text box on unified inventory closes the form rather than the expected behaviour of triggering the search as occurs when you click the button with the mouse).
 

User avatar
Pavel_S
Member
 
Posts: 131
Joined: Sat Apr 06, 2013 11:43

Re: Modders: Give feedback to the core developers

by Pavel_S » Thu May 22, 2014 17:30

I found that attached entities do not use interpolation(it`s shaking while moving) and parent also do not control smooth moving of it`s child.
It seems that it hapends because of this:
(https://github.com/minetest/minetest/blob/master/src/content_sao.cpp)
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
void LuaEntitySAO::sendPosition(bool do_interpolate, bool is_movement_end)
{
   // If the object is attached client-side, don't waste bandwidth sending its position to clients
   if(isAttached())
      return;
...


Am I right?

Another thing is that child copy only pos of parent
(https://github.com/minetest/minetest/blob/master/src/content_sao.cpp#L495)
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
// Each frame, parent position is copied if the object is attached, otherwise it's calculated normally
   // If the object gets detached this comes into effect automatically from the last known origin
   if(isAttached())
   {
      v3f pos = m_env->getActiveObject(m_attachment_parent_id)->getBasePosition();
      m_base_position = pos;
      m_velocity = v3f(0,0,0);
      m_acceleration = v3f(0,0,0);
   }
   else
...

Why do child do not get parents velocity and acceleration? If child will get this parameters, "shaking" problem will be solved, I think
 

User avatar
stu
Member
 
Posts: 737
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11

Re: Modders: Give feedback to the core developers

by stu » Sun May 25, 2014 14:18

PavelS: You should maybe post this as an issue on github or bring it up on #minetest-dev.
I don't really think any core devs are actually following this topic ;-)
 

paramat
Member
 
Posts: 2662
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat

Re: Modders: Give feedback to the core developers

by paramat » Sun May 25, 2014 19:14

webdesigner97 wrote:What about being able to hide/show the entity collision_box? When sitting in a car, this box just looks ugly...

You can resize the collision box to be a flat square that sits low in the car, still visible when entering the car but out of the way when driving, here's what i did in my 'mesecar' mod:
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
local boat = {
   physical = true,
   collisionbox = {-0.6,0.75,-0.6, 0.6,0.75,0.6},
   visual = "mesh",
   visual_size = {x=1,y=1.6},
   mesh = "mesecar.x",
   textures = {"mesecar_mesecar.png"},
   --stepheight = 1.1,
   driver = nil,
   v = 0,
}
 

User avatar
webdesigner97
Member
 
Posts: 1307
Joined: Mon Jul 30, 2012 19:16
GitHub: webD97
IRC: webdesigner97
In-game: webdesigner97

Re: Modders: Give feedback to the core developers

by webdesigner97 » Sun May 25, 2014 19:53

paramat wrote:
webdesigner97 wrote:What about being able to hide/show the entity collision_box? When sitting in a car, this box just looks ugly...

You can resize the collision box to be a flat square that sits low in the car, still visible when entering the car but out of the way when driving, here's what i did in my 'mesecar' mod:
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
local boat = {
   physical = true,
   collisionbox = {-0.6,0.75,-0.6, 0.6,0.75,0.6},
   visual = "mesh",
   visual_size = {x=1,y=1.6},
   mesh = "mesecar.x",
   textures = {"mesecar_mesecar.png"},
   --stepheight = 1.1,
   driver = nil,
   v = 0,
}

This might work, but still is a dirty solution :/
 

PreviousNext

Return to Minetest General

Who is online

Users browsing this forum: No registered users and 4 guests

cron