This commit is contained in:
Nicholas Ignoffo 2017-01-02 00:10:28 -08:00
parent 51e10eaad2
commit ed27873fbe
42 changed files with 3606 additions and 3648 deletions

View file

@ -26,8 +26,9 @@ public class ItemSigilAir extends ItemSigilBase implements ISentientSwordEffectP
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
@ -59,7 +60,7 @@ public class ItemSigilAir extends ItemSigilBase implements ISentientSwordEffectP
player.fallDistance = 0;
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
@Override

View file

@ -31,15 +31,16 @@ public class ItemSigilBloodLight extends ItemSigilBase
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
RayTraceResult mop = this.rayTrace(world, player, false);
if (getCooldownRemainder(stack) > 0)
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
if (mop != null && mop.typeOfHit == RayTraceResult.Type.BLOCK)
{
@ -52,19 +53,19 @@ public class ItemSigilBloodLight extends ItemSigilBase
NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player), player, getLpUsed());
resetCooldown(stack);
player.swingArm(hand);
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
} else
{
if (!world.isRemote)
{
world.spawnEntityInWorld(new EntityBloodLight(world, player));
world.spawnEntity(new EntityBloodLight(world, player));
NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player), player, getLpUsed());
}
resetCooldown(stack);
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
@Override

View file

@ -1,6 +1,5 @@
package WayofTime.bloodmagic.item.sigil;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.compress.CompressionRegistry;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import net.minecraft.entity.item.EntityItem;
@ -24,12 +23,12 @@ public class ItemSigilCompression extends ItemSigilToggleableBase
if (PlayerHelper.isFakePlayer(player))
return;
ItemStack compressedStack = CompressionRegistry.compressInventory(player.inventory.mainInventory, world);
ItemStack compressedStack = CompressionRegistry.compressInventory(player.inventory.mainInventory.toArray(new ItemStack[player.inventory.mainInventory.size()]), world);
if (compressedStack != null)
{
EntityItem entityItem = new EntityItem(world, player.posX, player.posY, player.posZ, compressedStack);
world.spawnEntityInWorld(entityItem);
world.spawnEntity(entityItem);
}
}
}

View file

@ -30,7 +30,7 @@ public class ItemSigilDivination extends ItemSigilBase implements IAltarReader
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
// if (world instanceof WorldServer)
// {
@ -46,13 +46,14 @@ public class ItemSigilDivination extends ItemSigilBase implements IAltarReader
// fred.setPosition(player.posX, player.posY, player.posZ);
// world.spawnEntityInWorld(fred);
// }
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
if (!world.isRemote)
{
super.onItemRightClick(stack, world, player, hand);
super.onItemRightClick(world, player, hand);
RayTraceResult position = rayTrace(world, player, false);
@ -99,6 +100,6 @@ public class ItemSigilDivination extends ItemSigilBase implements IAltarReader
}
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
}

View file

@ -48,7 +48,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
if (stack == player.getHeldItemMainhand() && stack.getItem() instanceof ItemSigilHolding && key.equals(KeyBindings.OPEN_HOLDING))
{
Utils.setUUID(stack);
player.openGui(BloodMagic.instance, Constants.Gui.SIGIL_HOLDING_GUI, player.worldObj, (int) player.posX, (int) player.posY, (int) player.posZ);
player.openGui(BloodMagic.instance, Constants.Gui.SIGIL_HOLDING_GUI, player.getEntityWorld(), (int) player.posX, (int) player.posY, (int) player.posZ);
}
}
@ -98,9 +98,10 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
if (PlayerHelper.isFakePlayer(playerIn))
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return EnumActionResult.FAIL;
int currentSlot = getCurrentItemOrdinal(stack);
@ -114,15 +115,16 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
if (itemUsing == null || Strings.isNullOrEmpty(((IBindable) itemUsing.getItem()).getOwnerUUID(itemUsing)))
return EnumActionResult.PASS;
EnumActionResult result = itemUsing.getItem().onItemUse(itemUsing, playerIn, worldIn, pos, hand, facing, hitX, hitY, hitZ);
EnumActionResult result = itemUsing.getItem().onItemUse(player, world, pos, hand, facing, hitX, hitY, hitZ);
saveInventory(stack, inv);
return result;
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
@ -137,7 +139,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
if (itemUsing == null || Strings.isNullOrEmpty(((IBindable) itemUsing.getItem()).getOwnerUUID(itemUsing)))
return ActionResult.newResult(EnumActionResult.PASS, stack);
itemUsing.getItem().onItemRightClick(itemUsing, world, player, hand);
itemUsing.getItem().onItemRightClick(world, player, hand);
saveInventory(stack, inv);
@ -251,7 +253,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
{
initModeTag(itemStack);
int currentSigil = itemStack.getTagCompound().getInteger(Constants.NBT.CURRENT_SIGIL);
currentSigil = MathHelper.clamp_int(currentSigil, 0, inventorySize - 1);
currentSigil = MathHelper.clamp(currentSigil, 0, inventorySize - 1);
return currentSigil;
}
@ -284,7 +286,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
if (j >= 0 && j < inv.length)
{
inv[j] = ItemStack.loadItemStackFromNBT(data);
inv[j] = new ItemStack(data);
}
}

