本文整理匯總了Java中net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent.getEntity方法的典型用法代碼示例。如果您正苦於以下問題:Java LivingUpdateEvent.getEntity方法的具體用法?Java LivingUpdateEvent.getEntity怎麽用?Java LivingUpdateEvent.getEntity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent
的用法示例。
在下文中一共展示了LivingUpdateEvent.getEntity方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: livingUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void livingUpdate(LivingUpdateEvent event) {
World world = event.getEntity().getEntityWorld();
if (world.isRemote) {
return;
}
if (world.getTotalWorldTime() % 20 != 0) {
return;
}
if (!(event.getEntity() instanceof EntityLiving)) {
return;
}
if (event.getEntity().getTags().contains(NemesisSystem.TAG_BODY_GUARD)) {
handleBodyGuardUpdate(event);
}
}
示例2: onZombieVillagerDeath
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void onZombieVillagerDeath(LivingUpdateEvent event) {
if (!event.getEntity().getEntityWorld().isRemote && event.getEntity().isDead && event.getEntity() instanceof EntityZombieVillager) {
EntityLiving convertTo = null;
if (hasRoyalEffect(event)) {
convertTo = new EntityVillageLord(event.getEntity().world);
} else if (hasLoyalEffect(event)) {
convertTo = new EntityGuard(event.getEntity().world);
}
if (convertTo == null) {
return;
}
if (handlePossibleConversion((EntityLiving) event.getEntity(), convertTo)) {
removeVillager(event);
}
}
}
示例3: onPlayerUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
/** Handle all player updates */
@SubscribeEvent
public void onPlayerUpdate(LivingUpdateEvent e) {
if(e.getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer)e.getEntity();
// serverside things
if (!player.worldObj.isRemote) {
EntityPlayerMP mp = (EntityPlayerMP)player;
// repair tools and armor
handleRepair(mp);
// handle potion things
handleServerPotionEffects(mp);
// handle portal things
handleTeleportation(mp);
}
// common things
onStepBootsWear(player);
}
}
示例4: onEntityUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event) {
if (event.getEntity() instanceof EntityPlayer) {
EntityPlayer p = (EntityPlayer) event.getEntity();
ItemStack armor = p.getItemStackFromSlot(EntityEquipmentSlot.FEET);
int level = 0;
if (armor.isEmpty() == false && EnchantmentHelper.getEnchantments(armor) != null
&& EnchantmentHelper.getEnchantments(armor).containsKey(this)) {
//todo: maybe any armor?
level = EnchantmentHelper.getEnchantments(armor).get(this);
}
if (level > 0) {
setLiquidWalk(p);
}
}
}
示例5: onEntityUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event) {
if (event.getEntity() instanceof EntityPlayer) {
EntityPlayer p = (EntityPlayer) event.getEntity();
ItemStack armorStack = getFirstArmorStackWithEnchant(p);
if (armorStack.isEmpty()) {
return;
}
//if you are on the ground (or not airborne, should be same thing
if ((p.isAirBorne == false || p.onGround) &&
UtilNBT.getItemStackNBTVal(armorStack, NBT_USES) > 0) {
//you have landed on the ground, dont count previous jumps
UtilNBT.setItemStackNBTVal(armorStack, NBT_USES, 0);
}
}
}
示例6: PlayerMovement
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void PlayerMovement(LivingUpdateEvent evt) {
if(!Main.logged.contains(evt.getEntity().getName()) && evt.getEntity() instanceof EntityPlayer){
if(Main.debug==1)System.out.println(evt.getEntity().getName() + " called MovementEvent " + evt.getEntity().toString());
String name = evt.getEntity().getName();
if(evt.getEntity().posX != (Double)Main.posX.get(name)&&evt.getEntity().posY != (Double)Main.posY.get(name)&&evt.getEntity().posZ != (Double)Main.posZ.get(name)){
Double diffex = evt.getEntity().posX - (Double)Main.posX.get(name);
Double diffey = evt.getEntity().posY - (Double)Main.posY.get(name);
Double diffez = evt.getEntity().posZ - (Double)Main.posZ.get(name);
Double dx = Double.parseDouble(diffex.toString().replaceAll("-", ""));
Double dy = Double.parseDouble(diffey.toString().replaceAll("-", ""));
Double dz = Double.parseDouble(diffez.toString().replaceAll("-", ""));
if((dx > 5 | dy > 5 | dz > 5) && Integer.parseInt((String) Main.config.get("allowtp")) == 1){
Main.posX.put(evt.getEntity().getName(), evt.getEntity().posX);
Main.posY.put(evt.getEntity().getName(), evt.getEntity().posY);
Main.posZ.put(evt.getEntity().getName(), evt.getEntity().posZ);
}
Double x = (Double)Main.posX.get(name);
Double y = (Double)Main.posY.get(name);
Double z = (Double)Main.posZ.get(name);
evt.getEntity().setPositionAndUpdate(x,y,z);
if(Main.passwords.containsKey(evt.getEntity().getName())){
evt.getEntity().addChatMessage(new TextComponentString(TextFormatting.RED + (String)Main.config.get("loginmessage")));
} else {
evt.getEntity().addChatMessage(new TextComponentString(TextFormatting.RED + (String)Main.config.get("registermessage")));
}
}
}
}
示例7: handleBodyGuardUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
private void handleBodyGuardUpdate(LivingUpdateEvent event) {
if (!(event.getEntity() instanceof EntityCreature)) {
return;
}
EntityCreature bodyGuard = (EntityCreature) event.getEntity();
World world = bodyGuard.world;
if (bodyGuard.getTags().contains(DeathHandler.TAG_RONIN)) {
flee(bodyGuard);
return;
}
UUID id = bodyGuard.getEntityData().getUniqueId(NemesisSystem.NBT_NEMESIS_ID);
if (id == null) {
bodyGuard.addTag(DeathHandler.TAG_RONIN);
return;
}
EntityLiving nemesisEntity = NemesisUtil.findNemesisAround(world, id, bodyGuard.getPosition(), 100);
if (nemesisEntity == null) {
bodyGuard.addTag(DeathHandler.TAG_RONIN);
return;
}
followNemesisBoss(bodyGuard, nemesisEntity);
}
示例8: onEntityUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void onEntityUpdate (LivingUpdateEvent event) {
if (this.harvestablePearls && event.getEntity() instanceof EntityShulker) {
final ICustomData data = ShulkerDataHandler.getData(event.getEntity());
final int current = data.getCooldown();
if (data != null && current > 0) {
data.setCooldown(current - 1);
}
}
}
示例9: onEntityUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event){
Entity ent = event.getEntity();
if(ent instanceof EntityLiving == false){
return;
}
EntityLivingBase living = (EntityLivingBase) event.getEntity();
if(living == null){
return;
}
if(living.worldObj.getBlockState(living.getPosition()).getBlock() == Blocks.torch){
float oddsWillBreak = 0.01F;// TODO: in config or something? or make this 1/100
boolean playerCancelled = false;
if(living instanceof EntityPlayer){
EntityPlayer p = (EntityPlayer) living;
if(p.isSneaking()){
playerCancelled = true;// torches are safe from breaking
}
}
if(playerCancelled == false // if its a player, then the player is not sneaking
&& living.worldObj.rand.nextDouble() < oddsWillBreak && living.worldObj.isRemote == false){
living.worldObj.destroyBlock(living.getPosition(), true);
}
}
}
示例10: onEntityUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event) {
if (fragileTorches) {
Entity ent = event.getEntity();
World world = ent.getEntityWorld();
if (world.isRemote) {
return;
} //we only need to break block on server, it gets propogated for us
if (world.rand.nextDouble() > oddsWillBreak) {
return;
} //no chance of breaking anyway, just stop
//ok the dice roll passed
if (ent instanceof EntityLiving == false) {
return;
}
EntityLivingBase living = (EntityLivingBase) event.getEntity();
if (living == null) {
return;
}
if (living instanceof EntityPlayer && ((EntityPlayer) living).isSneaking()) {
return;
} //if you are a player, then cancel if sneaking
if (world.getGameRules().getBoolean("mobGriefing") == false) {
return;
}
if (UtilWorld.isBlockTorch(world, living.getPosition())) {
world.destroyBlock(living.getPosition(), true);
}
}
}
示例11: onPlayerUpdate
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void onPlayerUpdate(LivingUpdateEvent event) {
if (event.getEntity() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getEntity();
if (getCurrentLevelTool(player) < 0) {
return;
}
ItemStack heldItem = player.getHeldItem(EnumHand.MAIN_HAND);
if (!heldItem.isEmpty() && heldItem.getItem() instanceof ItemBow
&& player.isHandActive()) {
this.tickHeldBow(player);
this.tickHeldBow(player);
}
}
}
示例12: makeWater
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; //導入方法依賴的package包/類
@SubscribeEvent
public void makeWater(LivingUpdateEvent event) {
Entity entity = event.getEntity();
World world = entity.worldObj;
int x = (int) Math.floor(entity.posX);
int y = (int) Math.floor(entity.posY);
int z = (int) Math.floor(entity.posZ);
if (!world.isRaining()) {
return;
}
for (int i = y; i < 256; i++) {
if (world.getBlockState(new BlockPos(x, i, z)) != Blocks.AIR
.getBlockState().getBaseState()) {
return;
}
}
if (world.isRemote
|| !world.getBlockState(new BlockPos(x, y - 1, z)).isFullCube()) {
return;
}
world.setBlockState(new BlockPos(x, y, z), Blocks.WATER.getBlockState()
.getBaseState());
}