Sneak news and a temporary option for old move code

Locked
User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Sneak news and a temporary option for old move code

by paramat » Post

Sorry for the recent disruption, usually we manage to keep MT dev version usable but it has been very broken for many players recently. This is an example of the risk taken by using a dev version, i guess it has been a shock to those used to usable dev versions.

An option for old move code (and therefore old sneak) has just been added (pull request details are here https://github.com/minetest/minetest/pull/5519). This gives us time to improve the new move code while keeping you happy.

The option has been added as an additional 'physics override' alongside the 'sneak' and 'sneak_glitch' overrides. The advantage of this is that the option can be either per-player or applied to all players dependent on what a server admin prefers.
To enable old move code for all players in a world use a mod with this code:

Code: Select all

minetest.register_on_joinplayer(function(player)
	local override_table = player:get_physics_override()
	override_table.new_move = false
	override_table.sneak_glitch = true
	player:set_physics_override(override_table)
end)
You need to reset 'sneak_glitch' to true when using the old move code option, otherwise sneak ladders do not work.
The default of 'sneak_glitch' was changed to false in 0.4.16 because in new move code it controls the now optional sneak ladder and sneak jump.

Alternatively you can write a mod to set the option per-player and controlled by player chat command.

We have approximately replicated sneak ladders and 2-node sneak-jump in an option in new move code. This option is controlled by the 'sneak_glitch' physics override and is currently enabled by default, however it will be changed to disabled by default before 0.4.16 feature freeze (21st May). You can then control the option in the ways described above.

General sneak behaviour in new move code is improving with only a few remaining issues which are mostly minor (see details here https://github.com/minetest/minetest/issues/5438 and here https://github.com/minetest/minetest/issues/5535).

So we are fairly successful in moving sneak side effects from being bugs (with many related inseperable bugs) to being intentional and optional. However the new behaviour of general sneak and the sneak side effects will not, and probably cannot, be absolutely identical to the old code.
Last edited by paramat on Tue Sep 05, 2017 05:05, edited 5 times in total.

User avatar
Wuzzy
Member
Posts: 4801
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Sneak news and a temporary option for old move code

by Wuzzy » Post

I have read your words, but I don't think I understood them.
What is this strange “old move code” you are talking about all the time? Is it arcane magic from the Elders?

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Sneak news and a temporary option for old move code

by paramat » Post

The 'move code' is the code that determines how the player can move in response to the controls. The sneak code is contained within it, so when i mention 'move code' i am also referring to 'sneak code'.

User avatar
Linuxdirk
Member
Posts: 3219
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Sneak news and a temporary option for old move code

by Linuxdirk » Post

"old move code" a.k.a. the buggy hacky shit that a lot of people are uber whiny about when it finally was fixed. :)

User avatar
Wuzzy
Member
Posts: 4801
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Sneak news and a temporary option for old move code

by Wuzzy » Post

Lol.
Okay.

User avatar
Sergey
Member
Posts: 784
Joined: Wed Jan 11, 2017 13:28
Location: Russia

Re: Sneak news and a temporary option for old move code

by Sergey » Post

Linuxdirk wrote:buggy hacky shit
"buggy hacky shit" translated* from English into Russian and then back gets "sloppy shit"
"sloppy shit" translated from English into Russian and then back gets "careless shit"
"careless shit" is constant :-) "careless shit" is "careless shit"

* translations were made with google translator

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Sneak news and a temporary option for old move code

by paramat » Post

In the new player movement code, the replications of sneak ladder and 2 node sneak jump are an option which is controlled by the 'sneak_glitch' physics override, the option is now disabled by default. To enable for all players use a mod with this code:

Code: Select all

minetest.register_on_joinplayer(function(player)
	local override_table = player:get_physics_override()
	override_table.sneak_glitch = true
	player:set_physics_override(override_table)
end)
Alternatively you can write a mod to set the option per-player and possibly controlled by player chat command.

