You just saved my life, Thanks!!!
For those still wondering, I'm leaving my fixed "use" method right here :
@Override
public InteractionResult use(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHit) {
if (!pLevel.isClientSide()) {
BlockEntity entity = pLevel.getBlockEntity(pPos);
if(entity instanceof LightForgeBlockEntity) {
IForgeServerPlayer thePlayer = (IForgeServerPlayer) pPlayer;
thePlayer.openMenu((LightForgeBlockEntity) entity, pPos);
} else {
throw new IllegalStateException("Our Container provider is missing!");
}
}
return InteractionResult.sidedSuccess(pLevel.isClientSide());
}
I'll get the register too, because it's primordial to have IForgeMenuType with that :
public static final RegistryObject<MenuType<LightForgeMenu>> LIGHT_FORGE_MENU =
MENUS.register("light_forge_menu", () -> IForgeMenuType.create(LightForgeMenu::new));
Thanks again and have a nice day/week/month/forever and ever