mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 15:16:45 +01:00
Changed shake drops from guaranteed to based upon fishing level and perks.
This commit is contained in:
parent
b8d37cb223
commit
2bdeeb2d6e
@ -207,12 +207,48 @@ public class Fishing {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Player player = event.getPlayer();
|
||||||
|
final PlayerProfile profile = Users.getProfile(player);
|
||||||
|
|
||||||
|
int dropChance = 10;
|
||||||
|
|
||||||
|
switch (getFishingLootTier(profile)) {
|
||||||
|
case 1:
|
||||||
|
dropChance = 10;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
dropChance = 30;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
dropChance = 50;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
dropChance = 60;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
dropChance = 75;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (event.getPlayer().hasPermission("mcmmo.perks.lucky.fishing")) {
|
||||||
|
dropChance = (int) (dropChance * 1.25); //With lucky perk on max level tier, its 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
final int DROP_CHANCE = random.nextInt(100);
|
||||||
final int DROP_NUMBER = random.nextInt(randomChance) + 1;
|
final int DROP_NUMBER = random.nextInt(randomChance) + 1;
|
||||||
|
|
||||||
LivingEntity le = (LivingEntity) event.getCaught();
|
LivingEntity le = (LivingEntity) event.getCaught();
|
||||||
EntityType type = le.getType();
|
EntityType type = le.getType();
|
||||||
Location location = le.getLocation();
|
Location location = le.getLocation();
|
||||||
|
|
||||||
|
if (DROP_CHANCE < dropChance) {
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case BLAZE:
|
case BLAZE:
|
||||||
Misc.dropItem(location, new ItemStack(Material.BLAZE_ROD));
|
Misc.dropItem(location, new ItemStack(Material.BLAZE_ROD));
|
||||||
@ -221,8 +257,7 @@ public class Fishing {
|
|||||||
case CAVE_SPIDER:
|
case CAVE_SPIDER:
|
||||||
if (DROP_NUMBER > 50) {
|
if (DROP_NUMBER > 50) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.SPIDER_EYE));
|
Misc.dropItem(location, new ItemStack(Material.SPIDER_EYE));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.STRING));
|
Misc.dropItem(location, new ItemStack(Material.STRING));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -230,11 +265,9 @@ public class Fishing {
|
|||||||
case CHICKEN:
|
case CHICKEN:
|
||||||
if (DROP_NUMBER > 66) {
|
if (DROP_NUMBER > 66) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.FEATHER));
|
Misc.dropItem(location, new ItemStack(Material.FEATHER));
|
||||||
}
|
} else if (DROP_NUMBER > 33) {
|
||||||
else if (DROP_NUMBER > 33) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.RAW_CHICKEN));
|
Misc.dropItem(location, new ItemStack(Material.RAW_CHICKEN));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.EGG));
|
Misc.dropItem(location, new ItemStack(Material.EGG));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -242,11 +275,9 @@ public class Fishing {
|
|||||||
case COW:
|
case COW:
|
||||||
if (DROP_NUMBER > 99) {
|
if (DROP_NUMBER > 99) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
|
Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
|
||||||
}
|
} else if (DROP_NUMBER > 50) {
|
||||||
else if (DROP_NUMBER > 50) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.LEATHER));
|
Misc.dropItem(location, new ItemStack(Material.LEATHER));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.RAW_BEEF));
|
Misc.dropItem(location, new ItemStack(Material.RAW_BEEF));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -254,8 +285,7 @@ public class Fishing {
|
|||||||
case CREEPER:
|
case CREEPER:
|
||||||
if (DROP_NUMBER > 99) {
|
if (DROP_NUMBER > 99) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 4));
|
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 4));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.SULPHUR));
|
Misc.dropItem(location, new ItemStack(Material.SULPHUR));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -267,8 +297,7 @@ public class Fishing {
|
|||||||
case GHAST:
|
case GHAST:
|
||||||
if (DROP_NUMBER > 50) {
|
if (DROP_NUMBER > 50) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.SULPHUR));
|
Misc.dropItem(location, new ItemStack(Material.SULPHUR));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.GHAST_TEAR));
|
Misc.dropItem(location, new ItemStack(Material.GHAST_TEAR));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -276,11 +305,9 @@ public class Fishing {
|
|||||||
case IRON_GOLEM:
|
case IRON_GOLEM:
|
||||||
if (DROP_NUMBER > 99) {
|
if (DROP_NUMBER > 99) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
|
Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
|
||||||
}
|
} else if (DROP_NUMBER > 90) {
|
||||||
else if (DROP_NUMBER > 90) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.IRON_INGOT));
|
Misc.dropItem(location, new ItemStack(Material.IRON_INGOT));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.RED_ROSE));
|
Misc.dropItem(location, new ItemStack(Material.RED_ROSE));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -292,17 +319,13 @@ public class Fishing {
|
|||||||
case MUSHROOM_COW:
|
case MUSHROOM_COW:
|
||||||
if (DROP_NUMBER > 99) {
|
if (DROP_NUMBER > 99) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
|
Misc.dropItem(location, new ItemStack(Material.MILK_BUCKET));
|
||||||
}
|
} else if (DROP_NUMBER > 98) {
|
||||||
else if (DROP_NUMBER > 98) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.MUSHROOM_SOUP));
|
Misc.dropItem(location, new ItemStack(Material.MUSHROOM_SOUP));
|
||||||
}
|
} else if (DROP_NUMBER > 66) {
|
||||||
else if (DROP_NUMBER > 66) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.LEATHER));
|
Misc.dropItem(location, new ItemStack(Material.LEATHER));
|
||||||
}
|
} else if (DROP_NUMBER > 33) {
|
||||||
else if (DROP_NUMBER > 33) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.RAW_BEEF));
|
Misc.dropItem(location, new ItemStack(Material.RAW_BEEF));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItems(location, new ItemStack(Material.RED_MUSHROOM), 3);
|
Misc.dropItems(location, new ItemStack(Material.RED_MUSHROOM), 3);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -314,20 +337,19 @@ public class Fishing {
|
|||||||
case PIG_ZOMBIE:
|
case PIG_ZOMBIE:
|
||||||
if (DROP_NUMBER > 50) {
|
if (DROP_NUMBER > 50) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.ROTTEN_FLESH));
|
Misc.dropItem(location, new ItemStack(Material.ROTTEN_FLESH));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.GOLD_NUGGET));
|
Misc.dropItem(location, new ItemStack(Material.GOLD_NUGGET));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SHEEP:
|
case SHEEP:
|
||||||
Sheep sheep = (Sheep) le;
|
final Sheep sheep = (Sheep) le;
|
||||||
|
|
||||||
if (!sheep.isSheared()) {
|
if (!sheep.isSheared()) {
|
||||||
Wool wool = new Wool();
|
final Wool wool = new Wool();
|
||||||
wool.setColor(sheep.getColor());
|
wool.setColor(sheep.getColor());
|
||||||
|
|
||||||
ItemStack theWool = wool.toItemStack();
|
final ItemStack theWool = wool.toItemStack();
|
||||||
theWool.setAmount(1 + random.nextInt(6));
|
theWool.setAmount(1 + random.nextInt(6));
|
||||||
|
|
||||||
Misc.dropItem(location, theWool);
|
Misc.dropItem(location, theWool);
|
||||||
@ -336,25 +358,20 @@ public class Fishing {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SKELETON:
|
case SKELETON:
|
||||||
if(((CraftSkeleton) le).getHandle().getSkeletonType() == 1) {
|
if (((CraftSkeleton) le).getHandle().getSkeletonType() == 1) {
|
||||||
if (DROP_NUMBER > 97) {
|
if (DROP_NUMBER > 97) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 1));
|
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 1));
|
||||||
}
|
} else if (DROP_NUMBER > 50) {
|
||||||
else if (DROP_NUMBER > 50) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.BONE));
|
Misc.dropItem(location, new ItemStack(Material.BONE));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItems(location, new ItemStack(Material.COAL), 3);
|
Misc.dropItems(location, new ItemStack(Material.COAL), 3);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
if (DROP_NUMBER > 99) {
|
if (DROP_NUMBER > 99) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM));
|
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM));
|
||||||
}
|
} else if (DROP_NUMBER > 50) {
|
||||||
else if (DROP_NUMBER > 50) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.BONE));
|
Misc.dropItem(location, new ItemStack(Material.BONE));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItems(location, new ItemStack(Material.ARROW), 3);
|
Misc.dropItems(location, new ItemStack(Material.ARROW), 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -367,8 +384,7 @@ public class Fishing {
|
|||||||
case SNOWMAN:
|
case SNOWMAN:
|
||||||
if (DROP_NUMBER > 99) {
|
if (DROP_NUMBER > 99) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
|
Misc.dropItem(location, new ItemStack(Material.PUMPKIN));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItems(location, new ItemStack(Material.SNOW_BALL), 5);
|
Misc.dropItems(location, new ItemStack(Material.SNOW_BALL), 5);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -376,8 +392,7 @@ public class Fishing {
|
|||||||
case SPIDER:
|
case SPIDER:
|
||||||
if (DROP_NUMBER > 50) {
|
if (DROP_NUMBER > 50) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.SPIDER_EYE));
|
Misc.dropItem(location, new ItemStack(Material.SPIDER_EYE));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.STRING));
|
Misc.dropItem(location, new ItemStack(Material.STRING));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -389,39 +404,29 @@ public class Fishing {
|
|||||||
case WITCH:
|
case WITCH:
|
||||||
final int DROP_NUMBER_2 = random.nextInt(randomChance) + 1;
|
final int DROP_NUMBER_2 = random.nextInt(randomChance) + 1;
|
||||||
if (DROP_NUMBER > 97) {
|
if (DROP_NUMBER > 97) {
|
||||||
if(DROP_NUMBER_2 > 66) {
|
if (DROP_NUMBER_2 > 66) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8197));
|
Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8197));
|
||||||
}
|
} else if (DROP_NUMBER_2 > 33) {
|
||||||
else if(DROP_NUMBER_2 > 33) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8195));
|
Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8195));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8194));
|
Misc.dropItem(location, new ItemStack(Material.POTION, 1, (short) 8194));
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
if (DROP_NUMBER_2 > 88) {
|
||||||
if(DROP_NUMBER_2 > 88) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.GLASS_BOTTLE));
|
Misc.dropItem(location, new ItemStack(Material.GLASS_BOTTLE));
|
||||||
}
|
} else if (DROP_NUMBER_2 > 75) {
|
||||||
else if(DROP_NUMBER_2 > 75) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.GLOWSTONE_DUST));
|
Misc.dropItem(location, new ItemStack(Material.GLOWSTONE_DUST));
|
||||||
}
|
} else if (DROP_NUMBER_2 > 63) {
|
||||||
else if(DROP_NUMBER_2 > 63) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.SULPHUR));
|
Misc.dropItem(location, new ItemStack(Material.SULPHUR));
|
||||||
}
|
} else if (DROP_NUMBER_2 > 50) {
|
||||||
else if(DROP_NUMBER_2 > 50) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.REDSTONE));
|
Misc.dropItem(location, new ItemStack(Material.REDSTONE));
|
||||||
}
|
} else if (DROP_NUMBER_2 > 38) {
|
||||||
else if(DROP_NUMBER_2 > 38) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.SPIDER_EYE));
|
Misc.dropItem(location, new ItemStack(Material.SPIDER_EYE));
|
||||||
}
|
} else if (DROP_NUMBER_2 > 25) {
|
||||||
else if(DROP_NUMBER_2 > 25) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.STICK));
|
Misc.dropItem(location, new ItemStack(Material.STICK));
|
||||||
}
|
} else if (DROP_NUMBER_2 > 13) {
|
||||||
else if(DROP_NUMBER_2 > 13) {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.SUGAR));
|
Misc.dropItem(location, new ItemStack(Material.SUGAR));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.POTION));
|
Misc.dropItem(location, new ItemStack(Material.POTION));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -430,8 +435,7 @@ public class Fishing {
|
|||||||
case ZOMBIE:
|
case ZOMBIE:
|
||||||
if (DROP_NUMBER > 99) {
|
if (DROP_NUMBER > 99) {
|
||||||
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 2));
|
Misc.dropItem(location, new ItemStack(Material.SKULL_ITEM, 1, (short) 2));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Misc.dropItem(location, new ItemStack(Material.ROTTEN_FLESH));
|
Misc.dropItem(location, new ItemStack(Material.ROTTEN_FLESH));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -439,6 +443,7 @@ public class Fishing {
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Combat.dealDamage(le, 1);
|
Combat.dealDamage(le, 1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user