9
0
mirror of https://github.com/Xiao-MoMi/Custom-Crops.git synced 2025-12-22 16:39:36 +00:00
This commit is contained in:
Xiao-MoMi
2022-08-10 18:26:05 +08:00
parent 6a0cf5f8ef
commit 3a06289fcb
4 changed files with 67 additions and 7 deletions

View File

@@ -40,6 +40,7 @@ public final class CustomCrops extends JavaPlugin {
public static JavaPlugin instance; public static JavaPlugin instance;
public static BukkitAudiences adventure; public static BukkitAudiences adventure;
public static CustomCrops plugin;
private CropTimer cropTimer; private CropTimer cropTimer;
private CropManager cropManager; private CropManager cropManager;
@@ -64,6 +65,8 @@ public final class CustomCrops extends JavaPlugin {
@Override @Override
public void onEnable() { public void onEnable() {
plugin = this;
instance = this; instance = this;
adventure = BukkitAudiences.create(instance); adventure = BukkitAudiences.create(instance);

View File

@@ -0,0 +1,24 @@
package net.momirealms.customcrops.api;
import net.momirealms.customcrops.CustomCrops;
import net.momirealms.customcrops.datamanager.SeasonManager;
public class CustomCropsAPI {
/**
* 获取插件实例
* @return 插件实例
*/
public static CustomCrops getPlugin(){
return CustomCrops.plugin;
}
/**
* 获取指定世界的季节
* @param worldName 世界名
* @return 那个世界的季节若不存在则返回null
*/
public static String getSeason(String worldName){
return SeasonManager.SEASON.get(worldName);
}
}

View File

@@ -24,6 +24,7 @@ import org.bukkit.command.TabCompleter;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -36,27 +37,58 @@ public class Completer implements TabCompleter {
return null; return null;
} }
if (args.length == 1) { if (args.length == 1) {
return Arrays.asList("backup", "forcegrow", "forcesave", "forcewater", "reload", "setseason"); List<String> arrayList = new ArrayList<>();
for (String cmd : Arrays.asList("backup", "forcegrow", "forcesave", "forcewater", "reload", "setseason")) {
if (cmd.startsWith(args[0]))
arrayList.add(cmd);
}
return arrayList;
} }
if(args[0].equalsIgnoreCase("setseason") && args.length == 2){ if(args[0].equalsIgnoreCase("setseason") && args.length == 2){
return ConfigReader.Config.worldNames; List<String> arrayList = new ArrayList<>();
for (String cmd : ConfigReader.Config.worldNames) {
if (cmd.startsWith(args[1]))
arrayList.add(cmd);
}
return arrayList;
} }
if(args[0].equalsIgnoreCase("forcesave") && args.length == 2){ if(args[0].equalsIgnoreCase("forcesave") && args.length == 2){
List<String> arrayList = new ArrayList<>();
if (ConfigReader.Season.enable){ if (ConfigReader.Season.enable){
if (ConfigReader.Season.seasonChange){ if (ConfigReader.Season.seasonChange){
return Arrays.asList("all","crop","pot","sprinkler"); for (String cmd : Arrays.asList("all","crop","pot","sprinkler")) {
if (cmd.startsWith(args[1]))
arrayList.add(cmd);
}
}else{ }else{
return Arrays.asList("all","crop","pot","season","sprinkler"); for (String cmd : Arrays.asList("all","crop","pot","season","sprinkler")) {
if (cmd.startsWith(args[1]))
arrayList.add(cmd);
}
} }
}else { }else {
return Arrays.asList("all","crop","pot","sprinkler"); for (String cmd : Arrays.asList("all","crop","pot","sprinkler")) {
if (cmd.startsWith(args[1]))
arrayList.add(cmd);
}
} }
return arrayList;
} }
if(args[0].equalsIgnoreCase("setseason") && args.length == 3){ if(args[0].equalsIgnoreCase("setseason") && args.length == 3){
return Arrays.asList("spring","summer","autumn","winter"); List<String> arrayList = new ArrayList<>();
for (String cmd : Arrays.asList("spring","summer","autumn","winter")) {
if (cmd.startsWith(args[2]))
arrayList.add(cmd);
}
return arrayList;
} }
if(args[0].equalsIgnoreCase("forcegrow") || args[0].equalsIgnoreCase("forcewater")){ if(args[0].equalsIgnoreCase("forcegrow") || args[0].equalsIgnoreCase("forcewater")){
return ConfigReader.Config.worldNames; List<String> arrayList = new ArrayList<>();
for (String cmd : ConfigReader.Config.worldNames) {
if (cmd.startsWith(args[1]))
arrayList.add(cmd);
}
return arrayList;
} }
return null; return null;
} }

View File

@@ -150,6 +150,7 @@ public class Executor implements CommandExecutor {
case "cleandata" -> { case "cleandata" -> {
plugin.getCropManager().cleanData(); plugin.getCropManager().cleanData();
plugin.getSprinklerManager().cleanData(); plugin.getSprinklerManager().cleanData();
return true;
} }
case "setseason" -> { case "setseason" -> {
if (args.length < 3) { if (args.length < 3) {