Jump to content

What is the correct way to create a block in 16.5


DracoDoes

Recommended Posts

Block with constructor ::

 public static BarrierBlock barrierBlock = new BarrierBlock(AbstractBlock.Properties.of(Material.FIRE, MaterialColor.METAL));
	    public static final RegistryObject<Block> BARRIER_BLOCK = BLOCKS.register("barrier_block", (Supplier<? extends I>) barrierBlock); //this needs supplier

public class BarrierBlock extends Block {

	public BarrierBlock(Properties p_i48440_1_) {
		super(p_i48440_1_);
	}

}

//Following gives error: java.lang.NoSuchFieldError: field_151573_f
	at com.mcexamples.lists.BlockList.lambda$static$0(BlockList.java:19) ~[main/:?]


  public static final RegistryObject<Block> SILVER_BLOCK = BLOCKS.register("silver_block", () ->
	    		new Block(AbstractBlock.Properties.of(Material.METAL, MaterialColor.METAL).requiresCorrectToolForDrops()
	    				.strength(4.0f, 6.0f).sound(SoundType.METAL).harvestTool(ToolType.PICKAXE).harvestLevel(2)));

 

Thanks

 

Link to comment
Share on other sites

2 minutes ago, DracoDoes said:

Block with constructor ::

add the properties in the constructor of the block and the supplier looks like this:

BarrierBlock::new

or keep the properties in the constructor and the supplier looks like this

() -> new BarrierBlock(Block Properties)

 

Link to comment
Share on other sites

30 minutes ago, Luis_ST said:

 

or keep the properties in the constructor and the supplier looks like this


() -> new BarrierBlock(Block Properties)

 

Why this gives error? 

Following gives error: java.lang.NoSuchFieldError: field_151573_f
	at com.mcexamples.lists.BlockList.lambda$static$0(BlockList.java:19) ~[main/:?]

 

Link to comment
Share on other sites

Two of those files are 0 bytes, nice.

Anyway:

Quote

java.lang.NoSuchFieldError: field_151573_f
    at com.mcexamples.lists.BlockList.lambda$static$0(BlockList.java:29)

Your BlockList file is only 25 lines long.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

21 minutes ago, Luis_ST said:

please update your git repo, as this version of the mod (on github) seems is outdated, or is not complet...

updated the repo. However, it's the same line 

 public static final RegistryObject<Block> SILVER_BLOCK = BLOCKS.register("silver_block", () ->
	    		new Block(Properties.of(Material.CLAY, MaterialColor.COLOR_CYAN)));

that shows error for some field like "15**" :: Logs attached from latest run

debug.log latest.log

Link to comment
Share on other sites

24 minutes ago, DracoDoes said:

Ok, ya, updated now.

 

Thanks

Why does the mod id in the .toml file not match that of your packages?

 

The path of your classes should be src/main/java/com/<MOD_AUTHOR>/<MOD_ID>/...

But yours is src/main/java/com/mcexamples/examplemod/...

 

So to fix your issue, under the package .../java/ refactor the package mcexamples to the mod author, so 'dracodoes' for example, then refactor the package examplemod to 'mcexamples'

Edited by aritod
Link to comment
Share on other sites

9 minutes ago, aritod said:

Why does the mod id in the .toml file not match that of your packages?

 

 

so in .toml file, I added mcexamples with dependencies. (main folder under src/main/java) 

But modid is present in .toml file modId="mcexamples"  line 18

If I add one more entry with modId= mcexamples, (name of the ModId) in .toml file, I get the same error. I have tried it earliar. But believe me, it gives the same error.

 

[[dependencies.mcexamples]] #optional
    # the modid of the dependency
    modId="forge" #mandatory

Link to comment
Share on other sites

19 minutes ago, DracoDoes said:

so in .toml file, I added mcexamples with dependencies. (main folder under src/main/java) 

But modid is present in .toml file modId="mcexamples"  line 18

If I add one more entry with modId= mcexamples, (name of the ModId) in .toml file, I get the same error. I have tried it earliar. But believe me, it gives the same error.

 

[[dependencies.mcexamples]] #optional
    # the modid of the dependency
    modId="forge" #mandatory

I'm not sure I quite understand you.

 

What I'm saying is that your project structure should look like this:

 

2018278076_ScreenShot2021-05-24at2_33_53PM.thumb.png.2a171bbcf699253a7debe1a82394c3a5.png

 

Notice how the path is src/main/java/com/dracodoes/mcexamples/ instead of src/main/java/com/mcexamples/examplemod/

So make sure your project structures looks like this. Obviously, you can rename the directory 'dracodoes' to another name, such as MacDax, etc, as it represents the mod author.

I am not asking you to change anything in your mods.toml file, so either I misunderstood you, or you misunderstood me.

 

Also, sorry if this is not what you meant, because you were somewhat unclear.

Edited by aritod
Link to comment
Share on other sites

1 hour ago, aritod said:

The path of your classes should be src/main/java/com/<MOD_AUTHOR>/<MOD_ID>/...

That should only be the path if you own the domain <MOD_AUTHOR>.com, which commonly isn't the case

if  you don't own a website/domain, the recommended package name is io.github.<MOD_AUTHOR>, or some repository hosting service you use.

The name of the package, however, does not affect the issue

Edited by kiou.23
Link to comment
Share on other sites

10 minutes ago, kiou.23 said:

That should only be the path if you own the domain <MOD_AUTHOR>.com, which commonly isn't the case

if  you don't own a website/domain, the recommended package name is io.github.<MOD_AUTHOR>, or some repository hosting service you use.

The name of the package, however, does not affect the issue

That's what I thought.. so what's the issue?

