From d0e0d46a285b809c4b26517777541cca98630f88 Mon Sep 17 00:00:00 2001 From: Xiao-MoMi <70987828+Xiao-MoMi@users.noreply.github.com> Date: Sun, 20 Nov 2022 13:59:41 +0800 Subject: [PATCH] 2.0.11 --- .../integrations/customplugin/HandlerP.java | 10 ++++++---- .../itemsadder/ItemsAdderWireCropImpl.java | 2 +- .../customplugin/oraxen/OraxenWireCropImpl.java | 11 ++++------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/net/momirealms/customcrops/integrations/customplugin/HandlerP.java b/src/main/java/net/momirealms/customcrops/integrations/customplugin/HandlerP.java index 6722b94..cec0ed3 100644 --- a/src/main/java/net/momirealms/customcrops/integrations/customplugin/HandlerP.java +++ b/src/main/java/net/momirealms/customcrops/integrations/customplugin/HandlerP.java @@ -315,13 +315,15 @@ public abstract class HandlerP extends Function { } public boolean hasNextStage(String id) { - int nextStage = Integer.parseInt(id.substring(id.length()-1)) + 1; - return customInterface.doesExist(StringUtils.chop(id) + nextStage); + String[] crop = StringUtils.split(id,"_"); + int nextStage = Integer.parseInt(crop[2]) + 1; + return customInterface.doesExist(crop[0] + "_" + crop[1] + "_" + nextStage); } public String getNextStage(String id) { - int nextStage = Integer.parseInt(id.substring(id.length()-1)) + 1; - return StringUtils.chop(id) + nextStage; + String[] crop = StringUtils.split(id,"_"); + int nextStage = Integer.parseInt(crop[2]) + 1; + return crop[0] + "_" + crop[1] + "_" + nextStage; } public boolean fillWaterCan(String id, NBTItem nbtItem, ItemStack itemStack, Player player) { diff --git a/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderWireCropImpl.java b/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderWireCropImpl.java index dc124e8..6f36034 100644 --- a/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderWireCropImpl.java +++ b/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderWireCropImpl.java @@ -78,7 +78,7 @@ public class ItemsAdderWireCropImpl implements CropModeInterface { Fertilizer fertilizer = cropManager.getFertilizer(potLoc); boolean certainGrow = potID.equals(BasicItemConfig.wetPot); int nextStage = Integer.parseInt(cropNameList[2]) + 1; - String temp = StringUtils.chop(blockID); + String temp = blockID.substring(blockID.length() - String.valueOf(nextStage).length()); if (customInterface.doesExist(temp + nextStage)) { if (MainConfig.enableCrow && cropManager.crowJudge(location)) return true; diff --git a/src/main/java/net/momirealms/customcrops/integrations/customplugin/oraxen/OraxenWireCropImpl.java b/src/main/java/net/momirealms/customcrops/integrations/customplugin/oraxen/OraxenWireCropImpl.java index b214db5..bc3b844 100644 --- a/src/main/java/net/momirealms/customcrops/integrations/customplugin/oraxen/OraxenWireCropImpl.java +++ b/src/main/java/net/momirealms/customcrops/integrations/customplugin/oraxen/OraxenWireCropImpl.java @@ -54,18 +54,15 @@ public class OraxenWireCropImpl implements CropModeInterface { if (crop == null) return true; if (MainConfig.needSkyLight && location.getBlock().getLightFromSky() < MainConfig.skyLightLevel) { - Bukkit.getScheduler().runTask(CustomCrops.plugin, () -> { - customInterface.placeWire(location, BasicItemConfig.deadCrop); - }); + Bukkit.getScheduler().runTask(CustomCrops.plugin, () -> customInterface.placeWire(location, BasicItemConfig.deadCrop)); return true; } if (cropManager.isWrongSeason(location, crop.getSeasons())) { - Bukkit.getScheduler().runTask(CustomCrops.plugin, () -> { - customInterface.placeWire(location, BasicItemConfig.deadCrop); - }); + Bukkit.getScheduler().runTask(CustomCrops.plugin, () -> customInterface.placeWire(location, BasicItemConfig.deadCrop)); return true; } + Location potLoc = location.clone().subtract(0,1,0); String potID = customInterface.getBlockID(potLoc); if (potID == null) return true; @@ -73,7 +70,7 @@ public class OraxenWireCropImpl implements CropModeInterface { Fertilizer fertilizer = cropManager.getFertilizer(potLoc); boolean certainGrow = potID.equals(BasicItemConfig.wetPot); int nextStage = Integer.parseInt(cropNameList[2]) + 1; - String temp = StringUtils.chop(blockID); + String temp = cropNameList[0] + "_" + cropNameList[1] + "_"; if (customInterface.doesExist(temp + nextStage)) { if (MainConfig.enableCrow && cropManager.crowJudge(location)) return true; if (fertilizer instanceof SpeedGrow speedGrow && Math.random() < speedGrow.getChance()) {