Giter VIP home page Giter VIP logo

twelveiterationmods / cookingforblockheads Goto Github PK

View Code? Open in Web Editor NEW
78.0 8.0 76.0 3.7 MB

Minecraft Mod. Adds a cooking book and multiblock kitchens that only shows recipes you can make with what you currently have in your inventory.

Home Page: https://mods.twelveiterations.com/mc/cooking-for-blockheads/

License: Other

Java 100.00%
minecraft-mod forge-mod fabricmc-mod neoforge-mod

cookingforblockheads's Introduction

Cooking for Blockheads

Minecraft Mod. Adds a cooking book and multiblock kitchens that only shows recipes you can make with what you currently have in your inventory.

Forge

Versions Downloads

Fabric

Versions Downloads

Contributing

If you're interested in contributing to the mod, you can check out issues labelled as "help wanted".

When it comes to new features, it's best to confer with me first to ensure we share the same vision. You can join us on Discord if you'd like to talk.

Contributions must be done through pull requests. I will not be able to accept translations, code or other assets through any other channels.

IMC API

The below is a list of IMC message keys handled by Cooking for Blockheads.

  • RegisterTool (ItemStack)
  • RegisterWaterItem (ItemStack)
  • RegisterMilkItem (ItemStack)
  • RegisterToast (TagCompound : {Input : ItemStack, Output : ItemStack})
  • RegisterToastError (TagCompound : {Input : ItemStack, Message : String})
  • RegisterOvenFuel (TagCompound : {Input : ItemStack, FuelValue : Numeric})
  • RegisterOvenRecipe (TagCompound : {Input : ItemStack, Output : ItemStack})
  • RegisterNonFoodRecipe (ItemStack)
  • RegisterCowClass (EntityCowClassName : String) - this will cause the class to be loaded if it isn't already!

Java API

If the IMC API is not enough for you, you can build against Cooking for Blockheads' Java API. I suggest using the CurseForge Maven to grab it as a dependency. For info on how to do that, you can check Cooking for Blockheads' own Gradle files.

The Java API allows everything the IMC API does, and certain tasks can only be achieved via the Java API. However, if you don't need that extra control, it is recommended to use the IMC API.

Adding Cooking for Blockheads to a development environment

Note that you will also need to add Balm if you want to test your integration in your environment.

Using CurseMaven

Add the following to your build.gradle:

repositories {
    maven { url "https://www.cursemaven.com" }
}

dependencies {
    // Replace ${cookingforblockheads_file_id} and ${balm_file_id} with the id of the file you want to depend on.
    // You can find it in the URL of the file on CurseForge (e.g. 3914527).
    // Forge: implementation fg.deobf("curse.maven:balm-531761:${balm_file_id}")
    // Fabric: modImplementation "curse.maven:balm-fabric-500525:${balm_file_id}"
    
    // Forge: implementation fg.deobf("curse.maven:cooking-for-blockheads-231484:${cookingforblockheads_file_id}")
    // Fabric: modImplementation "curse.maven:cooking-for-blockheads-fabric-634546:${cookingforblockheads_file_id}"
}

Using Twelve Iterations Maven (includes snapshot and mojmap versions)

Add the following to your build.gradle:

repositories {
    maven { 
        url "https://maven.twelveiterations.com/repository/maven-public/" 
        
        content {
            includeGroup "net.blay09.mods"
        }
    }
}

dependencies {
    // Replace ${cookingforblockheads_version} and ${balm_version} with the version you want to depend on. 
    // You can find the latest version for a given Minecraft version at https://maven.twelveiterations.com/service/rest/repository/browse/maven-public/net/blay09/mods/balm-common/ and https://maven.twelveiterations.com/service/rest/repository/browse/maven-public/net/blay09/mods/cookingforblockheads-common/
    // Common (mojmap): implementation "net.blay09.mods:balm-common:${balm_version}"
    // Forge: implementation fg.deobf("net.blay09.mods:balm-forge:${balm_version}")
    // Fabric: modImplementation "net.blay09.mods:balm-fabric:${balm_version}"
    
    // Common (mojmap): implementation "net.blay09.mods:cookingforblockheads-common:${cookingforblockheads_version}"
    // Forge: implementation fg.deobf("net.blay09.mods:cookingforblockheads-forge:${cookingforblockheads_version}")
    // Fabric: modImplementation "net.blay09.mods:cookingforblockheads-fabric:${cookingforblockheads_version}"
}

cookingforblockheads's People

Contributors

