Jump to content

Recommended Posts

Posted (edited)

I am making a Minecraft Mod for 1.12.2 Forge 14.23.5.2768, I'm using Eclipse Java Oxygen which has been setup already and I have added all the necessary code to add a block and four items.

I am new to Mod Development which is why I have come seeking help

 

the very first thing I need is a custom crafting table that has the below features
- Can craft in a 3x3 area

- Can have more than 1 output

- has a unique texture on the top, sides and bottom like a Vanilla Crafting Table

I'd appreciate the help thx

Edited by Acid Gamer
Posted (edited)
1 hour ago, Acid Gamer said:

the very first thing I need is a custom crafting table that has the below features

I would suggest that the very first thing you need to do is to create and play around with stuff like tile entities and GUIs.

This way, you will be more familiar with how some modding concepts work.

Starting with a crafting GUI, which requires an IRecipe inplementation as well as a tile entity, including an GUI that handles the crafting interaction, can be rather confusing and unintuitive.

 

As for your problem:

  1. Override Block#onBlockActivated and open the GUI in Block#onBlockActivated in your crafting table class.
  2. Create a tile entity for your crafting table (not needed if you don't want your crafting table to retain its content when the GUI is closed).
  3. Create a GuiContainer for your GUI. For more details, take a look at the vanilla crafting table.
  4. Create an IRecipe implementation for your crafting recipes.

 

A detailed explanation of how an IRecipe implementation works can be found here:

http://www.minecraftforge.net/forum/topic/22927-player-based-crafting-recipes/

Edited by DavidM

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Posted (edited)

okay, I came across a bit of an issue when going through the link in the comment above... I'll let you guys have a look

 

Spoiler

import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.registries.IForgeRegistryEntry;

public class CraftingTableTier2 extends BlockBase implements IRecipe { //Error: The interface IForgeRegistryEntry cannot be implemented more than once with different arguments: IForgeRegistryEntry<Block> and IForgeRegistryEntry<IRecipe>
    
    public CraftingTableTier2(String name, Material material) {
        
        super(name, material);
        setSoundType(SoundType.METAL);
        setHardness(50.0f);
        setResistance(6000.0f);
        setHarvestLevel("pickaxe", 3);
    }

    @Override
    public boolean matches(InventoryCrafting inv, World worldIn) {
        return false;
    }

    @Override
    public ItemStack getCraftingResult(InventoryCrafting inv) {
        return null;
    }

    @Override
    public boolean canFit(int width, int height) {
        return false;
    }

    @Override
    public ItemStack getRecipeOutput() {
        return null;
    }
    
    public NonNullList<ItemStack> getRemainingItems() {
        return null;
    }
    
    public NonNullList<Ingredient> getIngredients() {
        return null;
    }
    
    public boolean isHidden() {
        return false;
    }
    
    public String getGroup() {
        return null;
    }
}

 

Edited by Acid Gamer
Posted (edited)

1. Stop using BlockBase. It is a very bad practice (please refer to the Common issues and recommendations). In your case, your CraftingTableTier2 should just extend Block.

2. IRecipe implementations are completely irrelevant to your crafting table. It does not make sense to have your crafting table block implement IRecipe. Implement IRecipe in a different class.

Edited by DavidM

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Posted

okay issue fixed but now I'm back to step one... I've got onBlockActivated in my crafting table class I just need a GUI for it to open can anyone teach me how to make one?

Posted

Vanilla has some good GUI examples

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Posted
2 hours ago, Acid Gamer said:

okay issue fixed but now I'm back to step one... I've got onBlockActivated in my crafting table class I just need a GUI for it to open can anyone teach me how to make one?

EntityPlayer#openGui.

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Posted (edited)
On 4/27/2019 at 4:02 AM, Acid Gamer said:

I found the Dispenser class and I'm using it's code as a ref for what I should do... wish me luck

If you are making a crafting table why you take the code from the dispenser? Just take the crafting table one.

Edited by nov4e
Posted
On 4/28/2019 at 8:45 PM, nov4e said:

If you are making a crafting table why you take the code from the dispenser? Just take the crafting table one.

I can't find that one... I've literally looked everywhere for it

Posted

BlockWorkbench

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

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



×
×
  • Create New...

Important Information

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