Move binding back to PIE
BM will now only load with Forge 1840+ as that is the version that PIE was re-implemented. Set dependency to avoid crashes. Also updated JEI version so it wouldn't crash with new Forge.
This commit is contained in:
parent
b0b61798fe
commit
794ac6a7a2
8 changed files with 26 additions and 126 deletions
|
@ -118,7 +118,7 @@ public class Constants
|
|||
public static final String DOMAIN = MODID.toLowerCase(Locale.ENGLISH) + ":";
|
||||
public static final String NAME = "Blood Magic: Alchemical Wizardry";
|
||||
public static final String VERSION = "@VERSION@";
|
||||
public static final String DEPEND = "after:JEI@[2.23.0,);after:guideapi";
|
||||
public static final String DEPEND = "required-after:Forge@[12.16.0.1840,);after:JEI@[2.23.0,);after:guideapi;";
|
||||
}
|
||||
|
||||
public static final class Gui
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
package WayofTime.bloodmagic.api;
|
||||
|
||||
import WayofTime.bloodmagic.api.event.ItemBindEvent;
|
||||
import WayofTime.bloodmagic.api.iface.IBindable;
|
||||
import WayofTime.bloodmagic.api.network.SoulNetwork;
|
||||
import WayofTime.bloodmagic.api.orb.IBloodOrb;
|
||||
import WayofTime.bloodmagic.api.util.helper.BindableHelper;
|
||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
|
||||
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
||||
import com.google.common.base.Strings;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.common.eventhandler.Event;
|
||||
|
||||
@Deprecated
|
||||
public class DinnerBeforeDessert
|
||||
{
|
||||
// Temporary binding method until PlayerInteractEvent is re-implemented in Forge 1.9.
|
||||
// Returns false if binding fails.
|
||||
public static boolean bindMe(World world, EntityPlayer player, ItemStack stack)
|
||||
{
|
||||
if (stack == null)
|
||||
return false;
|
||||
|
||||
if (PlayerHelper.isFakePlayer(player))
|
||||
return false;
|
||||
|
||||
if (!(stack.getItem() instanceof IBindable))
|
||||
return false;
|
||||
|
||||
NBTHelper.checkNBT(stack);
|
||||
IBindable bindable = (IBindable) stack.getItem();
|
||||
|
||||
if (Strings.isNullOrEmpty(bindable.getOwnerUUID(stack)))
|
||||
{
|
||||
if (bindable.onBind(player, stack))
|
||||
{
|
||||
String uuid = PlayerHelper.getUUIDFromPlayer(player).toString();
|
||||
ItemBindEvent toPost = new ItemBindEvent(player, uuid, stack);
|
||||
if (MinecraftForge.EVENT_BUS.post(toPost) || toPost.getResult() == Event.Result.DENY)
|
||||
return false;
|
||||
|
||||
BindableHelper.setItemOwnerUUID(stack, uuid);
|
||||
BindableHelper.setItemOwnerName(stack, player.getDisplayNameString());
|
||||
return true;
|
||||
}
|
||||
} else if (bindable.getOwnerUUID(stack).equals(PlayerHelper.getUUIDFromPlayer(player).toString()) && !bindable.getOwnerName(stack).equals(player.getDisplayNameString()))
|
||||
{
|
||||
BindableHelper.setItemOwnerName(stack, player.getDisplayNameString());
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Temporary Orb tier setting until PlayerInteractEvent is re-implemented in Forge 1.9.
|
||||
public static void setOrbTier(EntityPlayer player, ItemStack stack)
|
||||
{
|
||||
if (stack == null)
|
||||
return;
|
||||
|
||||
if (!(stack.getItem() instanceof IBloodOrb))
|
||||
return;
|
||||
|
||||
NBTHelper.checkNBT(stack);
|
||||
IBloodOrb bloodOrb = (IBloodOrb) stack.getItem();
|
||||
SoulNetwork network = NetworkHelper.getSoulNetwork(player);
|
||||
|
||||
if (bloodOrb.getOrbLevel(stack.getItemDamage()) > network.getOrbTier())
|
||||
network.setOrbTier(bloodOrb.getOrbLevel(stack.getItemDamage()));
|
||||
}
|
||||
}
|
|
@ -1,15 +1,11 @@
|
|||
package WayofTime.bloodmagic.api.impl;
|
||||
|
||||
import WayofTime.bloodmagic.api.DinnerBeforeDessert;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import WayofTime.bloodmagic.api.Constants;
|
||||
import WayofTime.bloodmagic.api.iface.IBindable;
|
||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
/**
|
||||
* Base class for all bindable items.
|
||||
|
@ -23,14 +19,6 @@ public class ItemBindable extends Item implements IBindable
|
|||
setMaxStackSize(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand)
|
||||
{
|
||||
if (!worldIn.isRemote)
|
||||
DinnerBeforeDessert.bindMe(worldIn, playerIn, itemStackIn);
|
||||
return super.onItemRightClick(itemStackIn, worldIn, playerIn, hand);
|
||||
}
|
||||
|
||||
// IBindable
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue