RescueHandler.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:HardcoreRevival 作者:
public static void finishRescue(EntityPlayer player) {
    IHardcoreRevival revival = player.getCapability(CapabilityHardcoreRevival.REVIVAL_CAPABILITY, null);
    if (revival != null) {
        EntityPlayer target = revival.getRescueTarget();
        if (target != null) {
            MinecraftServer server = target.getServer();
            if (server != null) {
                BlockPos prevSpawnPos = target.getBedLocation(target.dimension);
                boolean prevSpawnForced = target.isSpawnForced(target.dimension);
                target.setSpawnPoint(target.getPosition(), true);
                if (ModConfig.glowOnDeath) {
                    target.setGlowing(false);
                }
                EntityPlayerMP newPlayer = server.getPlayerList().recreatePlayerEntity((EntityPlayerMP) target, target.dimension, false);
                ((EntityPlayerMP) target).connection.player = newPlayer;
                newPlayer.setHealth(1f);
                newPlayer.getFoodStats().setFoodLevel(5);
                newPlayer.addPotionEffect(new PotionEffect(MobEffects.HUNGER, 20 * 30));
                newPlayer.addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, 20 * 60));
                newPlayer.inventory.copyInventory(target.inventory);
                newPlayer.experienceLevel = target.experienceLevel;
                newPlayer.experienceTotal = target.experienceTotal;
                newPlayer.experience = target.experience;

                newPlayer.extinguish();
                newPlayer.setFlag(0, false); // burning flag

                newPlayer.setScore(target.getScore());
                newPlayer.setSpawnPoint(prevSpawnPos, prevSpawnForced);
                NetworkHandler.instance.sendToAllAround(new MessageRevivalSuccess(newPlayer.getEntityId()), new NetworkRegistry.TargetPoint(newPlayer.dimension, newPlayer.posX, newPlayer.posY, newPlayer.posZ, 32));
            }
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号