From 6ae822fbe4610545cb21d3a8449a1fa3d9401cd3 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Fri, 29 Sep 2017 17:50:10 +1000 Subject: [PATCH] Doing /lb edit will automatically copy a /gb to a /lb, fixes #345 --- MCGalaxy/Commands/CPE/CustomBlockCommand.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/MCGalaxy/Commands/CPE/CustomBlockCommand.cs b/MCGalaxy/Commands/CPE/CustomBlockCommand.cs index a314494b2..38d9d9043 100644 --- a/MCGalaxy/Commands/CPE/CustomBlockCommand.cs +++ b/MCGalaxy/Commands/CPE/CustomBlockCommand.cs @@ -110,8 +110,9 @@ namespace MCGalaxy.Commands.CPE { BlockDefinition[] defs = global ? BlockDefinition.GlobalDefs : p.level.CustomBlockDefs; BlockDefinition srcDef = defs[src.RawID], dstDef = defs[dst.RawID]; - if (srcDef == null && src.BlockID < Block.CpeCount) + if (srcDef == null && src.BlockID < Block.CpeCount) { srcDef = DefaultSet.MakeCustomBlock(src.BlockID); + } if (srcDef == null) { MessageNoBlock(p, src, global, cmd); return; } if (ExistsInScope(dstDef, dst, global)) { MessageAlreadyBlock(p, dst, global, cmd); return; } @@ -309,12 +310,16 @@ namespace MCGalaxy.Commands.CPE { ExtBlock block; if (!CheckBlock(p, parts[1], out block)) return; BlockDefinition[] defs = global ? BlockDefinition.GlobalDefs : p.level.CustomBlockDefs; - BlockDefinition def = defs[block.RawID]; + BlockDefinition def = defs[block.RawID], globalDef = BlockDefinition.GlobalDefs[block.RawID]; if (def == null && block.BlockID < Block.CpeCount) { def = DefaultSet.MakeCustomBlock(block.BlockID); AddBlock(p, def, global, cmd, BlockDefinition.DefaultProps(block)); } + if (def != null && !global && def == globalDef) { + def = globalDef.Copy(); + AddBlock(p, def, global, cmd, BlockDefinition.DefaultProps(block)); + } if (!ExistsInScope(def, block, global)) { MessageNoBlock(p, block, global, cmd); return; } string value = parts[3], blockName = def.Name;