Jump to content

Recommended Posts

Posted

i have tried multiple different ways to get my log to show the textures. i am trying to make it like a normal log in minecraft but obviously with my own textures and crafting recipes. can someone help me by finding the error in my code cause idea cant find any java errors.

 

here is my code if you need it.

 

BlockMagicLog.java

 

package com.sargmodding.dimensionsgalore.block;

 

import com.sargmodding.dimensionsgalore.creativetab.CreativeTabLMRB;

import com.sargmodding.dimensionsgalore.reference.Reference;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

import net.minecraft.block.BlockRotatedPillar;

import net.minecraft.block.material.Material;

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.util.IIcon;

 

public class BlockMagicLog extends BlockRotatedPillar

{

    public BlockMagicLog(Material blockMaterial)

    {

        super(blockMaterial.wood);

        this.setBlockName("magiclog");

        this.setHardness(1.0F);

        this.setStepSound(soundTypeWood);

        this.setCreativeTab(CreativeTabLMRB.DimensionsGalore_TAB);

        this.setBlockTextureName("logmagicwood.png");

    }

 

    @Override

    protected IIcon getSideIcon(int p_150163_1_) {

        return null;

    }

 

    @SideOnly(Side.CLIENT)

    public void registerIcon(IIconRegister icon){

        this.blockIcon = icon.registerIcon(Reference.MOD_ID + ":" + "logmagicwood.png");

 

    }

}

 

 

ModBlocks.java

 

package com.sargmodding.dimensionsgalore.init;

 

import com.sargmodding.dimensionsgalore.block.BlockMagicLog;

import com.sargmodding.dimensionsgalore.block.BlockMagicWood;

import com.sargmodding.dimensionsgalore.reference.Reference;

import cpw.mods.fml.common.registry.GameRegistry;

import net.minecraft.block.material.Material;

 

@GameRegistry.ObjectHolder(Reference.MOD_ID)

public class ModBlocks

{

    public static final BlockMagicWood magicWood = new BlockMagicWood(Material.wood);

    public static final BlockMagicLog magicLog = new BlockMagicLog(Material.wood);

 

    public static void init()

    {

        GameRegistry.registerBlock(magicWood, "magicwood");

        GameRegistry.registerBlock(magicLog, "magiclog");

    }

 

}

 

Reference.java

 

package com.sargmodding.dimensionsgalore.reference;

 

public class Reference

{

    public static final String MOD_ID = "SargModding";

    public static final String MOD_NAME = "Dimensions Galore";

    public static final String VERSION = "1.7.10-1.0";

    public static final String CLIENT_PROXY_CLASS = "com.sargmodding.dimensionsgalore.proxy.ClientProxy";

    public static final String SERVER_PROXY_CLASS = "com.sargmodding.dimensionsgalore.proxy.ServerProxy";

    public static final String GUI_FACTORY_CLASS = "com.sargmodding.dimensionsgalore.client.gui.GuiFactory";

}

 

 

hope that helps sorry i may be asking a lot more questions in the future.

Posted

First of all you're going to want to save a metadata value on the log when placed to determine it's rotation (there are three possible rotations so you would need to use two bits of metadata).

 

Next in your registerIcons method you're gonna have to initialise your different icons. (side, top, and I think you also need sideRotated but I'm not sure).

 

Then you override a method that has both the side and metadata values, and return the right icon based on that. I think that method is called getBlockIcon but I'm not certain. Just have a look around and you'll find it.

BEFORE ASKING FOR HELP READ THE EAQ!

 

I'll help if I can. Apologies if I do something obviously stupid. :D

 

If you don't know basic Java yet, go and follow these tutorials.

Posted

can someone help me please

First of all you're going to want to save a metadata value on the log when placed to determine it's rotation (there are three possible rotations so you would need to use two bits of metadata).

 

Next in your registerIcons method you're gonna have to initialise your different icons. (side, top, and I think you also need sideRotated but I'm not sure).

 

Then you override a method that has both the side and metadata values, and return the right icon based on that. I think that method is called getBlockIcon but I'm not certain. Just have a look around and you'll find it.

 

shieldbug already told you everything you need to do. And the method he is talking about is getIcon(side, metadata).

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • that happens every time I enter a new dimension.
    • This is the last line before the crash: [ebwizardry]: Synchronising spell emitters for PixelTraveler But I have no idea what this means
    • What in particular? I barely used that mod this time around, and it's never been a problem in the past.
    • Im trying to build my mod using shade since i use the luaj library however i keep getting this error Reason: Task ':reobfJar' uses this output of task ':shadowJar' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. So i try adding reobfJar.dependsOn shadowJar  Could not get unknown property 'reobfJar' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. my gradle file plugins { id 'eclipse' id 'idea' id 'maven-publish' id 'net.minecraftforge.gradle' version '[6.0,6.2)' id 'com.github.johnrengelman.shadow' version '7.1.2' id 'org.spongepowered.mixin' version '0.7.+' } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'org.spongepowered.mixin' apply plugin: 'com.github.johnrengelman.shadow' version = mod_version group = mod_group_id base { archivesName = mod_id } // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. java.toolchain.languageVersion = JavaLanguageVersion.of(17) //jarJar.enable() println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" minecraft { mappings channel: mapping_channel, version: mapping_version copyIdeResources = true runs { configureEach { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES' property 'forge.logging.console.level', 'debug' arg "-mixin.config=derp.mixin.json" mods { "${mod_id}" { source sourceSets.main } } } client { // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. property 'forge.enabledGameTestNamespaces', mod_id } server { property 'forge.enabledGameTestNamespaces', mod_id args '--nogui' } gameTestServer { property 'forge.enabledGameTestNamespaces', mod_id } data { workingDirectory project.file('run-data') args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') } } } sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { flatDir { dirs './libs' } maven { url = "https://jitpack.io" } } configurations { shade implementation.extendsFrom shade } dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" implementation 'org.luaj:luaj-jse-3.0.2' implementation fg.deobf("com.github.Virtuoel:Pehkui:${pehkui_version}") annotationProcessor 'org.spongepowered:mixin:0.8.5:processor' minecraftLibrary 'luaj:luaj-jse:3.0.2' shade 'luaj:luaj-jse:3.0.2' } // Example for how to get properties into the manifest for reading at runtime. tasks.named('jar', Jar).configure { manifest { attributes([ 'Specification-Title' : mod_id, 'Specification-Vendor' : mod_authors, 'Specification-Version' : '1', // We are version 1 of ourselves 'Implementation-Title' : project.name, 'Implementation-Version' : project.jar.archiveVersion, 'Implementation-Vendor' : mod_authors, 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", "TweakOrder" : 0, "MixinConfigs" : "derp.mixin.json" ]) } rename 'mixin.refmap.json', 'derp.mixin-refmap.json' } shadowJar { archiveClassifier = '' configurations = [project.configurations.shade] finalizedBy 'reobfShadowJar' } assemble.dependsOn shadowJar reobf { re shadowJar {} } publishing { publications { mavenJava(MavenPublication) { artifact jar } } repositories { maven { url "file://${project.projectDir}/mcmodsrepo" } } } my entire project:https://github.com/kevin051606/DERP-Mod/tree/Derp-1.0-1.20
  • Topics

×
×
  • Create New...

Important Information

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