Link to comment
Share on other sites

Now my package structure looks like this:  But still it gives the same error:

image.png.84681aae1251b07fbd8fde5ca9696998.png

[24May2021 13:45:58.012] [Render thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:block> dispatch for modid mcexamples
java.lang.NoSuchFieldError: field_151571_B
	at com.MacDax.mcexamples.lists.BlockList.lambda$static$0(BlockList.java:27) ~[main/:?]
	at net.minecraftforge.registries.DeferredRegister.lambda$register$0(DeferredRegister.java:124) ~[forge-1.16.5-36.1.4_mapped_official_1.16.5-recomp.jar:?]

 

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • ASIABET adalah pilihan terbaik bagi Anda yang mencari slot gacor hari ini dengan server Rusia dan jackpot menggiurkan. Berikut adalah beberapa alasan mengapa Anda harus memilih ASIABET: Slot Gacor Hari Ini Kami menyajikan koleksi slot gacor terbaik yang diperbarui setiap hari. Dengan fitur-fitur unggulan dan peluang kemenangan yang tinggi, Anda akan merasakan pengalaman bermain yang tak terlupakan setiap kali Anda memutar gulungan. Server Rusia yang Handal Kami menggunakan server Rusia yang handal dan stabil untuk memastikan kelancaran dan keadilan dalam setiap putaran permainan. Anda dapat bermain dengan nyaman tanpa khawatir tentang gangguan atau lag. Jackpot Menggiurkan Nikmati kesempatan untuk memenangkan jackpot menggiurkan yang dapat mengubah hidup Anda secara instan. Dengan hadiah-hadiah besar yang ditawarkan, setiap putaran permainan bisa menjadi peluang untuk meraih keberuntungan besar.
    • Sonic77 adalah pilihan tepat bagi Anda yang menginginkan pengalaman bermain slot yang unggul dengan akun pro Swiss terbaik. Berikut adalah beberapa alasan mengapa Anda harus memilih Sonic77: Slot Gacor Terbaik Kami menyajikan koleksi slot gacor terbaik dari provider terkemuka. Dengan fitur-fitur unggulan dan peluang kemenangan yang tinggi, Anda akan merasakan pengalaman bermain yang tak terlupakan. Akun Pro Swiss Berkualitas Kami menawarkan akun pro Swiss yang berkualitas dan terpercaya. Dengan akun ini, Anda dapat menikmati berbagai keuntungan eksklusif dan fasilitas premium yang tidak tersedia untuk akun reguler.
    • SV388 SITUS RESMI SABUNG AYAM 2024   Temukan situs resmi untuk sabung ayam terpercaya di tahun 2024 dengan SV388! Dengan layanan terbaik dan pengalaman bertaruh yang tak tertandingi, SV388 adalah tempat terbaik untuk pecinta sabung ayam. Daftar sekarang untuk mengakses arena sabung ayam yang menarik dan nikmati kesempatan besar untuk meraih kemenangan. Jelajahi sensasi taruhan yang tak terlupakan di tahun ini dengan SV388! [[jumpuri:❱❱❱❱❱ DAFTAR DI SINI ❰❰❰❰❰ > https://w303.pink/orochimaru]] [[jumpuri:❱❱❱❱❱ DAFTAR DI SINI ❰❰❰❰❰ > https://w303.pink/orochimaru]]   JURAGANSLOT88 SITUS JUDI SLOT ONLINE TERPERCAYA 2024 Jelajahi pengalaman judi slot online terpercaya di tahun 2024 dengan JuraganSlot88! Sebagai salah satu situs terkemuka, JuraganSlot88 menawarkan berbagai pilihan permainan slot yang menarik dengan layanan terbaik dan keamanan yang terjamin. Daftar sekarang untuk mengakses sensasi taruhan yang tak terlupakan dan raih kesempatan besar untuk meraih kemenangan di tahun ini dengan JuraganSlot88 [[jumpuri:❱❱❱❱❱ DAFTAR DI SINI ❰❰❰❰❰ > https://w303.pink/orochimaru]] [[jumpuri:❱❱❱❱❱ DAFTAR DI SINI ❰❰❰❰❰ > https://w303.pink/orochimaru]]
    • Slot Bank MEGA atau Daftar slot Bank MEGA bisa anda lakukan pada situs WINNING303 kapanpun dan dimanapun, Bermodalkan Hp saja anda bisa mengakses chat ke agen kami selama 24 jam full. keuntungan bergabung bersama kami di WINNING303 adalah anda akan mendapatkan bonus 100% khusus member baru yang bergabung dan deposit. Tidak perlu banyak, 5 ribu rupiah saja anda sudah bisa bermain bersama kami di WINNING303 . Tunggu apa lagi ? Segera Klik DAFTAR dan anda akan jadi Jutawan dalam semalam.
    • ladangtoto situs resmi ladangtoto situs terpercaya 2024   Temukan situs resmi dan terpercaya untuk tahun 2024 di LadangToto! Dengan layanan terbaik dan keamanan yang terjamin, LadangToto adalah pilihan utama untuk penggemar judi online. Daftar sekarang untuk mengakses berbagai jenis permainan taruhan, termasuk togel, kasino, dan banyak lagi. Jelajahi sensasi taruhan yang tak terlupakan dan raih kesempatan besar untuk meraih kemenangan di tahun ini dengan LadangToto!" [[jumpuri:❱❱❱❱❱ DAFTAR DI SINI ❰❰❰❰❰ > https://w303.pink/orochimaru]] [[jumpuri:❱❱❱❱❱ DAFTAR DI SINI ❰❰❰❰❰ > https://w303.pink/orochimaru]]
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.