Compare commits

..

2 commits

Author SHA1 Message Date
Flanks255
457cf00a7b
Merge pull request #1389 from Mrbysco/1.16
Generate advancements
2023-12-03 15:16:04 -06:00
Mrbysco
acef152961 Generate advancements
Still not all, but not sure all of them are still relevant
2023-12-03 15:41:58 +01:00
25 changed files with 882 additions and 0 deletions

View file

@ -454,6 +454,24 @@ f657eabc7321de0b05cf92d9ebdd6f5215a685b5 assets/actuallyadditions/models/item/wo
09674f706bebd8f2631450f1c07f1376b2c3ba01 assets/actuallyadditions/models/item/worm.json 09674f706bebd8f2631450f1c07f1376b2c3ba01 assets/actuallyadditions/models/item/worm.json
0b1ab8963077c90a5104b516eab36e56c8a07057 assets/actuallyadditions/models/item/xp_solidifier.json 0b1ab8963077c90a5104b516eab36e56c8a07057 assets/actuallyadditions/models/item/xp_solidifier.json
ecf1cc8efe1f425334e8e07a6c747641c714c92c assets/actuallyadditions/sounds.json ecf1cc8efe1f425334e8e07a6c747641c714c92c assets/actuallyadditions/sounds.json
56048fd14b61c03380903460ec55fabc2df3eaac data/actuallyadditions/advancements/craft_coal_generator.json
58d03f96a5c20611e22d8cec90c972d7218064e8 data/actuallyadditions/advancements/craft_coffee_machine.json
681bfd8939b4a7843700fe00382f703e80070a38 data/actuallyadditions/advancements/craft_crusher.json
3dfef9d6252198582a16fcc85a1abca2f6bad2e3 data/actuallyadditions/advancements/craft_double_crusher.json
04bc0214d706d2011d6450803e406579f2e132f4 data/actuallyadditions/advancements/craft_empowerer.json
889c1be4720a7da3887cd378e3f98d446af25ae3 data/actuallyadditions/advancements/craft_energyface.json
45a78c57fcbbced57321c420e1d0dc050a1b2ff5 data/actuallyadditions/advancements/craft_item_interface.json
ef2c3abb1f2dcb31baa00fa6e70d8d8846440266 data/actuallyadditions/advancements/craft_laser_relay.json
8f81eeffa15e291e4a7cae6f7464746cd0bc834b data/actuallyadditions/advancements/craft_laser_relay_advanced.json
fc1c59cc804274b36d757c59529269bb14841f4a data/actuallyadditions/advancements/craft_laser_relay_extreme.json
aff73cb2465d85abf92d94b5843167166c9b2820 data/actuallyadditions/advancements/craft_laser_relay_item.json
69532a7bd1b199dacb08f4541fc0c27633b391da data/actuallyadditions/advancements/craft_leaf_generator.json
56c4431e4d61926e07073f5265086e67312c0023 data/actuallyadditions/advancements/craft_liquiface.json
f1e0c56dab5fd3516e9d1da7c16831bf4bd3364e data/actuallyadditions/advancements/craft_phantom_face.json
ef621cca24fa11382b856a70fa6f432f081007d7 data/actuallyadditions/advancements/craft_reconstructor.json
d09f28dfb125fc0d58f4e23287d19877db73c0b7 data/actuallyadditions/advancements/make_first_crystal.json
58c901fc6a544f800e641b2ab9f1f4b25d6dce53 data/actuallyadditions/advancements/pickup_coffee.json
1326c214451f5fef68e330a37bfa0433de723f4c data/actuallyadditions/advancements/root.json
b679296118ae905d4a15b6bc658cfa7b8048e57f data/actuallyadditions/loot_tables/blocks/atomic_reconstructor.json b679296118ae905d4a15b6bc658cfa7b8048e57f data/actuallyadditions/loot_tables/blocks/atomic_reconstructor.json
de3c64d6a363f8e27078d7f7df1a67e4931fd81c data/actuallyadditions/loot_tables/blocks/battery_box.json de3c64d6a363f8e27078d7f7df1a67e4931fd81c data/actuallyadditions/loot_tables/blocks/battery_box.json
fb968dc63f2d0a467eff504f3f6ff386080e2433 data/actuallyadditions/loot_tables/blocks/bio_reactor.json fb968dc63f2d0a467eff504f3f6ff386080e2433 data/actuallyadditions/loot_tables/blocks/bio_reactor.json
@ -875,6 +893,7 @@ d8611ae9f616794678bb7f2d0c253383f09e8b27 data/actuallyadditions/recipes/vertical
c562b938e29b85572f1b30952f5711bca2c9c899 data/actuallyadditions/recipes/wood_casing.json c562b938e29b85572f1b30952f5711bca2c9c899 data/actuallyadditions/recipes/wood_casing.json
5d0b3e0b27c0a7f82438fd24673866ce087d47f0 data/actuallyadditions/recipes/wooden_aiot.json 5d0b3e0b27c0a7f82438fd24673866ce087d47f0 data/actuallyadditions/recipes/wooden_aiot.json
a18f00e11fa55ff1b767eeab7a4756c2e0e93429 data/actuallyadditions/tags/items/coffee_beans.json a18f00e11fa55ff1b767eeab7a4756c2e0e93429 data/actuallyadditions/tags/items/coffee_beans.json
1714cd34792c6448f7316094c105e2e953b36e73 data/actuallyadditions/tags/items/crystals.json
2290b1829e049ab3002f3576379ad58f6d7b6ace data/actuallyadditions/tags/items/drills.json 2290b1829e049ab3002f3576379ad58f6d7b6ace data/actuallyadditions/tags/items/drills.json
8c1e24d7377b6bdf64c13643d94c3826ac925c25 data/actuallyadditions/tags/items/tiny_coals.json 8c1e24d7377b6bdf64c13643d94c3826ac925c25 data/actuallyadditions/tags/items/tiny_coals.json
84fb4202cf40368e8c1a1d36bca0a4952aa05866 data/minecraft/tags/blocks/walls.json 84fb4202cf40368e8c1a1d36bca0a4952aa05866 data/minecraft/tags/blocks/walls.json

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:root",
"display": {
"icon": {
"item": "actuallyadditions:coal_generator"
},
"title": {
"translate": "achievement.actuallyadditions.craftCoalGen"
},
"description": {
"translate": "achievement.actuallyadditions.craftCoalGen.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"coal_generator": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:coal_generator"
}
]
}
}
},
"requirements": [
[
"coal_generator"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:pickup_coffee",
"display": {
"icon": {
"item": "actuallyadditions:coffee_machine"
},
"title": {
"translate": "achievement.actuallyadditions.craftCoffeeMachine"
},
"description": {
"translate": "achievement.actuallyadditions.craftCoffeeMachine.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"coffee_machine": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:coffee_machine"
}
]
}
}
},
"requirements": [
[
"coffee_machine"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_reconstructor",
"display": {
"icon": {
"item": "actuallyadditions:crusher"
},
"title": {
"translate": "achievement.actuallyadditions.craftCrusher"
},
"description": {
"translate": "achievement.actuallyadditions.craftCrusher.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"crystal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:crusher"
}
]
}
}
},
"requirements": [
[
"crystal"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_crusher",
"display": {
"icon": {
"item": "actuallyadditions:crusher_double"
},
"title": {
"translate": "achievement.actuallyadditions.craftDoubleCrusher"
},
"description": {
"translate": "achievement.actuallyadditions.craftDoubleCrusher.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"crystal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:crusher_double"
}
]
}
}
},
"requirements": [
[
"crystal"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:make_first_crystal",
"display": {
"icon": {
"item": "actuallyadditions:empowerer"
},
"title": {
"translate": "achievement.actuallyadditions.craftEmpowerer"
},
"description": {
"translate": "achievement.actuallyadditions.craftEmpowerer.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"empowerer": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:empowerer"
}
]
}
}
},
"requirements": [
[
"empowerer"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_phantom_face",
"display": {
"icon": {
"item": "actuallyadditions:phantom_energyface"
},
"title": {
"translate": "achievement.actuallyadditions.craftEnergyface"
},
"description": {
"translate": "achievement.actuallyadditions.craftEnergyface.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"energyface": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:phantom_energyface"
}
]
}
}
},
"requirements": [
[
"energyface"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_laser_relay",
"display": {
"icon": {
"item": "actuallyadditions:item_interface"
},
"title": {
"translate": "achievement.actuallyadditions.craftItemInterface"
},
"description": {
"translate": "achievement.actuallyadditions.craftItemInterface.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"item_interface": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:item_interface"
}
]
}
}
},
"requirements": [
[
"item_interface"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_reconstructor",
"display": {
"icon": {
"item": "actuallyadditions:laser_relay"
},
"title": {
"translate": "achievement.actuallyadditions.craftLaserRelay"
},
"description": {
"translate": "achievement.actuallyadditions.craftLaserRelay.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"laser_relay": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:laser_relay"
}
]
}
}
},
"requirements": [
[
"laser_relay"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_laser_relay",
"display": {
"icon": {
"item": "actuallyadditions:laser_relay_advanced"
},
"title": {
"translate": "achievement.actuallyadditions.craftLaserRelayAdvanced"
},
"description": {
"translate": "achievement.actuallyadditions.craftLaserRelayAdvanced.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"laser_relay_advanced": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:laser_relay_advanced"
}
]
}
}
},
"requirements": [
[
"laser_relay_advanced"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_laser_relay_advanced",
"display": {
"icon": {
"item": "actuallyadditions:laser_relay_extreme"
},
"title": {
"translate": "achievement.actuallyadditions.craftLaserRelayExtreme"
},
"description": {
"translate": "achievement.actuallyadditions.craftLaserRelayExtreme.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"laser_relay_extreme": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:laser_relay_extreme"
}
]
}
}
},
"requirements": [
[
"laser_relay_extreme"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_laser_relay",
"display": {
"icon": {
"item": "actuallyadditions:laser_relay_item"
},
"title": {
"translate": "achievement.actuallyadditions.craftLaserRelayItem"
},
"description": {
"translate": "achievement.actuallyadditions.craftLaserRelayItem.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"laser_relay_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:laser_relay_item"
}
]
}
}
},
"requirements": [
[
"laser_relay_item"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_coal_generator",
"display": {
"icon": {
"item": "actuallyadditions:leaf_generator"
},
"title": {
"translate": "achievement.actuallyadditions.craftLeafGen"
},
"description": {
"translate": "achievement.actuallyadditions.craftLeafGen.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"leaf_generator": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:leaf_generator"
}
]
}
}
},
"requirements": [
[
"leaf_generator"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_phantom_face",
"display": {
"icon": {
"item": "actuallyadditions:phantom_liquiface"
},
"title": {
"translate": "achievement.actuallyadditions.craftLiquiface"
},
"description": {
"translate": "achievement.actuallyadditions.craftLiquiface.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"liquiface": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:phantom_liquiface"
}
]
}
}
},
"requirements": [
[
"liquiface"
]
]
}

