Jump to content

[1.18.2] How to make a block that can become indestructible when I apply some powder on it ?


Recommended Posts

Posted (edited)

Hello,

I'm a newbie in the Minecraft modding but I know the Java's basics. I use Intellij IDEA. The mod is intended for 1.18.2

I'm making a sort of Aether Mod (in order to train). Currently, I am creating a block which can become indestructible when I apply some Luminite powder (a new crystal transformed into powder). This block is called Urzil and it will be used in the dungeon where it is, by default, indestructible.

My question is how should I proceed to code that ? Should I look the Redstone-Lamp-Block JavaClass and "copy" the code or should I search through the tons of Minecraft code until I find the good method per example ?

I have created an abstract JavaClass called "ChargeableBlocks"  (in a folder named "Common") which contains the Urzil feature. As a matter of fact, I planned to create other ones for more dungeons. Then, I will place the UrzilClass in the same folder

I watched some video (TurtyWurty and Kaupenjoe) but I understand nothing that can help me. I haven't coded the Luminite Powder yet.

The code below is incomplete but you can look at. It's the ChargeableBlock JavaClass

If someone can help (or correct) me please. I'm lost

N.B. : Please read the text before deleting it, diesieben07.    You are able to answer my problem in all cases !  At worst , tell me only where should I go to get the informations :)

-Vat1n-

 

package fr.vat.mymod.common.block;

import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.phys.BlockHitResult;

public abstract class ChargeableBlocks extends Block {
    public static final BooleanProperty CHARGED = BooleanProperty.create("charged");


    public ChargeableBlocks(BlockBehaviour.Properties properties) {
        super(properties);
        this.registerDefaultState(this.defaultBlockState().setValue(CHARGED, Boolean.valueOf(false)));
    }

    @Override
    protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> pBuilder) {
        pBuilder.add(CHARGED);
    }

    @Override
    public InteractionResult use(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHit) 	{
    }
}

 

Edited by Vat1n

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.