本文整理汇总了Java中net.minecraftforge.event.entity.living.LivingDropsEvent.getEntity方法的典型用法代码示例。如果您正苦于以下问题:Java LivingDropsEvent.getEntity方法的具体用法?Java LivingDropsEvent.getEntity怎么用?Java LivingDropsEvent.getEntity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraftforge.event.entity.living.LivingDropsEvent
的用法示例。
在下文中一共展示了LivingDropsEvent.getEntity方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onDrops
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onDrops(LivingDropsEvent event) {
World world = event.getEntity().getEntityWorld();
if (world.isRemote || !(event.getEntity() instanceof EntityCreature)) {
return;
}
if (event.getSource() == null || event.getSource().getTrueSource() == null){
return;
}
if (!(event.getSource().getTrueSource() instanceof EntityPlayer)) {
return;
}
if (event.getEntity().getTags().contains(NemesisSystem.TAG_NEMESIS)) {
handleNemesisDrops(event.getDrops(), (EntityCreature) event.getEntity());
}
}
示例2: onMobDrops
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onMobDrops(LivingDropsEvent e)
{
World world = e.getEntity().getEntityWorld();
Random rng = world.rand;
if (e.getEntity() instanceof EntitySkeleton) {
EntitySkeleton skele = (EntitySkeleton) e.getEntity();
if (skele.getSkeletonType() == 1) {
if (rng.nextFloat() < 0.20 + (e.getLootingLevel() + 1 * 0.05))
e.getDrops().add(new EntityItem(world, skele.posX, skele.posY, skele.posZ, new ItemStack(ModItems.MobDust, 1, 0)));
}
}
if (e.getEntity() instanceof EntityCaveSpider) {
if (rng.nextFloat() < 0.20 + (e.getLootingLevel() + 1 * 0.05))
e.getDrops().add(new EntityItem(world, e.getEntity().posX, e.getEntity().posY, e.getEntity().posZ, new ItemStack(ModItems.MobDust, 1, 1)));
}
}
示例3: onLivingDrop
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onLivingDrop(LivingDropsEvent event) {
final Entity entity = event.getEntity();
if (entity.hasCapability(Capability.CHISELED_SHEEP, null)) {
final IChiseledSheepCapability capability = entity.getCapability(Capability.CHISELED_SHEEP, null);
if (capability.isChiseled())
{
final List<EntityItem> drops = event.getDrops();
final ItemStack chiselItemStack = capability.getChiselItemStack();
final Item chiselItem = chiselItemStack.getItem();
drops.removeIf(entityItem -> ItemStackHelper.isStackForBlock(entityItem.getEntityItem(), Blocks.WOOL));
drops.add(new EntityItem(entity.worldObj, entity.posX, entity.posY, entity.posZ, chiselItemStack.copy()));
MinecraftForge.EVENT_BUS.post(new ShearMadnessSheepKilledEvent(
drops,
event.getSource(),
event.getLootingLevel(),
chiselItemStack,
entity
));
}
}
}
示例4: onWitherDeath
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
@SuppressWarnings("unused")
public void onWitherDeath(LivingDropsEvent event) {
if(ItemRegistry.getInstance().itemRecord == null) {
return;
}
if(!(event.getEntity() instanceof EntityWither)) {
return;
}
Entity killer = event.getSource().getSourceOfDamage();
if(event.isRecentlyHit() && killer != null && killer instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) killer;
ItemStack left = player.getHeldItem(EnumHand.MAIN_HAND);
ItemStack right = player.getHeldItem(EnumHand.OFF_HAND);
if(isValidStack(left) && isValidStack(right)) {
EntityItem drop = new EntityItem(event.getEntity().getEntityWorld(), event.getEntity().posX, event.getEntity().posY+0.5D, event.getEntity().posZ,
new ItemStack(ItemRegistry.getInstance().itemRecord));
event.getDrops().add(drop);
}
}
}
示例5: entityDrops
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void entityDrops(LivingDropsEvent ev)
{
Entity entity = ev.getEntity();
if (!(entity instanceof EntitySheep))
return;
List<EntityItem> drops = ev.getDrops();
if (drops instanceof ImmutableList)
{
Survivalist.logger.warn("WARNING: Some mod is returning an ImmutableList, replacing drops will NOT be possible.");
return;
}
if (rnd.nextFloat() < 0.25f)
drops.add(new EntityItem(entity.getEntityWorld(), entity.posX, entity.posY, entity.posZ, new ItemStack(Items.STRING)));
}
示例6: onLivingDropsEvent
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onLivingDropsEvent(LivingDropsEvent event) {
Entity entity = event.getEntity();
World world = entity.getEntityWorld();
if (nameTagDeath) {
if (entity.getCustomNameTag() != null && entity.getCustomNameTag() != "") {
// item stack NBT needs the name enchanted onto it
if (world.isRemote == false) {
ItemStack nameTag = UtilNBT.buildEnchantedNametag(entity.getCustomNameTag());
UtilItemStack.dropItemStackInWorld(world, entity.getPosition(), nameTag);
}
}
}
if (endermanDrop && entity instanceof EntityEnderman) {
EntityEnderman mob = (EntityEnderman) entity;
IBlockState bs = mob.getHeldBlockState();// mob.func_175489_ck();
if (bs != null && bs.getBlock() != null && world.isRemote == false) {
UtilItemStack.dropItemStackInWorld(world, mob.getPosition(), bs.getBlock());
}
}
}
示例7: livingDrop
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void livingDrop(LivingDropsEvent event)
{
Vec3d vec = new Vec3d(event.getEntityLiving().getPosition());
if(event.getEntity() instanceof EntityIronGolem)
{
List<ItemStack> stackList = HarshenUtils.getItemsFromLootTable(event.getEntity().world, HarshenLootTables.golemDrops);
if(stackList.size() == 1)
event.getDrops().add(new EntityItem(event.getEntity().world, vec.x, vec.y, vec.z, stackList.get(0)));
}
}
示例8: livingDrop
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void livingDrop(LivingDropsEvent event)
{
Vec3d vec = new Vec3d(event.getEntityLiving().getPosition());
if(event.getEntity() instanceof EntityZombie)
{
List<ItemStack> stackList = HarshenUtils.getItemsFromLootTable(event.getEntity().world, HarshenLootTables.zombieDrops);
if(stackList.size() == 1)
event.getDrops().add(new EntityItem(event.getEntity().world, vec.x, vec.y, vec.z, stackList.get(0)));
}
}
示例9: onLivingDrops
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@HarshenEvent
public void onLivingDrops(LivingDropsEvent event)
{
if(event.getEntity() instanceof EntityPlayer)
return;
ArrayList<EntityItem> drops = new ArrayList<EntityItem>();
for(EntityItem e : event.getDrops())
if(event.getEntityLiving().getRNG().nextBoolean())
drops.add(new EntityItem(e.world, e.posX, e.posY, e.posZ, e.getItem()));
event.getDrops().addAll(drops);
}
示例10: onLivingDrops
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public static void onLivingDrops(LivingDropsEvent event)
{
if (event.getEntity() != null && event.getEntity() instanceof EntityWitch)
{
//NotebookInfo info = ev.getEntityPlayer().getCapability(NotebookInfo.CAP, null);
if (event.getEntity().world.rand.nextInt(2) == 1)
{
event.getDrops().add(new EntityItemFancy(event.getEntity().world, event.getEntity().posX,
event.getEntity().posY, event.getEntity().posZ, new ItemStack(ModRegistry.ANCIENT_PARCHMENT)));
}
}
}
示例11: dropBook
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void dropBook(LivingDropsEvent event) {
if (!NemesisConfig.DISCOVERY_ENABLED) {
return;
}
if (!(event.getEntity() instanceof EntityMob)) {
return;
}
if (event.getEntity().getTags().contains(TAG_NEMESIS)) {
return;
}
if (!(event.getSource().getTrueSource() instanceof EntityPlayer)) {
return;
}
World world = event.getEntity().getEntityWorld();
int dropChance = dropChance(event.getEntity());
if (dropChance != 0 && (dropChance < 0 || world.rand.nextInt(dropChance) != 0)) {
return;
}
BlockPos position = event.getEntity().getPosition();
event.getDrops().add(new EntityItem(world, position.getX(), position.getY(), position.getZ(), DiscoveryUtil.createUnreadBook()));
}
示例12: sheepDropEvent
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void sheepDropEvent(LivingDropsEvent event)
{
Entity entity = event.getEntity();
World world = entity.world;
if(entity instanceof EntitySheep && !world.isRemote)
{
InteractionBWM.convertShearedWoolEntities(event.getDrops());
}
}
示例13: onMobKillDropSkull
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onMobKillDropSkull(LivingDropsEvent e)
{
if (!e.getSource().isExplosion() && !e.getSource().isFireDamage()) {
Entity justDied = e.getEntity();
justDied.getArmorInventoryList().forEach((itemStack -> {
if (itemStack != null && itemStack.getItem() instanceof ItemSkull && itemStack.getMetadata() == 3) {
String playerName = "";
if (itemStack.getTagCompound() != null && itemStack.getTagCompound().hasKey("SkullOwner", 8)) {
playerName = itemStack.getTagCompound().getString("SkullOwner");
}
if (itemStack.getTagCompound() != null && itemStack.getTagCompound().hasKey("SkullOwner", 10)) {
NBTTagCompound nbttagcompound = itemStack.getTagCompound().getCompoundTag("SkullOwner");
if (nbttagcompound.hasKey("Name", 8)) {
playerName = nbttagcompound.getString("Name");
}
}
if (Arrays.asList(playerNames).contains(playerName) || Arrays.asList(otherNames).contains(playerName)) {
EntityItem ei = new EntityItem(justDied.worldObj, justDied.posX, justDied.posY, justDied.posZ, itemStack);
if (e.getDrops().contains(ei))
e.getDrops().remove(ei);
Random rng = new Random();
if (rng.nextDouble() < 0.1) e.getDrops().add(ei);
}
}
}));
}
}
示例14: onMobDrops
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
if (random.nextFloat() < 0.05 && !w.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
ItemStack i = new ItemStack(Items.GUNPOWDER, random.nextInt(2));
event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i));
}
}
}
示例15: onMobDrops
import net.minecraftforge.event.entity.living.LivingDropsEvent; //导入方法依赖的package包/类
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
if (!w.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (random.nextFloat() <= 0.9 && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
event.getDrops().clear();
}
}
}