diff --git a/PALAMOD_CDC.md b/PALAMOD_CDC.md index 98faebd..9b7d408 100644 --- a/PALAMOD_CDC.md +++ b/PALAMOD_CDC.md @@ -718,6 +718,10 @@ avant M4 (TODO:crafts-machines). shapeless 1 marteau pala + 2 obsidiennes + 6 blocs titane ECART positions, texture legacy). Usage ames : M-spawner (TODO). Sans gate craft (ECART). VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED en jeu. +- M-hunter-2 LIVRE 2026-10-19 ~07:10 : infernal knocker (niv.9, knockback x3 wither + tenu en main, sans degats/craft/durabilite ECART). Lecons : setDeltaMovement + + hurtMarked absents en 26.3 (-> push) ; EntityType.WITHER -> EntityTypes.WITHER. + VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED en jeu (wither). - M-palaforge LIVRE 2026-10-19 ~03:55 : bloc + BE partagee (3e mode) + gate mineur 14 + table fonte wiki §3.2 (31 items, ratio floor usure) + fuels bois (+buche/planches/baton, lave exclue : seau non rendu) + craft (1 findium + 4 furnaces + 4 briques, positions diff --git a/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java b/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java index 966afdf..c7a71dc 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java @@ -135,6 +135,10 @@ public final class PalaItems { // (256 utilisations, craft 1 marteau pala + 2 obsidiennes + 6 blocs titane, shapeless // ECART positions). Usage ames/spawners : M-spawner (TODO). Sans gate craft (ECART). public static final Item CAVE_HAMMER = register("cave_hammer", id -> new Item(new Item.Properties().setId(id).stacksTo(1).durability(256))); + // M-hunter-2 (wiki niv.9) : infernal knocker — tenu en main, coups sur wither = + // knockback amplifie (sans degats propres, ECART chiffres). Sans craft/durabilite + // (wiki muet, ECART). + public static final Item INFERNAL_KNOCKER = register("infernal_knocker", id -> new Item(new Item.Properties().setId(id).stacksTo(1))); // M-gadget-8 (wiki ID 5023/5029) : cagoule (cosmetique, UNBREAKABLE) + masque de // garde (stats fer). Sans craft (ECART lucky). public static final Item BALACLAVA = register("balaclava", id -> new Item(new Item.Properties().setId(id).durability(1).humanoidArmor(PalaArmorMaterials.BALACLAVA, ArmorType.HELMET).component(DataComponents.UNBREAKABLE, Unit.INSTANCE))); diff --git a/mods/pala/src/main/java/fr/surviepote/pala/PalaTabs.java b/mods/pala/src/main/java/fr/surviepote/pala/PalaTabs.java index 3ca387c..ba85165 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/PalaTabs.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/PalaTabs.java @@ -82,6 +82,7 @@ public final class PalaTabs { output.accept(PalaItems.LIGHTNING_POTION); output.accept(PalaItems.MAGMA_AMULET); output.accept(PalaItems.CAVE_HAMMER); + output.accept(PalaItems.INFERNAL_KNOCKER); output.accept(PalaItems.CANDY); output.accept(PalaItems.CANDY_BLUE); output.accept(PalaItems.CANDY_GREEN); diff --git a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java index 64dd0a7..952d3a7 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java @@ -92,6 +92,15 @@ public final class PalaJobEvents { if (killer instanceof ServerPlayer attacker) { xpStealer(attacker, entity); } + // M-hunter-2 (wiki niv.9) : infernal knocker — knockback amplifie sur wither + // quand tenu en main (x3 direction du coup, sans degats propres). + if (killer instanceof ServerPlayer knocker + && knocker.getMainHandItem().is(fr.surviepote.pala.PalaItems.INFERNAL_KNOCKER) + && entity.getType() == net.minecraft.world.entity.EntityTypes.WITHER) { + net.minecraft.world.phys.Vec3 push = entity.position() + .subtract(knocker.position()).normalize().scale(3.0); + entity.push(push.x, 0.5, push.z); + } if (entity instanceof ServerPlayer victim && source.is(net.minecraft.world.damagesource.DamageTypes.LIGHTNING_BOLT)) { net.minecraft.world.item.ItemStack head = diff --git a/mods/pala/src/main/resources/assets/pala/items/infernal_knocker.json b/mods/pala/src/main/resources/assets/pala/items/infernal_knocker.json new file mode 100644 index 0000000..070434e --- /dev/null +++ b/mods/pala/src/main/resources/assets/pala/items/infernal_knocker.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "pala:item/infernal_knocker" + } +} \ No newline at end of file diff --git a/mods/pala/src/main/resources/assets/pala/lang/en_us.json b/mods/pala/src/main/resources/assets/pala/lang/en_us.json index b23be2a..8666025 100644 --- a/mods/pala/src/main/resources/assets/pala/lang/en_us.json +++ b/mods/pala/src/main/resources/assets/pala/lang/en_us.json @@ -4,6 +4,7 @@ "item.pala.amethyst_mixed_coal": "Amethyst Mixed Coal", "item.pala.amethyst_stick": "Amethyst Stick", "item.pala.compressed_amethyst": "Compressed Amethyst", + "item.pala.infernal_knocker": "Infernal Knocker", "item.pala.cave_hammer": "Marteau des cavernes", "item.pala.magma_amulet": "Amulette de feu", "enchantment.pala.experience_bottler": "Experience Bottler", diff --git a/mods/pala/src/main/resources/assets/pala/models/item/infernal_knocker.json b/mods/pala/src/main/resources/assets/pala/models/item/infernal_knocker.json new file mode 100644 index 0000000..f87b3ab --- /dev/null +++ b/mods/pala/src/main/resources/assets/pala/models/item/infernal_knocker.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "pala:item/infernal_knocker" + } +} \ No newline at end of file diff --git a/mods/pala/src/main/resources/assets/pala/textures/item/infernal_knocker.png b/mods/pala/src/main/resources/assets/pala/textures/item/infernal_knocker.png new file mode 100644 index 0000000..007e577 Binary files /dev/null and b/mods/pala/src/main/resources/assets/pala/textures/item/infernal_knocker.png differ diff --git a/server/mods/pala-0.2.1.jar b/server/mods/pala-0.2.1.jar index e3d4df8..d374554 100644 Binary files a/server/mods/pala-0.2.1.jar and b/server/mods/pala-0.2.1.jar differ