Jump to content

Custom recipe not working 1.8


Aidas1000

Recommended Posts

Hello, I am making a custom crafting table. I got it almost working, but it crashes with a new recipe.

The crash report:

net.minecraft.util.ReportedException: Updating screen events
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1774) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:376) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
Caused by: java.lang.NullPointerException
at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:139) ~[slotCrafting.class:?]
at net.minecraft.inventory.Container.slotClick(Container.java:359) ~[Container.class:?]
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) ~[PlayerControllerMP.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) ~[GuiContainer.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) ~[GuiContainer.class:?]
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) ~[GuiScreen.class:?]
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) ~[GuiScreen.class:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760) ~[Minecraft.class:?]
... 15 more
[10:37:51] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: ---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.

Time: 3/24/16 10:37 AM
Description: Updating screen events

java.lang.NullPointerException: Updating screen events
at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:139)
at net.minecraft.inventory.Container.slotClick(Container.java:359)
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539)
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690)
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422)
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606)
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087)
at net.minecraft.client.Minecraft.run(Minecraft.java:376)
at net.minecraft.client.main.Main.main(Main.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:139)
at net.minecraft.inventory.Container.slotClick(Container.java:359)
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539)
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690)
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422)
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606)
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572)

-- Affected screen --
Details:
Screen name: aidas.morestuff.client.gui.BigGui

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['Player568'/170, l='MpServer', x=172.67, y=66.00, z=278.58]]
Chunk stats: MultiplayerChunkCache: 625, 625
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options: 
Level spawn location: 164.00,64.00,256.00 - World: (164,64,256), Chunk: (at 4,4,0 in 10,16; contains blocks 160,0,256 to 175,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 375270 game time, 1000 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 69 total; [EntityBat['Bat'/128, l='MpServer', x=243.75, y=27.10, z=218.25], EntityBat['Bat'/129, l='MpServer', x=247.48, y=27.00, z=244.13], EntityBat['Bat'/130, l='MpServer', x=247.48, y=27.01, z=253.78], EntityZombie['Zombie'/131, l='MpServer', x=251.84, y=26.00, z=263.63], EntityZombie['Zombie'/133, l='MpServer', x=242.50, y=39.00, z=274.50], EntitySquid['Squid'/134, l='MpServer', x=234.47, y=60.59, z=274.38], EntitySkeleton['Skeleton'/137, l='MpServer', x=245.88, y=28.00, z=298.44], EntitySkeleton['Skeleton'/138, l='MpServer', x=247.50, y=12.00, z=305.50], EntityBat['Bat'/139, l='MpServer', x=246.60, y=33.67, z=307.04], EntitySkeleton['Skeleton'/140, l='MpServer', x=244.50, y=32.00, z=307.50], EntitySkeleton['Skeleton'/141, l='MpServer', x=247.50, y=33.00, z=310.09], EntityCreeper['Creeper'/142, l='MpServer', x=251.72, y=15.00, z=327.75], EntitySkeleton['Skeleton'/143, l='MpServer', x=250.50, y=15.00, z=327.50], EntityCreeper['Creeper'/144, l='MpServer', x=252.69, y=15.00, z=328.69], EntitySkeleton['Skeleton'/145, l='MpServer', x=249.81, y=18.00, z=341.69], EntityZombie['Zombie'/146, l='MpServer', x=251.50, y=18.00, z=341.50], EntityBat['Bat'/147, l='MpServer', x=242.75, y=23.10, z=341.41], EntitySpider['Spider'/148, l='MpServer', x=246.50, y=25.00, z=344.50], EntityCreeper['Creeper'/149, l='MpServer', x=247.50, y=25.00, z=347.50], EntityEnderman['Enderman'/26, l='MpServer', x=94.47, y=15.00, z=209.31], EntityCreeper['Creeper'/30, l='MpServer', x=107.72, y=14.00, z=218.16], EntityEnderman['Enderman'/31, l='MpServer', x=99.28, y=15.00, z=210.44], EntityCreeper['Creeper'/33, l='MpServer', x=109.50, y=11.00, z=276.50], EntityZombie['Zombie'/36, l='MpServer', x=128.47, y=20.00, z=202.03], EntityCreeper['Creeper'/40, l='MpServer', x=154.97, y=12.00, z=246.38], EntityChicken['Chicken'/51, l='MpServer', x=170.19, y=64.65, z=206.31], EntityCreeper['Creeper'/52, l='MpServer', x=168.50, y=12.00, z=227.50], EntityCreeper['Creeper'/53, l='MpServer', x=171.50, y=12.00, z=228.50], EntityCreeper['Creeper'/54, l='MpServer', x=166.56, y=13.00, z=231.03], EntityChicken['Chicken'/55, l='MpServer', x=160.22, y=65.47, z=244.34], EntityItem['item.item.egg'/56, l='MpServer', x=160.09, y=65.00, z=244.63], EntityZombie['Zombie'/60, l='MpServer', x=192.03, y=13.00, z=200.50], EntityRabbit['Rabbit'/61, l='MpServer', x=184.69, y=68.00, z=241.09], EntitySpider['Spider'/62, l='MpServer', x=191.50, y=14.00, z=298.50], EntityZombie['Zombie'/63, l='MpServer', x=183.50, y=17.00, z=326.50], EntityZombie['Zombie'/73, l='MpServer', x=192.69, y=13.00, z=201.66], EntitySpider['Spider'/74, l='MpServer', x=194.50, y=13.00, z=203.50], EntitySkeleton['Skeleton'/75, l='MpServer', x=199.91, y=37.00, z=230.44], EntitySkeleton['Skeleton'/76, l='MpServer', x=200.50, y=35.00, z=247.50], EntityCreeper['Creeper'/77, l='MpServer', x=207.59, y=33.00, z=247.81], EntitySquid['Squid'/78, l='MpServer', x=201.63, y=62.00, z=250.97], EntityCreeper['Creeper'/79, l='MpServer', x=201.50, y=30.00, z=274.50], EntityCreeper['Creeper'/80, l='MpServer', x=199.50, y=30.00, z=274.50], EntitySkeleton['Skeleton'/81, l='MpServer', x=206.41, y=47.00, z=283.06], EntityZombie['Zombie'/82, l='MpServer', x=205.09, y=47.00, z=280.25], EntityBat['Bat'/83, l='MpServer', x=207.05, y=48.56, z=282.00], EntitySpider['Spider'/84, l='MpServer', x=199.63, y=20.00, z=332.84], EntityBat['Bat'/85, l='MpServer', x=203.75, y=22.10, z=335.41], EntityRabbit['Rabbit'/97, l='MpServer', x=220.66, y=66.00, z=208.75], EntityCreeper['Creeper'/98, l='MpServer', x=208.47, y=32.00, z=249.06], EntitySquid['Squid'/99, l='MpServer', x=220.47, y=44.94, z=244.75], EntityBat['Bat'/228, l='MpServer', x=206.56, y=31.10, z=276.19], EntitySquid['Squid'/100, l='MpServer', x=215.84, y=60.84, z=256.69], EntityBat['Bat'/229, l='MpServer', x=210.00, y=30.02, z=274.53], EntitySquid['Squid'/101, l='MpServer', x=228.47, y=46.16, z=250.41], EntityCreeper['Creeper'/102, l='MpServer', x=218.91, y=32.00, z=269.47], EntitySquid['Squid'/103, l='MpServer', x=228.41, y=55.19, z=264.53], EntitySquid['Squid'/104, l='MpServer', x=222.56, y=53.00, z=267.81], EntitySquid['Squid'/105, l='MpServer', x=218.44, y=59.13, z=342.81], EntityPlayerSP['Player568'/170, l='MpServer', x=172.67, y=66.00, z=278.58], EntityChicken['Chicken'/108, l='MpServer', x=236.47, y=62.69, z=237.22], EntitySquid['Squid'/109, l='MpServer', x=232.16, y=46.81, z=244.47], EntitySquid['Squid'/110, l='MpServer', x=230.84, y=52.25, z=256.91], EntitySquid['Squid'/111, l='MpServer', x=220.34, y=48.72, z=250.44], EntitySquid['Squid'/112, l='MpServer', x=224.81, y=54.69, z=263.53], EntitySkeleton['Skeleton'/114, l='MpServer', x=227.50, y=37.00, z=316.50], EntityBat['Bat'/115, l='MpServer', x=236.53, y=26.10, z=345.34], EntityBat['Bat'/116, l='MpServer', x=235.25, y=24.10, z=344.56], EntityBat['Bat'/119, l='MpServer', x=228.20, y=22.05, z=353.16]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:392)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2614)
at net.minecraft.client.Minecraft.run(Minecraft.java:398)
at net.minecraft.client.main.Main.main(Main.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

The container code:

package aidas.morestuff.guicontainer;

import aidas.morestuff.blocks.MBlocks;
import aidas.morestuff.items.MItems;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCraftResult;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.SlotCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;

public class BigContainer extends Container
{
    /** The crafting matrix inventory (4x4). */
    public InventoryCrafting craftMatrix = new InventoryCrafting(this, 4, 4);
    public IInventory craftResult = new InventoryCraftResult();
    private World worldObj;
    private BlockPos field_178145_h;
    private static final String __OBFID = "CL_00001744";

    public BigContainer(InventoryPlayer playerInventory, World worldIn, BlockPos p_i45800_3_)
    {
        this.worldObj = worldIn;
        this.field_178145_h = p_i45800_3_;
        this.addSlotToContainer(new SlotCrafting(playerInventory.player, this.craftMatrix, this.craftResult, 0, 124, 35));
        int i;
        int j;
        
        int counter = 0;
        for (i = 0; i < 4; ++i)
        {
            for (j = 0; j < 4; ++j)
            {
                this.addSlotToContainer(new Slot(this.craftMatrix, counter++, 11 + j * 18, 5 + i * 18));
            }
        }

        for (i = 0; i < 3; ++i)
        {
            for (j = 0; j < 9; ++j)
            {
                this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
            }
        }

        for (i = 0; i < 9; ++i)
        {
            this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 142));
        }

        this.onCraftMatrixChanged(this.craftMatrix);
    }

    /**
     * Callback for when the crafting matrix is changed.
     */
    public void onCraftMatrixChanged(IInventory inventoryIn)
    {
        /*ItemStack out = CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj);
        if(out != null && out.getItem() == MItems.SeedRuby)
        {*/
    	this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj));
        //}
    }

    /**
     * Called when the container is closed.
     */
    public void onContainerClosed(EntityPlayer playerIn)
    {
        super.onContainerClosed(playerIn);

        if (!this.worldObj.isRemote)
        {
            for (int i = 0; i < 16; ++i)
            {
                ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i);

                if (itemstack != null)
                {
                    playerIn.dropPlayerItemWithRandomChoice(itemstack, false);
                }
            }
        }
    }

    public boolean canInteractWith(EntityPlayer playerIn)
    {
        return this.worldObj.getBlockState(this.field_178145_h).getBlock() != MBlocks.big_workbench ? false : playerIn.getDistanceSq((double)this.field_178145_h.getX() + 0.5D, (double)this.field_178145_h.getY() + 0.5D, (double)this.field_178145_h.getZ() + 0.5D) <= 64.0D;
    }

    /**
     * Take a stack from the specified inventory slot.
     */
    public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
    {
        ItemStack itemstack = null;
        Slot slot = (Slot)this.inventorySlots.get(index);

        if (slot != null && slot.getHasStack())
        {
            ItemStack itemstack1 = slot.getStack();
            itemstack = itemstack1.copy();

            if (index == 0)
            {
                if (!this.mergeItemStack(itemstack1, 10, 46, true))
                {
                    return null;
                }

                slot.onSlotChange(itemstack1, itemstack);
            }
            else if (index >= 10 && index < 37)
            {
                if (!this.mergeItemStack(itemstack1, 37, 46, false))
                {
                    return null;
                }
            }
            else if (index >= 37 && index < 46)
            {
                if (!this.mergeItemStack(itemstack1, 10, 37, false))
                {
                    return null;
                }
            }
            else if (!this.mergeItemStack(itemstack1, 10, 46, false))
            {
                return null;
            }

            if (itemstack1.stackSize == 0)
            {
                slot.putStack((ItemStack)null);
            }
            else
            {
                slot.onSlotChanged();
            }

            if (itemstack1.stackSize == itemstack.stackSize)
            {
                return null;
            }
            System.out.println(itemstack1.toString());
            slot.onPickupFromSlot(playerIn, itemstack1);
        }

        return itemstack;
    }

    /**
     * Called to determine if the current slot is valid for the stack merging (double-click) code. The stack passed in
     * is null for the initial slot that was double-clicked.
     */
    public boolean canMergeSlot(ItemStack p_94530_1_, Slot p_94530_2_)
    {
        return p_94530_2_.inventory != this.craftResult && super.canMergeSlot(p_94530_1_, p_94530_2_);
    }
}

