pala M-enchants-3: amulette magma (incrustation + feu)

This commit is contained in:
Anaïs Saraiva
2026-10-19 07:04:38 +02:00
parent 1c4efce590
commit 9222e9fa95
10 changed files with 64 additions and 0 deletions
+4
View File
@@ -710,6 +710,10 @@ avant M4 (TODO:crafts-machines).
minage vers fiole CUSTOM_DATA 1000 max + lore contenu + clic droit = recuperation). minage vers fiole CUSTOM_DATA 1000 max + lore contenu + clic droit = recuperation).
ECART : mineur uniquement, outils de minage uniquement (pas armure/arme). ECART : mineur uniquement, outils de minage uniquement (pas armure/arme).
VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED en jeu. VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED en jeu.
- M-enchants-3 LIVRE 2026-10-19 ~07:00 : amulette magma (ID 4849, incrustation main +
offhand sur plastron pala/endium, CUSTOM_DATA 1 slot, fire resistance au port).
ECART : moyen d'incrustation simplifie, Overwhelmed en TODO (slots +1).
VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED en jeu.
- M-palaforge LIVRE 2026-10-19 ~03:55 : bloc + BE partagee (3e mode) + gate mineur 14 + - 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, 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 lave exclue : seau non rendu) + craft (1 findium + 4 furnaces + 4 briques, positions
@@ -127,6 +127,10 @@ public final class PalaItems {
// afterDamage), la boire = mort instantanee (HARM amp 5 ~ 192 dmg). Obtention = // afterDamage), la boire = mort instantanee (HARM amp 5 ~ 192 dmg). Obtention =
// capture uniquement (pas de craft wiki, ECART correct). // capture uniquement (pas de craft wiki, ECART correct).
public static final Item LIGHTNING_POTION = register("lightning_potion", id -> new Item(new Item.Properties().setId(id).stacksTo(1).food(new FoodProperties(0, 0.0F, true), net.minecraft.world.item.component.Consumable.builder().animation(net.minecraft.world.item.ItemUseAnimation.DRINK).onConsume(new net.minecraft.world.item.consume_effects.ApplyStatusEffectsConsumeEffect(new net.minecraft.world.effect.MobEffectInstance(net.minecraft.world.effect.MobEffects.INSTANT_DAMAGE, 1, 5), 1.0F)).build()))); public static final Item LIGHTNING_POTION = register("lightning_potion", id -> new Item(new Item.Properties().setId(id).stacksTo(1).food(new FoodProperties(0, 0.0F, true), net.minecraft.world.item.component.Consumable.builder().animation(net.minecraft.world.item.ItemUseAnimation.DRINK).onConsume(new net.minecraft.world.item.consume_effects.ApplyStatusEffectsConsumeEffect(new net.minecraft.world.effect.MobEffectInstance(net.minecraft.world.effect.MobEffects.INSTANT_DAMAGE, 1, 5), 1.0F)).build())));
// M-enchants-3 (wiki ID 4849) : amulette magma — fire resistance via plastron
// pala/endium. Incrustation simplifiee : clic droit amulette en main + plastron en
// seconde main (ECART : moyen wiki non publie). Overwhelmed : TODO (1 slot v1).
public static final Item MAGMA_AMULET = register("magma_amulet", id -> new Item(new Item.Properties().setId(id).stacksTo(1)));
// M-gadget-8 (wiki ID 5023/5029) : cagoule (cosmetique, UNBREAKABLE) + masque de // M-gadget-8 (wiki ID 5023/5029) : cagoule (cosmetique, UNBREAKABLE) + masque de
// garde (stats fer). Sans craft (ECART lucky). // 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))); 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)));
@@ -80,6 +80,7 @@ public final class PalaTabs {
output.accept(PalaItems.GUARD_MASK); output.accept(PalaItems.GUARD_MASK);
output.accept(PalaItems.FLASK); output.accept(PalaItems.FLASK);
output.accept(PalaItems.LIGHTNING_POTION); output.accept(PalaItems.LIGHTNING_POTION);
output.accept(PalaItems.MAGMA_AMULET);
output.accept(PalaItems.CANDY); output.accept(PalaItems.CANDY);
output.accept(PalaItems.CANDY_BLUE); output.accept(PalaItems.CANDY_BLUE);
output.accept(PalaItems.CANDY_GREEN); output.accept(PalaItems.CANDY_GREEN);
@@ -72,6 +72,20 @@ public final class PalaArmorEvents {
effect(player, net.minecraft.world.effect.MobEffects.BLINDNESS, 60, 0); effect(player, net.minecraft.world.effect.MobEffects.BLINDNESS, 60, 0);
} }
// --- Amulette magma (M-enchants-3, wiki ID 4849) : plastron incruste = feu.
net.minecraft.world.item.ItemStack chest =
player.getItemBySlot(EquipmentSlot.CHEST);
if (!chest.isEmpty() && (chest.is(PalaItems.PALADIUM_CHESTPLATE)
|| chest.is(PalaItems.ENDIUM_CHESTPLATE))) {
String amulet = chest.getOrDefault(
net.minecraft.core.component.DataComponents.CUSTOM_DATA,
net.minecraft.world.item.component.CustomData.EMPTY).copyTag()
.getStringOr("amulet", "");
if (amulet.equals("magma_amulet")) {
effect(player, net.minecraft.world.effect.MobEffects.FIRE_RESISTANCE, 70, 0);
}
}
// --- Bottes lestees (M-gadget-4, legacy VERIFIE) : memorise la chute, explosion // --- Bottes lestees (M-gadget-4, legacy VERIFIE) : memorise la chute, explosion
// a l'atterrissage si > 3 blocs. Annulee en claim d'autrui (anti-grief, ECART). // a l'atterrissage si > 3 blocs. Annulee en claim d'autrui (anti-grief, ECART).
if (wearing(player, EquipmentSlot.FEET, PalaItems.WEIGHTED_BOOTS)) { if (wearing(player, EquipmentSlot.FEET, PalaItems.WEIGHTED_BOOTS)) {
@@ -157,6 +157,34 @@ public final class PalaItemUseEvents {
} }
return InteractionResult.PASS; return InteractionResult.PASS;
} }
// M-enchants-3 (wiki ID 4849) : incrustation amulette — amulette en main +
// plastron pala/endium en seconde main => CUSTOM_DATA "amulet" (1 slot v1).
if (item == PalaItems.MAGMA_AMULET) {
net.minecraft.world.item.ItemStack off = sp.getOffhandItem();
boolean plate = off.is(PalaItems.PALADIUM_CHESTPLATE)
|| off.is(PalaItems.ENDIUM_CHESTPLATE);
if (!plate) {
sp.sendSystemMessage(net.minecraft.network.chat.Component.literal(
"§cTenez un plastron paladium/endium en seconde main."));
return InteractionResult.PASS;
}
String has = off.getOrDefault(
net.minecraft.core.component.DataComponents.CUSTOM_DATA,
net.minecraft.world.item.component.CustomData.EMPTY).copyTag()
.getStringOr("amulet", "");
if (!has.isEmpty()) {
sp.sendSystemMessage(net.minecraft.network.chat.Component.literal(
"§cPlastron deja incruste (Overwhelmed requis pour +1)."));
return InteractionResult.PASS;
}
net.minecraft.world.item.component.CustomData.update(
net.minecraft.core.component.DataComponents.CUSTOM_DATA, off,
tag -> tag.putString("amulet", "magma_amulet"));
stack.shrink(1);
sp.sendSystemMessage(net.minecraft.network.chat.Component.literal(
"§6[Amulette] §7Resistance au feu incrustee."));
return InteractionResult.SUCCESS;
}
// M-gadget-2 (wiki items lucky) : grappin — clic droit air, raycast 32 blocs, // M-gadget-2 (wiki items lucky) : grappin — clic droit air, raycast 32 blocs,
// tirage instantane vers le point d'impact (ECART : pas de crochet visible). // tirage instantane vers le point d'impact (ECART : pas de crochet visible).
if (item == PalaItems.GRAPPIN) { if (item == PalaItems.GRAPPIN) {
@@ -0,0 +1,6 @@
{
"model": {
"type": "minecraft:model",
"model": "pala:item/magma_amulet"
}
}
@@ -4,6 +4,7 @@
"item.pala.amethyst_mixed_coal": "Amethyst Mixed Coal", "item.pala.amethyst_mixed_coal": "Amethyst Mixed Coal",
"item.pala.amethyst_stick": "Amethyst Stick", "item.pala.amethyst_stick": "Amethyst Stick",
"item.pala.compressed_amethyst": "Compressed Amethyst", "item.pala.compressed_amethyst": "Compressed Amethyst",
"item.pala.magma_amulet": "Amulette de feu",
"enchantment.pala.experience_bottler": "Experience Bottler", "enchantment.pala.experience_bottler": "Experience Bottler",
"enchantment.pala.xp_stealer": "Voleur d'XP", "enchantment.pala.xp_stealer": "Voleur d'XP",
"block.pala.mystical_bookshelf": "Bibliotheque mystique", "block.pala.mystical_bookshelf": "Bibliotheque mystique",
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "pala:item/magma_amulet"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.