BBmine
Member
Posts: 3476
Joined: Sun Jul 12, 2015 22:51
GitHub: BBmine
IRC: BBmine
In-game: Baggins
Location: USA

Re: Sneak news and a temporary option for old move code

by BBmine » Post

paramat wrote:In the new player movement code, the replications of sneak ladder and 2 node sneak jump are an option which is controlled by the 'sneak_glitch' physics override, the option is now disabled by default. To enable for all players use a mod with this code:

Code: Select all

minetest.register_on_joinplayer(function(player)
	local override_table = player:get_physics_override()
	override_table.sneak_glitch = true
	player:set_physics_override(override_table)
end)
Alternatively you can write a mod to set the option per-player and possibly controlled by player chat command.
So it's handled server-side? Then I guess I can feel safe about upgrading to 0.4.16 when it comes out :D

User avatar
ClaudiusMinimus
Member
Posts: 42
Joined: Wed Jun 01, 2016 17:46
GitHub: ClaudiusMinimus
IRC: ClaudiusMinimus
In-game: ClaudiusMinimus
Location: Rocky Mountiains in the Western USA
Contact:

Re: Sneak news and a temporary option for old move code

by ClaudiusMinimus » Post

paramat wrote:In the new player movement code, the replications of sneak ladder and 2 node sneak jump are an option which is controlled by the 'sneak_glitch' physics override, the option is now disabled by default. To enable for all players use a mod with this code:

Code: Select all

minetest.register_on_joinplayer(function(player)
	local override_table = player:get_physics_override()
	override_table.sneak_glitch = true
	player:set_physics_override(override_table)
end)
Alternatively you can write a mod to set the option per-player and possibly controlled by player chat command.
For those who are not developers, here is how I made this patch work:
  • Create a new folder/directory in your .minetest/mods directory (I called my "dev" for things I want to override in the dev build)
  • Create a new empty file named init.lua
  • Copy/paste the above code into the new file, then save and close
  • Enable the new mod (in my case, "dev") as you would any other mod
Your sneak ladders should work again.
ClaudiusMinimus

Follow my blog at: ClaudiusMinimus' Universe
Visit me at the incredible Illuna Universe

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Sneak news and a temporary option for old move code

by paramat » Post

BBmine wrote:So it's handled server-side? Then I guess I can feel safe about upgrading to 0.4.16 when it comes out :D
Yes physics override is server side in a mod, but a physics override gives the server admin the choice to either set the setting the same for all players, or set it per-player, or write a chat command to allow players to individually choose the setting for themselves. This flexibility is why we made this option and the 'old move code' option physics overrides.

User avatar
1248
Member
Posts: 344
Joined: Thu May 05, 2016 11:47
GitHub: Der1248
In-game: 1248 or Der1248
Location: Germany

Re: Sneak news and a temporary option for old move code

by 1248 » Post

I think there is still one way in Minetest 0.4.16 to jump two blocks with sneak:
https://www.youtube.com/watch?v=nim5hO0UkEQ

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Sneak news and a temporary option for old move code

by paramat » Post

Interesting.
2 node sneak jump is of course an intentional part of the 'sneak glitch' physics override, i assume that was disabled in your video?

User avatar
1248
Member
Posts: 344
Joined: Thu May 05, 2016 11:47
GitHub: Der1248
In-game: 1248 or Der1248
Location: Germany

Re: Sneak news and a temporary option for old move code

by 1248 » Post

paramat wrote:Interesting.
2 node sneak jump is of course an intentional part of the 'sneak glitch' physics override, i assume that was disabled in your video?
I used the basic minetest game, no mods and the basic minetest.conf

Punk
Member
Posts: 158
Joined: Sun Dec 25, 2016 06:52

Re: Sneak news and a temporary option for old move code

by Punk » Post

