diff --git a/.gradle/8.2.1/checksums/checksums.lock b/.gradle/8.2.1/checksums/checksums.lock index 163d130..dd89e66 100644 Binary files a/.gradle/8.2.1/checksums/checksums.lock and b/.gradle/8.2.1/checksums/checksums.lock differ diff --git a/.gradle/8.2.1/checksums/sha1-checksums.bin b/.gradle/8.2.1/checksums/sha1-checksums.bin index a1b1167..6eed126 100644 Binary files a/.gradle/8.2.1/checksums/sha1-checksums.bin and b/.gradle/8.2.1/checksums/sha1-checksums.bin differ diff --git a/.gradle/8.2.1/executionHistory/executionHistory.bin b/.gradle/8.2.1/executionHistory/executionHistory.bin index f541e4b..dda17fd 100644 Binary files a/.gradle/8.2.1/executionHistory/executionHistory.bin and b/.gradle/8.2.1/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.2.1/executionHistory/executionHistory.lock b/.gradle/8.2.1/executionHistory/executionHistory.lock index 3722a2d..c99ec8d 100644 Binary files a/.gradle/8.2.1/executionHistory/executionHistory.lock and b/.gradle/8.2.1/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.2.1/fileHashes/fileHashes.bin b/.gradle/8.2.1/fileHashes/fileHashes.bin index bca5ae7..8f0d114 100644 Binary files a/.gradle/8.2.1/fileHashes/fileHashes.bin and b/.gradle/8.2.1/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.2.1/fileHashes/fileHashes.lock b/.gradle/8.2.1/fileHashes/fileHashes.lock index 93b1bdd..67152fb 100644 Binary files a/.gradle/8.2.1/fileHashes/fileHashes.lock and b/.gradle/8.2.1/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.2.1/fileHashes/resourceHashesCache.bin b/.gradle/8.2.1/fileHashes/resourceHashesCache.bin index a1086d2..02ddb46 100644 Binary files a/.gradle/8.2.1/fileHashes/resourceHashesCache.bin and b/.gradle/8.2.1/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 490092c..9ad3c96 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index a4f3244..ef55d27 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/.idea/misc.xml b/.idea/misc.xml index c8b148c..bcd13fe 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,7 +1,7 @@ - + - - - + + + - + \ No newline at end of file diff --git a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java index 085e608..112ea42 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java @@ -168,6 +168,7 @@ public class CinderLoE { //Bree public static Item helmetBree; + public static Item helmetBreeKettle; public static Item bodyBree; public static Item legsBree; public static Item bootsBree; @@ -450,7 +451,7 @@ public class CinderLoE { utumnoSlaveSpawnEgg = new CinderLoESpawnEgg(UtumnoSlaveTrader.class).setTextureName("lotr:spawn_egg"); - // Last ID added: 87 + // Last ID added: 88 ItemRegistration.registerItem(redDwarfWarriorSpawnEgg, "redDwarfWarriorSpawnEgg", 0); ItemRegistration.registerItem(redDwarfArbalestSpawnEgg, "redDwarfArbalestSpawnEgg", 1); ItemRegistration.registerItem(redDwarfCommanderSpawnEgg, "redDwarfCommanderSpawnEgg", 2); @@ -660,12 +661,14 @@ public class CinderLoE { MATERIAL_BREE = getLOTRMaterialByName("BREE"); if (MATERIAL_BREE != null) { helmetBree = (new LOTRItemArmor(MATERIAL_BREE, 0, "helmet")).setUnlocalizedName("lotr:helmetBree").setTextureName("lotr:helmetBree"); + helmetBreeKettle = (new LOTRItemArmor(MATERIAL_BREE, 0, "helmet")).setUnlocalizedName("lotr:helmetBreeKettle").setTextureName("lotr:breekettlehelmet"); bodyBree = (new LOTRItemArmor(MATERIAL_BREE, 1)).setUnlocalizedName("lotr:bodyBree").setTextureName("lotr:bodyBree"); legsBree = (new LOTRItemArmor(MATERIAL_BREE, 2)).setUnlocalizedName("lotr:legsBree").setTextureName("lotr:legsBree"); bootsBree = (new LOTRItemArmor(MATERIAL_BREE, 3)).setUnlocalizedName("lotr:bootsBree").setTextureName("lotr:bootsBree"); swordBree = (new LOTRItemSword(MATERIAL_BREE)).setUnlocalizedName("lotr:swordBree").setTextureName("lotr:swordBree"); ItemRegistration.registerItem(helmetBree, "helmetBree", 58); + ItemRegistration.registerItem(helmetBreeKettle, "breekettle", 88); ItemRegistration.registerItem(bodyBree, "bodyBree", 59); ItemRegistration.registerItem(legsBree, "legsBree", 60); ItemRegistration.registerItem(bootsBree, "bootsBree", 61); @@ -962,6 +965,7 @@ public class CinderLoE { CinderCore.registerItemFallback(Item.getIdFromItem(blowgunLimwaith), Item.getIdFromItem(LOTRMod.tauredainBlowgun), "cinder_loe", "1.0"); CinderCore.registerItemFallback(Item.getIdFromItem(helmetBree), Item.getIdFromItem(Items.iron_helmet), "cinder_loe", "1.1"); + CinderCore.registerItemFallback(Item.getIdFromItem(helmetBreeKettle), Item.getIdFromItem(Items.iron_helmet), "cinder_loe", "1.2"); CinderCore.registerItemFallback(Item.getIdFromItem(bodyBree), Item.getIdFromItem(Items.chainmail_chestplate), "cinder_loe", "1.1"); CinderCore.registerItemFallback(Item.getIdFromItem(legsBree), Item.getIdFromItem(Items.chainmail_leggings), "cinder_loe", "1.1"); CinderCore.registerItemFallback(Item.getIdFromItem(bootsBree), Item.getIdFromItem(Items.iron_boots), "cinder_loe", "1.1"); diff --git a/src/main/java/com/zivilon/cinder_loe/client/model/ModelBreeHelmet.java b/src/main/java/com/zivilon/cinder_loe/client/model/ModelBreeKettleHelmet.java similarity index 90% rename from src/main/java/com/zivilon/cinder_loe/client/model/ModelBreeHelmet.java rename to src/main/java/com/zivilon/cinder_loe/client/model/ModelBreeKettleHelmet.java index 5ea9f3d..baddf15 100644 --- a/src/main/java/com/zivilon/cinder_loe/client/model/ModelBreeHelmet.java +++ b/src/main/java/com/zivilon/cinder_loe/client/model/ModelBreeKettleHelmet.java @@ -2,16 +2,16 @@ package com.zivilon.cinder_loe.client.model; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; -//import lotr.client.model.LOTRModelBiped; import net.minecraft.entity.Entity; /** * Created using Tabula 4.1.1 */ -public class ModelBreeHelmet extends ModelBiped { +public class ModelBreeKettleHelmet extends ModelBiped { public ModelRenderer shape9; - public ModelBreeHelmet() { + public ModelBreeKettleHelmet(float f) { + super(f); this.textureWidth = 64; this.textureHeight = 32; this.bipedHead = new ModelRenderer(this, 0, 0); diff --git a/src/main/java/com/zivilon/cinder_loe/entity/BreeOutrider.java b/src/main/java/com/zivilon/cinder_loe/entity/BreeOutrider.java index 7a0eaa0..fe78d07 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/BreeOutrider.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/BreeOutrider.java @@ -10,9 +10,6 @@ import lotr.common.entity.animal.LOTREntityHorse; import lotr.common.entity.npc.LOTREntityGondorSoldier; import lotr.common.entity.npc.LOTREntityNPC; import lotr.common.entity.npc.LOTRNPCMount; -import lotr.common.fac.LOTRFaction; -import lotr.common.quest.LOTRMiniQuest; -import lotr.common.quest.LOTRMiniQuestFactory; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -23,9 +20,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -public class BreeOutrider extends BreeCrossbowman { - protected EntityAIBase rangedAttackAI = this.createBreeRangedAttackAI(); - protected EntityAIBase meleeAttackAI; +public class BreeOutrider extends BreeSoldier { + private EntityAIBase rangedAttackAI = this.createBreeRangedAttackAI(); + private EntityAIBase meleeAttackAI = this.addBreeAttackAI(); + public BreeOutrider(World world) { super(world); this.addTargetTasks(true); @@ -33,23 +31,38 @@ public class BreeOutrider extends BreeCrossbowman { this.spawnRidingHorse = true; this.npcShield = LOTRShields.ALIGNMENT_BREE; } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(LOTREntityNPC.npcRangedAccuracy).setBaseValue(0.5); + } + protected EntityAIBase createBreeRangedAttackAI() { return new LOTREntityAIRangedAttack(this, 1.25, 30, 40, 16.0f); } protected EntityAIBase addBreeAttackAI() { return new LOTREntityAIAttackOnCollide(this, 1.45D, true); + + } + @Override + protected void entityInit() { + super.entityInit(); + ((Entity) this).getDataWatcher().addObject(22, (Object)0); + ((Entity) this).getDataWatcher().addObject(23, (Object)0); } @Override public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { data = super.onSpawnWithEgg(data); + setCurrentItemOrArmor(4, new ItemStack(CinderLoE.helmetBreeKettle)); + this.npcItemsInv.setMeleeWeapon(new ItemStack(CinderLoE.swordBree)); + this.npcItemsInv.setRangedWeapon(new ItemStack(LOTRMod.ironCrossbow)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); return data; } @Override public void onAttackModeChange(LOTREntityNPC.AttackMode mode, boolean mounted) { - if (this.rangedAttackAI == null) System.out.println("Ranged attack AI is null"); - if (this.meleeAttackAI == null) System.out.println("Melee attack AI is null"); if (mode == LOTREntityNPC.AttackMode.IDLE) { ((EntityLiving)this).tasks.removeTask(this.meleeAttackAI); ((EntityLiving)this).tasks.removeTask(this.rangedAttackAI); diff --git a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRArmorModels.java b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRArmorModels.java index 6505b59..ff3ff06 100644 --- a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRArmorModels.java +++ b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRArmorModels.java @@ -1,8 +1,8 @@ package com.zivilon.cinder_loe.mixins; import com.zivilon.cinder_loe.CinderLoE; +import com.zivilon.cinder_loe.client.model.ModelBreeKettleHelmet; import com.zivilon.cinder_loe.client.model.ModelRedDwarfHelmet; -import com.zivilon.cinder_loe.client.model.ModelBreeHelmet; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; @@ -98,7 +98,7 @@ public class MixinLOTRArmorModels { map.put(LOTRMod.bodyHarnedor, new LOTRModelHarnedorChestplate(1.0F)); map.put(LOTRMod.helmetBlackNumenorean, new LOTRModelBlackNumenoreanHelmet(1.0F)); map.put(CinderLoE.helmetRedDwarf, new ModelRedDwarfHelmet(1.0F)); - map.put(CinderLoE.helmetBree, new ModelBreeHelmet()); + map.put(CinderLoE.helmetBreeKettle, new ModelBreeKettleHelmet(1.0F)); map.put(LOTRMod.plate, new LOTRModelHeadPlate()); map.put(LOTRMod.woodPlate, new LOTRModelHeadPlate()); map.put(LOTRMod.ceramicPlate, new LOTRModelHeadPlate()); diff --git a/src/main/resources/assets/lotr/armor/bree_1.png b/src/main/resources/assets/lotr/armor/bree_1.png index d230d92..7f65418 100644 Binary files a/src/main/resources/assets/lotr/armor/bree_1.png and b/src/main/resources/assets/lotr/armor/bree_1.png differ diff --git a/src/main/resources/assets/lotr/armor/bree_helmet.png b/src/main/resources/assets/lotr/armor/bree_helmet.png new file mode 100644 index 0000000..e6436f7 Binary files /dev/null and b/src/main/resources/assets/lotr/armor/bree_helmet.png differ diff --git a/src/main/resources/assets/lotr/textures/items/breekettlehelmet.png b/src/main/resources/assets/lotr/textures/items/breekettlehelmet.png new file mode 100644 index 0000000..6fc27e5 Binary files /dev/null and b/src/main/resources/assets/lotr/textures/items/breekettlehelmet.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index e69de29..6f29673 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -0,0 +1,21 @@ +{ + "modListVersion": 2, + "modList": [{ + "modid": "${modId}", + "name": "${modName}", + "description": "CINDER MOD.\nA pretty big mod adding various additions to the LOTR Mod", + "version": "${modVersion}", + "mcversion": "${minecraftVersion}", + "url": "thelordofembers.com", + "updateUrl": "", + "authorList": ["Shinare", "KeyLime"], + "credits": "cleric_red", + "logoFile": "", + "screenshots": [], + "parent": "", + "requiredMods": [], + "dependencies": [], + "dependants": [], + "useDependencyInformation": true + }] +}