The recipe code:

package aidas.morestuff.crafting;

import aidas.morestuff.items.MItems;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.world.World;

public class RubySeedRecipie implements IRecipe
{

@Override
public boolean matches(InventoryCrafting slot, World worldIn)
{
	if(slot.getSizeInventory() != 16) return false;
	boolean matches = false;
	for(int i = 0; i < slot.getSizeInventory(); i++)
	{
		matches = slot.getStackInSlot(i) != null && slot.getStackInSlot(i).getItem() == MItems.ruby;
		if(!matches) break;
	}
	return matches;
}

@Override
public ItemStack getCraftingResult(InventoryCrafting p_77572_1_)
{
	return new ItemStack(MItems.pokeball);
}

@Override
public int getRecipeSize()
{
	return 16;
}

@Override
public ItemStack getRecipeOutput()
{
	return new ItemStack(MItems.pokeball);
}

@Override
public ItemStack[] getRemainingItems(InventoryCrafting p_179532_1_)
{
	return null;
}

}

It actually crafts it, but when I try to get the item out of it, it crashes :(.

Link to comment
Share on other sites

Are you registering the items and recipes in the correct order?

I'm first registering the recipe in both client and server side and then items/blocks.

 

Don't do that.

 

Items/blocks should be registered in the preInit phase. Recipes should be registered in the init phase.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Item doodad;
registerRecipe(doodad, stick, string); //what is the value of doodad now?
doodad = new ItemDoodad();
regosterItem(doodad, "doodad");

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Are you registering the items and recipes in the correct order?

I'm first registering the recipe in both client and server side and then items/blocks.

 

Don't do that.

 

Items/blocks should be registered in the preInit phase. Recipes should be registered in the init phase.

Ok. I have placed it in the init phase, but it still crashes with the same error.

Link to comment
Share on other sites

Ok. I have placed it in the init phase, but it still crashes with the same error.

 

Upload your

@Mod

class, your item registration class and your recipe registration class to Gist or Pastebin with syntax highlighting and link them here. To get syntax highlighting on Gist, give each file the appropriate extension (.java for Java code). To get syntax highlighting on Pastebin, select the language from the dropdown at the bottom of the page.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Upload your

@Mod

class, your item registration class and your recipe registration class to Gist or Pastebin with syntax highlighting and link them here. To get syntax highlighting on Gist, give each file the appropriate extension (.java for Java code). To get syntax highlighting on Pastebin, select the language from the dropdown at the bottom of the page.

@Mod

http://pastebin.com/4QNrjRJR

Recipe registering

http://pastebin.com/5MQCgys1

And the item registration

http://pastebin.com/zgdG8Yyc

Link to comment
Share on other sites

Ok after I added the forge hook I get a different crash report

net.minecraft.util.ReportedException: Updating screen events
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1774) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:376) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
Caused by: java.lang.NullPointerException
at net.minecraftforge.common.ForgeHooks.defaultRecipeGetRemainingItems(ForgeHooks.java:715) ~[ForgeHooks.class:?]
at aidas.morestuff.crafting.RubySeedRecipie.getRemainingItems(RubySeedRecipie.java:47) ~[RubySeedRecipie.class:?]
at net.minecraft.item.crafting.CraftingManager.func_180303_b(CraftingManager.java:362) ~[CraftingManager.class:?]
at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:136) ~[slotCrafting.class:?]
at net.minecraft.inventory.Container.slotClick(Container.java:359) ~[Container.class:?]
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) ~[PlayerControllerMP.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) ~[GuiContainer.class:?]
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) ~[GuiContainer.class:?]
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) ~[GuiScreen.class:?]
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) ~[GuiScreen.class:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760) ~[Minecraft.class:?]
... 15 more
[21:07:16] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: ---- Minecraft Crash Report ----
// But it works on my machine.