1248 wrote:I think there is still one way in Minetest 0.4.16 to jump two blocks with sneak:
https://www.youtube.com/watch?v=nim5hO0UkEQ
Is this still a glitch? The same glitch?

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Sneak news and a temporary option for old move code

by paramat » Post

Just discovered you need to reset 'sneak_glitch' to true when using the old move code option, otherwise sneak ladders do not work:

Code: Select all

minetest.register_on_joinplayer(function(player)
	local override_table = player:get_physics_override()
	override_table.new_move = false
	override_table.sneak_glitch = true
	player:set_physics_override(override_table)
end)
The default of 'sneak_glitch' was changed to false in 0.4.16 because in new move code it controls the now optional sneak ladder and sneak jump.

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Sneak news and a temporary option for old move code

by paramat » Post

Image

1248, confirmed your 'new sneak jump' works in default MT.
By removing nodes found that the structure above has the same effect if you sneak-jump while pressed against the centre.
Attachments
screenshot_20170711_033428.jpg
screenshot_20170711_033428.jpg (55.79 KiB) Viewed 1567 times

User avatar
1248
Member
Posts: 344
Joined: Thu May 05, 2016 11:47
GitHub: Der1248
In-game: 1248 or Der1248
Location: Germany

Re: Sneak news and a temporary option for old move code

by 1248 » Post

I think there is another way to jump 2 (1.7) blocks high: https://www.youtube.com/watch?v=9OkFKa6lbMk
I used the officially 0.4.16, basic minetest game, no mods and the basic minetest.conf.
I think there should also be a function in Minetest 0.5.0 for the old move code because I and maybe some other people can use it for parkour maps like adventus I-V.
(and I whould like to make more in Minetest 0.5.0 with the old move code)

User avatar
jas
Member
Posts: 593
Joined: Mon Jul 24, 2017 18:15
IRC: Freenode
Location: IRC

Re: Sneak news and a temporary option for old move code

by jas » Post

There is an option, through player physics attributes, to use old sneak movement.

Code: Select all

player:set_player_properties({sneak_glitch=true, new_move=false})
I think that's right. I think it's possible to set sneak_glitch=true and keep new_move=true also. I use these in my runfast mod in/on dcbl, such that only sprinting players can do sneak jumping, and it's fun for jump tracks.

https://www.twitch.tv/videos/172182289

User avatar
1248
Member
Posts: 344
Joined: Thu May 05, 2016 11:47
GitHub: Der1248
In-game: 1248 or Der1248
Location: Germany

Re: Sneak news and a temporary option for old move code

by 1248 » Post

jas wrote:There is an option, through player physics attributes, to use old sneak movement.

Code: Select all

player:set_player_properties({sneak_glitch=true, new_move=false})
I think that's right. I think it's possible to set sneak_glitch=true and keep new_move=true also. I use these in my runfast mod in/on dcbl, such that only sprinting players can do sneak jumping, and it's fun for jump tracks.

https://www.twitch.tv/videos/172182289
Yes I know this option but paramat wrote it is only a temporary option--> they will remove this option in 0.5.0
And I would like this option also in 0.5.0.

User avatar
jas
Member
Posts: 593
Joined: Mon Jul 24, 2017 18:15
IRC: Freenode
Location: IRC

Re: Sneak news and a temporary option for old move code

by jas » Post

no, no, no, no, no, oh god please no WHY

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Sneak news and a temporary option for old move code

by paramat » Post

1248 wrote:Yes I know this option but paramat wrote it is only a temporary option--> they will remove this option in 0.5.0
And I would like this option also in 0.5.0.
Actually we've decided that option will stay as long as it is wanted (and it is very much wanted) so don't worry. The option code is harmless to keep.
My comment about removing it in 0.5.0 was based on somewhat unrealistic optimism that most players would get used to the new sneak code soon.

Edited first post accordingly.

Locked

Who is online

Users browsing this forum: No registered users and 2 guests