View file

@ -0,0 +1,36 @@
{
"parent": "actuallyadditions:root",
"display": {
"icon": {
"item": "actuallyadditions:phantom_itemface"
},
"title": {
"translate": "achievement.actuallyadditions.craftPhantomface"
},
"description": {
"translate": "achievement.actuallyadditions.craftPhantomface.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false,
"background": "minecraft:textures/blocks/stone.png"
},
"criteria": {
"phantom_face": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:phantom_itemface"
}
]
}
}
},
"requirements": [
[
"phantom_face"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_coal_generator",
"display": {
"icon": {
"item": "actuallyadditions:atomic_reconstructor"
},
"title": {
"translate": "achievement.actuallyadditions.craftReconstructor"
},
"description": {
"translate": "achievement.actuallyadditions.craftReconstructor.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"atomic_reconstructor": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:atomic_reconstructor"
}
]
}
}
},
"requirements": [
[
"atomic_reconstructor"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_reconstructor",
"display": {
"icon": {
"item": "actuallyadditions:emeradic_crystal"
},
"title": {
"translate": "achievement.actuallyadditions.makeCrystal"
},
"description": {
"translate": "achievement.actuallyadditions.makeCrystal.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"crystal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"tag": "actuallyadditions:crystals"
}
]
}
}
},
"requirements": [
[
"crystal"
]
]
}

