Jump to content

Creating a new mod


King_of_Mines1

Recommended Posts

22 minutes ago, King_of_Mines1 said:

Im sure this is extremely simple but for some reason I can't figure out how to do this. I have already setup the JDK, forge, and eclipse and made my first mod but I don't know how to make a new project in eclipse that has all the forge resources and stuff. 

This tutorial explains how to set up Forge in its own workspace so that more than one mod can be linked to it.

Link to comment
Share on other sites

8 minutes ago, Jay Avery said:

This tutorial explains how to set up Forge in its own workspace so that more than one mod can be linked to it.

When I get to the part that where I have to import forge when I click on the eclipse file it says "Some projects cannot be imported because they already exist in the workspace" and it won't let me click finish. 025c499cdb568185a396b94774819cad.thumb.png.6ba2da39df6c7fd5d398a4f847c85496.png

Link to comment
Share on other sites

59 minutes ago, diesieben07 said:

Yes, setting up multiple projects (of which the MDK is an example). Again, the MDK is not an "installation of Forge". It is an example project for making a mod, which then references Forge as a library.

When you run setupDecompWorkspace you are installing forge into the Gradle cache. If you run it again in a 2nd project, it will reference the same cache, and not do anything at all. You will only ever have one copy of each Forge version you use, this is the power of Gradle.

In the link you gave me the step for getting the project says. "For Eclipse, create a workspace anywhere (though the easiest location is one level above your project folder). Then simply import your project folder as a project, everything will be done automatically." What exactly is it asking me to do here.

Link to comment
Share on other sites

7 minutes ago, King_of_Mines1 said:

In the link you gave me the step for getting the project says. "For Eclipse, create a workspace anywhere (though the easiest location is one level above your project folder). Then simply import your project folder as a project, everything will be done automatically." What exactly is it asking me to do here.

With no intention of offending, you should really learn how to comfortably manage files/folders on your chosen operating system (windows/mac/etc.), and then proceed to make sure you understand basic java syntax. Without these skills, you will have a lot of trouble even trying to accomplish the most basic of things (especially if you're following the tutorials you linked, they're quite out of date, and will not help you unless you know some java already). While people here are great and will offer tons of help and advice, if you repeatedly demonstrate a lack of basic java/programming knowledge, your welcome will wear out quickly. Again, no offense intended, but the above quoted post indicates that you have a bit of homework to do before you're ready to start making mods for minecraft.

Link to comment
Share on other sites

13 minutes ago, diesieben07 said:
  • "create a workspace": Create an empty folder somewhere and point eclipse at it.
  • "import your project folder as a project": Go to File > Import > General > Existing Projects into Workspace and select the project folder, i.e. the folder containing your build.gradle (not the eclipse folder inside it!).

The issue is that when I try to import the project it says " Some projects cannot be imported because they already exist in the workspace"

 

 

5 minutes ago, Ugdhar said:

With no intention of offending, you should really learn how to comfortably manage files/folders on your chosen operating system (windows/mac/etc.), and then proceed to make sure you understand basic java syntax. Without these skills, you will have a lot of trouble even trying to accomplish the most basic of things (especially if you're following the tutorials you linked, they're quite out of date, and will not help you unless you know some java already). While people here are great and will offer tons of help and advice, if you repeatedly demonstrate a lack of basic java/programming knowledge, your welcome will wear out quickly. Again, no offense intended, but the above quoted post indicates that you have a bit of homework to do before you're ready to start making mods for minecraft.

I already know a bit of java and have made a working mod. This issue is just because I am getting an error that I don't know  how to fix. And I also haven't linked any outdated tutorials I'm using. I WAS linked outdated tutorials.

Link to comment
Share on other sites

1 minute ago, King_of_Mines1 said:

And I also haven't linked any outdated tutorials I'm using. I WAS linked outdated tutorials.

You're right, sorry about that.

 

When importing the project, if you're using a workspace the level above the folder your mod project is in, I think you just uncheck where it says to copy project files into workspace (since it's already there), and it should work.

Link to comment
Share on other sites

2 minutes ago, Ugdhar said:

You're right, sorry about that.

 

When importing the project, if you're using a workspace the level above the folder your mod project is in, I think you just uncheck where it says to copy project files into workspace (since it's already there), and it should work.