bakaxyf avatar blaytheninth avatar bytegm avatar cannibalvox avatar cs8minty avatar emptyaudio avatar enterfor avatar excessiveamountsofzombies avatar franndzs avatar github-actions[bot] avatar ichirou-tomoe avatar josephcsible avatar koromarukoruko avatar mc-kaishixiaxue avatar melanx avatar mikeliro avatar mpustovoi avatar rlnt avatar rocoko avatar skydragonsz avatar syndaryl avatar tartaricacid avatar the-fireplace avatar theanaxman avatar tmusecoding avatar tobipeterg avatar ugackminer53 avatar vlaeh avatar whitebear60 avatar yoko57822 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cookingforblockheads's Issues

1.0.54 - Index of mouse click in cooking table is off

I crafted the new cooking table and ran into the following issue:

I scroll down once and hover the kiwi juice:

I click it, and it properly shows the recipe:

Finally, to craft it I have to click on the cell + 1 (in this case, one to the right):

If I scroll one more down, the offset has to be +2 for it to craft the correct recipe. I suspect that it will be +3 for another tick of the scroll wheel.

While I am not familiar with your code, I think the issue comes out of this function https://github.com/blay09/CookingForBlockheads/blob/master/src/main/java/net/blay09/mods/cookingbook/client/GuiRecipeBook.java#L256

Sorting Options

  • Name
  • Hunger Restored
  • Saturation
  • Types (Juices together, Burgers together, etc.)

Add a "kitchen kit"

First I'd like to thank you for this awesome mod. Totally saving time for anyone using Harvestcraft and especially when combined with hunger overhaul and spice of life.

I would love to see a "kitchen kit". Either a multi slot inventory for the cook book where you can put your harvestcraft tools, or one where you can craft the tools into one item to carry with you.

This would make it easier to cook "on the run" without having to pick up the tools from storage.

Double Chests

The cooking table can't see both inventories of a double chest, just the one whose side it's adjacent to.

Mouse Tweaks Crafting

Not sure how much of this is on the other end, but if you have mouse tweaks installed (with the scroll-to-move feature on), you'll craft a full stack of stuff if you hover over an icon and scroll (which is annoying when you're just looking through recipes.)

Cooking Table

Tier 2 book surrounded by Crafting Tables?

Would do the same as the Tier 2 book, but use all adjacent inventories instead.

Invalidates #2

Additional Recipes for Pam's

  • Flour
  • Dough
  • Cornmeal
  • Fresh Water
  • Cakes, Vanilla, Pasta, Butter, Heavy Cream, Salt, freshmilk, mayo, cocoapowder, ketchup, vinegar, mustard, blackpepper, groundcinnamon, groundnutmeeg, oliveoil, salad dressing, batter

Add Minetweaker Compatibility:

Currently, the cooking book and related GUIs allow you to view (and even craft using) recipes that no longer exist after having been altered with MineTweaker.

To reproduce:

Use this minetweaker script:

recipes.remove(minecraft:bread);
recipes.addShapeless(minecraft:bread, [minecraft:dirt]);

You can verify it works by turning dirt into bread using the crafting grid in your inventory.

Open a cooking for blockheads book. Give yourself a dirt. It will not tell you that you can craft bread. Give yourself three wheat. It will tell you that you can make bread. With volume 2 open, you can even craft bread with the non-existent ingredients.

It would be awesome for modpack makers if this were fixed.

Multiblock Kitchen Thingy

  • Fridge (Small / Large)
  • Fridge: Content Item Rotation
  • Fridge: Render Bounding Box
  • Fridge: Only render interior if open
  • Fridge: Inventory Weirdness
  • Fridge: Shift-Clicking is butty
  • Sink
  • Oven
  • Tool Rack
  • Cooking Table

Server Frozen

"I'm playing on BlightFall 2.1.1a and believe I've tracked down a freeze glitch that I believe relates to this mod. Unfortunately, because it's a freeze glitch, I have no logs to offer (the logs just... stop).

The reason I believe your mod is the likely culprit is that things were working great until I tossed 3x stacks of 64x flour into my Cooking Oven. Moments later, I was unable to interact with just about anything, mobs stopped moving, and chunk loading stopped happening. To check this, I created a clean map on a stand alone server, gave myself an oven, three full stacks of flour, and a stack of charcoal. I placed the oven, put in the charcoal, then put in the three stacks of flour. It worked find for the first seven cycles (to 63 bread), but as soon as it completed the eighth cycle and started trying to output, it froze the server hard.

In one of my earlier efforts WarmRoast (a JVM profiler) showed that

net.blay09.mods.cookingbook.block.TileEnttityCookingOven.func_145845_h()

is eating over 70% of the server time."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.