怎么获取农作物的生长状态
比如我想判断农作物是否成熟 如果成熟了怎么怎么 如果没成熟变成掉落物
比如我想判断农作物是否成熟 如果成熟了怎么怎么 如果没成熟变成掉落物
 本帖最后由 2000000 于 2022-12-9 20:15 编辑 
另外需要 注意 的是 Ageable 的导入包为 "org.bukkit.block.data.Ageable" 而不是 "org.bukkit.entity.Ageable"
Block block = event.getBlock();
BlockData blockData = block.getBlockData();
if (!(blockData instanceof Ageable)) return;
Ageable ageable = (Ageable) blockData;
if (ageable.getAge() == ageable.getMaximumAge()) Bukkit.getLogger().info("成熟");
另外需要 注意 的是 Ageable 的导入包为 "org.bukkit.block.data.Ageable" 而不是 "org.bukkit.entity.Ageable"
2000000 发表于 2022-12-9 20:12
另外需要 注意 的是 Ageable 的导入包为 "org.bukkit.block.data.Ageable" 而不是 "org.bukkit.entity.Ag ...
我想在BlockDropItemEvent事件里面判断 如果不是成熟 则变成掉落物 应该怎么写
星辰吖丶 发表于 2022-12-9 21:10
我想在BlockDropItemEvent事件里面判断 如果不是成熟 则变成掉落物 应该怎么写 ...
您应该在 BlockBreakEvent 内写
2000000 发表于 2022-12-9 21:16
您应该在 BlockBreakEvent 内写
@EventHandler(priority = EventPriority.MONITOR,ignoreCancelled = true)
public void Shou(BlockDropItemEvent e){
String p = e.getPlayer().getName();
User user = User.of(p);
if (StarsFarm.players.contains(e.getPlayer())){
for (Item item : e.getItems()){
ItemStack is = item.getItemStack();
if (StarsFarm.materials.contains(is.getType())){
String type = is.getType().name();
item.remove();
user.addSell(type,user.getHave(type) + is.getAmount());
}
}
}
}
这是原代码 我想在这里面做个判断 应该怎么修改
 本帖最后由 2000000 于 2022-12-9 23:21 编辑 
您应该学会自己去写,我已经将具体代码告诉您了,您应该避免食用别人的代码,尝试自己动手完成这一切。
星辰吖丶 发表于 2022-12-9 22:53
这是原代码 我想在这里面做个判断 应该怎么修改
您应该学会自己去写,我已经将具体代码告诉您了,您应该避免食用别人的代码,尝试自己动手完成这一切。