Jump to content

Recommended Posts

Posted (edited)

Just came back after a short break from working on mods and the holidays and not finding much reference material to work with. At this point the game loads, I place the missing texture block and can activate it, however it turns into a redstone lamp. I am not sure if this is a .json issue, or .class at this point, however I'm leaning towards .json.

 

Redstone lamp class:

  Reveal hidden contents

ModelRegistryHandler (just the snip of the particular registration for this and RegistryHandler)

  Reveal hidden contents

RegistryHandler:

  Reveal hidden contents

CustLight class:

  Reveal hidden contents

CustomRedstoneLight class:

  Reveal hidden contents

Jsons:

  Reveal hidden contents

Crash:

  Reveal hidden contents

 

Edited by Kaelym
grammar problems.
Posted

Threw my stuff at a Json validator, it seems the Blockstate is the problem. Does anyone mind explaining how what is did is wrong so I better understand for future jsons, or have a reference towards this particular instance?

 

Posted

thank you, i literally JUST changed that out! the model is still not working though, here is updated json:

 

  Reveal hidden contents

 

I'm sure the rest is just a silly mistake.

 

Thank you very much!

 

Posted
  Reveal hidden contents

problem seems easy enough :) just finding the json that's causing the problems again lol.

Posted

there's a lot of lines of code so I will cut out the bulk of it to save time

 

model registry:

  Reveal hidden contents

registry handler:

  Reveal hidden contents

 

Posted

ah, I assumed this "

(Material material, String unlocalizedName, String registryName)" was three, I'll see what I can figure out to fix this problem =3

 

 

Posted

i see, sorry for the miscommunication then. I thought I updated that before my initial post . the full redstone light file is here.

  Reveal hidden contents

after rearranging the way it is coded and putting the boolean line after the constructor it is (mostly) working now. I walked away for coffee and a moment to think about it. thank you for everything you've helped with so far, though.

Posted (edited)

visual representation of current problem. Capture5.PNG.eceddd7450488ff6d0eb95f64411f357.PNG

 

 

updated code: redstonelight

  Reveal hidden contents

registry

  Reveal hidden contents

model:

  Reveal hidden contents

CustLight remained the same,

 

new blockstate file:

  Reveal hidden contents

block: (trying several, so these will most likely be wrong upon current post. also used two separate ones so you know which I have tried.)

  Reveal hidden contents

Also, as a note, there are NO errors in my console, including debug mode.

Edited by Kaelym
missed information.
Posted

narrowed down to :

 

 

        "powered = false": {
            "model": "elypsis:blocks/blue_flowerlamp_off"
        },
        "powered = true": {
            "model": "elypsis:blocks/blue_flowerlamp_on"
        },

 

this is not changing the block while powered. Am I using the wrong boolean? or just using the one I have inappropriately?

 

Posted (edited)

Just a clarification on my error:

the block when pulled out of creative looks fine, the item model is fine, and placement (no power ever) looks fine.

 

My problem: once the block is given power, it turns into a redstone lamp, even if you remove power.

 

Sorry if i seem a bit impatient for answers, I've been trying to get this right for a couple weeks now. (before break included)

 

Also, to make changes easier and less likely to mistype, I edited the block in question from blue_flowerlamp to blue_lamp, I found myself typing florwering after a while. ? any instances of flowerlamp you find, are gone in my base code and if you find one in my github feel free to point it out so i can change it to what it is supposed to be.

Edited by Kaelym
Posted

  Quote

public class CustomRedstoneLight extends BlockRedstoneLight

{

private boolean isOn;

public CustomRedstoneLight(boolean isOn, Material material, String unlocalizedName, String registryName) {

super(isOn);

setUnlocalizedName(ElypsisMod.MODID + "." + unlocalizedName);

setRegistryName(registryName);

setCreativeTab(ElypsisMod.ElypsisCustom_TAB);

setSoundType(blockSoundType);

this.isOn = isOn;

if (isOn);

{this.setLightLevel(1.0F);

} }

}

Expand  

You're not overriding wherever the redstone lamp sets its block state to "on".

  • Thanks 1

About Me

  Reveal hidden contents

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 (edited)
  Quote

   public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state)
    {
        if (!worldIn.isRemote)
        {
            if (this.isOn && !worldIn.isBlockPowered(pos))
            {
                worldIn.setBlockState(pos, Blocks.REDSTONE_LAMP.getDefaultState(), 2);
            }
            else if (!this.isOn && worldIn.isBlockPowered(pos))
            {
                worldIn.setBlockState(pos, Blocks.LIT_REDSTONE_LAMP.getDefaultState(), 2);
            }
        }
    }

    /**
     * Called when a neighboring block was changed and marks that this state should perform any checks during a neighbor
     * change. Cases may include when redstone power is updated, cactus blocks popping off due to a neighboring solid
     * block, etc.
     */
    public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos)
    {
        if (!worldIn.isRemote)
        {
            if (this.isOn && !worldIn.isBlockPowered(pos))
            {
                worldIn.scheduleUpdate(pos, this, 4);
            }
            else if (!this.isOn && worldIn.isBlockPowered(pos))
            {
                worldIn.setBlockState(pos, Blocks.LIT_REDSTONE_LAMP.getDefaultState(), 2);
            }
        }
    }

    public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
    {
        if (!worldIn.isRemote)
        {
            if (this.isOn && !worldIn.isBlockPowered(pos))
            {
                worldIn.setBlockState(pos, Blocks.REDSTONE_LAMP.getDefaultState(), 2);
            }
        }
    }

    /**
     * Get the Item that this Block should drop when harvested.
     */

Expand  

Am I right in assuming this is what I need to be Overriding, or is there a better reference I can <should> be looking at? I'm getting a lot of errors over void, no imports available for updateTick etc... If this isn't it Ii'll continue my pursuits down the rabbit hole, gotta land eventually!

Edited by Kaelym
Posted (edited)

Yes, the last post was what I needed. however... New problem! My block is stuck in 'on'. What do I need to turn it off? or at least a reference to what I need to look at, to turn it off.

 

Sorry, i'm a problem child! if there's an error that can be done, I'll find it at least once.  =]

 

 

.Class:

CustomRedstoneLight.Class

CustLight.class

 

Handlers:

ModelRegistryHandler

RegistryHandler

 

Json:

Blockstates

Models

 

I will continue flipping through the reference and see if I have a "Eureka!" moment.

Edited by Kaelym
fixed one of the two problems (lighting)
Posted

try stepping through your code with the debugger

  • Thanks 1

About Me

  Reveal hidden contents

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

Hi, I quickly took a glance at your code, my first shot (brief look) is that " this.isOn" is not reset to false in your updatetick method when you set the blockstate to unpowered again.

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.