You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.9 KiB
Java
64 lines
1.9 KiB
Java
package com.zivilon.cinder_loe.mixins;
|
|
|
|
import com.zivilon.cinder_loe.CinderLoE;
|
|
import lotr.common.LOTRMod;
|
|
import lotr.common.entity.animal.LOTREntityBear;
|
|
import lotr.common.entity.npc.LOTREntityWarg;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.world.World;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Overwrite;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
|
|
|
|
@Mixin(LOTREntityBear.class)
|
|
public abstract class MixinLOTREntityBear extends Entity {
|
|
|
|
public MixinLOTREntityBear(World worldIn) {
|
|
super(worldIn);
|
|
}
|
|
|
|
/**
|
|
* @author KeyLime17
|
|
* @reason Mevans
|
|
*/
|
|
|
|
@Shadow
|
|
public abstract LOTREntityBear.BearType getBearType();
|
|
|
|
@Overwrite(remap = false)
|
|
protected void func_70628_a(boolean flag, int i) {
|
|
Item furItem = null;
|
|
int furMeta = 0;
|
|
switch(getBearType().bearID) {
|
|
case 0:
|
|
furItem = LOTRMod.fur;
|
|
break;
|
|
case 1:
|
|
furItem = CinderLoE.cinderFurItem;
|
|
furMeta = 5;
|
|
break;
|
|
case 2:
|
|
furItem = CinderLoE.cinderFurItem;
|
|
furMeta = 4;
|
|
break;
|
|
}
|
|
|
|
int furs = 1 + this.rand.nextInt(3) + this.rand.nextInt(i + 1);
|
|
for (int l = 0; l < furs; l++)
|
|
entityDropItem(new ItemStack(furItem, 1, furMeta), 0.0F);
|
|
int bones = 2 + this.rand.nextInt(2) + this.rand.nextInt(i + 1);
|
|
for (int j = 0; j < bones; j++)
|
|
dropItem(LOTRMod.wargBone, 1);
|
|
if (flag) {
|
|
int rugChance = 50 - i * 8;
|
|
rugChance = Math.max(rugChance, 1);
|
|
if (this.rand.nextInt(rugChance) == 0)
|
|
entityDropItem(new ItemStack(LOTRMod.wargskinRug, 1, (getBearType()).bearID), 0.0F);
|
|
}
|
|
}
|
|
|
|
}
|