본문으로 바로가기
반응형

## 게시글을 보기 전 확인 해주세요. ##

이번 게시글은 "/아이템"명령어를 통해 다이아몬드 20개 지급하기!

완성본 파일 다운받기 :  예제3.zip

만약, 위 결과물을 알카이브 파일로 추가를 못한다면 아래의 링크를 눌러주세요.

[Spring] 알카이브 파일 추가하기


우선, 이클립스를 켜주세요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package org.alpreah.main;
 
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
 
public class Main extends JavaPlugin implements Listener {
    public void onEnable() {
        getLogger().info("onEnable 메소드가 호출이 되었고 정상적으로 작동 되었습니다.");
        getServer().getPluginManager().registerEvents(thisthis);
    }
 
    public void onDisable() {
        getLogger().info("onDisable 메소드가 호출이 되었고 정상적으로 작동 되었습니다.");
    }
 
    @EventHandler
    public void PlayerJoinEvent(PlayerJoinEvent e) {
        // 플레이어라는 자료형의 변수명을 player로 지정을 하고 이벤트를 통해 접속을 한 플레이어를 구해온다.
        // (Player)는 자료형을 변환해주는 역활
        Player player = (Player) e.getPlayer();
        // 플레이어 접속가 접속을 했을때 메시리를 변경을 한다.
        // player.getDisplayName()플레이어의 이름을 구한다.
        e.setJoinMessage(player.getDisplayName() + "님이 입장을 하셨습니다.");
    }
 
    @EventHandler
    public void PlayerQuitEvent(PlayerQuitEvent e) {
        Player player = (Player) e.getPlayer();
        e.setQuitMessage(player.getDisplayName() + "님이 퇴장 하셨습니다.");
    }
}
 
cs
이전에 개발한 플러그인을 토대로 바로 진행을 하겠습니다.

만약, 이전 글을 보고 오지 않으신분은 아래의 링크를 눌러주세요.

[Minecraft]마인크래프트 개발을 위한 메이븐 프로젝트를 만들어보자.


Main.java를 실행을 해주신뒤, implements Listener옆에 ,를 찍고 CommandExecutor를 추가 해주세요.



1
this.getCommand("아이템").setExecutor(this);
cs

그런뒤 onEnable 메소드의 해당하는 구문을 추가 해주세요.


위 이미지는 결과 화면 입니다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        //sender가 /아이템을 입력 할 경우
        if (cmd.getName().equalsIgnoreCase("아이템")) {
            //sender를 player로 형변환을 해줌
            Player player = (Player) sender;
            //itemstack이라는 자료형에 diamond라는 변수명에 다이아몬드를 담습니다.
            ItemStack diamond = new ItemStack(Material.DIAMOND);
            //지급하는 아이템의 갯수를 20개로 지정
            diamond.setAmount(20);
            //플레이어 인벤토리에 아이템을 추가합니다.
            player.getInventory().addItem(diamond);
            return true;
        }
        return false;
    }
cs

위 메소드를 Main.java에 추가해주세요.


위 이미지는 추가한 결과 이미지 입니다.


1
2
3
4
5
6
7
8
name: alpreah
version: 1.0.0
author: alpreah
main: org.alpreah.main.Main
commands:
    아이템:
        usage: /아이템
        description: 설명
cs

위 소스코드를 plugin.yml에 파란색으로 색칠해둔곳에 적어주세요.

작성 후 결과 이미지


## 결과 영상 ##

반응형