whguswo
대표칭호 없음
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.19.1 |
게임버전 (BE) | 관련없음 |
커스텀 인벤토리를 열고 init 함수에서 테두리에 파란 유리판을 깔아둔뒤 시간이 지남에 따라 빨간색 유리판으로 변하게 하고싶습니다.
package auction; import org.bukkit.*; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class auctionInventory implements InventoryHolder { private static Inventory inv; static int[] borderIndex = {0, 1, 2, 3, 4, 5, 6, 7, 8, 17, 26, 25, 24, 23, 22, 21, 20, 19, 18, 9}; ItemStack border = new ItemStack(Material.BLUE_STAINED_GLASS_PANE, 1); static ItemStack redBorder = new ItemStack(Material.RED_STAINED_GLASS_PANE, 1); private static ScheduledFuture future; public auctionInventory(Player player) { inv = Bukkit.createInventory(this, 27, "경매장"); init(player); } private void init(Player player) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 9; j++) { if(i == 0 || i==2 || j == 0 || j == 8) { inv.setItem(i * 9 + j, border); } } } ItemStack leftMoney = new ItemStack(Material.GOLD_INGOT); ItemMeta leftMoneyItemMeta = leftMoney.getItemMeta(); leftMoneyItemMeta.setDisplayName(ChatColor.GOLD +"잔액: $" + userMap.getMoney(player.getName())); leftMoney.setItemMeta(leftMoneyItemMeta); inv.setItem(14, leftMoney); ItemStack pro = product.getProduct(); inv.setItem(12, pro); } @Override public Inventory getInventory() { return inv; } }
5초 동안에 borderIndex 안에있는 20개의 슬롯이 순서대로 빨간 슬롯으로 바뀌는 코드를 구현하고 싶은데 어떻게 해야할지 모르겠습니다.
0reo
2023.01.190reo
2023.01.19테스트안해봄 버그나면 고쳐쓰세요
whguswo
2023.01.20항상 감사합니닷!
Vencodor
2023.01.22해결하셨나요? 다른 분께서 올려주신 코드는 원하시는 방향대로 작동하지 않을 것 같아서요!