Jump to content

Recommended Posts

Posted

Hi guys, im trying to work out how i add a smelting recipe that can do the following. how can i make a recipe that could for say, smelt 9 iron ore into 1 iron block. now, the custom furnace i am making has 2 item inputs excluding the fuel slot

 

 

  Reveal hidden contents

 

 

can anybody help?

Posted

You would have to have coordination between all of your classes of course. This could not be done using vanilla furnaces. You will need to store both the input ID (the id of an iron ore) along with an input quantity (in your case 9) in another hashmap. Then either make a note of when you are adding an iron ore recipe and make it check the quantity in your extra hashmap, or make all of your recipes check the quantity required. Then when you check if an item can be smelted, you have to pass in the itemstack, and if the quantity in that itemstack is larger than the quantity required, it can be smelted. Then when you are actually smelting you need to make a request to your recipe class asking how many of your item you need to perform the smelting operation, then subtract that amount from your input itemstack instead of just subtracting one.

 

Now I'm sure that didn't make any sense. I hope it did, but if not, I can try to explain better.

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Posted

hashmap are simply and purely overpowered...and also super easy to use

see heres how a hashmap work:

 

HashMap<Key, Storage> asd;

Key and storage are 2 object (such as Block, ItemStack, String wtv )  //note if you want to store primitive, you have to use their Object, int -> Integer, float -> Float etc

 

hashmap has a 0 argument constructor, you can use it

 

now here is the beauty of it

 

when placing stuff in a hashmap you will use the "put" method, it will require 1 Key and 1 Storage

exemple; String, EntityPlayerMP

hashMap.put("hydroflame", player);

 

the hashmap will place in its own internal structure a way to find the variable player super quickly if you give it "hydroflame"

 

you do thsi with the method "get(key)"

 

ex:

EntityPlayerMP player = playerMap.get("hydroflame");

 

in your case you might want to do something like

 

HashMap<Integer, Integer> smeltMap= new HashMap<Integer, Integer>();

//first integer behing the item id, second behing the amount required to smelt

//so you would add during construction of the smeltMap

smeltMap(Item.iron.id, 9);//note it might not be this exact syntax

//and then whenever someone put an item in your special furnace slot

int id = theIdFromTheSlot();

int qtyRequired = smeltMap.get(id);

if(qtyInSlot >= qtyRequired){

    startSmelting();

}

 

 

Cheers, welcome to the beautifull world of hashMap

 

-hydroflame, FRev-

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

    • Ignore shrimple, it doesn't work with Oculus. Also, enableShaders was alr true when it said that towards the end of the log. If you could also figure out why my tags are messed up that'd be cool too, but that's a later issue. https://drive.google.com/drive/folders/1ovEKDZECUCl7zZxGfpyQcS4s5PZPQyfa?usp=drive_link
    • accidental duplicate mesage cuz lag
    • https://gnomebot.dev/paste/231527759279685634/1372324909073563730/1372324908629102716 https://gnomebot.dev/paste/231527759279685634/1372320454861262908/1372320454299090996 seems like theres a registry sync error, not sure what that means though, however in an old pack i played on, i actually had a registry sync error happen whenever the world tried too save and it would suddenly stop loading chunks, is there a mod fix for this or some way too bypass registry syncing? is this a server problem? i have no issues with the pack on pc, only on my server.
    • i think the problem is the player animator library but i need it for one of my main mods is there any way i can fix this? The game crashed: rendering overlay Error: java.lang.IllegalArgumentException: Failed to create player model for default heres the crash report: https://pastebin.com/U5Wp8ysb
    • I have been an enthusiastic investor in crypt0currencies for several years, and my digital assets have been integral to my financial strategy. A few months ago, I encountered a distressing predicament when I lost access to my primary cryptocurrency walleet after clicking on an airdrop link that inadvertently connected to my walleet. The dread of potentially losing all my hard-earned funds was overwhelming, leaving me uncertain about where to seek assistance. In my pursuit of solutions, I stumbled upon ChainDigger Retrievers. From our initial consultation to the triumphant recovery of my assets, the team exhibited exceptional expertise. They provided comprehensive explanations of the recovery process, ensuring I was informed at every stage and offering reassurance during this tumultuous time. Their approach was not only meticulous but also compassionate, which significantly alleviated my anxiety. ChainDigger Retrievers unwavering commitment to resolving my issue was evident throughout the process. Leveraging their profound understanding of crypt0currency technology and digital forensics, they initiated an exhaustive investigation to trace the transactions linked to my compromised wallet. Their meticulous analysis and relentless determination were apparent as they left no stone unturned in their quest to recover my funds. After several days of diligent investigation, the team successfully recovered everything I had lost. They uncovered that the link I had clicked contained malware, which scammeers had used to infiltrate my walleet. This revelation was both alarming and enlightening, underscoring the inherent risks associated with crypt0currency transactions when proper precautions are not taken.Thanks to ChainDigger Retrievers, I not only regained everything but also acquired invaluable knowledge about safeguarding my investments. Their expertise and steadfast support transformed a daunting situation into a manageable one, and I am profoundly grateful for their assistance. I can now continue my investment journey with renewed confidence, knowing that I have a trustworthy ally in ChainDigger Retrievers. Their client satisfaction is truly commendable, and I wholeheartedly recommend their services to anyone facing similar challenges in the crypt0currency realm. With their help, I was able to turn a distressing time into a positive outcome, and I will forever be grateful for their support.  
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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