private void OnPlayerJoin(IPlayer player) { fromPlayer = player as IServerPlayer; WorldEditWorkspace workspace = GetOrCreateWorkSpace(player); IBlockAccessorRevertable revertableBlockAccess = sapi.World.GetBlockAccessorRevertable(true, true); // Initialize all tools once to build up the workspace for the client gui tool options foreach (var val in ToolRegistry.ToolTypes) { ToolRegistry.InstanceFromType(val.Key, workspace, revertableBlockAccess); } if (workspace.ToolsEnabled) { if (workspace.ToolInstance != null) { EnumHighlightBlocksMode mode = EnumHighlightBlocksMode.CenteredToSelectedBlock; if (workspace.ToolOffsetMode == EnumToolOffsetMode.Attach) { mode = EnumHighlightBlocksMode.AttachedToSelectedBlock; } sapi.World.HighlightBlocks(player, (int)EnumHighlightSlot.Brush, workspace.ToolInstance.GetBlockHighlights(this), workspace.ToolInstance.GetBlockHighlightColors(this), mode); } } else { workspace.HighlightSelectedArea(); } }
public void ResendBlockHighlights(WorldEdit we) { var player = world.PlayerByUid(PlayerUID); HighlightSelectedArea(); if (ToolsEnabled) { EnumHighlightBlocksMode mode = EnumHighlightBlocksMode.CenteredToSelectedBlock; if (ToolOffsetMode == EnumToolOffsetMode.Attach) { mode = EnumHighlightBlocksMode.AttachedToSelectedBlock; } if (ToolInstance != null) { world.HighlightBlocks(player, (int)EnumHighlightSlot.Brush, ToolInstance.GetBlockHighlights(we), ToolInstance.GetBlockHighlightColors(we), mode, EnumHighlightShape.Arbitrary); } } else { world.HighlightBlocks(player, (int)EnumHighlightSlot.Brush, new List <BlockPos>(), new List <int>()); } }
public void ResendBlockHighlights() { WorldEditWorkspace workspace = GetOrCreateWorkSpace(fromPlayer); HighlightSelectedArea(workspace, fromPlayer); if (workspace.ToolsEnabled) { EnumHighlightBlocksMode mode = EnumHighlightBlocksMode.CenteredToSelectedBlock; if (workspace.ToolOffsetMode == EnumToolOffsetMode.Attach) { mode = EnumHighlightBlocksMode.AttachedToSelectedBlock; } if (workspace.ToolInstance != null) { sapi.World.HighlightBlocks(fromPlayer, (int)EnumHighlightSlot.Brush, workspace.ToolInstance.GetBlockHighlights(this), workspace.ToolInstance.GetBlockHighlightColors(this), mode, EnumHighlightShape.Arbitrary); } } else { sapi.World.HighlightBlocks(fromPlayer, (int)EnumHighlightSlot.Brush, new List <BlockPos>(), new List <int>()); } }