Search in sources :

Example 1 with ItemPredicate

use of net.minecraft.advancements.critereon.ItemPredicate in project Railcraft by Railcraft.

the class UseTrackKitTrigger method deserializeInstance.

@Override
public Instance deserializeInstance(JsonObject json, JsonDeserializationContext context) {
    NBTPredicate nbt = JsonTools.whenPresent(json, "data", NBTPredicate::deserialize, NBTPredicate.ANY);
    ItemPredicate used = JsonTools.whenPresent(json, "used", ItemPredicate::deserialize, ItemPredicate.ANY);
    LocationPredicate location = JsonTools.whenPresent(json, "location", LocationPredicate::deserialize, LocationPredicate.ANY);
    return new Instance(nbt, used, location);
}
Also used : ItemPredicate(net.minecraft.advancements.critereon.ItemPredicate) Instance(mods.railcraft.common.advancements.criterion.UseTrackKitTrigger.Instance) ICriterionInstance(net.minecraft.advancements.ICriterionInstance) NBTPredicate(net.minecraft.advancements.critereon.NBTPredicate) LocationPredicate(net.minecraft.advancements.critereon.LocationPredicate)

Example 2 with ItemPredicate

use of net.minecraft.advancements.critereon.ItemPredicate in project Railcraft by Railcraft.

the class SpikeMaulUseTrigger method deserializeInstance.

@Override
public Instance deserializeInstance(JsonObject json, JsonDeserializationContext context) {
    NBTPredicate nbt = JsonTools.whenPresent(json, "nbt", NBTPredicate::deserialize, NBTPredicate.ANY);
    ItemPredicate tool = JsonTools.whenPresent(json, "tool", ItemPredicate::deserialize, ItemPredicate.ANY);
    LocationPredicate locationPredicate = JsonTools.whenPresent(json, "location", LocationPredicate::deserialize, LocationPredicate.ANY);
    return new Instance(nbt, tool, locationPredicate);
}
Also used : ItemPredicate(net.minecraft.advancements.critereon.ItemPredicate) Instance(mods.railcraft.common.advancements.criterion.SpikeMaulUseTrigger.Instance) ICriterionInstance(net.minecraft.advancements.ICriterionInstance) NBTPredicate(net.minecraft.advancements.critereon.NBTPredicate) LocationPredicate(net.minecraft.advancements.critereon.LocationPredicate)

Example 3 with ItemPredicate

use of net.minecraft.advancements.critereon.ItemPredicate in project MinecraftForge by MinecraftForge.

the class ForgeLootTableProvider method checkMatchTool.

private boolean checkMatchTool(MatchTool lootCondition, Item expected) {
    ItemPredicate predicate = ObfuscationReflectionHelper.getPrivateValue(MatchTool.class, lootCondition, "f_8199" + "3_");
    Set<Item> items = ObfuscationReflectionHelper.getPrivateValue(ItemPredicate.class, predicate, "f_15142" + "7_");
    return items != null && items.contains(expected);
}
Also used : ItemPredicate(net.minecraft.advancements.critereon.ItemPredicate) Item(net.minecraft.world.item.Item)

Aggregations

ItemPredicate (net.minecraft.advancements.critereon.ItemPredicate)3 ICriterionInstance (net.minecraft.advancements.ICriterionInstance)2 LocationPredicate (net.minecraft.advancements.critereon.LocationPredicate)2 NBTPredicate (net.minecraft.advancements.critereon.NBTPredicate)2 Instance (mods.railcraft.common.advancements.criterion.SpikeMaulUseTrigger.Instance)1 Instance (mods.railcraft.common.advancements.criterion.UseTrackKitTrigger.Instance)1 Item (net.minecraft.world.item.Item)1