Jump to content

Recommended Posts

Posted

First one:

GameRegistry.registerTileEntity

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Im sorry but im a nub. What class? I tried the tile entity and the main.

 

It's like registering a block.  Except instead of a block, its a TE.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

just google it. There are tons of tuts out there.

 

	GameRegistry.registerTileEntity(ADasdhakjsdhTileEntity.class, "tileEntityADasdhakjsdh");

In your preInit.

Here could be your advertisement!

Posted

Here is a tutorial I wrote for myself half a year ago. Maybe its helpful.

Scrol down to Github.

 

 

 

SETUP WITH CHILDMOD

 

 

 

Create 2 subfolders in your modding folder, one for the main-mod and another one for the submod/childmod.

 

Now extract the forge source inside the main folder and create a new file  "settings.gradle", which only contains(in case you created 2 submods):

 

includeFlat 'FolderName_of_SubMod_1','FolderName_of_SubMod_2'

 

Copy the build.gradle file from your Mainfolder to all submodfolders.

 

Your file structure should look like this:

 

/MODDING

/MyAwesomeCore

everything from inside the forge folder

-settings.gradle

-build.gradle

/MyAwesomeSubmod

-build.gradle

/(MyAwesomeSubmod2)

-build.gradle

 

 

Only thing left to do is to modify the build.gradle files.

Here are some example files from me:

 

Main build.gradle:

buildscript {
    repositories {
        mavenCentral()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
        maven {
            name = "sonatype"
            url = "https://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
    }
}

allprojects {
    apply plugin: 'forge'
    minecraft{version = "1.7.2-10.12.2.1121"}
    version = "1.0"
    archivesBaseName = project.projectDir.name
}


processResources
{
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'
                
        // replace version and mcversion
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
        
    // copy everything else, thats not the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}

 

And Childmod build.gradle:

 

version = "1.0"

dependencies {

compile rootProject
}

processResources
{
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'
                
        // replace version and mcversion
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
        
    // copy everything else, thats not the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}

 

Ok, now open up a terminal and navigate to the Mainmod Folder.

 

On Windows run:

 

gradlew.bat setupDecompWorkspace
gradlew.bat eclipse

 

On Mac/linux run:

 

./gradlew setupDecompWorkspace
./gradlew eclipse

 

To get this working in eclipse you have to click at "File/Import/General/Existing Project Into Workspace/next". For the rootfolder choose the "MODDING" folder, check both projects and import them.

 

Select the Core/Mainmod Project and add a new "Java Application/run configuration". Set the Main Class to "GradleStart"(starts Client) or "GradleStartServer"(starts Server) and add the standard Arguments.

 

You can start it if you want now, but it will only load the the Main mod. To load the other mods Switch to "Classpath", select "User Entries" and click the "Add Projects" Button.

Choose the submod(s) you want to add, uncheck everything and press the ok Button.

 

Perfect! You now can Test all your mods at the same time. But what if you want to use Items from your Mainmod in your Submod?

 

To do this you have to right click the Submod project --> Properties --> Java Build Path --> Projects where you can choose the Project from where you want the Items/Blocks.

 

 

 

 

GITHUB

 

Install git and the github plugin for eclipse.(called egit?)

 

Create a new github rep in your browser(with readme)

 

in Eclipse create a new forge project. Delete everything expect the .project file and the build.gradle. (also delete hiddden files)Create a  src/main packet and a .gitignore file

 

modify .gitignore to look like this:

 

*

!/src
!/build.gradle
!/eula.txt
!/.gitignore
!/gradlew
!/gradlew.bat
!/gradle

.DS_Store

 

Commit and push your project to your rep. Delete everything on your hdd. Then download it again and remove it from eclipse, but this time keep the files on your hdd and install forge into it.

Reimport it as general project.

(Should you already have a project copy the src folder over.)

 

 

 

Here could be your advertisement!

Posted

We need your code...

 

If we assume that you use an class based on IWorldGenerator I would check the biome and if one of the neighbor blocks=Blocks.air to make your block only spawn in the walls of caves and dungeons.

Here could be your advertisement!

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.