[Change] Additional End-Advancements
This commit is contained in:
parent
6657f72e9e
commit
533bdc1d02
2 changed files with 239 additions and 3 deletions
|
@ -169,6 +169,8 @@ public class MetalMaterial {
|
|||
);
|
||||
}
|
||||
|
||||
public final String name;
|
||||
|
||||
private MetalMaterial(
|
||||
String name,
|
||||
boolean hasOre,
|
||||
|
@ -185,6 +187,7 @@ public class MetalMaterial {
|
|||
.lightLevel((bs) -> 15)
|
||||
.sound(SoundType.LANTERN);
|
||||
final int level = material.getLevel();
|
||||
this.name = name;
|
||||
this.swordHandleTemplate = swordHandleTemplate;
|
||||
rawOre = hasOre ? EndItems.registerEndItem(name + "_raw", new ModelProviderItem(itemSettings)) : null;
|
||||
ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseOreBlock(() -> rawOre, 1, 3, 1)) : null;
|
||||
|
|
|
@ -2,11 +2,14 @@ package org.betterx.datagen.betterend.advancement;
|
|||
|
||||
import org.betterx.bclib.api.v2.advancement.AdvancementManager;
|
||||
import org.betterx.bclib.api.v3.datagen.AdvancementDataProvider;
|
||||
import org.betterx.bclib.complexmaterials.set.wood.WoodSlots;
|
||||
import org.betterx.betterend.BetterEnd;
|
||||
import org.betterx.betterend.advancements.BECriteria;
|
||||
import org.betterx.betterend.complexmaterials.MetalMaterial;
|
||||
import org.betterx.betterend.registry.EndBlocks;
|
||||
import org.betterx.betterend.registry.EndItems;
|
||||
import org.betterx.betterend.registry.EndStructures;
|
||||
import org.betterx.betterend.registry.EndTemplates;
|
||||
import org.betterx.betterend.world.biome.EndBiome;
|
||||
|
||||
import net.minecraft.advancements.FrameType;
|
||||
|
@ -61,7 +64,7 @@ public class EndAdvancementDataProvider extends AdvancementDataProvider {
|
|||
|
||||
ResourceLocation portal = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("portal"))
|
||||
.parent(root)
|
||||
.parent(enterEnd)
|
||||
.startDisplay(EndBlocks.ETERNAL_PEDESTAL)
|
||||
.frame(FrameType.GOAL)
|
||||
.endDisplay()
|
||||
|
@ -99,9 +102,19 @@ public class EndAdvancementDataProvider extends AdvancementDataProvider {
|
|||
.rewardXP(1500)
|
||||
.build();
|
||||
|
||||
ResourceLocation village = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("village"))
|
||||
.parent(allTheBiomes)
|
||||
.startDisplay(EndBlocks.TENANEA.getBlock(WoodSlots.DOOR))
|
||||
.frame(FrameType.GOAL)
|
||||
.endDisplay()
|
||||
.addAtStructureCriterion("end_village", EndStructures.END_VILLAGE)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation allElytras = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("all_elytras"))
|
||||
.parent(root)
|
||||
.parent(enterEnd)
|
||||
.startDisplay(EndItems.CRYSTALITE_ELYTRA)
|
||||
.frame(FrameType.GOAL)
|
||||
.endDisplay()
|
||||
|
@ -113,7 +126,7 @@ public class EndAdvancementDataProvider extends AdvancementDataProvider {
|
|||
|
||||
ResourceLocation infusion = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("infusion"))
|
||||
.parent(root)
|
||||
.parent(enterEnd)
|
||||
.startDisplay(EndBlocks.INFUSION_PEDESTAL)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("infusion_pedestal", EndBlocks.INFUSION_PEDESTAL)
|
||||
|
@ -129,5 +142,225 @@ public class EndAdvancementDataProvider extends AdvancementDataProvider {
|
|||
.addCriterion("finished", BECriteria.INFUSION_FINISHED_TRIGGER)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
|
||||
ResourceLocation allTheTemplates = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("all_the_templates"))
|
||||
.parent(enterEnd)
|
||||
.startDisplay(EndTemplates.TOOL_ASSEMBLY)
|
||||
.frame(FrameType.CHALLENGE)
|
||||
.endDisplay()
|
||||
.addInventoryChangedAnyCriterion("got_handle", EndTemplates.HANDLE_ATTACHMENT)
|
||||
.addInventoryChangedAnyCriterion("got_tool", EndTemplates.TOOL_ASSEMBLY)
|
||||
.addInventoryChangedAnyCriterion("got_leather", EndTemplates.LEATHER_HANDLE_ATTACHMENT)
|
||||
.addInventoryChangedAnyCriterion("got_plate", EndTemplates.PLATE_UPGRADE)
|
||||
.addInventoryChangedAnyCriterion("got_terminite", EndTemplates.TERMINITE_UPGRADE)
|
||||
.addInventoryChangedAnyCriterion("got_aeternium", EndTemplates.AETERNIUM_UPGRADE)
|
||||
.addInventoryChangedAnyCriterion("got_thallasium", EndTemplates.THALLASIUM_UPGRADE)
|
||||
.addInventoryChangedAnyCriterion("got_netherite", EndTemplates.NETHERITE_UPGRADE)
|
||||
.requirements(RequirementsStrategy.AND)
|
||||
.rewardXP(1500)
|
||||
.build();
|
||||
|
||||
ResourceLocation hammer = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("hammer"))
|
||||
.parent(enterEnd)
|
||||
.startDisplay(EndItems.DIAMOND_HAMMER)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_diamond_hammer", EndItems.DIAMOND_HAMMER)
|
||||
.addInventoryChangedCriterion("got_thalassium_hammer", EndBlocks.THALLASIUM.hammer)
|
||||
.addInventoryChangedCriterion("got_terminite_hammer", EndBlocks.TERMINITE.hammer)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation thalassiumAnvil = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("thalassium_anvil"))
|
||||
.parent(hammer)
|
||||
.startDisplay(EndBlocks.THALLASIUM.anvilBlock)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_thalassium_anvil", EndBlocks.THALLASIUM.anvilBlock)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation thalassiumPlate = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("thalassium_plate"))
|
||||
.parent(thalassiumAnvil)
|
||||
.startDisplay(EndBlocks.THALLASIUM.forgedPlate)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_thalassium_plate", EndBlocks.THALLASIUM.forgedPlate)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation terminiteAnvil = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("terminite_anvil"))
|
||||
.parent(thalassiumAnvil)
|
||||
.startDisplay(EndBlocks.TERMINITE.anvilBlock)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_terminite_anvil", EndBlocks.TERMINITE.anvilBlock)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation terminitePlate = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("terminite_plate"))
|
||||
.parent(terminiteAnvil)
|
||||
.startDisplay(EndBlocks.TERMINITE.forgedPlate)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_erminite_plate", EndBlocks.TERMINITE.forgedPlate)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation aeterniumAnvil = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("aeternium_anvil"))
|
||||
.parent(terminiteAnvil)
|
||||
.startDisplay(EndBlocks.AETERNIUM_ANVIL)
|
||||
.frame(FrameType.CHALLENGE)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_aeternium_anvil", EndBlocks.AETERNIUM_ANVIL)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.rewardXP(500)
|
||||
.build();
|
||||
|
||||
ResourceLocation aeterniumHammerHead = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("aeternium_hammer_head"))
|
||||
.parent(aeterniumAnvil)
|
||||
.startDisplay(EndItems.AETERNIUM_HAMMER_HEAD)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_aeternium_hammer_head", EndItems.AETERNIUM_HAMMER_HEAD)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation aeterniumHammer = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("aeternium_hammer"))
|
||||
.parent(aeterniumHammerHead)
|
||||
.startDisplay(EndItems.AETERNIUM_HAMMER)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_aeternium_hammer", EndItems.AETERNIUM_HAMMER)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation aeterniumPlate = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("aeternium_plate"))
|
||||
.parent(aeterniumHammer)
|
||||
.startDisplay(EndItems.AETERNIUM_FORGED_PLATE)
|
||||
.frame(FrameType.GOAL)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_aeternium_plate", EndItems.AETERNIUM_FORGED_PLATE)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.rewardXP(200)
|
||||
.build();
|
||||
|
||||
ResourceLocation thallasiumArmor = addArmor(EndBlocks.THALLASIUM)
|
||||
.parent(thalassiumPlate)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation thallasiumHead = addToolHeads(EndBlocks.THALLASIUM)
|
||||
.parent(thalassiumAnvil)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation thallasium = addTools(EndBlocks.THALLASIUM)
|
||||
.parent(thallasiumHead)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation terminiteHead = addToolHeads(EndBlocks.TERMINITE)
|
||||
.parent(terminiteAnvil)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation terminite = addTools(EndBlocks.TERMINITE)
|
||||
.parent(terminiteHead)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
ResourceLocation terminiteArmor = addArmor(EndBlocks.TERMINITE)
|
||||
.parent(terminitePlate)
|
||||
.requirements(RequirementsStrategy.OR)
|
||||
.build();
|
||||
|
||||
|
||||
ResourceLocation aeterniumHead = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("aeternium_tool_head"))
|
||||
.startDisplay(EndItems.AETERNIUM_PICKAXE_HEAD)
|
||||
.frame(FrameType.GOAL)
|
||||
.endDisplay()
|
||||
.parent(aeterniumHammer)
|
||||
.addInventoryChangedCriterion("got_aeternium_pickaxe_head", EndItems.AETERNIUM_PICKAXE_HEAD)
|
||||
.addInventoryChangedCriterion("got_aeternium_hoe_head", EndItems.AETERNIUM_HOE_HEAD)
|
||||
.addInventoryChangedCriterion("got_aeternium_axe_head", EndItems.AETERNIUM_AXE_HEAD)
|
||||
.addInventoryChangedCriterion("got_aeternium_shovel_head", EndItems.AETERNIUM_SHOVEL_HEAD)
|
||||
.addInventoryChangedCriterion(
|
||||
"got_aeternium_sword_head",
|
||||
EndItems.AETERNIUM_SWORD_BLADE,
|
||||
EndItems.AETERNIUM_SWORD_HANDLE
|
||||
)
|
||||
.requirements(RequirementsStrategy.AND)
|
||||
.rewardXP(200)
|
||||
.build();
|
||||
|
||||
ResourceLocation aeternium = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("aeternium_tool"))
|
||||
.startDisplay(EndItems.AETERNIUM_PICKAXE)
|
||||
.frame(FrameType.CHALLENGE)
|
||||
.endDisplay()
|
||||
.parent(aeterniumHead)
|
||||
.addInventoryChangedCriterion("got_aeternium_pickaxe", EndItems.AETERNIUM_PICKAXE)
|
||||
.addInventoryChangedCriterion("got_aeternium_hoe", EndItems.AETERNIUM_HOE)
|
||||
.addInventoryChangedCriterion("got_aeternium_axe", EndItems.AETERNIUM_AXE)
|
||||
.addInventoryChangedCriterion("got_aeternium_shovel", EndItems.AETERNIUM_SHOVEL)
|
||||
.addInventoryChangedCriterion("got_aeternium_sword", EndItems.AETERNIUM_SWORD)
|
||||
.requirements(RequirementsStrategy.AND)
|
||||
.rewardXP(2000)
|
||||
.build();
|
||||
|
||||
ResourceLocation aeterniumArmor = AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID("aeternium_armor"))
|
||||
.startDisplay(EndItems.AETERNIUM_CHESTPLATE)
|
||||
.frame(FrameType.CHALLENGE)
|
||||
.endDisplay()
|
||||
.parent(aeterniumPlate)
|
||||
.addInventoryChangedCriterion("got_aeternium_helmet", EndItems.AETERNIUM_HELMET)
|
||||
.addInventoryChangedCriterion("got_aeternium_chestplate", EndItems.AETERNIUM_CHESTPLATE)
|
||||
.addInventoryChangedCriterion("got_aeternium_leggings", EndItems.AETERNIUM_LEGGINGS)
|
||||
.addInventoryChangedCriterion("got_aeternium_boots", EndItems.AETERNIUM_BOOTS)
|
||||
.requirements(RequirementsStrategy.AND)
|
||||
.rewardXP(2000)
|
||||
.build();
|
||||
}
|
||||
|
||||
AdvancementManager.Builder addTools(MetalMaterial mat) {
|
||||
return AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID(mat.name + "_tool"))
|
||||
.startDisplay(mat.pickaxe)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_pickaxe", mat.pickaxe)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_hoe", mat.hoe)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_axe", mat.axe)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_shovel", mat.shovel)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_sword", mat.sword);
|
||||
}
|
||||
|
||||
AdvancementManager.Builder addToolHeads(MetalMaterial mat) {
|
||||
return AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID(mat.name + "_tool_head"))
|
||||
.startDisplay(mat.pickaxeHead)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_pickaxe_head", mat.pickaxeHead)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_hoe_head", mat.hoeHead)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_axe_head", mat.axeHead)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_shovel_head", mat.shovelHead)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_sword_head", mat.swordBlade, mat.swordHandle);
|
||||
}
|
||||
|
||||
AdvancementManager.Builder addArmor(MetalMaterial mat) {
|
||||
return AdvancementManager.Builder
|
||||
.create(BetterEnd.makeID(mat.name + "_armor"))
|
||||
.startDisplay(mat.chestplate)
|
||||
.endDisplay()
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_helmet", mat.helmet)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_chestplate", mat.chestplate)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_leggings", mat.leggings)
|
||||
.addInventoryChangedCriterion("got_" + mat.name + "_boots", mat.boots);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue