Replace dummy criteria with proper generic imbuement altar criterion
This commit is contained in:
+18
-18
@@ -17,14 +17,14 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/** Advancement trigger for things done in the arcane workbench. The majority of any
|
/** Advancement trigger for things done in the arcane workbench or imbuement altar. The majority of any
|
||||||
* ICriterionTrigger class is just boilerplate, and this is no exception. */
|
* ICriterionTrigger class is just boilerplate, and this is no exception. */
|
||||||
public class ArcaneWorkbenchTrigger implements ICriterionTrigger<ArcaneWorkbenchTrigger.Instance> {
|
public class WizardryContainerTrigger implements ICriterionTrigger<WizardryContainerTrigger.Instance> {
|
||||||
|
|
||||||
private final ResourceLocation id;
|
private final ResourceLocation id;
|
||||||
private final Map<PlayerAdvancements, ArcaneWorkbenchTrigger.Listeners> listeners = Maps.newHashMap();
|
private final Map<PlayerAdvancements, WizardryContainerTrigger.Listeners> listeners = Maps.newHashMap();
|
||||||
|
|
||||||
public ArcaneWorkbenchTrigger(ResourceLocation id){
|
public WizardryContainerTrigger(ResourceLocation id){
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,21 +32,21 @@ public class ArcaneWorkbenchTrigger implements ICriterionTrigger<ArcaneWorkbench
|
|||||||
return this.id;
|
return this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addListener(PlayerAdvancements advancements, Listener<ArcaneWorkbenchTrigger.Instance> listener){
|
public void addListener(PlayerAdvancements advancements, Listener<WizardryContainerTrigger.Instance> listener){
|
||||||
|
|
||||||
ArcaneWorkbenchTrigger.Listeners listeners = this.listeners.get(advancements);
|
WizardryContainerTrigger.Listeners listeners = this.listeners.get(advancements);
|
||||||
|
|
||||||
if(listeners == null){
|
if(listeners == null){
|
||||||
listeners = new ArcaneWorkbenchTrigger.Listeners(advancements);
|
listeners = new WizardryContainerTrigger.Listeners(advancements);
|
||||||
this.listeners.put(advancements, listeners);
|
this.listeners.put(advancements, listeners);
|
||||||
}
|
}
|
||||||
|
|
||||||
listeners.add(listener);
|
listeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeListener(PlayerAdvancements advancements, Listener<ArcaneWorkbenchTrigger.Instance> listener){
|
public void removeListener(PlayerAdvancements advancements, Listener<WizardryContainerTrigger.Instance> listener){
|
||||||
|
|
||||||
ArcaneWorkbenchTrigger.Listeners listeners = this.listeners.get(advancements);
|
WizardryContainerTrigger.Listeners listeners = this.listeners.get(advancements);
|
||||||
|
|
||||||
if(listeners != null){
|
if(listeners != null){
|
||||||
listeners.remove(listener);
|
listeners.remove(listener);
|
||||||
@@ -61,13 +61,13 @@ public class ArcaneWorkbenchTrigger implements ICriterionTrigger<ArcaneWorkbench
|
|||||||
this.listeners.remove(advancements);
|
this.listeners.remove(advancements);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArcaneWorkbenchTrigger.Instance deserializeInstance(JsonObject json, JsonDeserializationContext context){
|
public WizardryContainerTrigger.Instance deserializeInstance(JsonObject json, JsonDeserializationContext context){
|
||||||
return new ArcaneWorkbenchTrigger.Instance(this.id, ItemPredicate.deserialize(json.get("item")));
|
return new WizardryContainerTrigger.Instance(this.id, ItemPredicate.deserialize(json.get("item")));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void trigger(EntityPlayerMP player, ItemStack stack){
|
public void trigger(EntityPlayerMP player, ItemStack stack){
|
||||||
|
|
||||||
ArcaneWorkbenchTrigger.Listeners listeners = this.listeners.get(player.getAdvancements());
|
WizardryContainerTrigger.Listeners listeners = this.listeners.get(player.getAdvancements());
|
||||||
|
|
||||||
if(listeners != null){
|
if(listeners != null){
|
||||||
listeners.trigger(stack);
|
listeners.trigger(stack);
|
||||||
@@ -91,7 +91,7 @@ public class ArcaneWorkbenchTrigger implements ICriterionTrigger<ArcaneWorkbench
|
|||||||
static class Listeners {
|
static class Listeners {
|
||||||
|
|
||||||
private final PlayerAdvancements playerAdvancements;
|
private final PlayerAdvancements playerAdvancements;
|
||||||
private final Set<Listener<ArcaneWorkbenchTrigger.Instance>> listeners = Sets.newHashSet();
|
private final Set<Listener<WizardryContainerTrigger.Instance>> listeners = Sets.newHashSet();
|
||||||
|
|
||||||
public Listeners(PlayerAdvancements advancements){
|
public Listeners(PlayerAdvancements advancements){
|
||||||
this.playerAdvancements = advancements;
|
this.playerAdvancements = advancements;
|
||||||
@@ -101,19 +101,19 @@ public class ArcaneWorkbenchTrigger implements ICriterionTrigger<ArcaneWorkbench
|
|||||||
return this.listeners.isEmpty();
|
return this.listeners.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(Listener<ArcaneWorkbenchTrigger.Instance> listener){
|
public void add(Listener<WizardryContainerTrigger.Instance> listener){
|
||||||
this.listeners.add(listener);
|
this.listeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void remove(Listener<ArcaneWorkbenchTrigger.Instance> listener){
|
public void remove(Listener<WizardryContainerTrigger.Instance> listener){
|
||||||
this.listeners.remove(listener);
|
this.listeners.remove(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void trigger(ItemStack stack){
|
public void trigger(ItemStack stack){
|
||||||
|
|
||||||
List<Listener<ArcaneWorkbenchTrigger.Instance>> list = null;
|
List<Listener<WizardryContainerTrigger.Instance>> list = null;
|
||||||
|
|
||||||
for(Listener<ArcaneWorkbenchTrigger.Instance> listener : this.listeners){
|
for(Listener<WizardryContainerTrigger.Instance> listener : this.listeners){
|
||||||
|
|
||||||
if(listener.getCriterionInstance().test(stack)){
|
if(listener.getCriterionInstance().test(stack)){
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ public class ArcaneWorkbenchTrigger implements ICriterionTrigger<ArcaneWorkbench
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(list != null){
|
if(list != null){
|
||||||
for(Listener<ArcaneWorkbenchTrigger.Instance> listener : list){
|
for(Listener<WizardryContainerTrigger.Instance> listener : list){
|
||||||
listener.grantCriterion(this.playerAdvancements);
|
listener.grantCriterion(this.playerAdvancements);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
package electroblob.wizardry.block;
|
package electroblob.wizardry.block;
|
||||||
|
|
||||||
import electroblob.wizardry.item.ItemWizardArmour;
|
|
||||||
import electroblob.wizardry.registry.WizardryAdvancementTriggers;
|
|
||||||
import electroblob.wizardry.registry.WizardryBlocks;
|
import electroblob.wizardry.registry.WizardryBlocks;
|
||||||
import electroblob.wizardry.registry.WizardryTabs;
|
import electroblob.wizardry.registry.WizardryTabs;
|
||||||
import electroblob.wizardry.tileentity.TileEntityImbuementAltar;
|
import electroblob.wizardry.tileentity.TileEntityImbuementAltar;
|
||||||
@@ -150,11 +148,6 @@ public class BlockImbuementAltar extends Block implements ITileEntityProvider {
|
|||||||
|
|
||||||
((TileEntityImbuementAltar)tileEntity).setStack(ItemStack.EMPTY);
|
((TileEntityImbuementAltar)tileEntity).setStack(ItemStack.EMPTY);
|
||||||
((TileEntityImbuementAltar)tileEntity).setLastUser(null);
|
((TileEntityImbuementAltar)tileEntity).setLastUser(null);
|
||||||
|
|
||||||
if(currentStack.getItem() instanceof ItemWizardArmour && ((ItemWizardArmour)currentStack.getItem()).element != null){
|
|
||||||
// Not perfect since we don't know if the player actually imbued the armour, but it's good enough for now
|
|
||||||
WizardryAdvancementTriggers.create_elemental_armour.triggerFor(player);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -26,13 +26,12 @@ public final class WizardryAdvancementTriggers {
|
|||||||
public static final CustomAdvancementTrigger spell_failure = new CustomAdvancementTrigger("trigger_spell_failure");
|
public static final CustomAdvancementTrigger spell_failure = new CustomAdvancementTrigger("trigger_spell_failure");
|
||||||
public static final CustomAdvancementTrigger wand_levelup = new CustomAdvancementTrigger("trigger_wand_levelup");
|
public static final CustomAdvancementTrigger wand_levelup = new CustomAdvancementTrigger("trigger_wand_levelup");
|
||||||
public static final CustomAdvancementTrigger restore_imbuement_altar = new CustomAdvancementTrigger("restore_imbuement_altar");
|
public static final CustomAdvancementTrigger restore_imbuement_altar = new CustomAdvancementTrigger("restore_imbuement_altar");
|
||||||
// TODO: Make a proper imbuement altar trigger like the arcane workbench one
|
|
||||||
public static final CustomAdvancementTrigger create_elemental_armour = new CustomAdvancementTrigger("create_elemental_armour");
|
|
||||||
|
|
||||||
public static final StructureTrigger visit_structure = new StructureTrigger(new ResourceLocation(Wizardry.MODID, "visit_structure"));
|
public static final StructureTrigger visit_structure = new StructureTrigger(new ResourceLocation(Wizardry.MODID, "visit_structure"));
|
||||||
public static final ArcaneWorkbenchTrigger arcane_workbench = new ArcaneWorkbenchTrigger(new ResourceLocation(Wizardry.MODID, "arcane_workbench"));
|
public static final WizardryContainerTrigger arcane_workbench = new WizardryContainerTrigger(new ResourceLocation(Wizardry.MODID, "arcane_workbench"));
|
||||||
public static final SpellCastTrigger cast_spell = new SpellCastTrigger(new ResourceLocation(Wizardry.MODID, "cast_spell"));
|
public static final SpellCastTrigger cast_spell = new SpellCastTrigger(new ResourceLocation(Wizardry.MODID, "cast_spell"));
|
||||||
public static final SpellDiscoveryTrigger discover_spell = new SpellDiscoveryTrigger(new ResourceLocation(Wizardry.MODID, "discover_spell"));
|
public static final SpellDiscoveryTrigger discover_spell = new SpellDiscoveryTrigger(new ResourceLocation(Wizardry.MODID, "discover_spell"));
|
||||||
|
public static final WizardryContainerTrigger imbuement_altar = new WizardryContainerTrigger(new ResourceLocation(Wizardry.MODID, "imbuement_altar"));
|
||||||
|
|
||||||
public static void register(){
|
public static void register(){
|
||||||
|
|
||||||
@@ -45,11 +44,11 @@ public final class WizardryAdvancementTriggers {
|
|||||||
CriteriaTriggers.register(spell_failure);
|
CriteriaTriggers.register(spell_failure);
|
||||||
CriteriaTriggers.register(wand_levelup);
|
CriteriaTriggers.register(wand_levelup);
|
||||||
CriteriaTriggers.register(restore_imbuement_altar);
|
CriteriaTriggers.register(restore_imbuement_altar);
|
||||||
CriteriaTriggers.register(create_elemental_armour);
|
|
||||||
|
|
||||||
CriteriaTriggers.register(visit_structure);
|
CriteriaTriggers.register(visit_structure);
|
||||||
CriteriaTriggers.register(arcane_workbench);
|
CriteriaTriggers.register(arcane_workbench);
|
||||||
CriteriaTriggers.register(cast_spell);
|
CriteriaTriggers.register(cast_spell);
|
||||||
CriteriaTriggers.register(discover_spell);
|
CriteriaTriggers.register(discover_spell);
|
||||||
|
CriteriaTriggers.register(imbuement_altar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,14 +4,12 @@ import electroblob.wizardry.block.BlockReceptacle;
|
|||||||
import electroblob.wizardry.constants.Element;
|
import electroblob.wizardry.constants.Element;
|
||||||
import electroblob.wizardry.item.IManaStoringItem;
|
import electroblob.wizardry.item.IManaStoringItem;
|
||||||
import electroblob.wizardry.item.ItemWizardArmour;
|
import electroblob.wizardry.item.ItemWizardArmour;
|
||||||
import electroblob.wizardry.registry.WizardryBlocks;
|
import electroblob.wizardry.registry.*;
|
||||||
import electroblob.wizardry.registry.WizardryItems;
|
|
||||||
import electroblob.wizardry.registry.WizardryLoot;
|
|
||||||
import electroblob.wizardry.registry.WizardrySounds;
|
|
||||||
import electroblob.wizardry.util.GeometryUtils;
|
import electroblob.wizardry.util.GeometryUtils;
|
||||||
import electroblob.wizardry.util.ParticleBuilder;
|
import electroblob.wizardry.util.ParticleBuilder;
|
||||||
import electroblob.wizardry.util.ParticleBuilder.Type;
|
import electroblob.wizardry.util.ParticleBuilder.Type;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
@@ -98,6 +96,9 @@ public class TileEntityImbuementAltar extends TileEntity implements ITickable {
|
|||||||
consumeReceptacleContents();
|
consumeReceptacleContents();
|
||||||
imbuementTimer = 0;
|
imbuementTimer = 0;
|
||||||
displayElement = null;
|
displayElement = null;
|
||||||
|
if(lastUser instanceof EntityPlayerMP){
|
||||||
|
WizardryAdvancementTriggers.imbuement_altar.trigger((EntityPlayerMP)lastUser, this.stack);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(world.isRemote && world.rand.nextInt(2) == 0){
|
if(world.isRemote && world.rand.nextInt(2) == 0){
|
||||||
|
|||||||
@@ -12,8 +12,261 @@
|
|||||||
},
|
},
|
||||||
"parent": "ebwizardry:restore_imbuement_altar",
|
"parent": "ebwizardry:restore_imbuement_altar",
|
||||||
"criteria": {
|
"criteria": {
|
||||||
"criteria_0": {
|
"fire_hat": {
|
||||||
"trigger": "ebwizardry:create_elemental_armour"
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_hat_fire"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fire_robe": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_robe_fire"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fire_leggings": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_leggings_fire"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fire_boots": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_boots_fire"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ice_hat": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_hat_ice"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ice_robe": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_robe_ice"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ice_leggings": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_leggings_ice"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ice_boots": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_boots_ice"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lightning_hat": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_hat_lightning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lightning_robe": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_robe_lightning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lightning_leggings": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_leggings_lightning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lightning_boots": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_boots_lightning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"necromancy_hat": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_hat_necromancy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"necromancy_robe": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_robe_necromancy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"necromancy_leggings": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_leggings_necromancy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"necromancy_boots": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_boots_necromancy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"earth_hat": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_hat_earth"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"earth_robe": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_robe_earth"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"earth_leggings": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_leggings_earth"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"earth_boots": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_boots_earth"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sorcery_hat": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_hat_sorcery"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sorcery_robe": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_robe_sorcery"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sorcery_leggings": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_leggings_sorcery"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sorcery_boots": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_boots_sorcery"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"healing_hat": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_hat_healing"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"healing_robe": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_robe_healing"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"healing_leggings": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_leggings_healing"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"healing_boots": {
|
||||||
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:wizard_boots_healing"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"fire_hat",
|
||||||
|
"fire_robe",
|
||||||
|
"fire_leggings",
|
||||||
|
"fire_boots",
|
||||||
|
"ice_hat",
|
||||||
|
"ice_robe",
|
||||||
|
"ice_leggings",
|
||||||
|
"ice_boots",
|
||||||
|
"lightning_hat",
|
||||||
|
"lightning_robe",
|
||||||
|
"lightning_leggings",
|
||||||
|
"lightning_boots",
|
||||||
|
"necromancy_hat",
|
||||||
|
"necromancy_robe",
|
||||||
|
"necromancy_leggings",
|
||||||
|
"necromancy_boots",
|
||||||
|
"earth_hat",
|
||||||
|
"earth_robe",
|
||||||
|
"earth_leggings",
|
||||||
|
"earth_boots",
|
||||||
|
"sorcery_hat",
|
||||||
|
"sorcery_robe",
|
||||||
|
"sorcery_leggings",
|
||||||
|
"sorcery_boots",
|
||||||
|
"healing_hat",
|
||||||
|
"healing_robe",
|
||||||
|
"healing_leggings",
|
||||||
|
"healing_boots"
|
||||||
|
]
|
||||||
|
]
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,12 @@
|
|||||||
"parent": "ebwizardry:restore_imbuement_altar",
|
"parent": "ebwizardry:restore_imbuement_altar",
|
||||||
"criteria": {
|
"criteria": {
|
||||||
"criteria_0": {
|
"criteria_0": {
|
||||||
"trigger": "ebwizardry:restore_ruined_book"
|
"trigger": "ebwizardry:imbuement_altar",
|
||||||
|
"conditions": {
|
||||||
|
"item": {
|
||||||
|
"item": "ebwizardry:spell_book"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user