RuneCraft
これは、パッケージで名前が付けられたメインクラスにありますcom.mcvigor
:
public static ArrayList<String> prospPlayers = new ArrayList<String>();
MiningListener
私はこれを packageという名前の別のクラスに持っていますcom.mcvigor.listeners
:
` public void playerRClickOre(PlayerInteractEvent event) { //Ore Interactions
final Player p = event.getPlayer();
if(event.getPlayer().isOp()) return;
if(RuneCraft.prospPlayers.contains(p.getName())) return;
if(isClickedBlockMineral(event) && event.getAction() == Action.LEFT_CLICK_BLOCK && !hasPickaxe(p)) { //block is mineral, player left clicked it, no pickaxe
p.sendMessage(ChatColor.DARK_RED + "You need a pickaxe to mine this."); // ADD CHECKS FOR PICKAXE REQUIRED LEVEL 2 USE
}
if(isClickedBlockMineral(event) && event.getAction() == Action.RIGHT_CLICK_BLOCK) {
switch(event.getClickedBlock().getType()) {
case CLAY: //clay
RuneCraft.prospPlayers.add(p.getName());
p.sendMessage(ChatColor.DARK_RED + "You examine the rock for ores...");
Bukkit.getScheduler().runTaskLater(plugin, new Runnable(){
public void run() {
p.sendMessage(ChatColor.GRAY + "This rock contains" + ChatColor.DARK_RED + " clay" + ChatColor.GRAY + ".");
}
}, 3*20L); // TODO: Change time
RuneCraft.prospPlayers.remove(p.getName());
break;`
その下に他のものがありますが、それは重要ではありません。問題は、私が鉱石を探鉱したり調べたりすると、リストに追加されることになっていて、もう一度やろうとすると、探鉱が完了するまで許可されないことです (ArrayList から私の名前が削除されます)。 .
なぜこうなった?
問題はif(RuneCraft.prospPlayers.contains(p.getName())) return;
ありますか?