Fixed multipler issue with blood frames

This commit is contained in:
Alexander Anishin committed 2023-04-30 20:10:34 +03:00
1 parent 2870e06387
commit b338d97517
4 files changed
+13 -18

No files matched your search

@@ -35,18 +35,21 @@ public class BloodHelper implements IModHelper {
return isBloodMagicActive;
}
@Override
public void preInit() {
if (Loader.isModLoaded(Name)) {
isBloodMagicActive = true;
}
}
@Override
public void init() {
if (isActive()) {
getItems();
}
}
@Override
public void postInit() {
if (isActive()) {
getRecipes();
@@ -57,10 +60,8 @@ public class BloodHelper implements IModHelper {
}
}
public static void getBlocks() {}
@Optional.Method(modid = Name)
public static void getItems() {
private static void getItems() {
hiveFrameBloodBase = new ItemBloodBaseFrame();
GameRegistry.registerItem(hiveFrameBloodBase, hiveFrameBloodBase.getUnlocalizedName(), CommonProxy.DOMAIN);
@@ -8,6 +8,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler;
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -18,7 +19,6 @@ import magicbees.main.utils.TabMagicBees;
public class ItemBloodBaseFrame extends EnergyItems implements IHiveFrame {
private final IBeeModifier beeModifier = new BloodFrameBaseBeeModifier();
private EntityPlayer owner = null;
int energyUsed = 1000;
public ItemBloodBaseFrame() {
@@ -84,6 +84,7 @@ public class ItemBloodBaseFrame extends EnergyItems implements IHiveFrame {
}
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
par3List.add(StatCollector.translateToLocal("You feel gross touching this"));
par3List.add(StatCollector.translateToLocal("Uses " + String.valueOf(energyUsed) + " LP per cycle"));
@@ -106,7 +107,6 @@ public class ItemBloodBaseFrame extends EnergyItems implements IHiveFrame {
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer)) {
owner = par3EntityPlayer;
if (par1ItemStack.getItemDamage() > 0) {
if (EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) {
par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
@@ -120,9 +120,7 @@ public class ItemBloodBaseFrame extends EnergyItems implements IHiveFrame {
@Override
public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) {
if (EnergyItems.canSyphonInContainer(frame, getEnergyUsed() * wear)) {
if (owner != null) {
EnergyItems.drainPlayerNetwork(owner, getEnergyUsed() * wear);
}
SoulNetworkHandler.syphonFromNetwork(frame, getEnergyUsed() * wear);
} else {
frame.setItemDamage(frame.getItemDamage() + wear);
if (frame.getItemDamage() >= frame.getMaxDamage()) {
@@ -8,6 +8,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler;
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -18,7 +19,6 @@ import magicbees.main.utils.TabMagicBees;
public class ItemBloodFrame extends EnergyItems implements IHiveFrame {
private final IBeeModifier beeModifier = new BloodFrameBeeModifier();
private EntityPlayer owner = null;
int energyUsed = 1000;
public ItemBloodFrame() {
@@ -84,6 +84,7 @@ public class ItemBloodFrame extends EnergyItems implements IHiveFrame {
}
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
par3List.add(StatCollector.translateToLocal("tooltip.bloodframe.desc"));
par3List.add(StatCollector.translateToLocal("Uses " + String.valueOf(energyUsed) + " LP per cycle"));
@@ -106,7 +107,6 @@ public class ItemBloodFrame extends EnergyItems implements IHiveFrame {
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer)) {
owner = par3EntityPlayer;
if (par1ItemStack.getItemDamage() > 0) {
if (EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) {
par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
@@ -120,9 +120,7 @@ public class ItemBloodFrame extends EnergyItems implements IHiveFrame {
@Override
public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) {
if (EnergyItems.canSyphonInContainer(frame, getEnergyUsed() * wear)) {
if (owner != null) {
EnergyItems.drainPlayerNetwork(owner, getEnergyUsed() * wear);
}
SoulNetworkHandler.syphonFromNetwork(frame, getEnergyUsed() * wear);
} else {
frame.setItemDamage(frame.getItemDamage() + wear);
if (frame.getItemDamage() >= frame.getMaxDamage()) {
@@ -8,6 +8,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler;
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -18,7 +19,6 @@ import magicbees.main.utils.TabMagicBees;
public class ItemFrenziedFrame extends EnergyItems implements IHiveFrame {
private final IBeeModifier beeModifier = new FrenziedFrameBeeModifier();
private EntityPlayer owner = null;
int energyUsed = 1000;
public ItemFrenziedFrame() {
@@ -84,6 +84,7 @@ public class ItemFrenziedFrame extends EnergyItems implements IHiveFrame {
}
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
par3List.add(StatCollector.translateToLocal("MAY CHAOS TAKE THE WORLD"));
par3List.add(StatCollector.translateToLocal("Uses " + String.valueOf(energyUsed) + " LP per cycle"));
@@ -105,7 +106,6 @@ public class ItemFrenziedFrame extends EnergyItems implements IHiveFrame {
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer)) {
owner = par3EntityPlayer;
if (par1ItemStack.getItemDamage() > 0) {
if (EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) {
par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
@@ -119,9 +119,7 @@ public class ItemFrenziedFrame extends EnergyItems implements IHiveFrame {
@Override
public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) {
if (EnergyItems.canSyphonInContainer(frame, getEnergyUsed() * wear)) {
if (owner != null) {
EnergyItems.drainPlayerNetwork(owner, getEnergyUsed() * wear);
}
SoulNetworkHandler.syphonFromNetwork(frame, getEnergyUsed() * wear);
} else {
frame.setItemDamage(frame.getItemDamage() + wear);
if (frame.getItemDamage() >= frame.getMaxDamage()) {