Jump to content

[SOLVED] Event for right clicking on a block


Spacejet

Recommended Posts

the forge documentation says to use "onBlockActivated", but if I try putting that into my code, it doesn't show up as a method to override. I have been using this resource by @Cadiboo to guide me through the process, and as you can see here, the method "onBlockActivated" is used here as well. Any help on this matter is appreciated.

 

Edited by Spacejet
edited the title to say 'solved'
Link to comment
Share on other sites

1 minute ago, Spacejet said:

the forge documentation says to use "onBlockActivated", but if I try putting that into my code, it doesn't show up as a method to override. I have been using this resource by @Cadiboo to guide me through the process, and as you can see here, the method "onBlockActivated" is used here as well. Any help on this matter is appreciated.

Show your code.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

For the block itself:

 

package com.spacejet.more_music.block;

import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockReader;

public class AdvancedNoteBlock extends Block
{
	public AdvancedNoteBlock(Properties properties)
	{
		super(properties);
	}

	@Override
	public boolean hasTileEntity(BlockState state)
	{
		return true;
	}

	@Override
	public TileEntity createTileEntity(BlockState state, IBlockReader world)
	{
		return super.createTileEntity(state, world);
	}
}
Link to comment
Share on other sites

24 minutes ago, Spacejet said:

For the block itself:

Copy and paste the method signature and post the error your IDE gives you if there is one. Of course with the @Override on top.

Edited by Animefan8888

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

  

13 minutes ago, Animefan8888 said:

Copy and paste the method signature and post the error your IDE gives you if there is one. Of course with the @Override on top.

 The error:

The method onBlockActivated(BlockState, World, BlockPos, PlayerEntity, Hand, BlockRayTraceResult) of type AdvancedNoteBlock must override or implement a supertype method

 

The updated code:

package com.spacejet.more_music.block;

import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
import net.minecraftforge.fml.network.NetworkHooks;

public class AdvancedNoteBlock extends Block
{
	public AdvancedNoteBlock(Properties properties)
	{
		super(properties);
	}

	@Override
	public boolean hasTileEntity(BlockState state)
	{
		return true;
	}

	@Override
	public TileEntity createTileEntity(BlockState state, IBlockReader world)
	{
		return super.createTileEntity(state, world);
	}
	
	@Override
	public ActionResultType onBlockActivated(final BlockState state, final World worldIn, final BlockPos pos, final PlayerEntity player, final Hand handIn, final BlockRayTraceResult hit) 
	{
		return ActionResultType.SUCCESS;
	}
}

 

So, as you can see, there is apparently no method named onBlockActivated in the minecraft Block class...

Edited by Spacejet
Quoted a post
Link to comment
Share on other sites

4 minutes ago, Spacejet said:

The method onBlockActivated(BlockState, World, BlockPos, PlayerEntity, Hand, BlockRayTraceResult) of type AdvancedNoteBlock must override or implement a supertype method

Odd how did you setup your workspace and what IDE are you using? Also have you tried looking in the Block class to see what it looks like in there? You may need to update your mappings.

Edited by Animefan8888

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

20 minutes ago, Animefan8888 said:

Odd how did you setup your workspace and what IDE are you using?

I am using Eclipse 2020-03 with JDK 8u241. I followed the instructions in the README.txt file that forge came with.

20 minutes ago, Animefan8888 said:

Also have you tried looking in the Block class to see what it looks like in there?

I have, and the method onBlockActivated is not present in the class

 

20 minutes ago, Animefan8888 said:

You may need to update your mappings

and how exactly would I go about doing that? do I do a "gradlew clean" before repeating the setup process?

Edited by Spacejet
added some quotation marks
Link to comment
Share on other sites

12 minutes ago, Spacejet said:

Block.class:

Remove this. Do not post code that is not yours.

8 minutes ago, Spacejet said:

and how exactly would I go about doing that? do I do a "gradlew clean" before repeating the setup process?

You edit the build.gradle file.

Look for a line that looks like this.

Quote

mappings channel: 'snapshot', version: '20200330-1.15.1'

Go to http://export.mcpbot.bspk.rs/snapshot/ to get the latest mappings.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Update mappings guide by Me1:

-go to http://export.mcpbot.bspk.rs/

-copy the version-name you want beginning after the 'snapshot-'

(eg. "mcp_snapshot-20200406-1.15.1" -> "20200406-1.15.1")

-go to your build.gradle file

- in line 28 it should say "mappings channel: 'snapshot', version: '123-0.00.0'" or something

-replace the "123-0.00.0" with the copied name

-redo you setup-process

 

source:

 

Link to comment
Share on other sites

1 minute ago, Spacejet said:

It worked! seems like the mappings being old was precisely the problem thanks a lot for your help @Animefan8888 and @me1. Marking this problem as solved

This is what the function was called in your mappings because it hadn't been mapped yet. "func_225533_a_"

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

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.