• Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).
Senkuu

Hỏi về code plugin Get Material từ config

Trạng thái
Không mở trả lời sau này.

Senkuu

DEVELOPER
THÀNH VIÊN
Tham gia
17/09/2016
Bài viết
1,754
mình đã thử bằng cái này:
Mã:
public void onBreak(BlockBreakEvent e)
  {
    Player p = e.getPlayer();
    if ((p.getGameMode().equals(GameMode.SURVIVAL)) || (p.getGameMode().equals(GameMode.ADVENTURE)))
    {
      if ((e.getBlock().getType() == Material.SEA_LANTERN) &&
        (this.sea) && (!p.hasPermission("replace.sea")))
      {
        Block block = e.getBlock();
        block.setType(Material.AIR);
        block.getWorld().dropItemNaturally(block.getLocation(), new ItemStack(Material.getMaterial(getConfig().getString("Material.drop")), 1));
        e.setCancelled(true);
      }
    }
  }
nhưng nó không hoạt động
Config của mình:
Mã:
Material.drop: DIRT
Tuy không báo lỗi gì hết nhưng không hoạt động :(
ai chỉ giúp với
 
Material.getMaterial(getConfig().getString("Material.drop"))
thành
Material.valueOf(getConfig().getString("Material.drop").toUpperCase())
 
Material.getMaterial(getConfig().getString("Material.drop"))
thành
Material.valueOf(getConfig().getString("Material.drop").toUpperCase())
Not working, đập xong k rớt ra gì luôn :v
 
mình đã thử bằng cái này:
Mã:
public void onBreak(BlockBreakEvent e)
  {
    Player p = e.getPlayer();
    if ((p.getGameMode().equals(GameMode.SURVIVAL)) || (p.getGameMode().equals(GameMode.ADVENTURE)))
    {
      if ((e.getBlock().getType() == Material.SEA_LANTERN) &&
        (this.sea) && (!p.hasPermission("replace.sea")))
      {
        Block block = e.getBlock();
        block.setType(Material.AIR);
        block.getWorld().dropItemNaturally(block.getLocation(), new ItemStack(Material.getMaterial(getConfig().getString("Material.drop")), 1));
        e.setCancelled(true);
      }
    }
  }
nhưng nó không hoạt động
Config của mình:
Mã:
Material.drop: DIRT
Tuy không báo lỗi gì hết nhưng không hoạt động :(
ai chỉ giúp với
What the Fuck pl DropStoneMineOre của t
 
gì vậy 3, khùng hả
ok t hk ns j nữa, chính những ng như bác khiến mọi người mã hóa code
*****Nội dung được bổ sung thêm*****
gì vậy 3, khùng hả
*****Nội dung được bổ sung thêm*****

t đang tính làm plugin thay thế drop ( ReplaceDrop í ) mà get Material mãi k dc
bác ghi Material.drop tức là trong config :
Material:
drop:
- DIRT
 
What the Fuck pl DropStoneMineOre của t
t đang tính làm plugin thay thế drop ( ReplaceDrop í ) mà get Material mãi k dc
ok t hk ns j nữa, chính những ng như bác khiến mọi người mã hóa code
*****Nội dung được bổ sung thêm*****

bác ghi Material.drop tức là trong config :
Material:
drop:
- DIRT
1. Bác vừa thoy, cái kia của bác là chặn mine, còn của tui là thay thế drop, mà nếu nói tui cóp code bác vậy bộ khùng sao lên đây hỏi
2. Cái config Material.drop, tui cóp trong eclipse lên mà
 
gì vậy 3, khùng hả
*****Nội dung được bổ sung thêm*****

t đang tính làm plugin thay thế drop ( ReplaceDrop í ) mà get Material mãi k dc
bác ghi
t đang tính làm plugin thay thế drop ( ReplaceDrop í ) mà get Material mãi k dc

1. Bác vừa thoy, cái kia của bác là chặn mine, còn của tui là thay thế drop, mà nếu nói tui cóp code bác vậy bộ khùng sao lên đây hỏi
2. Cái config Material.drop, tui cóp trong eclipse lên mà
lý do khác chức năng là lý do ngu nhất, Block block ( wtf troll nhau à ) ai bik code nhìn là thấy
 
bác ghi

lý do khác chức năng là lý do ngu nhất, Block block ( wtf troll nhau à ) ai bik code nhìn là thấy
cần show toàn bộ code k ?
*****Nội dung được bổ sung thêm*****
bác ghi

lý do khác chức năng là lý do ngu nhất, Block block ( wtf troll nhau à ) ai bik code nhìn là thấy
tui thích đặt tên là block đó, có sao ?
 
mình đã thử bằng cái này:
Mã:
public void onBreak(BlockBreakEvent e)
  {
    Player p = e.getPlayer();
    if ((p.getGameMode().equals(GameMode.SURVIVAL)) || (p.getGameMode().equals(GameMode.ADVENTURE)))
    {
      if ((e.getBlock().getType() == Material.SEA_LANTERN) &&
        (this.sea) && (!p.hasPermission("replace.sea")))
 4     {
        Block block = e.getBlock();
        block.setType(Material.AIR);
        block.getWorld().dropItemNaturally(block.getLocation(), new ItemStack(Material.getMaterial(getConfig().getString("Material.drop")), 1));
        e.setCancelled(true);
      }
    }
  }
nhưng nó không hoạt động
Config của mình:
Mã:
Material.drop: DIRT
Tuy không báo lỗi gì hết nhưng không hoạt động :(
ai chỉ giúp với
Nên cancel cái event trc r mới drop đồ
*****Nội dung được bổ sung thêm*****
Lỗi thì do ông chỉnh node sai, bỏ cái ".drop" bên trong config lẫn code đi
*****Nội dung được bổ sung thêm*****
bác ghi

lý do khác chức năng là lý do ngu nhất, Block block ( wtf troll nhau à ) ai bik code nhìn là thấy
? Cái đó có mẹ vấn đề gì, thằng chủ top có thể đặt tên biến bằng bất cứ tên gì nó muôn, thuật toán nó đang dùng và thuật toán của ông khác hẳn nhau.
Thích kiện chủ top vì copy code thì hãy hiện trc 10k người đang đặt tên biến giống ông đi
 
Nên cancel cái event trc r mới drop đồ
*****Nội dung được bổ sung thêm*****
Lỗi thì do ông chỉnh node sai, bỏ cái ".drop" bên trong config lẫn code đi
k dc, đập xong block nó mất tiêu

Mã:
public void onBlock(BlockBreakEvent e)
  {
    Player p = e.getPlayer();
    if ((p.getGameMode().equals(GameMode.SURVIVAL)) ||
            (p.getGameMode().equals(GameMode.ADVENTURE)))
        
    {
      if ((e.getBlock().getType() == Material.IRON_ORE) &&
        (this.iron))
      {
        Block block = e.getBlock();
        block.setType(Material.AIR);
        e.setCancelled(true);
        new ItemStack(Material.valueOf(getConfig().getString("Material").toUpperCase()), 1);
      }
    }
  }
mới bỏ perm cho dễ test :3
 
Mã:
        new ItemStack(Material.valueOf(getConfig().getString("Material").toUpperCase()), 1);
Để mỗi cái dòng này thôi thì drop mới là chuyện lạ đấy
 
ấu ye tks mấy bác nha, đc r, @John Carter lock giùm nha
*****Nội dung được bổ sung thêm*****
À khoan lock @John Carter
Sẵn cái số lượng í, bác nào cho hỏi, dùng mã như thế này:
Mã:
(getConfig().getString("Amount"))
thay vào chỗ số 1 trong code của tui, nó báo lỗi
 
gì vậy 3, khùng hả
*****Nội dung được bổ sung thêm*****

t đang tính làm plugin thay thế drop ( ReplaceDrop í ) mà get Material mãi k dc
Sử dụng hàm Material.getMaterial(getConfig().getInt(""));
*****Nội dung được bổ sung thêm*****
ok t hk ns j nữa, chính những ng như bác khiến mọi người mã hóa code
*****Nội dung được bổ sung thêm*****

bác ghi Material.drop tức là trong config :
Material:
drop:
- DIRT
BlockBreak OnBlock ai cũng để đó thím ơi, :fp:
 
à, còn 1 chỗ như thế này,
Mã:
if ((e.getBlock().getType() == Material.IRON_ORE) &&
        (this.iron))
cái IRON_ORE í, ghi sao cho nó get từ config, vd 1 config ntn:
Mã:
Blocks:
  IRON_ORE:
    Drop: DIRT
    Amount: 2
*****Nội dung được bổ sung thêm*****
code nhu này:
Mã:
if ((e.getBlock().getType() == Material.valueOf(
                getConfig().getString("Blocks.")) &&  (this.block)))
      {
        Block block = e.getBlock();
        block.setType(Material.AIR);
        e.setCancelled(true);
        block.getWorld().dropItemNaturally(block.getLocation(),
                new ItemStack(Material.valueOf(
                        getConfig().getString("Blocks." + blockToString(block) + ".Drop")
                        .toUpperCase()),valueOf(getConfig().getString("Blocks."
                        + blockToString(block) + ".Amount"))));
Config như này ( config sau khi load plugin í nha ) :
Mã:
Blocks:
  IRON_ORE:
    Drop: DIRT
    Amount: 2
Báo lỗi như này:
hastebin.com
ai help với @@
 
ok t hk ns j nữa, chính những ng như bác khiến mọi người mã hóa code
*****Nội dung được bổ sung thêm*****

bác ghi Material.drop tức là trong config :
Material:
drop:
- DIRT
BlockBreak OnBlock ai cũng để đó thím ơi, Chừ
à, còn 1 chỗ như thế này,
Mã:
if ((e.getBlock().getType() == Material.IRON_ORE) &&
        (this.iron))
cái IRON_ORE í, ghi sao cho nó get từ config, vd 1 config ntn:
Mã:
Blocks:
  IRON_ORE:
    Drop: DIRT
    Amount: 2
*****Nội dung được bổ sung thêm*****
code nhu này:
Mã:
if ((e.getBlock().getType() == Material.valueOf(
                getConfig().getString("Blocks.")) &&  (this.block)))
      {
        Block block = e.getBlock();
        block.setType(Material.AIR);
        e.setCancelled(true);
        block.getWorld().dropItemNaturally(block.getLocation(),
                new ItemStack(Material.valueOf(
                        getConfig().getString("Blocks." + blockToString(block) + ".Drop")
                        .toUpperCase()),valueOf(getConfig().getString("Blocks."
                        + blockToString(block) + ".Amount"))));
Config như này ( config sau khi load plugin í nha ) :
Mã:
Blocks:
  IRON_ORE:
    Drop: DIRT
    Amount: 2
Báo lỗi như này:
hastebin.com
ai help với @@
Material.getMaterial(getConfig().getInt("id items"), getConfig().getInt("số lượng"));
 
bác ghi

lý do khác chức năng là lý do ngu nhất, Block block ( wtf troll nhau à ) ai bik code nhìn là thấy
Trc khi nói tui copy code của bác, sao bác k xem lại, bác có copy code của plugin này không ?
dev.bukkit.org
*****Nội dung được bổ sung thêm*****
BlockBreak OnBlock ai cũng để đó thím ơi, Chừ

Material.getMaterial(getConfig().getInt("id items"), getConfig().getInt("số lượng"));
bác coi hộ cái phần code bổ sung thêm í, cái If ý, tui thay IRON_ORE thành getString mà nó báo lỗi
 
Trc khi nói tui copy code của bác, sao bác k xem lại, bác có copy code của plugin này không ?
dev.bukkit.org
*****Nội dung được bổ sung thêm*****

bác coi hộ cái phần code bổ sung thêm í, cái If ý, tui thay IRON_ORE thành getString mà nó báo lỗi
Nếu như thay thành String thì sử dụng tên bt của nó thôi thử xem không thì getInt id items,
 
Nếu như thay thành String thì sử dụng tên bt của nó thôi thử xem không thì getInt id items,
Lấy ID item bị @Deprecated r, không khuyến khích dùng nó.
thui bác ơi ng ta ko nhận đâu trẻ nghé lắm
Bạn biết là khi mình đem chuyện này lên trang chat của SpigotMC thì họ đều cười vào mặt bạn không? Đừng cố chấp, thuật toán thím ý dùng khác của bạn
 
Trạng thái
Không mở trả lời sau này.
Similar content Most view Xem thêm
Back
Top Bottom