View file

@ -0,0 +1,35 @@
{
"parent": "actuallyadditions:craft_coal_generator",
"display": {
"icon": {
"item": "actuallyadditions:coffee_beans"
},
"title": {
"translate": "achievement.actuallyadditions.pickUpCoffee"
},
"description": {
"translate": "achievement.actuallyadditions.pickUpCoffee.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"criteria": {
"coffee_beans": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "actuallyadditions:coffee_beans"
}
]
}
}
},
"requirements": [
[
"coffee_beans"
]
]
}

View file

@ -0,0 +1,28 @@
{
"display": {
"icon": {
"item": "actuallyadditions:booklet"
},
"title": {
"translate": "achievement.actuallyadditions.openBooklet"
},
"description": {
"translate": "achievement.actuallyadditions.openBooklet.desc"
},
"frame": "task",
"show_toast": true,
"announce_to_chat": true,
"hidden": false,
"background": "minecraft:textures/gui/advancements/backgrounds/stone.png"
},
"criteria": {
"right_click": {
"trigger": "minecraft:impossible"
}
},
"requirements": [
[
"right_click"
]
]
}

View file

@ -0,0 +1,11 @@
{
"replace": false,
"values": [
"actuallyadditions:restonia_crystal",
"actuallyadditions:palis_crystal",
"actuallyadditions:diamatine_crystal",
"actuallyadditions:void_crystal",
"actuallyadditions:emeradic_crystal",
"actuallyadditions:enori_crystal"
]
}

