2017-09-03 46 views
0

我刚开始制作我的第一个bukkit插件。我想让鸡蛋在碰到地面时发生爆炸,我成功地做到了这一点。但是现在我想要有正常的鸡蛋和鸡蛋,当它们碰到地面时会发生爆炸。我如何创建这个? 我尝试以不同的方式命名它们,但实体没有项目名称。我怎么能检测到哪个鸡蛋是一个应该爆炸的鸡蛋,哪个是正常鸡蛋?如何在Minecraft中定制项目bukkit [插件]

如果有什么不够清楚的,请让我更好地解释它,谢谢!

+0

欢迎来到SO。本网站不是代码编写服务,不适用于提供完整的解决方案。预计用户将展示一些努力和代码,而SO在此期间将帮助您解决具体的编程问题。你有没有尝试过任何东西? –

+0

您可以为实体设置UUID并通过getUUID()[Javadocs](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Entity.html#getUniqueId--) – Kerooker

+0

鸡蛋也是Metadatable,所以你可以添加元数据,[Bukkit论坛](https://bukkit.org/threads/tutorial-metadata-what-it-is-and-how-to-use-it.276338/ ) – Kerooker

回答

2

你可以有一个EventHandler为当一名球员投Egg你想要的,并添加一些元数据到它:

@EventHandler 
public void onProjectileLaunch(ProjectileLaunchEvent e){ 
    Projectile projectile = e.getEntity(); 
    if (//This projectile should be an explosive egg) { 
     projectile.setMetadata("explosiveegg", new FixedMetadataValue(plugin, "explosiveegg"; 
    } 
} 

然后恢复您的元数据每当Egg击中Entity或地板,并检查它是否是元数据是“爆炸蛋”

if (projectile.hasMetadata("explosiveegg")) //Explode 
相关问题