Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/main/java/fox/spiteful/forbidden/FMEventHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -495,10 +495,11 @@ public void onGetHurt(LivingHurtEvent event) {
}
}

if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) {
if (event.source.getEntity() instanceof EntityPlayer) {
ItemStack equip = ((EntityPlayer) event.source.getEntity()).getCurrentEquippedItem();
if (equip != null && equip.getItem() instanceof ItemWandCasting) {
if (((ItemWandCasting) equip.getItem()).getCap(equip).getTag().equals("alchemical")
if (equip.getItem() instanceof ItemWandCasting) {
String capTag = ((ItemWandCasting) equip.getItem()).getCap(equip).getTag();
if (capTag.equals("alchemical") || capTag.equals("blood_iron")
&& ((ItemWandCasting) equip.getItem()).getRod(equip).getTag().startsWith("blood")) {
event.entityLiving.addPotionEffect(new PotionEffect(Potion.weakness.id, 60, 2));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

public class BloodStaffUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if (Compat.bm && Config.crossWand && player.ticksExisted % 25 == 0) {
Expand All @@ -23,31 +23,29 @@ public void onUpdate(ItemStack itemstack, EntityPlayer player) {
SoulNetworkHandler.checkAndSetItemOwner(itemstack, player);

int cost;
if (((ItemWandCasting) itemstack.getItem()).getCap(itemstack).getTag().equals("alchemical"))
cost = Config.bloodvis - 1;
String capTag = ((ItemWandCasting) itemstack.getItem()).getCap(itemstack).getTag();
if (capTag.equals("alchemical") || capTag.equals("blood_iron")) cost = Config.bloodvis - 1;
else cost = Config.bloodvis;

cost = Math.max(0, cost);

for (int x = 0; x < primals.length; x++) {
for (Aspect primal : primals) {
int deficit = ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x]);
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal);
if (deficit > 0) {
deficit = Math.min(deficit, 100);
if (player.capabilities.isCreativeMode)
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
else if (SoulNetworkHandler.syphonFromNetwork(itemstack, cost * deficit) > 0)
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
else if (syphonHealth(player)) {
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
return;
} else return;
}
}

} catch (Exception e) {
return;
}
} catch (Exception ignored) {}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,37 @@

public class BloodWandUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if (Compat.bm && Config.crossWand && player.ticksExisted % 100 == 0) {
try {
SoulNetworkHandler.checkAndSetItemOwner(itemstack, player);

int cost;
if (((ItemWandCasting) itemstack.getItem()).getCap(itemstack).getTag().equals("alchemical"))
cost = Config.bloodvis - 1;
String capTag = ((ItemWandCasting) itemstack.getItem()).getCap(itemstack).getTag();
if (capTag.equals("alchemical") || capTag.equals("blood_iron")) cost = Config.bloodvis - 1;
else cost = Config.bloodvis;

cost = Math.max(0, cost);

for (int x = 0; x < primals.length; x++) {
for (Aspect primal : primals) {
int deficit = ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x]);
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal);
if (deficit > 0) {
deficit = Math.min(deficit, 100);
if (player.capabilities.isCreativeMode)
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
else if (SoulNetworkHandler.syphonFromNetwork(itemstack, cost * deficit) > 0)
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
else if (syphonHealth(player)) {
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
return;
} else return;
}
}

} catch (Throwable e) {
return;
}
} catch (Throwable ignored) {}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@

public class CreativeWandUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
for (int x = 0; x < primals.length; x++) {
if (((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x])
for (Aspect primal : primals) {
if (((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal)
< ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)) {
((ItemWandCasting) itemstack.getItem()).addVis(
itemstack,
primals[x],
primal,
((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x]),
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal),
true);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@

public class InfernalWandUpdate implements IWandRodOnUpdate {

Aspect primals[] = { Aspect.ORDER, Aspect.ENTROPY, Aspect.AIR, Aspect.EARTH, Aspect.WATER };
Aspect[] primals = { Aspect.ORDER, Aspect.ENTROPY, Aspect.AIR, Aspect.EARTH, Aspect.WATER };

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if (player.ticksExisted % 100 == 0) {
if (player.worldObj.provider.dimensionId == -1) {
for (int x = 0; x < primals.length; x++) {
if (((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x])
for (Aspect primal : primals) {
if (((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal)
< ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack) / 10) {
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

public class ManaStaffUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if (Compat.am2 && Config.crossWand) {
Expand All @@ -29,18 +29,18 @@ public void onUpdate(ItemStack itemstack, EntityPlayer player) {

if (prop == null || prop.getCurrentMana() <= 0) return;

for (int x = 0; x < primals.length; x++) {
for (Aspect primal : primals) {
int deficit = ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x]);
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal);
if (deficit > 0) {
deficit = Math.min(deficit, 100);
if (prop.getCurrentMana() > cost * deficit) {
prop.setCurrentMana(prop.getCurrentMana() - cost * deficit);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
}
}
}
} catch (Throwable e) {}
} catch (Throwable ignored) {}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

public class ManaWandUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if (Compat.am2 && Config.crossWand) {
Expand All @@ -29,18 +29,18 @@ public void onUpdate(ItemStack itemstack, EntityPlayer player) {

if (prop == null || prop.getCurrentMana() <= 0) return;

for (int x = 0; x < primals.length; x++) {
for (Aspect primal : primals) {
int deficit = ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x]);
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal);
if (deficit > 0) {
deficit = Math.min(deficit, 100);
if (prop.getCurrentMana() > cost * deficit) {
prop.setCurrentMana(prop.getCurrentMana() - cost * deficit);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
}
}
}
} catch (Throwable e) {}
} catch (Throwable ignored) {}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

public class ProfaneWandUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {

Expand All @@ -24,15 +24,16 @@ public void onUpdate(ItemStack itemstack, EntityPlayer player) {
tag.setInteger("contract", 25000);
} else if (tag.getInteger("contract") <= 0) return;

for (int x = 0; x < primals.length && tag.getInteger("contract") > 0; x++) {
for (Aspect primal : primals) {
int deficit = ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x]);
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal);
if (deficit > 0) {
int restore = Math.min(tag.getInteger("contract"), deficit);
((ItemWandCasting) itemstack.getItem()).addRealVis(itemstack, primals[x], restore, true);
((ItemWandCasting) itemstack.getItem()).addRealVis(itemstack, primal, restore, true);
tag.setInteger("contract", tag.getInteger("contract") - restore);
if (player.worldObj.rand.nextInt(2501) < restore) Thaumcraft.addStickyWarpToPlayer(player, 1);
}
if (tag.getInteger("contract") <= 0) break;
}

if (tag.getInteger("contract") <= 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@

public class TaintedWandUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if (player.ticksExisted % 100 == 0
&& player.worldObj.getBiomeGenForCoords((int) player.posX, (int) player.posZ).biomeID
== thaumcraft.common.config.Config.biomeTaintID) {
for (int x = 0; x < primals.length; x++) {
if (((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x])
for (Aspect primal : primals) {
if (((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal)
< ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack) / 10) {
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,29 @@

public class YandereWandUpdate implements IWandRodOnUpdate {

Aspect primals[] = Aspect.getPrimalAspects().toArray(new Aspect[0]);
Aspect[] primals = Aspect.getPrimalAspects().toArray(new Aspect[0]);

public void onUpdate(ItemStack itemstack, EntityPlayer player) {
if (Compat.botan && Config.crossWand && player.ticksExisted % 40 == 0 && checkHotbar(itemstack, player)) {
try {
int cost;
if (((ItemWandCasting) itemstack.getItem()).getCap(itemstack).getTag().equals("manasteel")
|| ((ItemWandCasting) itemstack.getItem()).getCap(itemstack).getTag().equals("elementium"))
cost = Config.manavis - 2;
String capTag = ((ItemWandCasting) itemstack.getItem()).getCap(itemstack).getTag();
if (capTag.equals("manasteel") || capTag.equals("elementium")) cost = Config.manavis - 2;
else cost = Config.manavis;

cost = Math.max(0, cost);

for (int x = 0; x < primals.length; x++) {
for (Aspect primal : primals) {
int deficit = ((ItemWandCasting) itemstack.getItem()).getMaxVis(itemstack)
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primals[x]);
- ((ItemWandCasting) itemstack.getItem()).getVis(itemstack, primal);
if (deficit > 0) {
deficit = Math.min(deficit, 100);
if (ManaItemHandler.requestManaExact(itemstack, player, cost * deficit, true))
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primals[x], 1, true);
((ItemWandCasting) itemstack.getItem()).addVis(itemstack, primal, 1, true);
}
}

} catch (Throwable e) {
return;
}
} catch (Throwable ignored) {}
}
}

Expand Down