From 5ca18ad26159a3543cbb56e9eab4f628abef876e Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Sat, 13 Jul 2024 12:58:16 -0700 Subject: [PATCH] /fix --- pom.xml | 2 +- .../io/github/lncvrt/lncvrtbox/LncvrtBox.java | 73 +++++++++++++++++++ src/main/resources/plugin.yml | 6 +- 3 files changed, 79 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 99f41b7..b1b74be 100644 --- a/pom.xml +++ b/pom.xml @@ -107,7 +107,7 @@ com.sk89q.worldguard worldguard-bukkit - 7.0.4 + 7.1.0-SNAPSHOT provided diff --git a/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java b/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java index dea61bc..ac239d0 100644 --- a/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java +++ b/src/main/java/io/github/lncvrt/lncvrtbox/LncvrtBox.java @@ -1,6 +1,10 @@ package io.github.lncvrt.lncvrtbox; import com.earth2me.essentials.Essentials; +import com.sk89q.worldedit.EditSession; +import com.sk89q.worldedit.MaxChangedBlocksException; +import com.sk89q.worldedit.function.pattern.RandomPattern; +import com.sk89q.worldedit.world.block.BlockState; import io.github.lncvrt.lncvrtbox.events.*; import net.luckperms.api.LuckPerms; import net.luckperms.api.LuckPermsProvider; @@ -22,6 +26,12 @@ import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import org.bukkit.inventory.ItemStack; +import com.sk89q.worldedit.WorldEdit; +import com.sk89q.worldedit.bukkit.BukkitAdapter; +import com.sk89q.worldedit.bukkit.BukkitPlayer; +import com.sk89q.worldedit.math.BlockVector3; +import com.sk89q.worldedit.regions.CuboidRegion; +import com.sk89q.worldedit.world.block.BlockTypes; import org.bukkit.Bukkit; @@ -322,6 +332,69 @@ public final class LncvrtBox extends JavaPlugin implements Listener, TabExecutor sender.sendMessage("You do not have permission to use this command."); } return true; + } else if (label.equalsIgnoreCase("fix")) { + //TODO: make selectionwall4 (front wall) + com.sk89q.worldedit.world.World world = BukkitAdapter.adapt(Bukkit.getWorld("world")); + CuboidRegion selectionground1 = new CuboidRegion(world, BlockVector3.at(131, 100, 105), BlockVector3.at(-67, 100, -123)); + CuboidRegion selectionwall1 = new CuboidRegion(world, BlockVector3.at(-66, 139, 105), BlockVector3.at(130, 101, 105)); + CuboidRegion selectionwall2 = new CuboidRegion(world, BlockVector3.at(-67, 139, 104), BlockVector3.at(-67, 101, -122)); + CuboidRegion selectionwall3 = new CuboidRegion(world, BlockVector3.at(-67, 139, -123), BlockVector3.at(130, 101, -123)); + + try (EditSession editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(world, -1)) { + RandomPattern pat = new RandomPattern(); + BlockState deepslate_tiles = BukkitAdapter.adapt(Material.DEEPSLATE_TILES.createBlockData()); + BlockState deepslate_bricks = BukkitAdapter.adapt(Material.DEEPSLATE_BRICKS.createBlockData()); + pat.add(deepslate_tiles, 0.5); + pat.add(deepslate_bricks, 0.5); + + editSession.setBlocks(selectionground1, pat); + } catch (MaxChangedBlocksException ex) { + ex.printStackTrace(); + } + + try (EditSession editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(world, -1)) { + RandomPattern pat = new RandomPattern(); + BlockState gold_block = BukkitAdapter.adapt(Material.GOLD_BLOCK.createBlockData()); + BlockState raw_gold_block = BukkitAdapter.adapt(Material.RAW_GOLD_BLOCK.createBlockData()); + BlockState yellow_concrete = BukkitAdapter.adapt(Material.YELLOW_CONCRETE.createBlockData()); + pat.add(gold_block, 0.33333333333); + pat.add(raw_gold_block, 0.33333333333); + pat.add(yellow_concrete, 0.33333333333); + + editSession.setBlocks(selectionwall1, pat); + } catch (MaxChangedBlocksException ex) { + ex.printStackTrace(); + } + + try (EditSession editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(world, -1)) { + RandomPattern pat = new RandomPattern(); + BlockState lapis_block = BukkitAdapter.adapt(Material.LAPIS_BLOCK.createBlockData()); + BlockState blue_concrete_powder = BukkitAdapter.adapt(Material.BLUE_CONCRETE_POWDER.createBlockData()); + BlockState blue_concrete = BukkitAdapter.adapt(Material.BLUE_CONCRETE.createBlockData()); + pat.add(lapis_block, 0.33333333333); + pat.add(blue_concrete_powder, 0.33333333333); + pat.add(blue_concrete, 0.33333333333); + + editSession.setBlocks(selectionwall2, pat); + } catch (MaxChangedBlocksException ex) { + ex.printStackTrace(); + } + + try (EditSession editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(world, -1)) { + RandomPattern pat = new RandomPattern(); + BlockState lime_concrete = BukkitAdapter.adapt(Material.LIME_CONCRETE.createBlockData()); + BlockState melon = BukkitAdapter.adapt(Material.MELON.createBlockData()); + BlockState green_glazed_terracotta = BukkitAdapter.adapt(Material.GREEN_GLAZED_TERRACOTTA.createBlockData()); + pat.add(lime_concrete, 0.33333333333); + pat.add(melon, 0.33333333333); + pat.add(green_glazed_terracotta, 0.33333333333); + + editSession.setBlocks(selectionwall3, pat); + } catch (MaxChangedBlocksException ex) { + ex.printStackTrace(); + } + sender.sendMessage("fixed!"); + return true; } return false; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4dd7379..520850d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -33,4 +33,8 @@ commands: usage: /rules lockchat: description: Lockchat - usage: /lockchat \ No newline at end of file + usage: /lockchat + fix: + description: fix + permission: lncvrtbox.admin + usage: /fix \ No newline at end of file