Ивент для брони.

Версия Minecraft
1.12.2
32
1
7
Java:
public class ItemMagicArmor extends ItemArmor{
    
    public ItemMagicArmor(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn)
    {
        super(materialIn, renderIndexIn, equipmentSlotIn);
        this.setRegistryName(name);
        this.setUnlocalizedName(name);
        this.setCreativeTab(CreativeTabs.COMBAT);
        
        MinecraftForge.EVENT_BUS.register(this);
        
        }
    public void registerModels() {
        Main.proxy.registerItemRenderer(this ,0, "inventory");
  
    }
    
    @SubscribeEvent
    public void damagePlayer(LivingHurtEvent event) {
        if(event.getSource().isMagicDamage()) {
            EntityPlayer player = (EntityPlayer)event.getEntityLiving();
            ItemStack stack = player.inventory.armorItemInSlot(3);
            if (stack.getItem() instanceof ItemMagicArmor) {
            event.setAmount((event.getAmount()/1.25f));
            }
        }
    }
}
В общем при фулл сете брони проигрывается событие 4 раза, я пытался по разному условия ставить так и не допёр как сделать, чтоб 1 раз только проигрывалось от какого-то предмета, в данном случае шлем.
 
167
10
69

will0376

Токсичная личность
2,079
55
585
слот не пустой сделай
Если я правильно помню - вроде возвращается пустой айтемстак...
@Hunleyr Ну и на кой хрен ты скидываешь файл? его никто качать не станет.
Тут есть ставки/спойлеры/етк
 
32
1
7
---- Minecraft Crash Report ----
// Daisy, daisy...

Time: 7/17/20 8:41 PM
Description: Ticking entity

java.lang.ClassCastException: net.minecraft.entity.passive.EntityPig cannot be cast to net.minecraft.entity.player.EntityPlayer
at vados.mod.items.armor.ItemMagicArmor.damagePlayer(ItemMagicArmor.java:35)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_20_ItemMagicArmor_damagePlayer_LivingHurtEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.common.ForgeHooks.onLivingHurt(ForgeHooks.java:604)
at net.minecraft.entity.EntityLivingBase.damageEntity(EntityLivingBase.java:1410)
at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:926)
at net.minecraft.entity.passive.EntityAnimal.attackEntityFrom(EntityAnimal.java:75)
at net.minecraft.potion.Potion.affectEntity(Potion.java:133)
at net.minecraft.entity.projectile.EntityPotion.applySplash(EntityPotion.java:192)
at net.minecraft.entity.projectile.EntityPotion.onImpact(EntityPotion.java:135)
at net.minecraft.entity.projectile.EntityThrowable.onUpdate(EntityThrowable.java:249)
at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1996)
at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:832)
at net.minecraft.world.World.updateEntity(World.java:1958)
at net.minecraft.world.World.updateEntities(World.java:1762)
at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:613)
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:767)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Thread.java:748)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
at vados.mod.items.armor.ItemMagicArmor.damagePlayer(ItemMagicArmor.java:35)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_20_ItemMagicArmor_damagePlayer_LivingHurtEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.common.ForgeHooks.onLivingHurt(ForgeHooks.java:604)
at net.minecraft.entity.EntityLivingBase.damageEntity(EntityLivingBase.java:1410)
at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:926)
at net.minecraft.entity.passive.EntityAnimal.attackEntityFrom(EntityAnimal.java:75)
at net.minecraft.potion.Potion.affectEntity(Potion.java:133)
at net.minecraft.entity.projectile.EntityPotion.applySplash(EntityPotion.java:192)
at net.minecraft.entity.projectile.EntityPotion.onImpact(EntityPotion.java:135)
at net.minecraft.entity.projectile.EntityThrowable.onUpdate(EntityThrowable.java:249)
at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1996)
at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:832)
at net.minecraft.world.World.updateEntity(World.java:1958)

-- Entity being ticked --
Details:
Entity Type: minecraft:potion (net.minecraft.entity.projectile.EntityPotion)
Entity ID: 5394
Entity Name: Зелье
Entity's Exact location: -616.80, 65.10, 10.31
Entity's Block location: World: (-617,65,10), Chunk: (at 7,4,10 in -39,0; contains blocks -624,0,0 to -609,255,15), Region: (-2,0; contains chunks -64,0 to -33,31, blocks -1024,0,0 to -513,255,511)
Entity's Momentum: 0.01, -0.64, 0.38
Entity's Passengers: []
Entity's Vehicle: ~~ERROR~~ NullPointerException: null
Stacktrace:
at net.minecraft.world.World.updateEntities(World.java:1762)
at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:613)

-- Affected level --
Details:
Level name: Новый мир
All players: 1 total; [EntityPlayerMP['Player632'/5392, l='Новый мир', x=-616.56, y=64.00, z=10.37]]
Chunk stats: ServerChunkCache: 848 Drop: 150
Level seed: 7827745959619019019
Level generator: ID 00 - default, ver 1. Features enabled: true
Level generator options:
Level spawn location: World: (-220,64,132), Chunk: (at 4,4,4 in -14,8; contains blocks -224,0,128 to -209,255,143), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
Level time: 39823 game time, 39823 day time
Level dimension: 0
Level storage version: 0x04ABD - Anvil
Level weather: Rain time: 19559 (now: false), thunder time: 76124 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
Stacktrace:
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:767)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Thread.java:748)

-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_231, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 481668376 bytes (459 MB) / 872415232 bytes (832 MB) up to 1897922560 bytes (1810 MB)
JVM Flags: 0 total;
IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
FML: MCP 9.42 Powered by Forge 14.23.5.2854 5 mods loaded, 5 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

| State | ID | Version | Source | Signature |
|:------ |:--------- |:------------ |:------------------------------------------------------------------ |:--------- |
| LCHIJA | minecraft | 1.12.2 | minecraft.jar | None |
| LCHIJA | mcp | 9.42 | minecraft.jar | None |
| LCHIJA | FML | 8.0.99.99 | forge-1.12.2-14.23.5.2854_mapped_snapshot_20171003-1.12-recomp.jar | None |
| LCHIJA | forge | 14.23.5.2854 | forge-1.12.2-14.23.5.2854_mapped_snapshot_20171003-1.12-recomp.jar | None |
| LCHIJA | vados | 1.0 | main | None |

Loaded coremods (and transformers):
GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
Profiler Position: N/A (disabled)
Player Count: 1 / 8; [EntityPlayerMP['Player632'/5392, l='Новый мир', x=-616.56, y=64.00, z=10.37]]
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fml,forge'
 
Сверху