diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index c88cfc44b..19c222ec0 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -417,7 +417,7 @@ public class ModEventHandler { })); ItemStack bowReplacement = getSkelegun(soot, world.rand); - slotPools.put(0, createSlotPool(100, bowReplacement != null ? new Object[][]{{bowReplacement, 1}} : new Object[][]{})); + slotPools.put(0, createSlotPool(50, bowReplacement != null ? new Object[][]{{bowReplacement, 1}} : new Object[][]{})); } assignItemsToEntity(entity, slotPools); } @@ -429,15 +429,23 @@ public class ModEventHandler { entity.setCurrentItemOrArmor(1, new ItemStack(boots)); } - private List createSlotPool(int nullWeight, Object[][] items) { // nullWeight is the weight of the empty slot (no shit) + private List createSlotPool(int nullWeight, Object[][] items) { List pool = new ArrayList<>(); pool.add(new WeightedRandomObject(null, nullWeight)); for (Object[] item : items) { - pool.add(new WeightedRandomObject(new ItemStack((Item) item[0]), (int) item[1])); + Object obj = item[0]; + int weight = (int) item[1]; + + if (obj instanceof Item) { + pool.add(new WeightedRandomObject(new ItemStack((Item) obj), weight)); + } else if (obj instanceof ItemStack) { //lol just make it pass ItemStack aswell + pool.add(new WeightedRandomObject(obj, weight)); + } } return pool; } + private void assignItemsToEntity(EntityLivingBase entity, Map> slotPools) { for (Map.Entry> entry : slotPools.entrySet()) { int slot = entry.getKey();