Was mache ich falsch?

1 Antwort

Mir ist jetzt so aufgefallen, dass du in deiner use-Methode deiner Blockklasse (AcaciaCraftingBenchBlock) nicht InteractionResult.CONSUME zurückgibst, wenn das GUI erfolgreich geöffnet wird. Also kann dein Code nicht wissen ob alles erfolgreich war. 

schau dich mal hier um ->

Block Interaction - Forge Community Wiki (gemwire.uk)

@Override
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
    int x = pos.getX();
    int y = pos.getY();
    int z = pos.getZ();
    if (!world.isClientSide) {  
        AcaciaCraftingBenchOnBlockRightClickedProcedure.execute(world, x, y, z, player);
        return InteractionResult.CONSUME;  
    }
    return InteractionResult.SUCCESS;
}

probier es mal so.

Ich würde generell in so einem Projekt mit try-catch Blöcken arbeiten. Du hast in deinem Code nicht eine einzige Fehlerbehandlung wenn was schief geht. So kannst du deinen Code definitiv nicht verwenden. Mir sind auch noch viele andere Dinge aufgefallen die man grundsätzlich anderes hätte machen sollen, aber da geh ich jetzt nicht weiter drauf ein. Ändere zuerst deinen public InteractionResult use Block und schau ob dass dein Problem löst

Gruß EchoTech

Woher ich das weiß:Berufserfahrung

SaureSchoki 
Fragesteller
 20.05.2024, 15:02

Hab noch nicht so viel Erfahrung. Mache das erste mal meine eigene Mod. Ich probiere mal das

0