Its already unchecked and I still get the error.

Link to comment
Share on other sites

You fixed the path shown in the screenshot so you're referencing the project folder containing build.gradle, and not the eclipse folder within that folder as suggested right?

 

And if it's that Test project, it looks like it's already present in the workspace on the left. If it's not that project, make sure you're not trying to import another project named Test (I haven't tried to see if you can have multiple projects with the same name).

 

Otherwise, I guess I'm not sure what's goin on.

Link to comment
Share on other sites

This is the tutorial I followed by the man himself. It is old, but still works as the general concepts are the same. I don't think you have to create the debug configurations anymore, as they were already there for me for 1.11. I did have to remove the VM arguments in order for it to work though.

Also you shouldn't have to change anything in the build.gradle file except for

Spoiler

version = "1.11.2-0.0.1" // CHANGE 0.0.1 to correct mod version
group = "yourname.modid" // CHANGE yourname to your name/username and ofcourse change modid to your modid
archivesBaseName = "modid" // CHANGE modid

 

Hope this helps.

https://www.youtube.com/watch?v=xp2jmt47yTQ

Edited by Kriptikz
  • Like 2
Link to comment
Share on other sites

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • They were already updated, and just to double check I even did a cleanup and fresh update from that same page. I'm quite sure drivers are not the problem here. 
    • i tried downloading the drivers but it says no AMD graphics hardware has been detected    
    • Update your AMD/ATI drivers - get the drivers from their website - do not update via system  
    • As the title says i keep on crashing on forge 1.20.1 even without any mods downloaded, i have the latest drivers (nvidia) and vanilla minecraft works perfectly fine for me logs: https://pastebin.com/5UR01yG9
    • Hello everyone, I'm making this post to seek help for my modded block, It's a special block called FrozenBlock supposed to take the place of an old block, then after a set amount of ticks, it's supposed to revert its Block State, Entity, data... to the old block like this :  The problem I have is that the system breaks when handling multi blocks (I tried some fix but none of them worked) :  The bug I have identified is that the function "setOldBlockFields" in the item's "setFrozenBlock" function gets called once for the 1st block of multiblock getting frozen (as it should), but gets called a second time BEFORE creating the first FrozenBlock with the data of the 1st block, hence giving the same data to the two FrozenBlock :   Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=head] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@73681674 BlockEntityData : id:"minecraft:bed",x:3,y:-60,z:-6} Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=3, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=2, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} here is the code inside my custom "freeze" item :    @Override     public @NotNull InteractionResult useOn(@NotNull UseOnContext pContext) {         if (!pContext.getLevel().isClientSide() && pContext.getHand() == InteractionHand.MAIN_HAND) {             BlockPos blockPos = pContext.getClickedPos();             BlockPos secondBlockPos = getMultiblockPos(blockPos, pContext.getLevel().getBlockState(blockPos));             if (secondBlockPos != null) {                 createFrozenBlock(pContext, secondBlockPos);             }             createFrozenBlock(pContext, blockPos);             return InteractionResult.SUCCESS;         }         return super.useOn(pContext);     }     public static void createFrozenBlock(UseOnContext pContext, BlockPos blockPos) {         BlockState oldState = pContext.getLevel().getBlockState(blockPos);         BlockEntity oldBlockEntity = oldState.hasBlockEntity() ? pContext.getLevel().getBlockEntity(blockPos) : null;         CompoundTag oldBlockEntityData = oldState.hasBlockEntity() ? oldBlockEntity.serializeNBT() : null;         if (oldBlockEntity != null) {             pContext.getLevel().removeBlockEntity(blockPos);         }         BlockState FrozenBlock = setFrozenBlock(oldState, oldBlockEntity, oldBlockEntityData);         pContext.getLevel().setBlockAndUpdate(blockPos, FrozenBlock);     }     public static BlockState setFrozenBlock(BlockState blockState, @Nullable BlockEntity blockEntity, @Nullable CompoundTag blockEntityData) {         BlockState FrozenBlock = BlockRegister.FROZEN_BLOCK.get().defaultBlockState();         ((FrozenBlock) FrozenBlock.getBlock()).setOldBlockFields(blockState, blockEntity, blockEntityData);         return FrozenBlock;     }  
  • Topics

×
×
  • Create New...

Important Information

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