Jump to content

Forge Mod "Coding" Schwierigkeiten mit setContainerItem


ShadowNightt
 Share

Recommended Posts

So, hallö erstmal, Ich bin kein kompletter noob im programmieren "in" Java, allerdings scheine ich vile zu blöd zu sein um eine Minecraft Mod zu programmieren, ich werde hier unten mal zeigen, was für ein Problem ich hab.

Ich habe 2 Items created, die beide einen völlig verschiedenen zweck haben, aber beide beim Craften nicht Verloren gehen sollen.

// Hier wird definiert

BreadPan = new com.shad.survivalcraft.items.BreadPan().setUnlocalizedName("BreadPan").setTextureName(MODID + ":BreadPan");

GameRegistry.registerItem(BreadPan, "BreadPan");


// Hier wird das Item verwendet

GameRegistry.addRecipe(new ItemStack(BreadPan, 1), new Object[]

    	 {

    	    "000",

    	    "000",

    	    "iii",

    	    Character.valueOf('i'), Items.iron_ingot

    	});


// Hier beginnt die .class bzw. .java Datei des Items


package com.shad.survivalcraft.items;


import com.shad.survivalcraft.Base;


import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.item.Item;

import net.minecraft.util.IIcon;


public class BreadPan extends Item{

	public BreadPan()

	{

		maxStackSize = 1;

		this.setCreativeTab(CreativeTabs.tabTools);

	}


	@SideOnly(Side.CLIENT)

	public void registerIcons(IIconRegister par1)

	{

		this.itemIcon = par1.registerIcon(Base.MODID + ":BreadPan");

	}

}


// Ja ab hier wieder in der Main bzw. Base Klasse, ja ist unübersichtlich ... aber bei diesem Rezept wird die BreadPan und ein Brot gedroppt


GameRegistry.addShapelessRecipe(new ItemStack(Items.bread, 1), BreadInPan);

So die unterste Zeile, ist die wo ich diese BreadPan wieder zurück haben will, undzwar wenn ich das Brot rausnehmen, das Funktioniert ja einwandfrei, das Problem habe ich hiermit.

// Hier wieder definieren

WoodenGrinder = new com.shad.survivalcraft.items.WoodenGrinder().setUnlocalizedName("WoodenGrinder").setTextureName(MODID + ":WoodenGrinder").setContainerItem(WoodenGrinder);

GameRegistry.registerItem(WoodenGrinder, "WoodenGrinder");


// Das Crafting rezept mit dem Item involviert

GameRegistry.addRecipe(new ItemStack(Flour, 1), new Object[]

    	{

    		"0W0",

    		"www",

    		"SSS",

    		Character.valueOf('W'), WoodenGrinder,

       		Character.valueOf('w'), Items.wheat,

       		Character.valueOf('S'), Blocks.stone

    	});


// .java oder .class des Items    	

package com.shad.survivalcraft.items;


import com.shad.survivalcraft.Base;


import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.entity.EntityLivingBase;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import net.minecraft.util.IIcon;


public class WoodenGrinder extends Item{

	public WoodenGrinder()

	{

		maxStackSize = 1;

		this.setCreativeTab(CreativeTabs.tabMisc);

	}


	@SideOnly(Side.CLIENT)

	public void registerIcons(IIconRegister par1)

	{

		this.itemIcon = par1.registerIcon(Base.MODID + ":WoodenGrinder");

	}


}


Wenn ich allerdings meinen WoodenGrinder vercrafte, kriege ich diesen nicht zurück, obwohl ich stContainerItem drinnen habe, also frage ich hier mal noch, ob irgendwer weis was ich falsch mache, es liegt nicht am shaped und shapeless crafting (währe auch total unsinnig) aber das habe ich auch schon probiert.

Edited by ShadowNightt
Link to comment
Share on other sites

Das ganze verwirrt mich gerade ein wenig :huh:

Kannst du den Code nicht für jede Klasse separat posten?

Ich kann so nicht erkennen, was wo hin soll ^^

Schon ...

aber mir ist gerade erst selber aufgefallen, das oben bei meiner Brotbackform garnet steht, das ich diese als ContainerItem verwenden möchte, aber die Form trotzdem beim Umcraften gedroppt wird ... Q_Q WAT bin ich gerade echt zu blöd zum scheißen ?

oder ich habe bei dem Brot in der Form setContainerItem(BreadPan) gemacht, dann würde beim umcraften von ebend dem Ittem die BreadPan gedroppt oder ?

EDIT - Habe es jetzt noch mal ein wenig aufgeräumt, bin gerade nicht zuhause, deshalb kann ich nicht nachsehen wie ich das da gemacht habe ^^

Edited by ShadowNightt
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B