Search in sources :

Example 1 with ISigil

use of WayofTime.bloodmagic.iface.ISigil in project BloodMagic by WayofTime.

the class ContainerHolding method transferStackInSlot.

@Override
public ItemStack transferStackInSlot(EntityPlayer entityPlayer, int slotIndex) {
    ItemStack stack = ItemStack.EMPTY;
    Slot slotObject = inventorySlots.get(slotIndex);
    int slots = inventorySlots.size();
    if (slotObject != null && slotObject.getHasStack()) {
        ItemStack stackInSlot = slotObject.getStack();
        stack = stackInSlot.copy();
        if (stack.getItem() instanceof ISigil) {
            if (slotIndex < ItemSigilHolding.inventorySize) {
                if (!this.mergeItemStack(stackInSlot, ItemSigilHolding.inventorySize, slots, false)) {
                    return ItemStack.EMPTY;
                }
            } else if (!this.mergeItemStack(stackInSlot, 0, ItemSigilHolding.inventorySize, false)) {
                return ItemStack.EMPTY;
            }
        } else if (stack.getItem() instanceof ItemSigilHolding) {
            if (slotIndex < ItemSigilHolding.inventorySize + (PLAYER_INVENTORY_ROWS * PLAYER_INVENTORY_COLUMNS)) {
                if (!this.mergeItemStack(stackInSlot, ItemSigilHolding.inventorySize + (PLAYER_INVENTORY_ROWS * PLAYER_INVENTORY_COLUMNS), inventorySlots.size(), false)) {
                    return ItemStack.EMPTY;
                }
            } else if (!this.mergeItemStack(stackInSlot, ItemSigilHolding.inventorySize, ItemSigilHolding.inventorySize + (PLAYER_INVENTORY_ROWS * PLAYER_INVENTORY_COLUMNS), false)) {
                return ItemStack.EMPTY;
            }
        }
        if (stackInSlot.isEmpty()) {
            slotObject.putStack(ItemStack.EMPTY);
        } else {
            slotObject.onSlotChanged();
        }
        if (stackInSlot.getCount() == stack.getCount()) {
            return ItemStack.EMPTY;
        }
        slotObject.onTake(player, stackInSlot);
    }
    return stack;
}
Also used : Slot(net.minecraft.inventory.Slot) ItemStack(net.minecraft.item.ItemStack) ISigil(WayofTime.bloodmagic.iface.ISigil) ItemSigilHolding(WayofTime.bloodmagic.item.sigil.ItemSigilHolding)

Example 2 with ISigil

use of WayofTime.bloodmagic.iface.ISigil in project BloodMagic by WayofTime.

the class ModRecipes method addAlchemyArrayRecipes.

