From 901ad70064719806bed2d97eccd20c96cb7d200c Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Tue, 19 Sep 2017 14:14:23 +1000 Subject: [PATCH] Fix /paint not adding 'painted' flag to /b when replacing existing solid block. --- MCGalaxy/Player/Player.Handlers.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/MCGalaxy/Player/Player.Handlers.cs b/MCGalaxy/Player/Player.Handlers.cs index 660c9d929..5fb992cc8 100644 --- a/MCGalaxy/Player/Player.Handlers.cs +++ b/MCGalaxy/Player/Player.Handlers.cs @@ -163,7 +163,9 @@ namespace MCGalaxy { if (type == 2) Player.GlobalBlockchange(level, x, y, z, block); // different visually ushort flags = BlockDBFlags.ManualPlace; - if (painting && Replacable(old.BlockID)) flags = BlockDBFlags.Painted; + if (painting && CollideType.IsSolid(level.CollideType(old))) { + flags = BlockDBFlags.Painted; + } level.BlockDB.Cache.Add(this, x, y, z, flags, old, block); bool autoGrass = level.Config.GrassGrow && (level.physics == 0 || level.physics == 5); @@ -179,12 +181,6 @@ namespace MCGalaxy { return type; } - - static bool Replacable(byte block) { - block = Block.Convert(block); - return block == Block.Air || (block >= Block.Water && block <= Block.StillLava); - } - internal int ProcessReceived(byte[] buffer, int bufferLen) { int processedLen = 0; try {