Now causes nausea when passive operations (such as rituals or the Lava Crystal).

Added the Lava crystal model.
This commit is contained in:
WayofTime 2015-12-31 20:47:01 -05:00
parent 6fb409f20f
commit 65d75313cb
10 changed files with 54 additions and 11 deletions

View file

@ -5,7 +5,9 @@ import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.event.AddToNetworkEvent; import WayofTime.bloodmagic.api.event.AddToNetworkEvent;
import WayofTime.bloodmagic.api.event.SoulNetworkEvent; import WayofTime.bloodmagic.api.event.SoulNetworkEvent;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -35,7 +37,7 @@ public class SoulNetwork extends WorldSavedData
currentEssence = 0; currentEssence = 0;
orbTier = 0; orbTier = 0;
player = PlayerHelper.getPlayerFromUsername(name); player = PlayerHelper.getPlayerFromUUID(name);
} }
@Override @Override
@ -90,7 +92,6 @@ public class SoulNetwork extends WorldSavedData
*/ */
public int syphon(int syphon) public int syphon(int syphon)
{ {
System.out.println("Being syphoned");
if (getCurrentEssence() >= syphon) if (getCurrentEssence() >= syphon)
{ {
setCurrentEssence(getCurrentEssence() - syphon); setCurrentEssence(getCurrentEssence() - syphon);
@ -111,7 +112,6 @@ public class SoulNetwork extends WorldSavedData
*/ */
public boolean syphonAndDamage(EntityPlayer user, int toSyphon) public boolean syphonAndDamage(EntityPlayer user, int toSyphon)
{ {
BloodMagicAPI.getLogger().debug("The operation has requested a drain of " + toSyphon + " LP.");
if (user != null) if (user != null)
{ {
if (user.worldObj.isRemote) if (user.worldObj.isRemote)
@ -132,8 +132,6 @@ public class SoulNetwork extends WorldSavedData
return event.getResult() != Event.Result.DENY; return event.getResult() != Event.Result.DENY;
} }
System.out.println("I got here?!?");
int amount = syphon(toSyphon); int amount = syphon(toSyphon);
hurtPlayer(user, toSyphon - amount); hurtPlayer(user, toSyphon - amount);
@ -171,11 +169,9 @@ public class SoulNetwork extends WorldSavedData
public void causeNauseaToPlayer() public void causeNauseaToPlayer()
{ {
System.out.println("Hai! I'm adding the bane of your existence!");
if (getPlayer() != null) if (getPlayer() != null)
{ {
getPlayer().addPotionEffect(new PotionEffect(Potion.confusion.getId(), 20)); getPlayer().addPotionEffect(new PotionEffect(Potion.confusion.getId(), 99));
} }
} }
} }

View file

@ -115,7 +115,6 @@ public class NetworkHelper
*/ */
public static boolean syphonFromContainer(ItemStack stack, int toSyphon) //TODO: Change to a String, int? public static boolean syphonFromContainer(ItemStack stack, int toSyphon) //TODO: Change to a String, int?
{ {
System.out.println("Test");
stack = NBTHelper.checkNBT(stack); stack = NBTHelper.checkNBT(stack);
String ownerName = stack.getTagCompound().getString(Constants.NBT.OWNER_UUID); String ownerName = stack.getTagCompound().getString(Constants.NBT.OWNER_UUID);
@ -129,6 +128,18 @@ public class NetworkHelper
return !(MinecraftForge.EVENT_BUS.post(event) || event.getResult() == Event.Result.DENY) && network.syphon(event.syphon) >= toSyphon; return !(MinecraftForge.EVENT_BUS.post(event) || event.getResult() == Event.Result.DENY) && network.syphon(event.syphon) >= toSyphon;
} }
public static boolean canSyphonFromContainer(ItemStack stack, int toSyphon)
{
stack = NBTHelper.checkNBT(stack);
String ownerName = stack.getTagCompound().getString(Constants.NBT.OWNER_UUID);
if (Strings.isNullOrEmpty(ownerName))
return false;
SoulNetwork network = getSoulNetwork(ownerName);
return network.getCurrentEssence() >= toSyphon;
}
// Set // Set
/** /**

View file

@ -94,6 +94,17 @@ public class ItemBindable extends Item implements IBindable
return false; return false;
} }
public static boolean canSyphonFromNetwork(ItemStack stack, int lpRequested)
{
if (stack.getItem() instanceof ItemBindable)
{
ItemBindable itemBindable = (ItemBindable) stack.getItem();
return !Strings.isNullOrEmpty(itemBindable.getBindableOwner(stack)) && NetworkHelper.canSyphonFromContainer(stack, lpRequested);
}
return false;
}
public static void hurtPlayer(EntityPlayer user, int lpSyphoned) public static void hurtPlayer(EntityPlayer user, int lpSyphoned)
{ {
if (user != null) if (user != null)

View file

@ -3,6 +3,8 @@ package WayofTime.bloodmagic.item;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraftforge.fml.common.IFuelHandler; import net.minecraftforge.fml.common.IFuelHandler;
import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
@ -44,7 +46,8 @@ public class ItemLavaCrystal extends ItemBindable implements IFuelHandler
if (fuelItem instanceof ItemLavaCrystal) if (fuelItem instanceof ItemLavaCrystal)
{ {
if (syphonNetwork(fuel, getLPUsed())) //TODO: change to canSyphonNetwork // if(true)
if (canSyphonFromNetwork(fuel, getLPUsed()))
{ {
return 200; return 200;
} else } else
@ -52,7 +55,7 @@ public class ItemLavaCrystal extends ItemBindable implements IFuelHandler
EntityPlayer player = PlayerHelper.getPlayerFromUUID(getBindableOwner(fuel)); EntityPlayer player = PlayerHelper.getPlayerFromUUID(getBindableOwner(fuel));
if (player != null) if (player != null)
{ {
//TODO: Add nausea to the player. player.addPotionEffect(new PotionEffect(Potion.confusion.getId(), 99));
} }
return 0; return 0;

View file

@ -36,7 +36,10 @@ public class RitualGreenGrove extends Ritual
int currentEssence = network.getCurrentEssence(); int currentEssence = network.getCurrentEssence();
if (currentEssence < getRefreshCost()) if (currentEssence < getRefreshCost())
{
network.causeNauseaToPlayer();
return; return;
}
int maxGrowths = currentEssence / getRefreshCost(); int maxGrowths = currentEssence / getRefreshCost();
int totalGrowths = 0; int totalGrowths = 0;

View file

@ -35,7 +35,10 @@ public class RitualJumping extends Ritual
int currentEssence = network.getCurrentEssence(); int currentEssence = network.getCurrentEssence();
if (currentEssence < getRefreshCost()) if (currentEssence < getRefreshCost())
{
network.causeNauseaToPlayer();
return; return;
}
int maxEffects = currentEssence / getRefreshCost(); int maxEffects = currentEssence / getRefreshCost();
int totalEffects = 0; int totalEffects = 0;

View file

@ -28,7 +28,10 @@ public class RitualLava extends Ritual
int currentEssence = network.getCurrentEssence(); int currentEssence = network.getCurrentEssence();
if (currentEssence < getRefreshCost()) if (currentEssence < getRefreshCost())
{
network.causeNauseaToPlayer();
return; return;
}
int maxEffects = currentEssence / getRefreshCost(); int maxEffects = currentEssence / getRefreshCost();
int totalEffects = 0; int totalEffects = 0;

View file

@ -28,7 +28,10 @@ public class RitualWater extends Ritual
int currentEssence = network.getCurrentEssence(); int currentEssence = network.getCurrentEssence();
if (currentEssence < getRefreshCost()) if (currentEssence < getRefreshCost())
{
network.causeNauseaToPlayer();
return; return;
}
int maxEffects = currentEssence / getRefreshCost(); int maxEffects = currentEssence / getRefreshCost();
int totalEffects = 0; int totalEffects = 0;

View file

@ -44,7 +44,10 @@ public class RitualWellOfSuffering extends Ritual
int currentEssence = network.getCurrentEssence(); int currentEssence = network.getCurrentEssence();
if (currentEssence < getRefreshCost()) if (currentEssence < getRefreshCost())
{
network.causeNauseaToPlayer();
return; return;
}
BlockPos pos = masterRitualStone.getPos(); BlockPos pos = masterRitualStone.getPos();

View file

@ -0,0 +1,7 @@
{
"parent":"bloodmagic:item/ItemModelBase",
"textures": {
"layer0":"bloodmagic:items/LavaCrystal"
}
}