개인 자료란 (JE)

  서버 커뮤니티

Profile 하이퍼MC 대표칭호 없음

Krouda d9df1a84ba404d5c81fabfcdd1672982

Profile

질문하기 플러그인

블럭 1000번 클릭하면 죽이기

2022.10.30 조회 수 258 추천 수 0
이해도 초보자 
게임버전 (JE) 관련없음 
게임버전 (BE) 관련없음 

@EventHandler
public void onClick(PlayerInteractEvent e) {
    Location loc1 = new Location(e.getPlayer().getWorld(), 50, 73, 50);
    if (e.getAction().name().contains("LEFT_")) {
        if (e.getClickedBlock().getLocation() == loc1) {
            if (e.getClickedBlock().getType().name().contains("Obsidian")) {
                e.getPlayer().sendMessage("you left clicked obsidian");
            }
        }
    } else {
        return;
    }
}

특정 구역에 있는 옵시디언을 왼클하면 정해진 체력 1000에서 -1을 해서 체력이 0이 되면 아이템을 지급하도록 하려는데요

블럭한테 1000이라는 체력을 주는 방법을 모르겠네요

도와주세요





5개의 댓글

0reo
2022.10.30
HashMap<Location, Integer> map = new HashMap<>();
@EventHandler
public void onClick(PlayerInteractEvent e) {
    Location loc = new Location(e.getPlayer().getWorld(), 0, 0, 0);
    if (e.getAction().equals(Action.LEFT_CLICK_BLOCK) && e.getClickedBlock() != null && e.getClickedBlock().getLocation().equals(loc)) {
        if (e.getClickedBlock().getType().equals(Material.OBSIDIAN)) {
            if (!map.containsKey(loc)) {
                map.put(loc, 999);
            } else {
                map.replace(loc, map.get(loc) - 1);
                if (map.get(loc) == 0) {
                    e.getPlayer().getInventory().addItem(new ItemStack(Material.DIAMOND_AXE));
                    map.remove(loc);
                    return;
                }
            }
            e.getPlayer().sendMessage("cnt : " + map.get(loc));
            e.setCancelled(true);
        }
    }
}

될수도?

0reo
2022.10.30
@0reo
private int cnt = 1000;
@EventHandler
public void onTouch(PlayerInteractEvent e) {
    Location loc = new Location(e.getPlayer().getWorld(), 0, 0, 0);
    if (e.getAction().equals(Action.LEFT_CLICK_BLOCK) && e.getClickedBlock() != null && e.getClickedBlock().getLocation().equals(loc)) {
        if (e.getClickedBlock().getType().equals(Material.OBSIDIAN)) {
            cnt--;
            e.getPlayer().sendMessage("cnt : " + cnt);
            if (cnt == 0) {
                e.getPlayer().getInventory().addItem(new ItemStack(Material.DIAMOND_AXE));
                return;
            }
            e.setCancelled(true);
        }
    }
}

쉬운버전

하이퍼MC
2022.10.30
@0reo

아이고 감사합니다 <333

qsef1256
2022.10.30
@하이퍼MC

별개로, 블록에 체력이란 개념은 없어요. 저건 임의로 변수를 정의해서 만들어준거에요

하이퍼MC
2022.11.16
@qsef1256

네네 블럭에 체력없는건 아는데 제가 설명을 제대로 못했네요

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3