/* * This file is a part of the SteamWar software. * * Copyright (C) 2022 SteamWar.de-Serverteam * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package de.steamwar.bausystem.utils; import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.extent.clipboard.Clipboard; import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.regionnew.Point; import de.steamwar.core.VersionDependent; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.util.Vector; import java.io.File; public interface FlatteningWrapper { FlatteningWrapper impl = VersionDependent.getVersionImpl(BauSystem.getInstance()); boolean isNoBook(ItemStack item); boolean isUnpusheable(Material material); boolean isBreakingOnPush(Material material); boolean isWorldEditCommand(String command); void setSelection(Player p, Point minPoint, Point maxPoint); Clipboard loadSchematic(File file); EditSession paste(PasteBuilder pasteBuilder); Clipboard copy(Point minPoint, Point maxPoint, Point copyPoint); boolean backup(Point minPoint, Point maxPoint, File file); boolean inWater(World world, Vector tntPosition); }