pala M-alchi-1: fiole + XP craft alchimiste data-driven
This commit is contained in:
@@ -120,6 +120,9 @@ public final class PalaItems {
|
||||
// Nutrition 4/0.3 ECART (wiki muet, comme pomme). Sans craft (ECART lucky).
|
||||
public static final Item BANANA = register("banana", id -> new Item(new Item.Properties().setId(id).food(new FoodProperties(4, 0.3F, true), net.minecraft.world.item.component.Consumable.builder().onConsume(new net.minecraft.world.item.consume_effects.ApplyStatusEffectsConsumeEffect(new net.minecraft.world.effect.MobEffectInstance(net.minecraft.world.effect.MobEffects.SPEED, 300, 2), 1.0F)).build())));
|
||||
public static final Item COUAC_SWORD = register("couac_sword", id -> new Item(new Item.Properties().setId(id).sword(PalaToolMaterials.PALADIUM_SWORD, 8.0F, -2.3F)));
|
||||
// M-alchi-1 (wiki alchimiste) : fiole (stack 16, craft 5 verres shapeless ECART
|
||||
// positions, XP craft 0.2@1). Extracteur : texture absente (TODO:M-alchi-extracteur).
|
||||
public static final Item FLASK = register("flask", id -> new Item(new Item.Properties().setId(id).stacksTo(16)));
|
||||
// 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)));
|
||||
|
||||
@@ -78,6 +78,7 @@ public final class PalaTabs {
|
||||
output.accept(PalaItems.BANANA);
|
||||
output.accept(PalaItems.BALACLAVA);
|
||||
output.accept(PalaItems.GUARD_MASK);
|
||||
output.accept(PalaItems.FLASK);
|
||||
output.accept(PalaItems.CANDY);
|
||||
output.accept(PalaItems.CANDY_BLUE);
|
||||
output.accept(PalaItems.CANDY_GREEN);
|
||||
|
||||
@@ -139,6 +139,10 @@ public final class PalaConfig {
|
||||
"pala:egg_plant_fruit", new double[]{3, 8},
|
||||
"pala:okami_fruit", new double[]{4.5, 12},
|
||||
"pala:kiwano", new double[]{6, 16}));
|
||||
// M-alchi-1 (wiki Evolution alchimiste VERIFIE) : XP au craft = item -> [xp, niveau].
|
||||
// Fiole 0.2@1. Extracteur/lightning/glueballs/portails : items/crafts en M-alchi-2+.
|
||||
public Map<String, double[]> alchemistCraft = new HashMap<>(Map.of(
|
||||
"pala:flask", new double[]{0.2, 1}));
|
||||
// M4a : recettes machines data-driven (CDC §3.4). Cles = ids de registres.
|
||||
// Defauts = legacy+wiki VERIFIES (M3). Rechargeables via /pala reload.
|
||||
public Map<String, String> crusherResults = new HashMap<>(Map.of(
|
||||
@@ -237,6 +241,7 @@ public final class PalaConfig {
|
||||
java.util.Set<String> expected = java.util.Set.of("minerXp", "minerLevels",
|
||||
"xpBase", "xpExponent", "levelThresholds", "netherMinerLevel", "stickCooldowns",
|
||||
"rankNodes", "hunterKills", "farmerHarvest", "crusherXp",
|
||||
"alchemistCraft",
|
||||
"crusherResults", "crusherFuels", "crusherInfiniteFuels",
|
||||
"furnaceSmelts", "furnaceFuels",
|
||||
"serverName", "wikiUrl", "discordUrl", "shopUrl",
|
||||
|
||||
@@ -15,6 +15,7 @@ import fr.surviepote.pala.core.PalaJobs;
|
||||
|
||||
// M-mixin (wiki metiers, VERIFIE) : XP au craft, sans event fabric existant.
|
||||
// Fermier : pain = 1 XP (niveau 1+), tarte citrouille = 4 XP (niveau 11+), par item pris.
|
||||
// M-alchi-1 : alchimiste data-driven (config alchemistCraft : item -> [xp, niveau]).
|
||||
// Injection en TAIL de checkTakeAchievements (appele a chaque prise du resultat).
|
||||
@Mixin(ResultSlot.class)
|
||||
public class PalaCraftXpMixin {
|
||||
@@ -39,5 +40,9 @@ public class PalaCraftXpMixin {
|
||||
PalaJobs.addXp(sp, "fermier", 4.0 * stack.getCount());
|
||||
}
|
||||
}
|
||||
double[] row = fr.surviepote.pala.core.PalaConfig.get().alchemistCraft.get(id);
|
||||
if (row != null && PalaJobs.levelOf(sp, "alchimiste") >= (int) row[1]) {
|
||||
PalaJobs.addXp(sp, "alchimiste", row[0] * stack.getCount());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"model": {
|
||||
"type": "minecraft:model",
|
||||
"model": "pala:item/flask"
|
||||
}
|
||||
}
|
||||
@@ -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.flask": "Fiole",
|
||||
"item.pala.balaclava": "Cagoule",
|
||||
"item.pala.guard_mask": "Masque de garde",
|
||||
"item.pala.banana": "Banane",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "pala:item/flask"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 250 B |
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"category": "misc",
|
||||
"ingredients": [
|
||||
"minecraft:glass",
|
||||
"minecraft:glass",
|
||||
"minecraft:glass",
|
||||
"minecraft:glass",
|
||||
"minecraft:glass"
|
||||
],
|
||||
"result": {
|
||||
"id": "pala:flask",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user