From 5fe3cdb1721dc5a0ae5bf4ef91d72f294bf027ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Cichocki?= Date: Mon, 25 Jul 2022 15:26:05 +0200 Subject: [PATCH] bugfixes --- pom.xml | 2 +- .../vrplot/subcommand/ItemSubCommand.java | 26 ++++++++++++++----- .../protection/PlotProtectionListener.java | 7 ++++- .../modnmetl/virtualrealty/sql/Database.java | 4 --- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 7f2d059..c986c16 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.modnmetl virtualrealty - 2.2.2 + 2.2.3 jar A plot creation and management plugin for Minecraft diff --git a/src/main/java/com/modnmetl/virtualrealty/commands/vrplot/subcommand/ItemSubCommand.java b/src/main/java/com/modnmetl/virtualrealty/commands/vrplot/subcommand/ItemSubCommand.java index 1e54e18..725f358 100644 --- a/src/main/java/com/modnmetl/virtualrealty/commands/vrplot/subcommand/ItemSubCommand.java +++ b/src/main/java/com/modnmetl/virtualrealty/commands/vrplot/subcommand/ItemSubCommand.java @@ -62,6 +62,8 @@ public void exec(CommandSender sender, Command command, String label, String[] a } Map.Entry floorData; Map.Entry borderData; + String[] floorMaterialData = args[5 - backwardArgs].split(":"); + String[] borderMaterialData = args[6 - backwardArgs].split(":"); if (VirtualRealty.legacyVersion) { if (isNatural) { floorData = new AbstractMap.SimpleEntry<>(Material.AIR.name(), (byte)0); @@ -70,11 +72,15 @@ public void exec(CommandSender sender, Command command, String label, String[] a if (args[5 - backwardArgs].equalsIgnoreCase("default")) { floorData = new AbstractMap.SimpleEntry<>(plotSize.getFloorMaterial().name(), plotSize.getFloorData()); } else - floorData = new AbstractMap.SimpleEntry<>(Material.valueOf(args[5 - backwardArgs].split(":")[0].toUpperCase()).name(), Byte.valueOf(args[5 - backwardArgs].split(":")[1])); + floorData = new AbstractMap.SimpleEntry<>( + Material.valueOf(args[5 - backwardArgs].split(":")[0].toUpperCase()).name(), + floorMaterialData.length > 1 ? Byte.valueOf(args[5 - backwardArgs].split(":")[1]) : 0); if (args[6 - backwardArgs].equalsIgnoreCase("default")) { borderData = new AbstractMap.SimpleEntry<>(plotSize.getBorderMaterial().name(), plotSize.getBorderData()); } else - borderData = new AbstractMap.SimpleEntry<>(Material.valueOf(args[6 - backwardArgs].split(":")[0].toUpperCase()).name(), Byte.valueOf(args[6 - backwardArgs].split(":")[1])); + borderData = new AbstractMap.SimpleEntry<>( + Material.valueOf(args[6 - backwardArgs].split(":")[0].toUpperCase()).name(), + borderMaterialData.length > 1 ? Byte.valueOf(args[6 - backwardArgs].split(":")[1]) : 0); } } else { if (isNatural) { @@ -82,13 +88,21 @@ public void exec(CommandSender sender, Command command, String label, String[] a borderData = new AbstractMap.SimpleEntry<>(Material.AIR.createBlockData().getAsString(), (byte)0); } else { if (args[5 - backwardArgs].equalsIgnoreCase("default")) { - floorData = new AbstractMap.SimpleEntry<>(plotSize.getFloorMaterial().createBlockData().getAsString(), (byte) 0); + floorData = new AbstractMap.SimpleEntry<>( + plotSize.getFloorMaterial().createBlockData().getAsString(), + (byte) 0); } else - floorData = new AbstractMap.SimpleEntry<>(Material.valueOf(args[5 - backwardArgs].toUpperCase()).createBlockData().getAsString(), (byte) 0); + floorData = new AbstractMap.SimpleEntry<>( + Material.valueOf(args[5 - backwardArgs].toUpperCase()).createBlockData().getAsString(), + (byte) 0); if (args[6 - backwardArgs].equalsIgnoreCase("default")) { - borderData = new AbstractMap.SimpleEntry<>(plotSize.getBorderMaterial().createBlockData().getAsString(), (byte) 0); + borderData = new AbstractMap.SimpleEntry<>( + plotSize.getBorderMaterial().createBlockData().getAsString(), + (byte) 0); } else - borderData = new AbstractMap.SimpleEntry<>(Material.valueOf(args[6 - backwardArgs].toUpperCase()).createBlockData().getAsString(), (byte) 0); + borderData = new AbstractMap.SimpleEntry<>( + Material.valueOf(args[6 - backwardArgs].toUpperCase()).createBlockData().getAsString(), + (byte) 0); } } int additionalDays = Integer.parseInt(args[7-backwardArgs]); diff --git a/src/main/java/com/modnmetl/virtualrealty/listeners/protection/PlotProtectionListener.java b/src/main/java/com/modnmetl/virtualrealty/listeners/protection/PlotProtectionListener.java index 549890c..62eb3b6 100644 --- a/src/main/java/com/modnmetl/virtualrealty/listeners/protection/PlotProtectionListener.java +++ b/src/main/java/com/modnmetl/virtualrealty/listeners/protection/PlotProtectionListener.java @@ -27,6 +27,7 @@ import org.bukkit.event.vehicle.VehicleDestroyEvent; import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.inventory.EquipmentSlot; +import org.bukkit.material.Crops; import org.bukkit.permissions.Permission; import java.util.ArrayList; @@ -94,7 +95,11 @@ public void onCropInteract(PlayerInteractEvent e) { Player player = e.getPlayer(); if (e.getAction() != Action.PHYSICAL) return; if (e.getClickedBlock() == null) return; - if (e.getClickedBlock().getType() != Material.FARMLAND) return; + if (VirtualRealty.legacyVersion) { + if (e.getClickedBlock().getType() == Material.getMaterial("CROPS")) return; + } else { + if (e.getClickedBlock().getType() != Material.FARMLAND) return; + } Plot plot = PlotManager.getPlot(e.getClickedBlock().getLocation()); if (plot == null) return; if (hasPermission(player, PLOT_BUILD)) return; diff --git a/src/main/java/com/modnmetl/virtualrealty/sql/Database.java b/src/main/java/com/modnmetl/virtualrealty/sql/Database.java index afde87a..b422b4a 100644 --- a/src/main/java/com/modnmetl/virtualrealty/sql/Database.java +++ b/src/main/java/com/modnmetl/virtualrealty/sql/Database.java @@ -3,19 +3,15 @@ import com.modnmetl.virtualrealty.VirtualRealty; import com.modnmetl.virtualrealty.configs.PluginConfiguration; import com.zaxxer.hikari.HikariDataSource; -import lombok.Data; import lombok.Getter; -import lombok.Setter; import org.sqlite.SQLiteDataSource; import javax.sql.DataSource; import java.io.File; import java.io.PrintWriter; import java.sql.Connection; -import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.util.logging.Level; public class Database {