Added the ability to disable reroll, fixed problem with sheep drops.

This commit is contained in:
Brianna 2019-08-29 19:30:13 -04:00
parent d7aef463d1
commit 3f67df4c17
3 changed files with 18 additions and 10 deletions

View File

@ -5,6 +5,7 @@ import com.songoda.lootables.Modify;
import com.songoda.lootables.loot.*; import com.songoda.lootables.loot.*;
import com.songoda.ultimatestacker.UltimateStacker; import com.songoda.ultimatestacker.UltimateStacker;
import com.songoda.ultimatestacker.utils.ServerVersion; import com.songoda.ultimatestacker.utils.ServerVersion;
import com.songoda.ultimatestacker.utils.settings.Setting;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.*; import org.bukkit.entity.*;
@ -39,7 +40,7 @@ public class LootablesManager {
? entity.getKiller().getItemInHand().getEnchantmentLevel(Enchantment.LOOT_BONUS_MOBS) ? entity.getKiller().getItemInHand().getEnchantmentLevel(Enchantment.LOOT_BONUS_MOBS)
: 0; : 0;
int rerollChance = looting / (looting + 1); int rerollChance = Setting.REROLL.getBoolean() ? 100 * looting / (looting + 1) : 0;
for (Loot loot : lootable.getRegisteredLoot()) for (Loot loot : lootable.getRegisteredLoot())
toDrop.addAll(runLoot(entity, loot, rerollChance, looting)); toDrop.addAll(runLoot(entity, loot, rerollChance, looting));
@ -52,9 +53,7 @@ public class LootablesManager {
if (entity.getType() == EntityType.SHEEP) { if (entity.getType() == EntityType.SHEEP) {
modify = (Loot loot2) -> { modify = (Loot loot2) -> {
Material material = loot2.getMaterial(); Material material = loot2.getMaterial();
if (material == (instance.isServerVersionAtLeast(com.songoda.lootables.utils.ServerVersion.V1_13) if (material.name().contains("WOOL") && ((Sheep) entity).getColor() != null) {
? Material.WHITE_WOOL : Material.valueOf("WOOL"))
&& ((Sheep) entity).getColor() != null) {
if (((Sheep) entity).isSheared()) return null; if (((Sheep) entity).isSheared()) return null;
if (instance.isServerVersionAtLeast(com.songoda.lootables.utils.ServerVersion.V1_13)) if (instance.isServerVersionAtLeast(com.songoda.lootables.utils.ServerVersion.V1_13))
loot2.setMaterial(Material.valueOf(((Sheep) entity).getColor() + "_WOOL")); loot2.setMaterial(Material.valueOf(((Sheep) entity).getColor() + "_WOOL"));
@ -198,6 +197,10 @@ public class LootablesManager {
new LootBuilder() new LootBuilder()
.setMaterial(Material.GOLD_INGOT) .setMaterial(Material.GOLD_INGOT)
.setChance(5) .setChance(5)
.addOnlyDropFors(EntityType.PLAYER).build(),
new LootBuilder()
.setMaterial(Material.TRIDENT)
.setChance(1)
.addOnlyDropFors(EntityType.PLAYER).build())); .addOnlyDropFors(EntityType.PLAYER).build()));
} }

View File

@ -49,9 +49,14 @@ public enum Setting {
HOLOGRAMS_ON_LOOK_ENTITY("Entities.Only Show Holograms On Look", false, HOLOGRAMS_ON_LOOK_ENTITY("Entities.Only Show Holograms On Look", false,
"Only show nametags above an entities head when looking directly at them."), "Only show nametags above an entities head when looking directly at them."),
CUSTOM_DROPS("Entities.Custom Drops", true, CUSTOM_DROPS("Entities.Custom Drops.Enabled", true,
"Should custom drops be enabled?"), "Should custom drops be enabled?"),
REROLL("Entities.Custom Drops.Reroll", true,
"Increases chance of uncommon drops by making a second attempt to",
"drop if the original attempt failed (Requires the looting enchantment).",
"This is a default Minecraft mechanic."),
KILL_WHOLE_STACK_ON_DEATH("Entities.Kill Whole Stack On Death", false, KILL_WHOLE_STACK_ON_DEATH("Entities.Kill Whole Stack On Death", false,
"Should killing a stack of entities kill the whole stack or", "Should killing a stack of entities kill the whole stack or",
"just one out of the stack? If you want only certain entities to be", "just one out of the stack? If you want only certain entities to be",

View File

@ -1,5 +1,5 @@
#Generated by Maven #Generated by Maven
#Sat Dec 08 20:46:16 CET 2018 #Thu Aug 29 19:17:04 EDT 2019
version=maven-version-number version=maven-version-number
groupId=com.songoda groupId=com.songoda
artifactId=UltimateStacker artifactId=UltimateStacker