aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/loaders/MobRecipeLoader.java
diff options
context:
space:
mode:
authorkuba6000 <kuba.123123.6000@gmail.com>2022-08-23 01:32:59 +0200
committerkuba6000 <kuba.123123.6000@gmail.com>2022-08-23 01:32:59 +0200
commit525cc9553de2be9b0f14c6c646d69808abecb02d (patch)
tree615899c5f8f05f27a0bdf0df17bb41bde6245f93 /src/main/java/kubatech/loaders/MobRecipeLoader.java
parent6dbbff6804894bc69033df91d1344d8d523c178b (diff)
downloadGT5-Unofficial-525cc9553de2be9b0f14c6c646d69808abecb02d.tar.gz
GT5-Unofficial-525cc9553de2be9b0f14c6c646d69808abecb02d.tar.bz2
GT5-Unofficial-525cc9553de2be9b0f14c6c646d69808abecb02d.zip
Basic looting implementation
Diffstat (limited to 'src/main/java/kubatech/loaders/MobRecipeLoader.java')
-rw-r--r--src/main/java/kubatech/loaders/MobRecipeLoader.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java
index 1374c94d75..eeb37ba2fb 100644
--- a/src/main/java/kubatech/loaders/MobRecipeLoader.java
+++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java
@@ -207,13 +207,25 @@ public class MobRecipeLoader {
entity = e;
}
- public ItemStack[] generateOutputs(Random rnd, GT_MetaTileEntity_ExtremeExterminationChamber MTE) {
+ public ItemStack[] generateOutputs(
+ Random rnd, GT_MetaTileEntity_ExtremeExterminationChamber MTE, int lootinglevel) {
MTE.mEUt = mEUt;
MTE.mMaxProgresstime = mDuration;
ArrayList<ItemStack> stacks = new ArrayList<>(mOutputs.size());
for (MobDrop o : mOutputs) {
- if (o.chance == 10000 || rnd.nextInt(10000) < o.chance) {
+ int chance = o.chance;
+ int amount = o.stack.stackSize;
+ if (o.lootable && lootinglevel > 0) {
+ chance += lootinglevel * 5000;
+ if (chance > 10000) {
+ int div = (int) Math.ceil(chance / 10000d);
+ amount *= div;
+ chance /= div;
+ }
+ }
+ if (chance == 10000 || rnd.nextInt(10000) < chance) {
ItemStack s = o.stack.copy();
+ s.stackSize = amount;
if (o.enchantable != null) EnchantmentHelper.addRandomEnchantment(rnd, s, o.enchantable);
if (o.damages != null) {
int rChance = rnd.nextInt(mMaxDamageChance);