View file

@ -10,6 +10,7 @@ public final class ActuallyTags {
public static final ITag.INamedTag<Item> DRILLS = tag("drills"); public static final ITag.INamedTag<Item> DRILLS = tag("drills");
public static final ITag.INamedTag<Item> COFFEE_BEANS = tag("coffee_beans"); public static final ITag.INamedTag<Item> COFFEE_BEANS = tag("coffee_beans");
public static final ITag.INamedTag<Item> TINY_COALS = tag("tiny_coals"); public static final ITag.INamedTag<Item> TINY_COALS = tag("tiny_coals");
public static final ITag.INamedTag<Item> CRYSTALS = tag("crystals");
private static ITag.INamedTag<Item> tag(String name) { private static ITag.INamedTag<Item> tag(String name) {
return ItemTags.bind(String.format("%s:%s", ActuallyAdditions.MODID, name)); return ItemTags.bind(String.format("%s:%s", ActuallyAdditions.MODID, name));

View file

@ -32,6 +32,7 @@ public class ActuallyAdditionsData {
generator.addProvider(new BlockStateGenerator(generator, helper)); generator.addProvider(new BlockStateGenerator(generator, helper));
generator.addProvider(new ItemModelGenerator(generator, helper)); generator.addProvider(new ItemModelGenerator(generator, helper));
generator.addProvider(new AdvancementGenerator(generator, helper));
generator.addProvider(new LaserRecipeGenerator(generator)); generator.addProvider(new LaserRecipeGenerator(generator));
generator.addProvider(new ColorChangeGenerator(generator)); generator.addProvider(new ColorChangeGenerator(generator));
generator.addProvider(new EmpoweringRecipeGenerator(generator)); generator.addProvider(new EmpoweringRecipeGenerator(generator));

View file

@ -0,0 +1,208 @@
package de.ellpeck.actuallyadditions.data;
import de.ellpeck.actuallyadditions.api.ActuallyTags;
import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks;
import de.ellpeck.actuallyadditions.mod.items.ActuallyItems;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.DisplayInfo;
import net.minecraft.advancements.FrameType;
import net.minecraft.advancements.criterion.ImpossibleTrigger;
import net.minecraft.advancements.criterion.InventoryChangeTrigger;
import net.minecraft.advancements.criterion.ItemPredicate;
import net.minecraft.data.AdvancementProvider;
import net.minecraft.data.DataGenerator;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraftforge.common.data.ExistingFileHelper;
import java.util.function.Consumer;
public class AdvancementGenerator extends AdvancementProvider {
public AdvancementGenerator(DataGenerator gen, ExistingFileHelper exFileHelper) {
super(gen, exFileHelper);
}
@Override
protected void registerAdvancements(Consumer<Advancement> consumer, ExistingFileHelper exFileHelper) {
Advancement root = Advancement.Builder.advancement()
.display(new DisplayInfo(ActuallyItems.ITEM_BOOKLET.get().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.openBooklet"),
new TranslationTextComponent("achievement.actuallyadditions.openBooklet.desc"),
new ResourceLocation("textures/gui/advancements/backgrounds/stone.png"), FrameType.TASK, true, true, false))
.addCriterion("right_click", new ImpossibleTrigger.Instance())
.save(consumer, "actuallyadditions:root");
//TODO: Underwater Treasure Chest Advancement?
Advancement phantomFace = Advancement.Builder.advancement()
.parent(root)
.display(new DisplayInfo(ActuallyBlocks.PHANTOM_ITEMFACE.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftPhantomface"),
new TranslationTextComponent("achievement.actuallyadditions.craftPhantomface.desc"),
new ResourceLocation("textures/blocks/stone.png"), FrameType.TASK, true, true, false))
.addCriterion("phantom_face", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.PHANTOM_ITEMFACE.get()))
.save(consumer, "actuallyadditions:craft_phantom_face");
Advancement.Builder.advancement()
.parent(phantomFace)
.display(new DisplayInfo(ActuallyBlocks.PHANTOM_LIQUIFACE.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftLiquiface"),
new TranslationTextComponent("achievement.actuallyadditions.craftLiquiface.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("liquiface", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.PHANTOM_LIQUIFACE.get()))
.save(consumer, "actuallyadditions:craft_liquiface");
Advancement.Builder.advancement()
.parent(phantomFace)
.display(new DisplayInfo(ActuallyBlocks.PHANTOM_ENERGYFACE.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftEnergyface"),
new TranslationTextComponent("achievement.actuallyadditions.craftEnergyface.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("energyface", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.PHANTOM_ENERGYFACE.get()))
.save(consumer, "actuallyadditions:craft_energyface");
Advancement coalGenerator = Advancement.Builder.advancement()
.parent(root)
.display(new DisplayInfo(ActuallyBlocks.COAL_GENERATOR.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftCoalGen"),
new TranslationTextComponent("achievement.actuallyadditions.craftCoalGen.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("coal_generator", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.COAL_GENERATOR.get()))
.save(consumer, "actuallyadditions:craft_coal_generator");
Advancement.Builder.advancement()
.parent(coalGenerator)
.display(new DisplayInfo(ActuallyBlocks.LEAF_GENERATOR.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftLeafGen"),
new TranslationTextComponent("achievement.actuallyadditions.craftLeafGen.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("leaf_generator", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.LEAF_GENERATOR.get()))
.save(consumer, "actuallyadditions:craft_leaf_generator");
Advancement coffeeBeans = Advancement.Builder.advancement()
.parent(coalGenerator)
.display(new DisplayInfo(ActuallyItems.COFFEE_BEANS.get().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.pickUpCoffee"),
new TranslationTextComponent("achievement.actuallyadditions.pickUpCoffee.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("coffee_beans", InventoryChangeTrigger.Instance.hasItems(ActuallyItems.COFFEE_BEANS.get()))
.save(consumer, "actuallyadditions:pickup_coffee");
Advancement.Builder.advancement()
.parent(coffeeBeans)
.display(new DisplayInfo(ActuallyBlocks.COFFEE_MACHINE.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftCoffeeMachine"),
new TranslationTextComponent("achievement.actuallyadditions.craftCoffeeMachine.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("coffee_machine", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.COFFEE_MACHINE.get()))
.save(consumer, "actuallyadditions:craft_coffee_machine");
Advancement reconstructor = Advancement.Builder.advancement()
.parent(coalGenerator)
.display(new DisplayInfo(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftReconstructor"),
new TranslationTextComponent("achievement.actuallyadditions.craftReconstructor.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("atomic_reconstructor", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.get()))
.save(consumer, "actuallyadditions:craft_reconstructor");
Advancement makeFirstCrystal = Advancement.Builder.advancement()
.parent(reconstructor)
.display(new DisplayInfo(ActuallyItems.EMERADIC_CRYSTAL.get().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.makeCrystal"),
new TranslationTextComponent("achievement.actuallyadditions.makeCrystal.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("crystal", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyTags.Items.CRYSTALS).build())
)
.save(consumer, "actuallyadditions:make_first_crystal");
Advancement.Builder.advancement()
.parent(makeFirstCrystal)
.display(new DisplayInfo(ActuallyBlocks.EMPOWERER.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftEmpowerer"),
new TranslationTextComponent("achievement.actuallyadditions.craftEmpowerer.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("empowerer", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.EMPOWERER.get()))
.save(consumer, "actuallyadditions:craft_empowerer");
Advancement craftCrusher = Advancement.Builder.advancement()
.parent(reconstructor)
.display(new DisplayInfo(ActuallyBlocks.CRUSHER.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftCrusher"),
new TranslationTextComponent("achievement.actuallyadditions.craftCrusher.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("crystal", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyBlocks.CRUSHER.get()).build())
)
.save(consumer, "actuallyadditions:craft_crusher");
Advancement craftDoubleCrusher = Advancement.Builder.advancement()
.parent(craftCrusher)
.display(new DisplayInfo(ActuallyBlocks.CRUSHER_DOUBLE.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftDoubleCrusher"),
new TranslationTextComponent("achievement.actuallyadditions.craftDoubleCrusher.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("crystal", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyBlocks.CRUSHER_DOUBLE.get()).build())
)
.save(consumer, "actuallyadditions:craft_double_crusher");
Advancement craftLaserRelay = Advancement.Builder.advancement()
.parent(reconstructor)
.display(new DisplayInfo(ActuallyBlocks.LASER_RELAY.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelay"),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelay.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("laser_relay", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY.get()).build())
)
.save(consumer, "actuallyadditions:craft_laser_relay");
Advancement craftLaserRelayAdvanced = Advancement.Builder.advancement()
.parent(craftLaserRelay)
.display(new DisplayInfo(ActuallyBlocks.LASER_RELAY_ADVANCED.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayAdvanced"),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayAdvanced.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("laser_relay_advanced", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY_ADVANCED.get()).build())
)
.save(consumer, "actuallyadditions:craft_laser_relay_advanced");
Advancement craftLaserRelayExtreme = Advancement.Builder.advancement()
.parent(craftLaserRelayAdvanced)
.display(new DisplayInfo(ActuallyBlocks.LASER_RELAY_EXTREME.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayExtreme"),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayExtreme.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("laser_relay_extreme", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY_EXTREME.get()).build())
)
.save(consumer, "actuallyadditions:craft_laser_relay_extreme");
Advancement craftLaserRelayItem = Advancement.Builder.advancement()
.parent(craftLaserRelay)
.display(new DisplayInfo(ActuallyBlocks.LASER_RELAY_ITEM.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayItem"),
new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayItem.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("laser_relay_item", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY_ITEM.get()).build())
)
.save(consumer, "actuallyadditions:craft_laser_relay_item");
Advancement craftItemInterface = Advancement.Builder.advancement()
.parent(craftLaserRelay)
.display(new DisplayInfo(ActuallyBlocks.ITEM_INTERFACE.get().asItem().getDefaultInstance(),
new TranslationTextComponent("achievement.actuallyadditions.craftItemInterface"),
new TranslationTextComponent("achievement.actuallyadditions.craftItemInterface.desc"),
null, FrameType.TASK, true, true, false))
.addCriterion("item_interface", InventoryChangeTrigger.Instance.hasItems(
ItemPredicate.Builder.item().of(ActuallyBlocks.ITEM_INTERFACE.get()).build())
)
.save(consumer, "actuallyadditions:craft_item_interface");
}
}

View file

@ -29,5 +29,9 @@ public class ItemTagsGenerator extends ItemTagsProvider {
ActuallyItems.DRILL_LIME.get(), ActuallyItems.DRILL_MAGENTA.get(), ActuallyItems.DRILL_ORANGE.get(), ActuallyItems.DRILL_PINK.get(), ActuallyItems.DRILL_LIME.get(), ActuallyItems.DRILL_MAGENTA.get(), ActuallyItems.DRILL_ORANGE.get(), ActuallyItems.DRILL_PINK.get(),
ActuallyItems.DRILL_PURPLE.get(), ActuallyItems.DRILL_RED.get(), ActuallyItems.DRILL_WHITE.get(), ActuallyItems.DRILL_YELLOW.get() ActuallyItems.DRILL_PURPLE.get(), ActuallyItems.DRILL_RED.get(), ActuallyItems.DRILL_WHITE.get(), ActuallyItems.DRILL_YELLOW.get()
); );
tag(ActuallyTags.Items.CRYSTALS)
.add(ActuallyItems.RESTONIA_CRYSTAL.get(), ActuallyItems.PALIS_CRYSTAL.get(),
ActuallyItems.DIAMATINE_CRYSTAL.get(), ActuallyItems.VOID_CRYSTAL.get(),
ActuallyItems.EMERADIC_CRYSTAL.get(), ActuallyItems.ENORI_CRYSTAL.get());
} }
} }

View file

@ -15,15 +15,20 @@ import de.ellpeck.actuallyadditions.api.booklet.IBookletPage;
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.IHudDisplay; import de.ellpeck.actuallyadditions.mod.blocks.IHudDisplay;
import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.AdvancementManager;
import net.minecraft.advancements.PlayerAdvancements;
import net.minecraft.client.MainWindow; import net.minecraft.client.MainWindow;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.util.ITooltipFlag; import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUseContext; import net.minecraft.item.ItemUseContext;
import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResult;
import net.minecraft.util.ActionResultType; import net.minecraft.util.ActionResultType;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@ -64,6 +69,15 @@ public class ItemBooklet extends ItemBase implements IHudDisplay {
@Override @Override
public ActionResult<ItemStack> use(World world, PlayerEntity player, Hand hand) { public ActionResult<ItemStack> use(World world, PlayerEntity player, Hand hand) {
if (!world.isClientSide) {
ServerPlayerEntity serverPlayer = (ServerPlayerEntity) player;
PlayerAdvancements advancements = serverPlayer.getAdvancements();
AdvancementManager manager = player.getServer().getAdvancements();
Advancement advancement = manager.getAdvancement(new ResourceLocation(ActuallyAdditions.MODID, "root"));
if (advancement != null && !advancements.getOrStartProgress(advancement).isDone()) {
advancements.award(advancement, "right_click");
}
}
// player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.BOOK.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posZ); // player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.BOOK.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posZ);
// //
// if (!world.isClientSide) { // if (!world.isClientSide) {