1.3
parent
b8e432170c
commit
8d30eb8168
@ -0,0 +1,37 @@
|
||||
package com.zivilon.cinder_loe.client.model;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
/**
|
||||
* ModelSunkenSkeleton - Cleric_red
|
||||
* Created using Tabula 4.1.1
|
||||
*/
|
||||
public class ModelSunkenSkeleton
|
||||
extends ModelBiped {
|
||||
public ModelSunkenSkeleton() {
|
||||
this(0.0f);
|
||||
}
|
||||
|
||||
public ModelSunkenSkeleton(float f) {
|
||||
super(f, 0.0f, 64, 32);
|
||||
if (f == 0.0f) {
|
||||
this.bipedRightArm = new ModelRenderer((ModelBase)this, 40, 16);
|
||||
this.bipedRightArm.addBox(-1.0f, -2.0f, -1.0f, 2, 12, 2, f);
|
||||
this.bipedRightArm.setRotationPoint(-5.0f, 2.0f, 0.0f);
|
||||
this.bipedLeftArm = new ModelRenderer((ModelBase)this, 40, 16);
|
||||
this.bipedLeftArm.mirror = true;
|
||||
this.bipedLeftArm.addBox(-1.0f, -2.0f, -1.0f, 2, 12, 2, f);
|
||||
this.bipedLeftArm.setRotationPoint(5.0f, 2.0f, 0.0f);
|
||||
this.bipedRightLeg = new ModelRenderer((ModelBase)this, 0, 16);
|
||||
this.bipedRightLeg.addBox(-1.0f, 0.0f, -1.0f, 2, 12, 2, f);
|
||||
this.bipedRightLeg.setRotationPoint(-2.0f, 12.0f, 0.0f);
|
||||
this.bipedLeftLeg = new ModelRenderer((ModelBase)this, 0, 16);
|
||||
this.bipedLeftLeg.mirror = true;
|
||||
this.bipedLeftLeg.addBox(-1.0f, 0.0f, -1.0f, 2, 12, 2, f);
|
||||
this.bipedLeftLeg.setRotationPoint(2.0f, 12.0f, 0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.zivilon.cinder_loe.client.render.corrupt;
|
||||
|
||||
import com.zivilon.cinder_loe.client.model.ModelFangornElk;
|
||||
import com.zivilon.cinder_loe.client.model.ModelSunkenSkeleton;
|
||||
import com.zivilon.cinder_loe.entity.corrupt.CorruptMan;
|
||||
import lotr.client.model.LOTRModelHuman;
|
||||
import lotr.client.model.LOTRModelSkeleton;
|
||||
import lotr.client.render.entity.LOTRRandomSkins;
|
||||
import lotr.client.render.entity.LOTRRenderBiped;
|
||||
import lotr.client.render.entity.LOTRRenderGondorMan;
|
||||
import lotr.client.render.entity.LOTRRenderSkeleton;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.client.renderer.entity.RenderBiped;
|
||||
import net.minecraft.client.renderer.entity.RenderLiving;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderCorruptSkeleton extends RenderBiped {
|
||||
|
||||
private static ResourceLocation skin = new ResourceLocation("textures/entity/skeleton/skeleton.png");
|
||||
|
||||
public RenderCorruptSkeleton() {
|
||||
super(new ModelSunkenSkeleton(), 0.5F);
|
||||
}
|
||||
|
||||
protected void func_82421_b() {
|
||||
this.field_82423_g = new ModelSunkenSkeleton(1.0F);
|
||||
this.field_82425_h = new ModelSunkenSkeleton(0.5F);
|
||||
}
|
||||
|
||||
protected ResourceLocation func_110775_a(Entity entity) {
|
||||
return skin;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,87 @@
|
||||
package com.zivilon.cinder_loe.entity.corrupt;
|
||||
|
||||
import com.zivilon.cinder_loe.CinderLoE_Config;
|
||||
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
|
||||
import lotr.common.entity.npc.LOTREntityGondorMan;
|
||||
import lotr.common.entity.npc.LOTRNames;
|
||||
import lotr.common.fac.LOTRFaction;
|
||||
import lotr.common.quest.LOTRMiniQuest;
|
||||
import lotr.common.quest.LOTRMiniQuestFactory;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.IEntityLivingData;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.EntityAIBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CorruptSkeleton extends CorruptMan {
|
||||
|
||||
public CorruptSkeleton(World world) {
|
||||
super(world);
|
||||
this.addTargetTasks(true);
|
||||
}
|
||||
@Override
|
||||
public void setupNPCName() {
|
||||
this.familyInfo.setName(LOTRNames.getGondorName(this.rand, this.familyInfo.isMale()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyEntityAttributes() {
|
||||
super.applyEntityAttributes();
|
||||
this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(70.0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LOTRFaction getFaction() {
|
||||
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNPCName() {
|
||||
return this.familyInfo.getName();
|
||||
}
|
||||
@Override
|
||||
protected float getSoundPitch() {
|
||||
return super.getSoundPitch() * 0.65f;
|
||||
}
|
||||
@Override
|
||||
public String getHurtSound() {
|
||||
return "mob.skeleton.hurt";
|
||||
}
|
||||
@Override
|
||||
public String getDeathSound() {
|
||||
return "mob.skeleton.death";
|
||||
}
|
||||
|
||||
public String getLivingSound() {
|
||||
return "mob.skeleton.say";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAttackSound() {
|
||||
return "mob.skeleton.say";
|
||||
}
|
||||
@Override
|
||||
public String getSpeechBank(EntityPlayer entityplayer) {
|
||||
if (this.isFriendlyAndAligned(entityplayer)) {
|
||||
return "corruptSpeak/all/skeleton";
|
||||
}
|
||||
return "corruptSpeak/all/skeleton";
|
||||
}
|
||||
@Override
|
||||
protected void dropFewItems(boolean flag, int i) {
|
||||
super.dropFewItems(flag, i);
|
||||
int bones = this.rand.nextInt(3) + this.rand.nextInt(i + 1);
|
||||
for (int l = 0; l < bones; ++l) {
|
||||
this.dropItem(Items.bone, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
package com.zivilon.cinder_loe.entity.corrupt;
|
||||
|
||||
import com.zivilon.cinder_loe.CinderLoE_Config;
|
||||
import lotr.common.LOTRMod;
|
||||
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
|
||||
import lotr.common.entity.ai.LOTREntityAIRangedAttack;
|
||||
import lotr.common.entity.npc.LOTREntityNPC;
|
||||
import lotr.common.entity.npc.LOTRNames;
|
||||
import lotr.common.fac.LOTRFaction;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.IEntityLivingData;
|
||||
import net.minecraft.entity.ai.EntityAIAvoidEntity;
|
||||
import net.minecraft.entity.ai.EntityAIBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CorruptSkeletonArcher extends CorruptSkeleton {
|
||||
|
||||
public CorruptSkeletonArcher(World world) {
|
||||
super(world);
|
||||
((EntityLiving)this).tasks.addTask(0, (EntityAIBase)new LOTREntityAIRangedAttack(this, 1.4, 30, 50, 16.0f));
|
||||
this.tasks.addTask(10, (EntityAIBase)new EntityAIAvoidEntity(this, EntityPlayerMP.class, 12.0f, 1.0, 1.5));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setupNPCName() {
|
||||
this.familyInfo.setName(LOTRNames.getGondorName(this.rand, this.familyInfo.isMale()));
|
||||
}
|
||||
|
||||
public void attackEntityWithRangedAttack(EntityLivingBase target, float f) {
|
||||
npcArrowAttack(target, f);
|
||||
}
|
||||
@Override
|
||||
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
|
||||
data = super.onSpawnWithEgg(data);
|
||||
this.npcItemsInv.setRangedWeapon(new ItemStack(Items.bow));
|
||||
this.npcItemsInv.setIdleItem(this.npcItemsInv.getRangedWeapon());
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dropFewItems(boolean flag, int i) {
|
||||
super.dropFewItems(flag, i);
|
||||
this.dropNPCArrows(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onAttackModeChange(LOTREntityNPC.AttackMode mode, boolean mounted) {
|
||||
if (mode == LOTREntityNPC.AttackMode.IDLE) {
|
||||
this.setCurrentItemOrArmor(0, this.npcItemsInv.getIdleItem());
|
||||
} else {
|
||||
this.setCurrentItemOrArmor(0, this.npcItemsInv.getRangedWeapon());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LOTRFaction getFaction() {
|
||||
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNPCName() {
|
||||
return this.familyInfo.getName();
|
||||
}
|
||||
@Override
|
||||
protected float getSoundPitch() {
|
||||
return super.getSoundPitch() * 0.65f;
|
||||
}
|
||||
@Override
|
||||
public String getSpeechBank(EntityPlayer entityplayer) {
|
||||
if (this.isFriendlyAndAligned(entityplayer)) {
|
||||
return "corruptSpeak/all/skeleton";
|
||||
}
|
||||
return "corruptSpeak/all/skeleton";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package com.zivilon.cinder_loe.mixins.overrides;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package com.zivilon.cinder_loe.mixins.overrides;
|
||||
|
||||
import com.zivilon.cinder_loe.CinderLoE;
|
||||
import lotr.common.LOTRMod;
|
||||
import lotr.common.entity.animal.LOTREntityBear;
|
||||
import lotr.common.item.LOTRItemLionRug;
|
||||
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 MixinLOTREntityLioness extends Entity {
|
||||
|
||||
public MixinLOTREntityLioness(World worldIn) {
|
||||
super(worldIn);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author KeyLime17
|
||||
* @reason Mevans
|
||||
*/
|
||||
|
||||
|
||||
protected LOTRItemLionRug.LionRugType getLionRugType() {
|
||||
return LOTRItemLionRug.LionRugType.LIONESS;
|
||||
}
|
||||
|
||||
@Overwrite(remap = false)
|
||||
protected void func_70628_a(boolean flag, int i) {
|
||||
Item furItem = CinderLoE.cinderFurItem;
|
||||
int furMeta = 6;
|
||||
|
||||
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);
|
||||
if (flag) {
|
||||
int rugChance = 50 - i * 8;
|
||||
rugChance = Math.max(rugChance, 1);
|
||||
if (this.rand.nextInt(rugChance) == 0)
|
||||
entityDropItem(new ItemStack(LOTRMod.lionRug, 1, (getLionRugType()).lionID), 0.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.zivilon.cinder_loe.mixins.overrides;
|
||||
|
||||
import lotr.client.gui.LOTRGuiMap;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
|
||||
@Mixin(LOTRGuiMap.class)
|
||||
public class MixinSepiaOverride {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
ᛒᛟᚹ ᛒᛖᚠᛟᚱᛖ ᚦᛖ ᛞᛖᛞ!
|
||||
ᛒᛖᚷ ᚠᛟᚱ ᛗᛖᚱᚲᛁ!
|
||||
ᛖᛏᛖᚱᚾᚨᛚ ᛈᚨᛁᚾ ᚢᛈᛟᚾ ᛁᛟᚢ!
|
||||
ᛞᛖᚦ ᚢᛈᛟᚾ ᛁᛟᚢ!
|
||||
ᛈᚨᛁᚾ, ᛊᚺᚨᛗᛖ, ᚺᛟᚱᚱᛟᚱ ᛏᛟ ᛁᛟᚢ!
|
||||
ᛞᚱᛟᚹᚾ ᛁᚾ ᛒᛚᛟᛟᛞ ᛊᛚᚨᚢᛖ!
|
||||
@ -0,0 +1,6 @@
|
||||
ᛒᛟᚹ ᛒᛖᚠᛟᚱᛖ ᚦᛖ ᛞᛖᛞ!
|
||||
ᛒᛖᚷ ᚠᛟᚱ ᛗᛖᚱᚲᛁ!
|
||||
ᛖᛏᛖᚱᚾᚨᛚ ᛈᚨᛁᚾ ᚢᛈᛟᚾ ᛁᛟᚢ!
|
||||
ᛞᛖᚦ ᚢᛈᛟᚾ ᛁᛟᚢ!
|
||||
ᛈᚨᛁᚾ, ᛊᚺᚨᛗᛖ, ᚺᛟᚱᚱᛟᚱ ᛏᛟ ᛁᛟᚢ!
|
||||
ᛞᚱᛟᚹᚾ ᛁᚾ ᛒᛚᛟᛟᛞ ᛊᛚᚨᚢᛖ!
|
||||
@ -0,0 +1 @@
|
||||
you shouldnt be able to see this
|
||||
Loading…
Reference in New Issue