Jump to content

Recommended Posts

Posted

can i see that ? (the code)

 

also dont be afraid to debug a lot, println a lot maybe you cna stpo something weird

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

Posted
  On 8/19/2013 at 3:09 PM, hydroflame said:

can i see that ? (the code)

 

also dont be afraid to debug a lot, println a lot maybe you cna stpo something weird

Wait I thought you meant in game, like "You actually put something in the bag didnt you?" anyway heres the code:

@Override
public void openChest()
{
	if(bagpack.hasTagCompound())
	{
		readFromNBT(bagpack.getTagCompound());//Bag pack has some info for the inventory
		System.out.println("call3");
	}
	else
	{
		bagpack.stackTagCompound = new NBTTagCompound();
		System.out.println("call2");

	}
}

@Override
public void closeChest()
{
	if(! bagpack.hasTagCompound())
	{
		//Should never be reached, since done when opening the first time
		bagpack.setTagCompound(writeToNBT(new NBTTagCompound()));
		System.out.println("call");
	}
	else
	{//We made changes to the inventory, save them
		System.out.println("call4");
		writeToNBT(bagpack.getTagCompound());
	}

Posted

well ok so at some point you will set a new nbt to yout bagpack

...

but nothign is ever set inside that :\

so what you have to do is something like this:

ItemStack toStore
ItemStack bagpack;
toStore.writeToNBT(bagpack.getTagCompound());

that will take the first itemStack and write it inside the tagCompound of the bagpack.

 

to read it from the nbt:

ItemStack s;
s.readFromNBT(bagpack.getTagCompound());

 

if you are dealing with a IInventory:

 

  Reveal hidden contents

 

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Posted

well you have to place it where it makes sens, obviously this probably wont go inside a new mob you create.

 

whats the goal of the bagpack, to store 1 item ? 20 item ? 500 items? i imagine you want the content to be updated in the bagpack when you close the gui, the Container class has a onContainerClosed method, might be a good idea to save there, maybe you should be loading when the container opens ?

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Posted

Stores 27 items. " the Container class has a onContainerClosed method, might be a good idea to save there, maybe you should be loading when the container opens ?" Thats what Im currently doing. I meant which bits should I replace w/ your code

Posted

well i guess you could place that inside closechest suince your onContainerClosed calls this anyway, but basicly anywhere where it should make sens to do it. as long as it works

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Posted

You are not using the code i gave you  :'(

You can add println for sure, but at least try it...

 

Anyway, hydroflame suggestion to rework a bit the readFromNBT/ writeToNBT part, I guess is a valid point.

Posted
  Quote
i have no idea

do you understand what the code me n gotolink are talking about ?

do you understand what it does ?

if not which part are you still confused with ?

how are your java skills? beginner intermediate advance ?

because maybe its just a question of practice to know what to place where

 

did you try anything ? println to see what placing the code at certain place does ?

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Posted
  On 8/19/2013 at 4:22 PM, hydroflame said:

  Quote
i have no idea

do you understand what the code me n gotolink are talking about ?

do you understand what it does ?

if not which part are you still confused with ?

how are your java skills? beginner intermediate advance ?

because maybe its just a question of practice to know what to place where

 

did you try anything ? println to see what placing the code at certain place does ?

"do you understand what the code me n gotolink are talking about ?

do you understand what it does ?"

Not enough to be able to implement it correctly

"how are your java skills? beginner intermediate advance ?" Im pretty familiar w/ all the common stuff, so sorta of intermediate/high beginner

 

"if not which part are you still confused with ?" Just where to put it really aha

Posted

well ok so at some point you will set a new nbt to yout bagpack

...

but nothign is ever set inside that :\

so what you have to do is something like this:

Code: [select]

 

ItemStack toStore

ItemStack bagpack;

toStore.writeToNBT(bagpack.getTagCompound());

 

that will take the first itemStack and write it inside the tagCompound of the bagpack.

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Posted

I already am if it dosent have a tagCompound though?

	if(! bagpack.hasTagCompound())
	{
		bagpack.setTagCompound(writeToNBT(new NBTTagCompound()));
		System.out.println("call");
	}
	else
	{
		System.out.println("call4");
		writeToNBT(bagpack.getTagCompound());
	}

Posted

if(!bagpack.hasTagCompound()){
    bagpack.stackTagCompoud = new NBtTagCompound();
}
toStore.writeToNBT(bagpack.getTagCompound());

the first if create the compound if needed, then you can write for sure as you KNOW theres one

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Posted

toStore.writeToNBT(bagpack.getTagCompound());

This line probably cause it didnt have anything to write but I cant write cos I cant access it

Posted

o, its because tostore equals null.. But how can you get an instance of the full class but ensuring your variable is initialized? and the itemstack constructor is private

Posted

itemstack constructor isnt private,

 

 

toStore was meant to be replaced with the itemstack you want to save :\

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

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

    • My name is Richie Leo, and I’m sharing this message with a heart full of gratitude and hope. Several months ago, I was a victim of a devastating online scam that cost me a staggering $873,463. I was devastated, confused, and had nearly given up on ever recovering my money — until I came across Wizard George Cyber Service. Through their exceptional cyber recovery expertise and deep investigative skills, Wizard George and his team were able to trace, track, and recover the full amount that was stolen from me. Their professionalism, speed, and transparency truly amazed me. If you’re reading this and you’ve been scammed — whether it’s crypto, investment fraud, or any kind of online theft — don’t give up. I strongly recommend reaching out to Wizard George Cyber Service. 📧 Em: wizardgeorgecyberservice(AT) g m a l L. C o M
    • Alright, here is the log file https://mclo.gs/5eCwafV
    • Please read the FAQ (https://forums.minecraftforge.net/topic/125488-rules-and-frequently-asked-questions-faq/) and post log files as described there, using a site such as https://mclo.gs/ and post the link here.  
    • I tried updating the mods in my modpack which caused incompatibilities so i have tried to revert them back to their older versions i was using before. In the logs it doesnt show me any clear incompatibilities except for tfmg & entity texture features, but when i try to remove those it still doesn't work. I have tried removing the forge-client.toml file which was a suggestion i found on  a few other posts. This is the log file i get. [inline log removed] Any help would be appreciated. Thanks in advance
    • I don't use KubeJS, never even heard of it. But after doing what "Ugdhar" suggested earlier in this post with the "config/Mekanism/generator-storage.toml", I tried going into an individual save's serverconfig folder, and just deleting everything except the parcool folder (I have that mod installed.) Then, a bit of loading and temporary freezing later, seems to have worked. Even when quitting to menu and loading back in, or also when quitting to menu, exiting to desktop, and re-launching MC, choose a save and loading it.
×
×
  • Create New...

Important Information

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