- Баллы
- 76
- Имя в Minecraft
- swat1x
Хочу сделать такую схему:
После того как игрок ломает любой вид руды (В выживании). Ему даётся кол-во денег указанное в конфиге.
Если этот игрок находиться в креативе, то сначала блок после ломания, секунды на 2 заменялся на редстоун блок, а затем заменялся обратно на руду, которую сломали.
Cам код:
@EventHandler
public void on(BlockBreakEvent e) throws InterruptedException
{
Player p = e.getPlayer();
После того как игрок ломает любой вид руды (В выживании). Ему даётся кол-во денег указанное в конфиге.
Если этот игрок находиться в креативе, то сначала блок после ломания, секунды на 2 заменялся на редстоун блок, а затем заменялся обратно на руду, которую сломали.
Cам код:
@EventHandler
public void on(BlockBreakEvent e) throws InterruptedException
{
Player p = e.getPlayer();
Material forOre = e.getBlock().getType();
if(p.getGameMode() != GameMode.CREATIVE) {
if(forOre == Material.COAL_ORE || forOre == Material.IRON_ORE || forOre == Material.GOLD_ORE || forOre == Material.DIAMOND_ORE || forOre == Material.LAPIS_ORE || forOre == Material.REDSTONE_ORE) {
if (forOre == Material.COAL_ORE) {
//econ.depositPlayer(p, 100.00);
int coalPrice = (plugin.getConfig().getInt("settings.ore.costs.coal"));
p.sendMessage("§b§lРАБОТА: §fВы получили §b" + coalPrice + "$§f за добычу §bугольной руды");
}
}
}
else {
p.sendMessage("§c§lОШИБКА:§f Выйдите из креатива чтобы взаимодействовать с этим блоком");
TimeUnit.SECONDS.sleep(1);
Location loc = b.getLocation();
Block block = loc.getBlock();
block.setType(Material.COAL_ORE);
p.sendMessage("§c§lОШИБКА:§f Выйдите из креатива чтобы взаимодействовать с этим блоком");
}
}
Знаю что код кривой и можно было бы сделать это проще и рациональней, но я этим занимаюсь от силы неделю. Просто помогите без ответов по типу: Научись гуглитьif(p.getGameMode() != GameMode.CREATIVE) {
if(forOre == Material.COAL_ORE || forOre == Material.IRON_ORE || forOre == Material.GOLD_ORE || forOre == Material.DIAMOND_ORE || forOre == Material.LAPIS_ORE || forOre == Material.REDSTONE_ORE) {
if (forOre == Material.COAL_ORE) {
//econ.depositPlayer(p, 100.00);
int coalPrice = (plugin.getConfig().getInt("settings.ore.costs.coal"));
p.sendMessage("§b§lРАБОТА: §fВы получили §b" + coalPrice + "$§f за добычу §bугольной руды");
}
}
}
else {
p.sendMessage("§c§lОШИБКА:§f Выйдите из креатива чтобы взаимодействовать с этим блоком");
TimeUnit.SECONDS.sleep(1);
Location loc = b.getLocation();
Block block = loc.getBlock();
block.setType(Material.COAL_ORE);
p.sendMessage("§c§lОШИБКА:§f Выйдите из креатива чтобы взаимодействовать с этим блоком");
}
}