public override void OnAttackStart(WorldEdit worldEdit, BlockSelection blockSelection) { if (blockSelection == null) { return; } if (!MagicSelect) { BlockPos startPos = blockSelection.Position; if (workspace.EndMarker != null) { if (workspace.EndMarker.X <= startPos.X) { startPos.X++; } if (workspace.EndMarker.Y <= startPos.Y) { startPos.Y++; } if (workspace.EndMarker.Z <= startPos.Z) { startPos.Z++; } } worldEdit.SetStartPos(startPos); } }
public override void OnInteractStart(WorldEdit worldEdit, BlockSelection blockSelection) { if (blockSelection == null) { return; } blockAccess = worldEdit.sapi.World.BlockAccessor; if (MagicSelect) { Cuboidi sele = MagiSelect(blockSelection); worldEdit.SetStartPos(sele.Start.AsBlockPos); worldEdit.SetEndPos(sele.End.AsBlockPos); workspace.revertableBlockAccess.StoreHistoryState(new List <BlockUpdate>()); } else { BlockPos endpos = blockSelection.Position.AddCopy(blockSelection.Face); if (workspace.StartMarker != null) { if (workspace.StartMarker.X <= endpos.X) { endpos.X++; } if (workspace.StartMarker.Y <= endpos.Y) { endpos.Y++; } if (workspace.StartMarker.Z <= endpos.Z) { endpos.Z++; } } worldEdit.SetEndPos(endpos); workspace.revertableBlockAccess.StoreHistoryState(new List <BlockUpdate>()); } base.OnInteractStart(worldEdit, blockSelection); }