View file

@ -28,8 +28,8 @@ public class ItemSigilMagnetism extends ItemSigilToggleableBase
float posX = Math.round(player.posX);
float posY = (float) (player.posY - player.getEyeHeight());
float posZ = Math.round(player.posZ);
List<EntityItem> entities = player.worldObj.getEntitiesWithinAABB(EntityItem.class, new AxisAlignedBB(posX - 0.5f, posY - 0.5f, posZ - 0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(range, verticalRange, range));
List<EntityXPOrb> xpOrbs = player.worldObj.getEntitiesWithinAABB(EntityXPOrb.class, new AxisAlignedBB(posX - 0.5f, posY - 0.5f, posZ - 0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(range, verticalRange, range));
List<EntityItem> entities = player.getEntityWorld().getEntitiesWithinAABB(EntityItem.class, new AxisAlignedBB(posX - 0.5f, posY - 0.5f, posZ - 0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(range, verticalRange, range));
List<EntityXPOrb> xpOrbs = player.getEntityWorld().getEntitiesWithinAABB(EntityXPOrb.class, new AxisAlignedBB(posX - 0.5f, posY - 0.5f, posZ - 0.5f, posX + 0.5f, posY + 0.5f, posZ + 0.5f).expand(range, verticalRange, range));
for (EntityItem entity : entities)
{

View file

@ -31,14 +31,15 @@ public class ItemSigilSeer extends ItemSigilBase implements IAltarReader
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
if (!world.isRemote)
{
super.onItemRightClick(stack, world, player, hand);
super.onItemRightClick(world, player, hand);
RayTraceResult rayTrace = rayTrace(world, player, false);
if (rayTrace == null)
@ -67,10 +68,10 @@ public class ItemSigilSeer extends ItemSigilBase implements IAltarReader
altar.checkTier();
if (tile instanceof IInventory)
{
if (((IInventory) tile).getStackInSlot(0) != null)
if (!((IInventory) tile).getStackInSlot(0).isEmpty())
{
int progress = altar.getProgress();
int totalLiquidRequired = altar.getLiquidRequired() * ((IInventory) tile).getStackInSlot(0).stackSize;
int totalLiquidRequired = altar.getLiquidRequired() * ((IInventory) tile).getStackInSlot(0).getCount();
int consumptionRate = (int) (altar.getConsumptionRate() * (altar.getConsumptionMultiplier() + 1));
ChatUtil.sendNoSpam(player, new TextComponentTranslation(tooltipBase + "currentAltarProgress", progress, totalLiquidRequired), new TextComponentTranslation(tooltipBase + "currentAltarConsumptionRate", consumptionRate), new TextComponentTranslation(tooltipBase + "currentAltarTier", tier), new TextComponentTranslation(tooltipBase + "currentEssence", currentEssence), new TextComponentTranslation(tooltipBase + "currentAltarCapacity", capacity), new TextComponentTranslation(tooltipBase + "currentCharge", charge));
} else
@ -93,6 +94,6 @@ public class ItemSigilSeer extends ItemSigilBase implements IAltarReader
}
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
}

View file

@ -48,10 +48,7 @@ public class ItemSigilSuppression extends ItemSigilToggleableBase
BlockPos blockPos = new BlockPos(x + i, y + j, z + k);
IBlockState state = world.getBlockState(blockPos);
// TODO - Change back when BlockFluidBase overrides getStateFromMeta()
// Temporary fix to avoid liquid duplication
if (state.getBlock() instanceof BlockFluidBase) {/*No-op*/}
else if (Utils.isBlockLiquid(state) && world.getTileEntity(blockPos) == null)
if (Utils.isBlockLiquid(state) && world.getTileEntity(blockPos) == null)
TileSpectralBlock.createSpectralBlock(world, blockPos, refresh);
else
{

View file

@ -47,8 +47,9 @@ public class ItemSigilTeleposition extends ItemSigilBase
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
@ -63,12 +64,13 @@ public class ItemSigilTeleposition extends ItemSigilBase
TeleportQueue.getInstance().addITeleport(new Teleports.TeleportToDim(blockPos, player, getOwnerUUID(stack), world, getValue(stack.getTagCompound(), Constants.NBT.DIMENSION_ID), true));
}
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return EnumActionResult.FAIL;

View file

@ -66,8 +66,9 @@ public class ItemSigilTransposition extends ItemSigilBase
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return EnumActionResult.FAIL;
@ -123,7 +124,7 @@ public class ItemSigilTransposition extends ItemSigilBase
blockPos = blockPos.offset(side);
}
if (stack.stackSize != 0 && player.canPlayerEdit(blockPos, side, stack) && world.canBlockBePlaced(blockToPlace.getBlock(), blockPos, false, side, player, stack))
if (!stack.isEmpty() && player.canPlayerEdit(blockPos, side, stack) && world.mayPlace(blockToPlace.getBlock(), blockPos, false, side, player))
{
if (world.setBlockState(blockPos, blockToPlace.getState(), 3))
{

View file

@ -15,8 +15,8 @@ import net.minecraft.world.World;
import net.minecraftforge.event.ForgeEventFactory;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidBlock;
import net.minecraftforge.fluids.IFluidHandler;
import WayofTime.bloodmagic.api.Constants;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
public class ItemSigilVoid extends ItemSigilBase
{
@ -26,8 +26,9 @@ public class ItemSigilVoid extends ItemSigilBase
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
@ -47,40 +48,41 @@ public class ItemSigilVoid extends ItemSigilBase
if (!world.isBlockModifiable(player, blockpos))
{
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
if (!player.canPlayerEdit(blockpos.offset(rayTrace.sideHit), rayTrace.sideHit, stack))
{
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
if (!player.canPlayerEdit(blockpos, rayTrace.sideHit, stack))
{
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
if (world.getBlockState(blockpos).getBlock().getMaterial(world.getBlockState(blockpos)).isLiquid() && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()))
{
world.setBlockToAir(blockpos);
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
}
} else
{
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
if (!player.capabilities.isCreativeMode)
this.setUnusable(stack, !NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()));
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return EnumActionResult.FAIL;
@ -95,13 +97,14 @@ public class ItemSigilVoid extends ItemSigilBase
}
TileEntity tile = world.getTileEntity(blockPos);
if (tile instanceof IFluidHandler)
if (tile.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side))
{
FluidStack amount = ((IFluidHandler) tile).drain(side, 1000, false);
IFluidHandler handler = tile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side);
FluidStack amount = handler.drain(1000, false);
if (amount != null && amount.amount > 0 && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()))
{
((IFluidHandler) tile).drain(side, 1000, true);
handler.drain(1000, true);
return EnumActionResult.SUCCESS;
}

View file

@ -20,8 +20,8 @@ import net.minecraft.util.math.RayTraceResult;
import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
import WayofTime.bloodmagic.api.Constants;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
public class ItemSigilWater extends ItemSigilBase
{
@ -31,8 +31,9 @@ public class ItemSigilWater extends ItemSigilBase
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand)
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
{
ItemStack stack = player.getHeldItem(hand);
if (PlayerHelper.isFakePlayer(player))
return ActionResult.newResult(EnumActionResult.FAIL, stack);
@ -51,28 +52,29 @@ public class ItemSigilWater extends ItemSigilBase
BlockPos blockpos = rayTrace.getBlockPos();
if (!world.isBlockModifiable(player, blockpos))
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
if (!player.canPlayerEdit(blockpos.offset(rayTrace.sideHit), rayTrace.sideHit, stack))
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
BlockPos blockpos1 = blockpos.offset(rayTrace.sideHit);
if (!player.canPlayerEdit(blockpos1, rayTrace.sideHit, stack))
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
if (this.canPlaceWater(world, blockpos1) && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()) && this.tryPlaceWater(world, blockpos1))
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
}
}
return super.onItemRightClick(stack, world, player, hand);
return super.onItemRightClick(world, player, hand);
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ)
{
ItemStack stack = player.getHeldItem(hand);
if (world.isRemote || player.isSneaking() || isUnusable(stack))
return EnumActionResult.FAIL;
@ -80,14 +82,15 @@ public class ItemSigilWater extends ItemSigilBase
return EnumActionResult.FAIL;
TileEntity tile = world.getTileEntity(blockPos);
if (tile instanceof IFluidHandler)
if (tile.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side))
{
IFluidHandler handler = tile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side);
FluidStack fluid = new FluidStack(FluidRegistry.WATER, 1000);
int amount = ((IFluidHandler) tile).fill(side, fluid, false);
int amount = handler.fill(fluid, false);
if (amount > 0 && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()))
{
((IFluidHandler) tile).fill(side, fluid, true);
handler.fill(fluid, true);
return EnumActionResult.SUCCESS;
}

View file

@ -1,13 +1,10 @@
package WayofTime.bloodmagic.item.sigil;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import WayofTime.bloodmagic.registry.ModPotions;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.world.World;
public class ItemSigilWhirlwind extends ItemSigilToggleableBase