Time: 3/24/16 9:07 PM
Description: Updating screen events

java.lang.NullPointerException: Updating screen events
at net.minecraftforge.common.ForgeHooks.defaultRecipeGetRemainingItems(ForgeHooks.java:715)
at aidas.morestuff.crafting.RubySeedRecipie.getRemainingItems(RubySeedRecipie.java:47)
at net.minecraft.item.crafting.CraftingManager.func_180303_b(CraftingManager.java:362)
at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:136)
at net.minecraft.inventory.Container.slotClick(Container.java:359)
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539)
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690)
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422)
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606)
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087)
at net.minecraft.client.Minecraft.run(Minecraft.java:376)
at net.minecraft.client.main.Main.main(Main.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at net.minecraftforge.common.ForgeHooks.defaultRecipeGetRemainingItems(ForgeHooks.java:715)
at aidas.morestuff.crafting.RubySeedRecipie.getRemainingItems(RubySeedRecipie.java:47)
at net.minecraft.item.crafting.CraftingManager.func_180303_b(CraftingManager.java:362)
at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:136)
at net.minecraft.inventory.Container.slotClick(Container.java:359)
at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539)
at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690)
at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422)
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606)
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572)

-- Affected screen --
Details:
Screen name: aidas.morestuff.client.gui.BigGui

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['Player856'/173, l='MpServer', x=173.38, y=66.00, z=280.77]]
Chunk stats: MultiplayerChunkCache: 625, 625
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options: 
Level spawn location: 164.00,64.00,256.00 - World: (164,64,256), Chunk: (at 4,4,0 in 10,16; contains blocks 160,0,256 to 175,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 388056 game time, 1000 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: true), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 62 total; [EntityCreeper['Creeper'/211075, l='MpServer', x=246.50, y=25.00, z=354.50], EntityZombie['Zombie'/295812, l='MpServer', x=132.50, y=67.00, z=239.50], EntityCreeper['Creeper'/211074, l='MpServer', x=245.59, y=24.00, z=362.06], EntityZombie['Zombie'/295808, l='MpServer', x=135.50, y=67.00, z=238.50], EntityZombie['Zombie'/295809, l='MpServer', x=136.50, y=67.00, z=238.50], EntitySkeleton['Skeleton'/211076, l='MpServer', x=245.50, y=25.00, z=352.50], EntityCreeper['Creeper'/295822, l='MpServer', x=116.41, y=67.00, z=264.94], EntityBat['Bat'/290319, l='MpServer', x=236.86, y=33.85, z=311.24], EntityZombie['Zombie'/295823, l='MpServer', x=120.38, y=69.00, z=275.91], EntityBat['Bat'/8846, l='MpServer', x=216.94, y=32.10, z=272.69], EntityZombie['Zombie'/152466, l='MpServer', x=182.88, y=64.00, z=265.41], EntityZombie['Zombie'/295824, l='MpServer', x=124.50, y=71.00, z=278.50], EntityBat['Bat'/290321, l='MpServer', x=222.91, y=35.32, z=324.49], EntityZombie['Zombie'/316957, l='MpServer', x=237.50, y=24.00, z=217.50], EntityBat['Bat'/248739, l='MpServer', x=114.46, y=12.09, z=201.06], EntityBat['Bat'/248738, l='MpServer', x=241.39, y=21.65, z=341.81], EntityBat['Bat'/248736, l='MpServer', x=195.09, y=18.75, z=316.48], EntityBat['Bat'/248740, l='MpServer', x=106.74, y=14.35, z=215.76], EntityZombie['Zombie'/154408, l='MpServer', x=172.50, y=13.00, z=229.50], EntityChicken['Chicken'/45, l='MpServer', x=170.63, y=64.69, z=206.56], EntityCreeper['Creeper'/320298, l='MpServer', x=231.56, y=21.00, z=345.73], EntityChicken['Chicken'/50, l='MpServer', x=160.28, y=65.51, z=243.78], EntityBat['Bat'/180401, l='MpServer', x=211.91, y=34.10, z=230.53], EntityCreeper['Creeper'/12084, l='MpServer', x=233.50, y=22.00, z=357.50], EntityPlayerSP['Player856'/173, l='MpServer', x=173.38, y=66.00, z=280.77], EntityRabbit['Rabbit'/55, l='MpServer', x=185.38, y=67.00, z=231.59], EntityBat['Bat'/318781, l='MpServer', x=138.64, y=12.00, z=205.57], EntityCreeper['Creeper'/320313, l='MpServer', x=174.50, y=66.00, z=201.50], EntityCreeper['Creeper'/327493, l='MpServer', x=184.50, y=66.00, z=215.50], EntityCreeper['Creeper'/327495, l='MpServer', x=188.50, y=66.00, z=220.50], EntityCreeper['Creeper'/327489, l='MpServer', x=182.50, y=66.00, z=218.50], EntityCreeper['Creeper'/327491, l='MpServer', x=185.50, y=66.00, z=218.50], EntityCreeper['Creeper'/242763, l='MpServer', x=226.50, y=63.00, z=316.50], EntitySpider['Spider'/253515, l='MpServer', x=107.50, y=70.00, z=288.50], EntityZombie['Zombie'/327501, l='MpServer', x=111.50, y=69.00, z=275.50], EntityCreeper['Creeper'/253513, l='MpServer', x=113.50, y=70.00, z=282.50], EntityCreeper['Creeper'/174668, l='MpServer', x=99.50, y=70.00, z=264.50], EntitySpider['Spider'/253516, l='MpServer', x=106.50, y=70.00, z=285.50], EntityWitch['Witch'/159960, l='MpServer', x=158.56, y=66.00, z=314.91], EntityCreeper['Creeper'/275038, l='MpServer', x=117.50, y=68.00, z=304.50], EntityCreeper['Creeper'/275039, l='MpServer', x=118.50, y=68.00, z=307.50], EntityItem['item.item.egg'/10332, l='MpServer', x=237.16, y=59.00, z=236.44], EntityChicken['Chicken'/94, l='MpServer', x=237.09, y=62.51, z=236.69], EntityBat['Bat'/8798, l='MpServer', x=151.47, y=29.10, z=214.78], EntityCreeper['Creeper'/295780, l='MpServer', x=208.31, y=40.00, z=246.91], EntityCreeper['Creeper'/295781, l='MpServer', x=208.56, y=40.00, z=249.56], EntityCreeper['Creeper'/159968, l='MpServer', x=206.50, y=47.00, z=282.50], EntityCreeper['Creeper'/275046, l='MpServer', x=225.50, y=63.00, z=316.50], EntityCreeper['Creeper'/295778, l='MpServer', x=193.28, y=63.00, z=268.60], EntityCreeper['Creeper'/295779, l='MpServer', x=194.13, y=63.00, z=268.28], EntitySquid['Squid'/161003, l='MpServer', x=180.50, y=58.63, z=312.50], EntitySkeleton['Skeleton'/201066, l='MpServer', x=208.84, y=32.00, z=247.47], EntitySkeleton['Skeleton'/201065, l='MpServer', x=212.50, y=32.02, z=234.50], EntitySquid['Squid'/161007, l='MpServer', x=220.50, y=51.69, z=270.41], EntityBat['Bat'/12142, l='MpServer', x=95.25, y=17.10, z=354.25], EntitySquid['Squid'/161004, l='MpServer', x=194.61, y=61.02, z=308.44], EntitySquid['Squid'/161005, l='MpServer', x=183.50, y=62.56, z=314.47], EntitySpider['Spider'/275051, l='MpServer', x=132.50, y=72.00, z=278.50], EntitySquid['Squid'/161008, l='MpServer', x=228.25, y=53.84, z=271.94], EntitySquid['Squid'/161009, l='MpServer', x=219.22, y=50.16, z=268.81], EntityCreeper['Creeper'/253552, l='MpServer', x=194.50, y=20.00, z=331.50], EntityBat['Bat'/209659, l='MpServer', x=190.66, y=14.10, z=298.00]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:392)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2614)
at net.minecraft.client.Minecraft.run(Minecraft.java:398)
at net.minecraft.client.main.Main.main(Main.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

Link to comment
Share on other sites

Show updated code.

[/code]

The updated code:

package aidas.morestuff.crafting;

import aidas.morestuff.items.MItems;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeHooks;

public class RubySeedRecipie implements IRecipe
{

@Override
public boolean matches(InventoryCrafting slot, World worldIn)
{
	if(slot.getSizeInventory() != 16) return false;
	boolean matches = false;
	for(int i = 0; i < slot.getSizeInventory(); i++)
	{
		matches = slot.getStackInSlot(i) != null && slot.getStackInSlot(i).getItem() == MItems.ruby;
		if(!matches) break;
	}
	return matches;
}

@Override
public ItemStack getCraftingResult(InventoryCrafting p_77572_1_)
{
	return new ItemStack(MItems.pokeball);
}

@Override
public int getRecipeSize()
{
	return 16;
}

@Override
public ItemStack getRecipeOutput()
{
	return new ItemStack(MItems.pokeball);
}

@Override
public ItemStack[] getRemainingItems(InventoryCrafting p_179532_1_)
{
	return ForgeHooks.defaultRecipeGetRemainingItems(null);
}

}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • https://drive.google.com/file/d/1M0EG-c5yfRd08DSnE5HVQNCu2v0YtA7A/view?usp=sharing  
    • so im not sure if your still watching this TileEntity but once we loaded a FTB modpack we wanted to run on the server it no longer seems to run. The console opens like normal but we've been sitting here for like a little over an hour and the server screen has not yet opened. Should we just keep waiting at this point?
    • I have now easily fixed the duplication error present, I was just not looking.   I have been working for the past half hour to try and fix another error present, this time with the Creative Mode Tab.   I have changed some things around to get where I am currently. (ModFoods to ModDrinks*) and it cannot find the symbol ".get" at the end of the code. *The custom class you recommended pOutput.accept(ModDrinks.ORANGE_JUICE.get()); I think the point I am at currently is the closest I have to how it should be but because I am not as experienced with java I would not know.  I have also removed ORANGE_JUICE and LEMON_JUICE from the ModFoods class, to avoid confliction. I do hope all this can be fully resolved soon.  
    • [SOLVED]  public class RenderGUIHandler { @SubscribeEvent public void renderGUI(RenderGameOverlayEvent.Text event){ Client.hud.draw(); } } As I was playing around a little with the code, i found out about an option to change The RenderGameOverlayEvent.Post to RenderGameOverlayEvent.Text
    • public class HUD { public Minecraft mc = Minecraft.getMinecraft(); public static class ModuleComparator implements Comparator<Module>{ @Override public int compare(Module o1, Module o2) { if (Minecraft.getMinecraft().fontRendererObj.getStringWidth(o1.name) > Minecraft.getMinecraft().fontRendererObj.getStringWidth(o2.name)){ return -1; } if (Minecraft.getMinecraft().fontRendererObj.getStringWidth(o1.name) < Minecraft.getMinecraft().fontRendererObj.getStringWidth(o2.name)){ return 1; } return 0; } } public void draw(){ ScaledResolution sr = new ScaledResolution(mc); FontRenderer fr = mc.fontRendererObj; Collections.sort(Client.modules, new ModuleComparator()); GlStateManager.pushMatrix(); GlStateManager.translate(4,4,0); GlStateManager.scale(1.5,1.5,1); GlStateManager.translate(-4, -4, 0); fr.drawString("Skyline", 10, 10, -1); GlStateManager.popMatrix(); int count = 0; for (Module m : Client.modules){ if (!m.toggled || m.name.equals("TabGUI")) continue; int offset = count* (fr.FONT_HEIGHT + 6); GL11.glTranslated(0.0f, 0.0f, -1.0f); Gui.drawRect(sr.getScaledWidth() - fr.getStringWidth(m.name) - 10, offset, sr.getScaledWidth() - fr.getStringWidth(m.name) - 8, 6 + fr.FONT_HEIGHT + offset, -1); Gui.drawRect(sr.getScaledWidth() - fr.getStringWidth(m.name) - 8, offset, sr.getScaledWidth(), 6 + fr.FONT_HEIGHT + offset, 0x90000000); fr.drawString(m.name, sr.getScaledWidth() - fr.getStringWidth(m.name) - 4, offset + 4, -1); count++; } Client.onEvent(new EventRenderGUI()); } } I have just recently stumbled upon this Problem, where the HudRenderer renders the wrong section of the textures and therefore completely destroys the Minecraft Armour and Hunger Bar. I am currently thinking if it is an issue with the DrawRect changing something it shouldn't. But I couldn't find anything about it. (To keep things Clean, the function is Called from another file) public class RenderGUIHandler { @SubscribeEvent public void renderGUI(RenderGameOverlayEvent.Post event){ Client.hud.draw(); } } Any help would be greatly appreciated  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.