mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 18:55:18 +00:00
Rarity stuffs
This commit is contained in:
parent
39b7563d3a
commit
7f3b7df710
@ -1,6 +1,7 @@
|
|||||||
package com.volmit.iris.command;
|
package com.volmit.iris.command;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.volmit.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.Damageable;
|
import org.bukkit.inventory.meta.Damageable;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
@ -56,6 +57,35 @@ public class IrisLoot
|
|||||||
@Desc("Maximum durability percent")
|
@Desc("Maximum durability percent")
|
||||||
private double maxDurability = 1;
|
private double maxDurability = 1;
|
||||||
|
|
||||||
|
@MinNumber(1)
|
||||||
|
@MaxNumber(10)
|
||||||
|
@DontObfuscate
|
||||||
|
@Desc("Minimum Enchantment level")
|
||||||
|
private int minEnchantLevel = 1;
|
||||||
|
|
||||||
|
@MinNumber(1)
|
||||||
|
@MaxNumber(10)
|
||||||
|
@DontObfuscate
|
||||||
|
@Desc("Maximum Enchantment level")
|
||||||
|
private int maxEnchantLevel = 1;
|
||||||
|
|
||||||
|
@MinNumber(0)
|
||||||
|
@MaxNumber(10)
|
||||||
|
@DontObfuscate
|
||||||
|
@Desc("Minimum Enchantmentments")
|
||||||
|
private int minEnchants = 0;
|
||||||
|
|
||||||
|
@MinNumber(0)
|
||||||
|
@MaxNumber(10)
|
||||||
|
@DontObfuscate
|
||||||
|
@Desc("Maximum Enchantmentments")
|
||||||
|
private int maxEnchants = 0;
|
||||||
|
|
||||||
|
@MinNumber(1)
|
||||||
|
@DontObfuscate
|
||||||
|
@Desc("The chance for every attempt to add an enchantment 1 in X")
|
||||||
|
private int enchantmentRarity = 4;
|
||||||
|
|
||||||
@Required
|
@Required
|
||||||
@Desc("This is the item or block type. Does not accept minecraft:*. Only materials such as DIAMOND_SWORD or DIRT.")
|
@Desc("This is the item or block type. Does not accept minecraft:*. Only materials such as DIAMOND_SWORD or DIRT.")
|
||||||
private String type = "";
|
private String type = "";
|
||||||
@ -94,11 +124,35 @@ public class IrisLoot
|
|||||||
{
|
{
|
||||||
Damageable d = (Damageable) m;
|
Damageable d = (Damageable) m;
|
||||||
int max = getType().getMaxDurability();
|
int max = getType().getMaxDurability();
|
||||||
d.setDamage((int) Math.round(Math.max(0, Math.min(max, rng.d(getMinDurability(), getMaxDurability()) * max))));
|
d.setDamage((int) Math.round(Math.max(0, Math.min(max, (1D - rng.d(getMinDurability(), getMaxDurability())) * max))));
|
||||||
}
|
}
|
||||||
|
|
||||||
KList<String> lore = new KList<>();
|
KList<String> lore = new KList<>();
|
||||||
|
|
||||||
|
if(minEnchants > 0 || maxEnchants > 0)
|
||||||
|
{
|
||||||
|
KList<Enchantment> c = new KList<Enchantment>(Enchantment.values());
|
||||||
|
|
||||||
|
for(int i = minEnchants; i < maxEnchants; i++)
|
||||||
|
{
|
||||||
|
if(rng.i(1, enchantmentRarity) == 1)
|
||||||
|
{
|
||||||
|
Enchantment e = c.get(rng.nextInt(c.size()));
|
||||||
|
|
||||||
|
for(int ggh = 0; ggh < 8; ggh++)
|
||||||
|
{
|
||||||
|
if(e.canEnchantItem(is))
|
||||||
|
{
|
||||||
|
m.addEnchant(e, rng.i(getMinEnchantLevel(), getMaxEnchantLevel()), false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
e = c.get(rng.nextInt(c.size()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(debug)
|
if(debug)
|
||||||
{
|
{
|
||||||
lore.add("From Table: " + table.getName() + " (" + Form.pc(1D / table.getRarity(), 5) + ")");
|
lore.add("From Table: " + table.getName() + " (" + Form.pc(1D / table.getRarity(), 5) + ")");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user