51 Zeilen
2.0 KiB
Java
51 Zeilen
2.0 KiB
Java
package me.yaruma.fightsystem.utils;
|
|
|
|
import com.boydti.fawe.FaweAPI;
|
|
import com.boydti.fawe.util.EditSessionBuilder;
|
|
import com.sk89q.worldedit.EditSession;
|
|
import com.sk89q.worldedit.Vector;
|
|
import com.sk89q.worldedit.blocks.BaseBlock;
|
|
import com.sk89q.worldedit.bukkit.BukkitWorld;
|
|
import com.sk89q.worldedit.bukkit.selections.CuboidSelection;
|
|
import com.sk89q.worldedit.math.transform.AffineTransform;
|
|
import com.sk89q.worldedit.world.World;
|
|
import org.bukkit.Location;
|
|
import org.bukkit.entity.Player;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
public class WorldEdit {
|
|
|
|
public static void replace(Player player, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) {
|
|
World weWorld = new BukkitWorld(player.getWorld());
|
|
EditSession editSession = new EditSessionBuilder(weWorld).fastmode(true).build();
|
|
CuboidSelection cuboidSelection = new CuboidSelection(player.getWorld(), new Location(player.getWorld(), minX, minY, minZ), new Location(player.getWorld(), maxX, maxY, maxZ));
|
|
|
|
Set<BaseBlock> targetObsidian = new HashSet<>();
|
|
targetObsidian.add(new BaseBlock(49));
|
|
|
|
Set<BaseBlock> targetBedrock = new HashSet<>();
|
|
targetBedrock.add(new BaseBlock(7));
|
|
|
|
try {
|
|
int tnt = editSession.replaceBlocks(cuboidSelection.getRegionSelector().getRegion(), targetObsidian, new BaseBlock(46));
|
|
int slime = editSession.replaceBlocks(cuboidSelection.getRegionSelector().getRegion(), targetObsidian, new BaseBlock(7));
|
|
|
|
editSession.flushQueue();
|
|
} catch (Exception ex){
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public static void pasteSchematic(File file, World world, Vector vector, boolean allowUndo, boolean pasteAir, AffineTransform affineTransform) {
|
|
try {
|
|
FaweAPI.load(file).paste(world, vector, allowUndo, pasteAir, affineTransform).flushQueue();
|
|
} catch (IOException e) { }
|
|
}
|
|
|
|
|
|
}
|