Jump to content

Forge Mod "Coding" Schwierigkeiten mit setContainerItem


Empfohlene Beiträge

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.

bearbeitet von ShadowNightt
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ^^

bearbeitet von ShadowNightt
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B