parent
a92c41d1ab
commit
44e50124e5
Binary file not shown.
@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Palette2">
|
||||||
|
<group name="Swing">
|
||||||
|
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Button" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="RadioButton" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="CheckBox" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Label" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||||
|
<preferred-size width="-1" height="20" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
</group>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
package com.zivilon.cinder_loe.client.render.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptElf;
|
||||||
|
import lotr.client.model.LOTRModelDwarf;
|
||||||
|
import lotr.client.model.LOTRModelElf;
|
||||||
|
import lotr.client.render.entity.LOTRRandomSkins;
|
||||||
|
import lotr.client.render.entity.LOTRRenderBiped;
|
||||||
|
import lotr.client.render.entity.LOTRRenderDwarf;
|
||||||
|
import lotr.common.entity.LOTRRandomSkinEntity;
|
||||||
|
import lotr.common.entity.npc.LOTREntityNPC;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class RenderCorruptDwarf extends LOTRRenderDwarf {
|
||||||
|
public static LOTRRandomSkins skinsMale;
|
||||||
|
protected ModelBiped standardRenderPassModel = new LOTRModelDwarf(0.5f, 64, 64);
|
||||||
|
|
||||||
|
public RenderCorruptDwarf() {
|
||||||
|
super();
|
||||||
|
skinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/dwarf");
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void func_82421_b() {
|
||||||
|
this.field_82423_g = new LOTRModelDwarf(1.0f);
|
||||||
|
this.field_82425_h = new LOTRModelDwarf(0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getEntityTexture(Entity entity) {
|
||||||
|
CorruptDwarf dwarf = (CorruptDwarf)entity;
|
||||||
|
if (dwarf.familyInfo.isMale()) {
|
||||||
|
return skinsMale.getRandomSkin(dwarf);
|
||||||
|
}
|
||||||
|
return skinsMale.getRandomSkin(dwarf);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
package com.zivilon.cinder_loe.client.render.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptElf;
|
||||||
|
import lotr.client.model.LOTRModelElf;
|
||||||
|
import lotr.client.render.entity.LOTRRandomSkins;
|
||||||
|
import lotr.client.render.entity.LOTRRenderBiped;
|
||||||
|
import lotr.client.render.entity.LOTRRenderElf;
|
||||||
|
import lotr.common.entity.LOTRRandomSkinEntity;
|
||||||
|
import lotr.common.entity.npc.LOTREntityNPC;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class RenderCorruptElf extends LOTRRenderElf {
|
||||||
|
public static LOTRRandomSkins skinsMale;
|
||||||
|
public static LOTRRandomSkins skinsFemale;
|
||||||
|
private LOTRModelElf eyesModel = new LOTRModelElf(0.05f, 64, 64);
|
||||||
|
private LOTRModelElf outfitModel = new LOTRModelElf(0.6f, 64, 64);
|
||||||
|
|
||||||
|
public RenderCorruptElf() {
|
||||||
|
super();
|
||||||
|
skinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/elf_male");
|
||||||
|
skinsFemale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/elf_female");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void func_82421_b() {
|
||||||
|
this.field_82423_g = new LOTRModelElf(1.0f);
|
||||||
|
this.field_82425_h = new LOTRModelElf(0.5f);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getEntityTexture(Entity entity) {
|
||||||
|
CorruptElf elf = (CorruptElf)entity;
|
||||||
|
if (((LOTREntityNPC)elf).familyInfo.isMale()) {
|
||||||
|
return skinsMale.getRandomSkin((LOTRRandomSkinEntity)elf);
|
||||||
|
}
|
||||||
|
return skinsFemale.getRandomSkin((LOTRRandomSkinEntity)elf);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
package com.zivilon.cinder_loe.client.render.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
|
||||||
|
import lotr.client.LOTRTextures;
|
||||||
|
import lotr.client.model.LOTRModelDwarf;
|
||||||
|
import lotr.client.model.LOTRModelEnt;
|
||||||
|
import lotr.client.render.entity.LOTRGlowingEyes;
|
||||||
|
import lotr.client.render.entity.LOTRRandomSkins;
|
||||||
|
import lotr.client.render.entity.LOTRRenderBiped;
|
||||||
|
import lotr.common.entity.npc.LOTREntityEnt;
|
||||||
|
import lotr.common.entity.npc.LOTREntityTree;
|
||||||
|
import net.minecraft.client.model.ModelBase;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.client.renderer.entity.RenderLiving;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class RenderCorruptEnt extends RenderLiving {
|
||||||
|
private static HashMap entTextures = new HashMap();
|
||||||
|
private LOTRModelEnt eyesModel = new LOTRModelEnt(0.05f);
|
||||||
|
|
||||||
|
public RenderCorruptEnt() {
|
||||||
|
super((ModelBase)new LOTRModelEnt(), 0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected ResourceLocation getEntityTexture(Entity entity) {
|
||||||
|
int treeType = ((LOTREntityEnt)entity).getTreeType();
|
||||||
|
String s = "cinder_loe:mob/corrupt/ent/" + LOTREntityTree.TYPES[treeType] + ".png";
|
||||||
|
ResourceLocation r = (ResourceLocation)entTextures.get(treeType);
|
||||||
|
if (r == null) {
|
||||||
|
r = new ResourceLocation(s);
|
||||||
|
entTextures.put(treeType, r);
|
||||||
|
}
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void renderModel(EntityLivingBase entity, float f, float f1, float f2, float f3, float f4, float f5) {
|
||||||
|
super.renderModel(entity, f, f1, f2, f3, f4, f5);
|
||||||
|
ResourceLocation eyes = LOTRTextures.getEyesTexture(this.getEntityTexture((Entity)entity), new int[][]{{15, 23}, {22, 23}}, 3, 2);
|
||||||
|
LOTRGlowingEyes.renderGlowingEyes((Entity)entity, eyes, this.eyesModel, f, f1, f2, f3, f4, f5);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
package com.zivilon.cinder_loe.client.render.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptHobbit;
|
||||||
|
import lotr.client.model.LOTRModelDwarf;
|
||||||
|
import lotr.client.model.LOTRModelHobbit;
|
||||||
|
import lotr.client.render.entity.LOTRRandomSkins;
|
||||||
|
import lotr.client.render.entity.LOTRRenderBiped;
|
||||||
|
import lotr.client.render.entity.LOTRRenderHobbit;
|
||||||
|
import net.minecraft.client.model.ModelBase;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLiving;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class RenderCorruptHobbit extends LOTRRenderHobbit {
|
||||||
|
public static LOTRRandomSkins hobbitSkinsMale;
|
||||||
|
public static LOTRRandomSkins hobbitSkinsFemale;
|
||||||
|
protected ModelBiped outfitModel = new LOTRModelHobbit(0.5f, 64, 64);
|
||||||
|
|
||||||
|
public RenderCorruptHobbit() {
|
||||||
|
super();
|
||||||
|
hobbitSkinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/hobbit_male");
|
||||||
|
hobbitSkinsFemale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/hobbit_female");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void func_82421_b() {
|
||||||
|
this.field_82423_g = new LOTRModelHobbit(1.0f);
|
||||||
|
this.field_82425_h = new LOTRModelHobbit(0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getEntityTexture(Entity entity) {
|
||||||
|
CorruptHobbit dwarf = (CorruptHobbit) entity;
|
||||||
|
if (dwarf.familyInfo.isMale()) {
|
||||||
|
return hobbitSkinsMale.getRandomSkin(dwarf);
|
||||||
|
}
|
||||||
|
return hobbitSkinsFemale.getRandomSkin(dwarf);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
package com.zivilon.cinder_loe.client.render.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptElf;
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptMan;
|
||||||
|
import lotr.client.model.LOTRModelElf;
|
||||||
|
import lotr.client.model.LOTRModelHuman;
|
||||||
|
import lotr.client.render.entity.*;
|
||||||
|
import lotr.common.entity.LOTRRandomSkinEntity;
|
||||||
|
import lotr.common.entity.npc.LOTREntityMan;
|
||||||
|
import lotr.common.entity.npc.LOTREntityNPC;
|
||||||
|
import net.minecraft.client.model.ModelBase;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLiving;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class RenderCorruptMan extends LOTRRenderGondorMan {
|
||||||
|
public static LOTRRandomSkins skinsMale;
|
||||||
|
public static LOTRRandomSkins skinsFemale;
|
||||||
|
protected ModelBiped outfitModel = new LOTRModelHuman(0.6f, false);
|
||||||
|
|
||||||
|
public RenderCorruptMan() {
|
||||||
|
super();
|
||||||
|
skinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/human_male");
|
||||||
|
skinsFemale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/human_female");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getEntityTexture(Entity entity) {
|
||||||
|
CorruptMan gondorian = (CorruptMan)entity;
|
||||||
|
if (gondorian.familyInfo.isMale()) {
|
||||||
|
return skinsMale.getRandomSkin(gondorian);
|
||||||
|
}
|
||||||
|
return skinsFemale.getRandomSkin(gondorian);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int shouldRenderPass(EntityLiving entity, int pass, float f) {
|
||||||
|
CorruptMan dunedain = (CorruptMan)entity;
|
||||||
|
return super.shouldRenderPass((EntityLiving)dunedain, pass, f);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
package com.zivilon.cinder_loe.client.render.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.CorruptOrc;
|
||||||
|
import lotr.client.LOTRTextures;
|
||||||
|
import lotr.client.model.LOTRModelDwarf;
|
||||||
|
import lotr.client.model.LOTRModelOrc;
|
||||||
|
import lotr.client.render.entity.LOTRRandomSkins;
|
||||||
|
import lotr.client.render.entity.LOTRRenderBiped;
|
||||||
|
import lotr.client.render.entity.LOTRRenderDwarf;
|
||||||
|
import lotr.client.render.entity.LOTRRenderOrc;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
public class RenderCorruptOrc extends LOTRRenderOrc {
|
||||||
|
private static LOTRRandomSkins orcSkins;
|
||||||
|
private static LOTRRandomSkins urukSkins;
|
||||||
|
private static LOTRRandomSkins blackUrukSkins;
|
||||||
|
private LOTRModelOrc eyesModel = new LOTRModelOrc(0.05f);
|
||||||
|
|
||||||
|
public RenderCorruptOrc() {
|
||||||
|
super();
|
||||||
|
orcSkins = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/orc");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void func_82421_b() {
|
||||||
|
this.field_82423_g = new LOTRModelOrc(1.0f);
|
||||||
|
this.field_82425_h = new LOTRModelOrc(0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getEntityTexture(Entity entity) {
|
||||||
|
CorruptOrc orc = (CorruptOrc)entity;
|
||||||
|
return orcSkins.getRandomSkin(orc);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
package com.zivilon.cinder_loe.entity.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.CinderLoE_Config;
|
||||||
|
import lotr.common.LOTRFoods;
|
||||||
|
import lotr.common.LOTRMod;
|
||||||
|
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
|
||||||
|
import lotr.common.entity.npc.LOTREntityDwarf;
|
||||||
|
import lotr.common.entity.npc.LOTREntityElf;
|
||||||
|
import lotr.common.entity.npc.LOTRNames;
|
||||||
|
import lotr.common.fac.LOTRFaction;
|
||||||
|
import lotr.common.item.LOTRItemMug;
|
||||||
|
import lotr.common.world.structure.LOTRChestContents;
|
||||||
|
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.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.config.Configuration;
|
||||||
|
|
||||||
|
import static com.zivilon.cinder_loe.CinderLoE_Config.config;
|
||||||
|
|
||||||
|
public class CorruptDwarf extends LOTREntityDwarf {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getPickedResult(MovingObjectPosition target) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public CorruptDwarf(World world) {
|
||||||
|
super(world);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setupNPCGender() {
|
||||||
|
this.familyInfo.setMale(true);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setupNPCName() {
|
||||||
|
this.familyInfo.setName(LOTRNames.getDwarfName(this.rand, this.familyInfo.isMale()));
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
|
||||||
|
data = super.onSpawnWithEgg(data);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public LOTRFaction getFaction() {
|
||||||
|
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected float getSoundPitch() {
|
||||||
|
return super.getSoundPitch() * 0.65f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getSpeechBank(EntityPlayer entityplayer) {
|
||||||
|
if (this.isFriendlyAndAligned(entityplayer)) {
|
||||||
|
return "corrupt/neutral";
|
||||||
|
}
|
||||||
|
return "corrupt/hostile";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,119 @@
|
|||||||
|
package com.zivilon.cinder_loe.entity.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.CinderLoE_Config;
|
||||||
|
import lotr.common.LOTRFoods;
|
||||||
|
import lotr.common.LOTRMod;
|
||||||
|
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
|
||||||
|
import lotr.common.entity.npc.LOTREntityElf;
|
||||||
|
import lotr.common.entity.npc.LOTREntityNPC;
|
||||||
|
import lotr.common.entity.npc.LOTRNames;
|
||||||
|
import lotr.common.fac.LOTRFaction;
|
||||||
|
import lotr.common.item.LOTRItemMug;
|
||||||
|
import lotr.common.world.structure.LOTRChestContents;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.IEntityLivingData;
|
||||||
|
import net.minecraft.entity.ai.EntityAIBase;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class CorruptElf extends LOTREntityElf {
|
||||||
|
private LOTRFaction faction;
|
||||||
|
@Override
|
||||||
|
public ItemStack getPickedResult(MovingObjectPosition target) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public CorruptElf(World world) {
|
||||||
|
super(world);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected LOTRFoods getElfDrinks() {
|
||||||
|
return LOTRFoods.ORC_DRINK;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected EntityAIBase createElfMeleeAttackAI() {
|
||||||
|
return new LOTREntityAIAttackOnCollide(this, 1.5, false);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected EntityAIBase createElfRangedAttackAI() {
|
||||||
|
return this.createElfMeleeAttackAI();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setupNPCName() {
|
||||||
|
this.familyInfo.setName(LOTRNames.getSindarinName(this.rand, this.familyInfo.isMale()));
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
|
||||||
|
data = super.onSpawnWithEgg(data);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onAttackModeChange(LOTREntityNPC.AttackMode mode, boolean mounted) {
|
||||||
|
if (mode == LOTREntityNPC.AttackMode.IDLE) {
|
||||||
|
this.tasks.removeTask(this.meleeAttackAI);
|
||||||
|
this.tasks.removeTask(this.rangedAttackAI);
|
||||||
|
this.setCurrentItemOrArmor(0, this.npcItemsInv.getIdleItem());
|
||||||
|
} else {
|
||||||
|
this.tasks.removeTask(this.meleeAttackAI);
|
||||||
|
this.tasks.removeTask(this.rangedAttackAI);
|
||||||
|
this.tasks.addTask(2, this.meleeAttackAI);
|
||||||
|
this.setCurrentItemOrArmor(0, this.npcItemsInv.getMeleeWeapon());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public LOTRFaction getFaction() {
|
||||||
|
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public float getAlignmentBonus() {
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void dropElfItems(boolean flag, int i) {
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void dropFewItems(boolean flag, int i) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canElfSpawnHere() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getSpeechBank(EntityPlayer entityplayer) {
|
||||||
|
if (this.isFriendlyAndAligned(entityplayer)) {
|
||||||
|
return "corrupt/neutral";
|
||||||
|
}
|
||||||
|
return "corrupt/hostile";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected float getSoundPitch() {
|
||||||
|
return super.getSoundPitch() * 0.65f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getHurtSound() {
|
||||||
|
return "lotr:orc.hurt";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDeathSound() {
|
||||||
|
return "lotr:orc.death";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAttackSound() {
|
||||||
|
return "lotr:orc.attack";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onKillEntity(EntityLivingBase entity) {
|
||||||
|
super.onKillEntity(entity);
|
||||||
|
this.playSound("lotr:orc.kill", this.getSoundVolume(), this.getSoundPitch());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,50 @@
|
|||||||
|
package com.zivilon.cinder_loe.entity.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.CinderLoE_Config;
|
||||||
|
import lotr.common.LOTRFoods;
|
||||||
|
import lotr.common.LOTRMod;
|
||||||
|
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
|
||||||
|
import lotr.common.entity.npc.LOTREntityDwarf;
|
||||||
|
import lotr.common.entity.npc.LOTREntityEnt;
|
||||||
|
import lotr.common.entity.npc.LOTREntityTree;
|
||||||
|
import lotr.common.entity.npc.LOTRNames;
|
||||||
|
import lotr.common.fac.LOTRFaction;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.IEntityLivingData;
|
||||||
|
import net.minecraft.entity.ai.EntityAIBase;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class CorruptEnt extends LOTREntityEnt {
|
||||||
|
private LOTRFaction faction;
|
||||||
|
@Override
|
||||||
|
public ItemStack getPickedResult(MovingObjectPosition target) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CorruptEnt(World world) {
|
||||||
|
super(world);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public LOTRFaction getFaction() {
|
||||||
|
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
|
||||||
|
data = super.onSpawnWithEgg(data);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public float getAlignmentBonus() {
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void dropFewItems(boolean flag, int i) {
|
||||||
|
super.dropFewItems(flag, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,95 @@
|
|||||||
|
package com.zivilon.cinder_loe.entity.corrupt;
|
||||||
|
|
||||||
|
import lotr.common.LOTRAchievement;
|
||||||
|
import lotr.common.LOTRFoods;
|
||||||
|
import lotr.common.LOTRMod;
|
||||||
|
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
|
||||||
|
import lotr.common.entity.npc.LOTREntityDwarf;
|
||||||
|
import lotr.common.entity.npc.LOTREntityHobbit;
|
||||||
|
import lotr.common.entity.npc.LOTREntityHobbitBounder;
|
||||||
|
import lotr.common.entity.npc.LOTRNames;
|
||||||
|
import lotr.common.fac.LOTRFaction;
|
||||||
|
import lotr.common.item.LOTRItemLeatherHat;
|
||||||
|
import lotr.common.world.structure.LOTRChestContents;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.IEntityLivingData;
|
||||||
|
import net.minecraft.entity.ai.EntityAIBase;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class CorruptHobbit extends LOTREntityHobbitBounder {
|
||||||
|
private LOTRFaction faction;
|
||||||
|
public CorruptHobbit(World world) {
|
||||||
|
super(world);
|
||||||
|
this.spawnRidingHorse = false;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public ItemStack getPickedResult(MovingObjectPosition target) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected LOTRFoods getHobbitFoods() {
|
||||||
|
return LOTRFoods.ORC;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected LOTRFoods getHobbitDrinks() {
|
||||||
|
return LOTRFoods.ORC_DRINK;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public float getAlignmentBonus() {
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getCanSpawnHere() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getBlockPathWeight(int i, int j, int k) {
|
||||||
|
float f = 0.0f;
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public LOTRFaction getFaction() {
|
||||||
|
return this.faction != null ? this.faction : LOTRFaction.UTUMNO;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected float getSoundPitch() {
|
||||||
|
return super.getSoundPitch() * 1.5f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getHurtSound() {
|
||||||
|
return "lotr:orc.hurt";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDeathSound() {
|
||||||
|
return "lotr:orc.death";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAttackSound() {
|
||||||
|
return "lotr:orc.attack";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getSpeechBank(EntityPlayer entityplayer) {
|
||||||
|
if (this.isFriendlyAndAligned(entityplayer)) {
|
||||||
|
return "corrupt/neutral";
|
||||||
|
}
|
||||||
|
return "corrupt/hostile";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void dropFewItems(boolean flag, int i) {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void dropHobbitItems(boolean flag, int i) {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,110 @@
|
|||||||
|
package com.zivilon.cinder_loe.entity.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.CinderLoE;
|
||||||
|
import com.zivilon.cinder_loe.CinderLoE_Config;
|
||||||
|
import lotr.common.LOTRFoods;
|
||||||
|
import lotr.common.LOTRMod;
|
||||||
|
import lotr.common.entity.ai.*;
|
||||||
|
import lotr.common.entity.npc.*;
|
||||||
|
import lotr.common.fac.LOTRFaction;
|
||||||
|
import lotr.common.quest.LOTRMiniQuest;
|
||||||
|
import lotr.common.quest.LOTRMiniQuestFactory;
|
||||||
|
import net.minecraft.entity.*;
|
||||||
|
import net.minecraft.entity.ai.*;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.util.StatCollector;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class CorruptMan extends LOTREntityGondorMan {
|
||||||
|
|
||||||
|
public CorruptMan(World world) {
|
||||||
|
super(world);
|
||||||
|
this.addTargetTasks(true);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public ItemStack getPickedResult(MovingObjectPosition target) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected EntityAIBase createGondorAttackAI() {
|
||||||
|
return new LOTREntityAIAttackOnCollide(this, 1.45, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setupNPCName() {
|
||||||
|
this.familyInfo.setName(LOTRNames.getGondorName(this.rand, this.familyInfo.isMale()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@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
|
||||||
|
public float getAlignmentBonus() {
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getCanSpawnHere() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getBlockPathWeight(int i, int j, int k) {
|
||||||
|
float f = 0.0f;
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected float getSoundPitch() {
|
||||||
|
return super.getSoundPitch() * 0.65f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getHurtSound() {
|
||||||
|
return "lotr:orc.hurt";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDeathSound() {
|
||||||
|
return "lotr:orc.death";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAttackSound() {
|
||||||
|
return "lotr:orc.attack";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getSpeechBank(EntityPlayer entityplayer) {
|
||||||
|
if (this.isFriendlyAndAligned(entityplayer)) {
|
||||||
|
return "corrupt/neutral";
|
||||||
|
}
|
||||||
|
return "corrupt/hostile";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public LOTRMiniQuest createMiniQuest() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LOTRMiniQuestFactory getBountyHelpSpeechDir() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void dropFewItems(boolean flag, int i) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,85 @@
|
|||||||
|
package com.zivilon.cinder_loe.entity.corrupt;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.CinderLoE;
|
||||||
|
import com.zivilon.cinder_loe.CinderLoE_Config;
|
||||||
|
import lotr.common.LOTRFoods;
|
||||||
|
import lotr.common.LOTRMod;
|
||||||
|
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
|
||||||
|
import lotr.common.entity.npc.LOTREntityDwarf;
|
||||||
|
import lotr.common.entity.npc.LOTREntityOrc;
|
||||||
|
import lotr.common.entity.npc.LOTRNames;
|
||||||
|
import lotr.common.fac.LOTRFaction;
|
||||||
|
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.item.ItemStack;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class CorruptOrc extends LOTREntityOrc {
|
||||||
|
private LOTRFaction faction;
|
||||||
|
public CorruptOrc(World world) {
|
||||||
|
super(world);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public ItemStack getPickedResult(MovingObjectPosition target) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public EntityAIBase createOrcAttackAI() {
|
||||||
|
return new LOTREntityAIAttackOnCollide(this, 1.4, false);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void applyEntityAttributes() {
|
||||||
|
super.applyEntityAttributes();
|
||||||
|
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LOTRFaction getFaction() {
|
||||||
|
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getHurtSound() {
|
||||||
|
return "lotr:orc.hurt";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDeathSound() {
|
||||||
|
return "lotr:orc.death";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAttackSound() {
|
||||||
|
return "lotr:orc.attack";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onKillEntity(EntityLivingBase entity) {
|
||||||
|
super.onKillEntity(entity);
|
||||||
|
this.playSound("lotr:orc.kill", this.getSoundVolume(), this.getSoundPitch());
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getSpeechBank(EntityPlayer entityplayer) {
|
||||||
|
if (this.isFriendlyAndAligned(entityplayer)) {
|
||||||
|
return "corrupt/neutral";
|
||||||
|
}
|
||||||
|
return "corrupt/hostile";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public float getAlignmentBonus() {
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
|
||||||
|
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void dropFewItems(boolean flag, int i) {
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void dropOrcItems(boolean flag, int i) {
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,177 @@
|
|||||||
|
package com.zivilon.cinder_loe.items;
|
||||||
|
|
||||||
|
import com.zivilon.cinder_loe.entity.corrupt.*;
|
||||||
|
import lotr.common.LOTRLevelData;
|
||||||
|
import lotr.common.entity.npc.*;
|
||||||
|
import lotr.common.fac.LOTRFaction;
|
||||||
|
import lotr.common.item.LOTRItemDagger;
|
||||||
|
import lotr.common.item.LOTRItemSword;
|
||||||
|
import lotr.common.item.LOTRMaterial;
|
||||||
|
import lotr.common.item.LOTRWeaponStats;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.IEntityLivingData;
|
||||||
|
import net.minecraft.entity.monster.EntityZombie;
|
||||||
|
import net.minecraft.entity.passive.EntityVillager;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
|
import net.minecraft.item.EnumAction;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.potion.Potion;
|
||||||
|
import net.minecraft.potion.PotionEffect;
|
||||||
|
import net.minecraft.world.EnumDifficulty;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class VoidDagger extends LOTRItemDagger {
|
||||||
|
public VoidDagger(LOTRMaterial material) {
|
||||||
|
super(material);
|
||||||
|
}
|
||||||
|
private LOTRFaction getFaction(EntityPlayer player) {
|
||||||
|
LOTRFaction faction = LOTRLevelData.getData(player).getPledgeFaction();
|
||||||
|
if (faction == null) {
|
||||||
|
faction = LOTRFaction.RUFFIAN;
|
||||||
|
}
|
||||||
|
return faction;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hitEntity(ItemStack itemstack, EntityLivingBase target, EntityLivingBase attacker) {
|
||||||
|
itemstack.damageItem(1, attacker);
|
||||||
|
|
||||||
|
// Check if the target is dead and call the onKillEntity method
|
||||||
|
if (target.getHealth() <= 0.0F) {
|
||||||
|
onKillEntity(target, attacker);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public void onKillEntity(EntityLivingBase entityKilled, EntityLivingBase killer) {
|
||||||
|
if (killer instanceof EntityPlayer) {
|
||||||
|
EntityPlayer player = (EntityPlayer) killer;
|
||||||
|
LOTRFaction faction = getFaction(player);
|
||||||
|
entityKilled.worldObj.playSoundAtEntity(player, "mob.zombie.unfect", 1F,1F);
|
||||||
|
|
||||||
|
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityOrc) {
|
||||||
|
CorruptOrc corruptOrc = new CorruptOrc(entityKilled.worldObj);
|
||||||
|
corruptOrc.copyLocationAndAnglesFrom(entityKilled);
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
|
||||||
|
corruptOrc.setCurrentItemOrArmor(i + 1, armor);
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack mainWeapon = ((LOTREntityOrc) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
|
||||||
|
corruptOrc.npcItemsInv.setIdleItem(mainWeapon);
|
||||||
|
corruptOrc.npcItemsInv.setMeleeWeapon(mainWeapon);
|
||||||
|
corruptOrc.setHealth(10);
|
||||||
|
corruptOrc.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
|
||||||
|
|
||||||
|
entityKilled.worldObj.removeEntity(entityKilled);
|
||||||
|
corruptOrc.onSpawnWithEgg((IEntityLivingData) null);
|
||||||
|
|
||||||
|
entityKilled.worldObj.spawnEntityInWorld(corruptOrc);
|
||||||
|
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) corruptOrc.posX, (int) corruptOrc.posY, (int) corruptOrc.posZ, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityMan && !(entityKilled instanceof LOTREntityHobbit)) {
|
||||||
|
|
||||||
|
CorruptMan entity = new CorruptMan(entityKilled.worldObj);
|
||||||
|
entity.copyLocationAndAnglesFrom(entityKilled);
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
|
||||||
|
entity.setCurrentItemOrArmor(i + 1, armor);
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack mainWeapon = ((LOTREntityMan) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
|
||||||
|
entity.npcItemsInv.setIdleItem(mainWeapon);
|
||||||
|
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
|
||||||
|
entity.setHealth(10);
|
||||||
|
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
|
||||||
|
|
||||||
|
entityKilled.worldObj.removeEntity(entityKilled);
|
||||||
|
entity.onSpawnWithEgg((IEntityLivingData) null);
|
||||||
|
|
||||||
|
entityKilled.worldObj.spawnEntityInWorld(entity);
|
||||||
|
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (entityKilled instanceof LOTREntityHobbit) {
|
||||||
|
CorruptHobbit entity = new CorruptHobbit(entityKilled.worldObj);
|
||||||
|
entity.copyLocationAndAnglesFrom(entityKilled);
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
|
||||||
|
entity.setCurrentItemOrArmor(i + 1, armor);
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack mainWeapon = ((LOTREntityHobbit) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
|
||||||
|
entity.npcItemsInv.setIdleItem(mainWeapon);
|
||||||
|
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
|
||||||
|
entity.setHealth(10);
|
||||||
|
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
|
||||||
|
|
||||||
|
entityKilled.worldObj.removeEntity(entityKilled);
|
||||||
|
entity.onSpawnWithEgg((IEntityLivingData) null);
|
||||||
|
|
||||||
|
entityKilled.worldObj.spawnEntityInWorld(entity);
|
||||||
|
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
|
||||||
|
}
|
||||||
|
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityEnt) {
|
||||||
|
CorruptEnt entity = new CorruptEnt(entityKilled.worldObj);
|
||||||
|
entity.copyLocationAndAnglesFrom(entityKilled);
|
||||||
|
|
||||||
|
entityKilled.worldObj.removeEntity(entityKilled);
|
||||||
|
entity.onSpawnWithEgg((IEntityLivingData) null);
|
||||||
|
entity.setHealth(10);
|
||||||
|
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
|
||||||
|
|
||||||
|
entityKilled.worldObj.spawnEntityInWorld(entity);
|
||||||
|
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
|
||||||
|
}
|
||||||
|
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityElf) {
|
||||||
|
CorruptElf entity = new CorruptElf(entityKilled.worldObj);
|
||||||
|
entity.copyLocationAndAnglesFrom(entityKilled);
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
|
||||||
|
entity.setCurrentItemOrArmor(i + 1, armor);
|
||||||
|
}
|
||||||
|
entity.setHealth(10);
|
||||||
|
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
|
||||||
|
|
||||||
|
ItemStack mainWeapon = ((LOTREntityElf) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
|
||||||
|
entity.npcItemsInv.setIdleItem(mainWeapon);
|
||||||
|
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
|
||||||
|
|
||||||
|
entityKilled.worldObj.removeEntity(entityKilled);
|
||||||
|
entity.onSpawnWithEgg((IEntityLivingData) null);
|
||||||
|
|
||||||
|
entityKilled.worldObj.spawnEntityInWorld(entity);
|
||||||
|
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
|
||||||
|
}
|
||||||
|
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityDwarf) {
|
||||||
|
CorruptDwarf entity = new CorruptDwarf(entityKilled.worldObj);
|
||||||
|
entity.copyLocationAndAnglesFrom(entityKilled);
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
|
||||||
|
entity.setCurrentItemOrArmor(i + 1, armor);
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack mainWeapon = ((LOTREntityDwarf) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
|
||||||
|
entity.npcItemsInv.setIdleItem(mainWeapon);
|
||||||
|
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
|
||||||
|
entity.setHealth(10);
|
||||||
|
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
|
||||||
|
|
||||||
|
entityKilled.worldObj.removeEntity(entityKilled);
|
||||||
|
entity.onSpawnWithEgg((IEntityLivingData) null);
|
||||||
|
|
||||||
|
entityKilled.worldObj.spawnEntityInWorld(entity);
|
||||||
|
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
Bow before the dark!
|
||||||
|
Beg for your gods to save you!
|
||||||
|
Stay back, or I'll be forced to attack you!
|
||||||
|
I don't have any choice! I'm Sorry!
|
||||||
|
I don't want to do this!
|
||||||
|
Soon you will know the cold of death...
|
||||||
|
The darkness consumes all...
|
||||||
|
You will serve in death...
|
||||||
|
You cannot escape the void...
|
||||||
|
Submit... that is the only option...
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
Serve the darkness, obey the master.
|
||||||
|
The endless darkness creeps for us all...
|
||||||
|
In shadows, we find our purpose.
|
||||||
|
We are one with the void.
|
||||||
|
Our will is bound, our souls are lost.
|
||||||
|
The master commands, we obey.
|
||||||
|
Our minds are bound, our spirits broken.
|
||||||
|
The light fades, the dark remains.
|
||||||
|
No thoughts of our own, only the master's will.
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 7.6 KiB |
@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"animation": {
|
||||||
|
"frames": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
5,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
6,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue