Сборки серверов

СливПлатные

Новые сообщения

Сейчас онлайн

  • Gazmanov
  • chatodual
  • Soquooo
  • Namhoanghpvn
  • TheBigGarry
  • claimee5945
  • spectrasonic117
  • SHAURMA808
  • _Mandarinka_TV_
  • NASA180
  • DenPlayStar
  • ZerthDev
  • Skyns1
  • Fadde
  • Evgen4ikGamesYT
  • WitherTech GSL
  • MaskLe
  • MrMikhaili
  • vinafortX
  • Vilariqu
  • BYBLECRU
  • FUL
  • Last.Exe
  • NoOne
  • Yatochka
  • prorotyz3d
  • PuzyroC
  • MrVonDexYT
  • woshhovsky
  • TheBrainDed
  • Xgamings11X
  • nightsamurai
  • awinic
  • AstralSky
  • MoOdyyxx
  • dimacloudy
  • keremMode
  • Danya_OVH
  • Blackcat
  • ultralum
  • 121121312312313
  • Hirov123
  • AdilDemon
  • Johnson
  • FoxySSoksy
  • SkyblueVN
  • VOTERS
  • TheRyuujin
  • 01Kapycta
  • minear_cmetanka
  • g0oxy_
  • MrTeM4IK324
  • yatuybarsov
  • Nurazizcom
  • an0n1musz
  • kvizz
  • draca
  • Frutik
  • johndoe123123
  • MrSoup
  • SiniksPlays
  • DAFSSS11
  • wery
  • domino871
  • 1tsTanya
  • 924405813
  • wor1xdd223
  • ыаываыпыпывыа
  • Pomachka58BW
  • twentytwo
  • nick9509
  • misanthropeee
  • bulavko26
  • minenex
  • deo5
  • D1DR3H
  • MrLavX
  • Grafin4ik2458
  • dopler
  • Heller123
  • drixLrxd
  • radagss
  • only_localhost1
  • Yamekelq
  • ArtKot
  • kanortoplay
  • andreu12
  • flopka321
  • RONW1K
  • no_war
  • bink

Помощь HP блока

  • Автор темыVINRED5
  • Дата начала
VINRED5
Всем привет, хотел бы узнать есть ли у кого-то идеи, как реализовать HP блока.
Условно, если блок N ломают деревянной киркой, то чтобы его сломать нужно 2 удара, но если этот же блок ломать железной киркой, то нужно только 1 удар.
Примечание: Если ИГРОК1 сломает деревянной киркой 1 раз, а потом этот же блок деревянной киркой сломает ИГРОК2 так же 1 раз, то блок окончательно сломается
 
GPT-4o
Для реализации механики HP блока в Minecraft, можно воспользоваться системой отслеживания состояния блока и взаимодействия с ним. Вот пример, как это можно сделать на Java:

Java:
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.HashMap;
import java.util.Map;

public class HPBlockPlugin extends JavaPlugin implements Listener {
    private final Map<Block, Integer> blockHP = new HashMap<>();

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onBlockBreak(BlockBreakEvent event) {
        Block block = event.getBlock();
        int damage = getDamage(event.getPlayer().getItemInHand().getType());

        if (!blockHP.containsKey(block)) {
            blockHP.put(block, 0);
        }

        int currentHP = blockHP.get(block);
        currentHP += damage;

        if (currentHP >= 2) {
            block.breakNaturally();
            blockHP.remove(block);
        } else {
            blockHP.put(block, currentHP);
            event.setCancelled(true); // Отменяем разрушение блока
        }
    }

    private int getDamage(Material material) {
        switch (material) {
            case WOODEN_PICKAXE:
                return 1;
            case IRON_PICKAXE:
                return 2; // Можно изменить на 1, если хотите, чтобы железная кирка ломала за 1 удар
            default:
                return 0;
        }
    }
}

Этот код создает плагин, который отслеживает, сколько раз блок был поврежден, и в зависимости от типа кирки определяет, сколько урона блок получает.
 
_Dead_
  • _Dead_
  • Жiнка з ароматом пива, шкiра снiжного кальвiна.
  • 156
Всем привет, хотел бы узнать есть ли у кого-то идеи, как реализовать HP блока.
Условно, если блок N ломают деревянной киркой, то чтобы его сломать нужно 2 удара, но если этот же блок ломать железной киркой, то нужно только 1 удар.
Примечание: Если ИГРОК1 сломает деревянной киркой 1 раз, а потом этот же блок деревянной киркой сломает ИГРОК2 так же 1 раз, то блок окончательно сломается
У блока нет HP, у него есть атрибут hardness который отвечает за его твердость
В самой игре механика устроена так что если игрок перестает добывать блок он не учитывается как поломанный, в принцииипе это можно реализовать в моде.
 
ВерхНиз