public static void addAlchemyArrayRecipes() {
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_SWORD), new AlchemyArrayEffectBinding("boundSword", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SWORD))), new BindingAlchemyCircleRenderer());
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_AXE), new AlchemyArrayEffectBinding("boundAxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_AXE))));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_PICKAXE), new AlchemyArrayEffectBinding("boundPickaxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_PICKAXE))));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_SHOVEL), new AlchemyArrayEffectBinding("boundShovel", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SHOVEL))));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_HELMET), new AlchemyArrayEffectBinding("livingHelmet", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET)));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_CHESTPLATE), new AlchemyArrayEffectBinding("livingChest", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST)));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_LEGGINGS), new AlchemyArrayEffectBinding("livingLegs", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS)));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_BOOTS), new AlchemyArrayEffectBinding("livingBoots", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_BOOTS)));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ROTTEN_FLESH), new ItemStack(Items.ROTTEN_FLESH), new AlchemyArrayEffectAttractor("attractor"), new AttractorAlchemyCircleRenderer());
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.FEATHER), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectMovement("movement"), new StaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/MovementArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.FEATHER), new ItemStack(Items.GLOWSTONE_DUST), new AlchemyArrayEffectUpdraft("updraft"), new AttractorAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/UpdraftArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.SLIME_BALL), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectBounce("bounce"), new SingleAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/BounceArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.COAL), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectFurnaceFuel("furnace"), new LowAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FurnaceArray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ARROW), new ItemStack(Items.FEATHER), new AlchemyArrayEffectSkeletonTurret("skeletonTurret"), new DualAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret1.png"), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret2.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ENDER_PEARL), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectTeleport("teleport"), new StaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/teleportation.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.BOW), new ItemStack(Items.ARROW), new AlchemyArrayEffectArrowTurret("turret"), new TurretAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret1.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.REDSTONE), new ItemStack(Blocks.LAPIS_BLOCK), new AlchemyArrayEffectLaputa("laputa"), new AttractorAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/shardoflaputa.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Blocks.COBBLESTONE), new ItemStack(Items.IRON_INGOT), new AlchemyArrayEffectSpike("spike"), new LowStaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/spikearray.png")));
    AlchemyArrayRecipeRegistry.registerRecipe(ComponentTypes.REAGENT_FAST_MINER.getStack(), new ItemStack(Items.IRON_PICKAXE), new AlchemyArrayEffectSigil("fastMiner", (ISigil) RegistrarBloodMagicItems.SIGIL_FAST_MINER), new SingleAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FastMinerSigil.png")));
}
Also used : BindingAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.BindingAlchemyCircleRenderer) AlchemyArrayEffectTeleport(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectTeleport) AlchemyArrayEffectMovement(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectMovement) LowAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.LowAlchemyCircleRenderer) AlchemyArrayEffectSigil(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSigil) SingleAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.SingleAlchemyCircleRenderer) AlchemyArrayEffectSkeletonTurret(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSkeletonTurret) AlchemyArrayEffectBinding(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBinding) TurretAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.TurretAlchemyCircleRenderer) AlchemyArrayEffectAttractor(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectAttractor) ResourceLocation(net.minecraft.util.ResourceLocation) AlchemyArrayEffectUpdraft(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectUpdraft) AlchemyArrayEffectBounce(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBounce) AlchemyArrayEffectSpike(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSpike) LowStaticAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.LowStaticAlchemyCircleRenderer) ItemStack(net.minecraft.item.ItemStack) AttractorAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.AttractorAlchemyCircleRenderer) StaticAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.StaticAlchemyCircleRenderer) LowStaticAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.LowStaticAlchemyCircleRenderer) AlchemyArrayEffectFurnaceFuel(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectFurnaceFuel) AlchemyArrayEffectArrowTurret(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectArrowTurret) DualAlchemyCircleRenderer(WayofTime.bloodmagic.client.render.alchemyArray.DualAlchemyCircleRenderer) AlchemyArrayEffectLaputa(WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectLaputa) ISigil(WayofTime.bloodmagic.iface.ISigil)

Aggregations

ISigil (WayofTime.bloodmagic.iface.ISigil)2 ItemStack (net.minecraft.item.ItemStack)2 AlchemyArrayEffectArrowTurret (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectArrowTurret)1 AlchemyArrayEffectAttractor (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectAttractor)1 AlchemyArrayEffectBinding (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBinding)1 AlchemyArrayEffectBounce (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectBounce)1 AlchemyArrayEffectFurnaceFuel (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectFurnaceFuel)1 AlchemyArrayEffectLaputa (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectLaputa)1 AlchemyArrayEffectMovement (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectMovement)1 AlchemyArrayEffectSigil (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSigil)1 AlchemyArrayEffectSkeletonTurret (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSkeletonTurret)1 AlchemyArrayEffectSpike (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectSpike)1 AlchemyArrayEffectTeleport (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectTeleport)1 AlchemyArrayEffectUpdraft (WayofTime.bloodmagic.alchemyArray.AlchemyArrayEffectUpdraft)1 AttractorAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.AttractorAlchemyCircleRenderer)1 BindingAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.BindingAlchemyCircleRenderer)1 DualAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.DualAlchemyCircleRenderer)1 LowAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.LowAlchemyCircleRenderer)1 LowStaticAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.LowStaticAlchemyCircleRenderer)1 SingleAlchemyCircleRenderer (WayofTime.bloodmagic.client.render.alchemyArray.SingleAlchemyCircleRenderer)1