Loïc Blot [Thu, 25 May 2017 14:43:55 +0000 (16:43 +0200)]
Enhance ABM performance a little bit by removing two std::set copy (#5815)
* Enhance ABM performance a little bit by removing two std::set copy
* ActiveBlockModifier::getTriggerContents now returns a const ref
* ActiveBlockModifier::getRequiredNeighbors now returns a const ref
* ActiveBlockModifier::getRequiredNeighbors is now purely virtual
Paramat [Thu, 25 May 2017 10:46:34 +0000 (11:46 +0100)]
Mgv6 mudflow: Remove decoration if 'dirt with grass' below flows away (#5798)
Mudflow of a neighbouring mapchunk extends into a mapchunk's edge, and could
remove 'dirt with grass' from under a decoration, creating unsupported
decorations.
Remove any decoration above if a 'dirt with grass' node is removed by mudflow.
Loic Blot [Mon, 22 May 2017 05:28:35 +0000 (07:28 +0200)]
LINT fix & check all files with clang-format
Seems the diff mode doesn't work well, PR are detected as working whereas in master it's shown it's problematic (and really problematic). Use same check everywhere
you [Sat, 20 May 2017 18:43:13 +0000 (20:43 +0200)]
Fix instant digging (#5785)
Use runData.dig_time_complete instead of params.time to find out whether it's instant digging.
runData.dig_time_complete is set to something very big if the node can't be dug, whereas param.time is 0 when digging is impossible or it's instant digging. So not using param.time fixes #5728.
Paramat [Sat, 20 May 2017 14:46:35 +0000 (15:46 +0100)]
Particle spawner: Do not spawn particles distant from player (#5766)
Previously, every particle was rendered by (even if not actually visible to)
the client regardless of distance. This significantly reduced client FPS.
Acts clientside, particle spawners are always sent to clients, but each
particle is checked for distance from the player.
As with 'add particle' the distance limit is set to 'max block send distance'
as this determines how far a client can see.
Elijah Duffy [Sat, 20 May 2017 10:56:17 +0000 (03:56 -0700)]
Add /clearinv chat command (#4994)
Allow players to clear their own inventory or that of another player with /clearinv command. server privilege is required to clear another player's inventory, no privileges are required to clear your own inventory.'
Paramat [Wed, 17 May 2017 08:37:28 +0000 (09:37 +0100)]
Particles: Do not send single particles to distant clients (#5760)
Previously, every individual particle on a server is sent to, and rendered by
(even if not actually visible), every client regardless of distance. This
significantly reduces client FPS and creates unnecessary network traffic.
Maximum distance is set by 'max block send distance' as this determines how far
a client is able to see.
paramat [Thu, 11 May 2017 02:39:43 +0000 (03:39 +0100)]
Caverns: Remove unnecessary liquid excavation
Also disable CavesRandomWalk at a safer distance from caverns.
Excavating liquids in cavern code is unnecessary as in practice we are already
successfully disabling the generation of liquid caves that could intersect
with caverns and cause excessive amounts of spreading liquids in caverns.
However to be safer this commit now disables liquid caves at a larger distance
from caverns, to compensate for liquid caves being able to generate up to a
mapblock beyond a mapchunk border.
Not excavating liquids in cavern code also allows a feature i am working on in
experimental new core mapgens, but also allows for more flexibility in future.
red-001 [Sat, 13 May 2017 06:50:19 +0000 (07:50 +0100)]
Minor pause/escape menu improvements (#5751)
- Split movement keys into separate entries.
- Increase buffer size due to the above change.
- Change capitalisation.
- Remove code-style violating white spaces.
red-001 [Thu, 11 May 2017 08:39:37 +0000 (09:39 +0100)]
Rework escape/pause menu (#5719)
* Rework escape/pause menu
- Remove build information
- Use current controls instead of default controls
- Add information about the current server in place of the build information
- Add text saying the game is paused to if in singleplayer mode.
rework pause/escape menu
paramat [Mon, 8 May 2017 00:27:11 +0000 (01:27 +0100)]
Custom step height: Fix implementation
Recent commit 45ab62d6a3d90ab3b97aec88251a766cb5dd1899 had a coding error that
made climbing out of water difficult due to an incorrect value of the step height
when not 'touching ground'.
It also incorrectly multiplied the custom stepheight by BS, resulting in being
able to step-up 2 nodes if set to the default of 0.6, or even 0.3.
Also the implementation was wrong because it customised the step height when
not 'touching ground', this step height is for a slight rise when catching the
edge of a node during a jump, and should always remain at 0.2 * BS.
paramat [Fri, 5 May 2017 01:12:47 +0000 (02:12 +0100)]
Shaders: Remove unused water surface shader
Also remove hardcoded MTGame node.
The 'water surface shader' was duplicated shader code in preparation for
intended new water surface shaders. For development purposes the MTGame node
'default:water_source' had it's top tile assigned to 'water surface shader'.
Due to shader duplication this commit does not cause any change to shader
behaviour.
paramat [Sun, 7 May 2017 00:48:42 +0000 (01:48 +0100)]
Player properties: Set correct default collisionbox
Recent commit b6f4a9c7e1a4f0bac66fd6f6ff844425ac775975 removed a hardcoded
player collisionbox which resulted on falling back to an incorrect default.
This stopped players walking through 2-node high spaces and made the player
slightly wider.
Improve docs for custom player collisionbox feature and reformat nearby lines.