Run formatter
This commit is contained in:
parent
61c44a831b
commit
08258fd6ef
606 changed files with 13464 additions and 22975 deletions
|
@ -1,8 +1,9 @@
|
|||
package WayofTime.bloodmagic.item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||
import WayofTime.bloodmagic.client.IVariantProvider;
|
||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.SoundEvents;
|
||||
|
@ -15,19 +16,14 @@ import net.minecraft.util.EnumHand;
|
|||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||
import WayofTime.bloodmagic.client.IVariantProvider;
|
||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ItemExperienceBook extends Item implements IVariantProvider
|
||||
{
|
||||
public ItemExperienceBook()
|
||||
{
|
||||
public class ItemExperienceBook extends Item implements IVariantProvider {
|
||||
public ItemExperienceBook() {
|
||||
setUnlocalizedName(BloodMagic.MODID + ".experienceTome");
|
||||
setMaxStackSize(1);
|
||||
setCreativeTab(BloodMagic.TAB_BM);
|
||||
|
@ -35,15 +31,13 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasEffect(ItemStack stack)
|
||||
{
|
||||
public boolean hasEffect(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, World world, List<String> tooltip, ITooltipFlag flag)
|
||||
{
|
||||
public void addInformation(ItemStack stack, World world, List<String> tooltip, ITooltipFlag flag) {
|
||||
tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.experienceTome"));
|
||||
|
||||
if (!stack.hasTagCompound())
|
||||
|
@ -56,11 +50,9 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
|
||||
{
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
|
||||
ItemStack stack = player.getHeldItem(hand);
|
||||
if (!world.isRemote)
|
||||
{
|
||||
if (!world.isRemote) {
|
||||
if (player.isSneaking())
|
||||
absorbOneLevelExpFromPlayer(stack, player);
|
||||
else
|
||||
|
@ -71,15 +63,13 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<Pair<Integer, String>> getVariants()
|
||||
{
|
||||
public List<Pair<Integer, String>> getVariants() {
|
||||
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
|
||||
ret.add(new ImmutablePair<Integer, String>(0, "type=experiencetome"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void giveOneLevelExpToPlayer(ItemStack stack, EntityPlayer player)
|
||||
{
|
||||
public void giveOneLevelExpToPlayer(ItemStack stack, EntityPlayer player) {
|
||||
float progress = player.experience;
|
||||
int expToNext = getExperienceForNextLevel(player.experienceLevel);
|
||||
|
||||
|
@ -88,37 +78,30 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
|
||||
System.out.println("Needed: " + neededExp + ", contained: " + containedExp + ", exp to next: " + expToNext);
|
||||
|
||||
if (containedExp >= neededExp)
|
||||
{
|
||||
if (containedExp >= neededExp) {
|
||||
setStoredExperience(stack, containedExp - neededExp);
|
||||
addPlayerXP(player, neededExp);
|
||||
|
||||
if (player.experienceLevel % 5 == 0)
|
||||
{
|
||||
if (player.experienceLevel % 5 == 0) {
|
||||
float f = player.experienceLevel > 30 ? 1.0F : (float) player.experienceLevel / 30.0F;
|
||||
player.getEntityWorld().playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_PLAYER_LEVELUP, player.getSoundCategory(), f * 0.75F, 1.0F);
|
||||
}
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
setStoredExperience(stack, 0);
|
||||
addPlayerXP(player, (int) containedExp);
|
||||
}
|
||||
}
|
||||
|
||||
public void absorbOneLevelExpFromPlayer(ItemStack stack, EntityPlayer player)
|
||||
{
|
||||
public void absorbOneLevelExpFromPlayer(ItemStack stack, EntityPlayer player) {
|
||||
float progress = player.experience;
|
||||
|
||||
if (progress > 0)
|
||||
{
|
||||
if (progress > 0) {
|
||||
int expDeduction = (int) getExperienceAcquiredToNext(player);
|
||||
if (expDeduction > 0)
|
||||
{
|
||||
if (expDeduction > 0) {
|
||||
addPlayerXP(player, -expDeduction);
|
||||
addExperience(stack, expDeduction);
|
||||
}
|
||||
} else if (progress == 0 && player.experienceLevel > 0)
|
||||
{
|
||||
} else if (progress == 0 && player.experienceLevel > 0) {
|
||||
int expDeduction = getExperienceForNextLevel(player.experienceLevel - 1);
|
||||
addPlayerXP(player, -expDeduction);
|
||||
addExperience(stack, expDeduction);
|
||||
|
@ -126,13 +109,11 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
}
|
||||
|
||||
// Credits to Ender IO for some of the experience code, although now modified slightly for my convenience.
|
||||
public static int getPlayerXP(EntityPlayer player)
|
||||
{
|
||||
public static int getPlayerXP(EntityPlayer player) {
|
||||
return (int) (getExperienceForLevel(player.experienceLevel) + (player.experience * player.xpBarCap()));
|
||||
}
|
||||
|
||||
public static void addPlayerXP(EntityPlayer player, int amount)
|
||||
{
|
||||
public static void addPlayerXP(EntityPlayer player, int amount) {
|
||||
int experience = Math.max(0, getPlayerXP(player) + amount);
|
||||
player.experienceTotal = experience;
|
||||
player.experienceLevel = getLevelForExperience(experience);
|
||||
|
@ -140,8 +121,7 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
player.experience = (float) (experience - expForLevel) / (float) player.xpBarCap();
|
||||
}
|
||||
|
||||
public static void setStoredExperience(ItemStack stack, double exp)
|
||||
{
|
||||
public static void setStoredExperience(ItemStack stack, double exp) {
|
||||
NBTHelper.checkNBT(stack);
|
||||
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
|
@ -149,8 +129,7 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
tag.setDouble("experience", exp);
|
||||
}
|
||||
|
||||
public static double getStoredExperience(ItemStack stack)
|
||||
{
|
||||
public static double getStoredExperience(ItemStack stack) {
|
||||
NBTHelper.checkNBT(stack);
|
||||
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
|
@ -158,65 +137,50 @@ public class ItemExperienceBook extends Item implements IVariantProvider
|
|||
return tag.getDouble("experience");
|
||||
}
|
||||
|
||||
public static void addExperience(ItemStack stack, double exp)
|
||||
{
|
||||
public static void addExperience(ItemStack stack, double exp) {
|
||||
setStoredExperience(stack, getStoredExperience(stack) + exp);
|
||||
}
|
||||
|
||||
public static int getExperienceForNextLevel(int currentLevel)
|
||||
{
|
||||
if (currentLevel < 16)
|
||||
{
|
||||
public static int getExperienceForNextLevel(int currentLevel) {
|
||||
if (currentLevel < 16) {
|
||||
return 2 * currentLevel + 7;
|
||||
} else if (currentLevel < 31)
|
||||
{
|
||||
} else if (currentLevel < 31) {
|
||||
return 5 * currentLevel - 38;
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
return 9 * currentLevel - 158;
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: Change to calculation form.
|
||||
public static int getExperienceForLevel(int level)
|
||||
{
|
||||
if (level >= 21863)
|
||||
{
|
||||
public static int getExperienceForLevel(int level) {
|
||||
if (level >= 21863) {
|
||||
return Integer.MAX_VALUE;
|
||||
}
|
||||
if (level == 0)
|
||||
{
|
||||
if (level == 0) {
|
||||
return 0;
|
||||
}
|
||||
int res = 0;
|
||||
for (int i = 0; i < level; i++)
|
||||
{
|
||||
for (int i = 0; i < level; i++) {
|
||||
res += getExperienceForNextLevel(i);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
public static double getExperienceAcquiredToNext(EntityPlayer player)
|
||||
{
|
||||
public static double getExperienceAcquiredToNext(EntityPlayer player) {
|
||||
return player.experience * player.xpBarCap();
|
||||
}
|
||||
|
||||
public static int getLevelForExperience(double exp)
|
||||
{
|
||||
if (exp <= 352)
|
||||
{
|
||||
public static int getLevelForExperience(double exp) {
|
||||
if (exp <= 352) {
|
||||
return (int) Math.floor(solveParabola(1, 6, -exp));
|
||||
} else if (exp <= 1507)
|
||||
{
|
||||
} else if (exp <= 1507) {
|
||||
return (int) Math.floor(solveParabola(2.5, -40.5, 360 - exp));
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
return (int) Math.floor(solveParabola(4.5, -162.5, 2220 - exp));
|
||||
}
|
||||
}
|
||||
|
||||
public static double solveParabola(double a, double b, double c)
|
||||
{
|
||||
public static double solveParabola(double a, double b, double c) {
|
||||
return (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue