Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/23/20 in all areas

  1. Ah ok. So to answer your question, you would need to put it into a specific tag and then overwrite the vanilla recipe. By default, Forge replaces almost all instances of iron ingot with 'forge:ingots/iron' through their recipe provider. The few that remain are iron block and iron nugget (since they are specific to the block version). So, as long as both items are in the specific tag and the tag is referenced in the recipe, it will take in anything within that tag (which would be your modded item). Do remember though if you plan on using something similar to ForgeRecipeProvider's implementation to replace the item with a tag that you exclude items that would be exclusive to that item set. Else, there will be even more issues with commonalities between recipes. Since the items are more abstract, you might not want to use a forge domain for your tags. One of the examples I can point you towards is endermen holdable blocks. This is a tag used to determine if an enderman can hold a certain block. This has a lot of different items that are not related to each other. However, they are for a unique purpose. In your case, if the items you want inputted cannot be condensed to a common group, then it would be best to just use a unique tag specific to your mod rather than a forge tag. And I assume when you say 'mark their tags manually,' you mean create the variable that holds your tag instance. If you would like to use it in your code then yes. If it's only for reference in recipes or advancements, you don't specifically need to. I do it because I use data generators to create tags for me. And you can add to already existing tags without replacing the data within them as long as "replace" remains false in the json file. Hopefully I have answered your question.
    1 point
  2. The example you gave gives me a bit of confusion on the question. If you want to see if two items are in a certain tag, you would use Item::isIn on both of them. If you're talking about if two items have the same tags, then the above method would work since Sets and ResourceLocations check accurately with the equals operator I believe. If you want to get a list of all currently present tags of a specific type in the game, you can check via TagsClass::getCollection and then iterate through all of them to see which one you want based on the ResourceLocation. However, that approach is just bad altogether. Just reference the tags you specifically need via a static final variable and use appropriately. We define specific tags since we know we will be using them. The only tags that will exist are those that are defined within the data/modid/tags section or by making the wrapper tag and adding it to its specific collection. If I am misunderstanding what you wrote, please let me know.
    1 point
  3. Hooray, someone who figured it out on their own
    1 point
  4. TileEntityRendererby Mjcty or Modifying IBakedModel by TGG I feel like the second one is more suitable for you since you are only moving the cubes and changing their colour.
    1 point
  5. Yeah, they were backported to 1.14 too. Though that version is loosing LTS at somepoint soon
    1 point
  6. DeferredRegister is not new. It existed in 1.15 and was preferred way to register things. Old registration (through events) works at 1.16 as well.
    1 point
  7. Anyone? :C EDIT: It works! Only you have to look at the minecraft code and copy the BlockCrops, ItemSeeds and create a new Bonemeal Event. It looks very simple now ...
    1 point
×
×
  • Create New...

Important Information

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