mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-30 16:28:00 +01:00
Removed the drake enchantment. Nice idea, but meh in execution.
This commit is contained in:
parent
d712554639
commit
5dcb74981b
4 changed files with 0 additions and 149 deletions
|
@ -1,134 +0,0 @@
|
|||
package com.minelittlepony.unicopia.magic.spell;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.minelittlepony.unicopia.entity.FollowCasterGoal;
|
||||
import com.minelittlepony.unicopia.entity.SpellcastEntity;
|
||||
import com.minelittlepony.unicopia.magic.Affinity;
|
||||
import com.minelittlepony.unicopia.magic.Caster;
|
||||
import com.minelittlepony.unicopia.magic.Spell;
|
||||
|
||||
import net.minecraft.entity.ai.goal.SwimGoal;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.util.math.Box;
|
||||
|
||||
/**
|
||||
* Spike The Dragon, but in rock form.
|
||||
*
|
||||
* It follows you around and can pick up/carry other gems.
|
||||
*
|
||||
* @Deprecated Replace with a minion mob
|
||||
*/
|
||||
@Deprecated
|
||||
public class FaithfulAssistantSpell extends AbstractSpell {
|
||||
|
||||
private static final Box EFFECT_BOUNDS = new Box(-2, -2, -2, 2, 2, 2);
|
||||
|
||||
@Nullable
|
||||
private Spell piggyBackSpell;
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "drake";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Affinity getAffinity() {
|
||||
return Affinity.GOOD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTint() {
|
||||
return 0xFAEBD7;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDead() {
|
||||
super.setDead();
|
||||
|
||||
if (piggyBackSpell != null) {
|
||||
piggyBackSpell.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowAI() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDead() {
|
||||
return super.isDead();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDirty() {
|
||||
return super.isDirty() || (piggyBackSpell != null && piggyBackSpell.isDirty());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public void onPlaced(Caster<?> caster) {
|
||||
if (caster.getEntity() instanceof SpellcastEntity) {
|
||||
SpellcastEntity living = (SpellcastEntity)caster.getEntity();
|
||||
|
||||
living.getNavigation().setCanSwim(false);
|
||||
living.getGoals().add(1, new SwimGoal(living));
|
||||
living.getGoals().add(2, new FollowCasterGoal<>((Caster<SpellcastEntity>)caster, 1, 4, 70));
|
||||
|
||||
living.setPos(living.getX(), living.getY(), living.getZ());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean update(Caster<?> source) {
|
||||
if (piggyBackSpell == null) {
|
||||
Box bb = EFFECT_BOUNDS.offset(source.getOriginVector());
|
||||
|
||||
source.getWorld().getEntities(source.getEntity(), bb, e -> e instanceof SpellcastEntity).stream()
|
||||
.map(i -> (SpellcastEntity)i)
|
||||
.filter(i -> i.hasSpell() && !(i.getSpell() instanceof FaithfulAssistantSpell))
|
||||
.findFirst().ifPresent(i -> {
|
||||
piggyBackSpell = i.getSpell().copy();
|
||||
piggyBackSpell.onPlaced(source);
|
||||
i.setSpell(null);
|
||||
setDirty(true);
|
||||
});
|
||||
}
|
||||
|
||||
if (piggyBackSpell != null) {
|
||||
piggyBackSpell.update(source);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Caster<?> source) {
|
||||
if (piggyBackSpell != null) {
|
||||
piggyBackSpell.render(source);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toNBT(CompoundTag compound) {
|
||||
super.toNBT(compound);
|
||||
|
||||
if (piggyBackSpell != null) {
|
||||
compound.put("effect", SpellRegistry.toNBT(piggyBackSpell));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromNBT(CompoundTag compound) {
|
||||
super.fromNBT(compound);
|
||||
|
||||
if (compound.contains("effect")) {
|
||||
if (piggyBackSpell != null) {
|
||||
piggyBackSpell.fromNBT(compound.getCompound("effect"));
|
||||
} else {
|
||||
piggyBackSpell = SpellRegistry.instance().createEffectFromNBT(compound.getCompound("effect"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -43,7 +43,6 @@ public class SpellRegistry {
|
|||
register(PortalSpell::new);
|
||||
register(AwkwardSpell::new);
|
||||
register(InfernoSpell::new);
|
||||
register(FaithfulAssistantSpell::new);
|
||||
register(RevealingSpell::new);
|
||||
register(DarknessSpell::new);
|
||||
register(FlameSpell::new);
|
||||
|
|
|
@ -147,9 +147,6 @@
|
|||
"spell.ice": "Frost",
|
||||
"spell.ice.tagline": "Ice I",
|
||||
|
||||
"spell.drake": "Assistance",
|
||||
"spell.drake.tagline": "Golomancy I",
|
||||
|
||||
"curse.shield": "Repulsion",
|
||||
"curse.shield.tagline": "Hostility I",
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"type": "unicopia:enchanting_spell",
|
||||
"input": { "item": "unicopia:gem" },
|
||||
"ingredients": [
|
||||
{ "item": "unicopia:gem", "spell": "charge" },
|
||||
{ "item": "unicopia:corrupted_gem" },
|
||||
{ "tag": "unicopia:life_elementals" },
|
||||
{ "item": "minecraft:poppy" }
|
||||
],
|
||||
"result": { "item": "unicopia:gem", "spell": "drake" }
|
||||
}
|
Loading…
Reference in a new issue