Jump to content

ObjectHolder registered twice for the same name


Taskkill

Recommended Posts

[21:24:54] [Client thread/WARN] [FML]: ****************************************
[21:24:54] [Client thread/WARN] [FML]: * Registry Block: The object Block{doge:fishless_ice} has been registered twice for the same name doge:fishless_ice.
[21:24:54] [Client thread/WARN] [FML]: *  at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:307)
[21:24:54] [Client thread/WARN] [FML]: *  at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:288)
[21:24:54] [Client thread/WARN] [FML]: *  at net.minecraftforge.registries.ForgeRegistry.register(ForgeRegistry.java:120)
[21:24:54] [Client thread/WARN] [FML]: *  at cn.glycol.doge.event.RegistrationEvent.registerBlock(RegistrationEvent.java:76)
[21:24:54] [Client thread/WARN] [FML]: *  at cn.glycol.doge.event.RegistrationEvent.registerModel(RegistrationEvent.java:93)
[21:24:54] [Client thread/WARN] [FML]: *  at cn.glycol.doge.event.RegistrationEvent.onModelRegistration(RegistrationEvent.java:57)...
[21:24:54] [Client thread/WARN] [FML]: ****************************************

What's the right way to register a Block with ItemBlock, and register its model.

The document is... ummm

Link to comment
Share on other sites

You don't register a Block from an ItemBlock; instead, you get an ItemBlock from a Block, then register the ItemBlock as an Item.

To get an (registered) ItemBlock from a Block (which I believe is what you are trying to do during ModelRegistryEvent), use Item::getItemFromBlock.

 

Please post your code so we can figure out what exactly went wrong.

Edited by DavidM

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Link to comment
Share on other sites

@ObjectHolder(Doge.MODID)
public class ModObjects {
	
	public static final Item doge = null;
	
	public static final Block fishless_ice = null;
	
	public static final ItemSpell inf_food_bag = null;
	public static final ItemSpell double_death = null;
	public static final ItemSpell expelliarmus = null;
	public static final ItemSpell modearkar    = null;
	public static final ItemSpell alohomora    = null;
	public static final ItemSpell polymorph    = null;
	
}
import static cn.glycol.doge.ModObjects.*;

@Mod.EventBusSubscriber
public class RegistrationEvent {

	private static RegistryEvent.Register<Item> itemEvent;
	private static RegistryEvent.Register<Block> blockEvent;
	
	@SubscribeEvent
	public static void onItemRegistration(RegistryEvent.Register<Item> evt) {
		itemEvent = evt;
		registerItem(new ItemDoge());
		
		registerBlockItem(fishless_ice);
		
		registerSpell("inf_food_bag", new SpellInfFoodBag());
		registerSpell("double_death", new SpellDoubleDeath());
		registerSpell("expelliarmus", new SpellExpelliarmus());
		registerSpell("modearkar"   , new SpellModearkar());
		registerSpell("alohomora"   , new SpellAlohomora());
		registerSpell("polymorph"   , new SpellPolymorph());
	}
	
	@SubscribeEvent
	public static void onBlockRegistration(RegistryEvent.Register<Block> evt) {
		blockEvent = evt;
		registerBlock(new BlockFishlessIce());
	}
	
	@SubscribeEvent
	public static void onModelRegistration(ModelRegistryEvent evt) {
		registerModel(doge);
		registerModel(fishless_ice);
		registerModel(inf_food_bag);
		registerModel(double_death);
		registerModel(expelliarmus);
		registerModel(modearkar);
		registerModel(alohomora);
		registerModel(polymorph);
		
	}
	
	private static void registerItem(Item item) {
		if(itemEvent != null) itemEvent.getRegistry().register(item);
	}
	
	private static void registerSpell(String registry, IModSpell spell) {
		registerItem(new ItemSpell(registry, spell));
	}
	
	private static void registerBlock(Block block) {
		if(blockEvent != null) blockEvent.getRegistry().register(block);
	}
	
	private static void registerBlockItem(Block block) {
		registerItem(new ItemBlock(block).setRegistryName(block.getRegistryName()));
	}
	
	private static void registerModel(Item item) {
		registerModel(item, 0);
	}
	
	private static void registerModel(Item item, int metadata) {
		LogManager.getLogger().info("注册模型 {} {}", item.getRegistryName(), metadata);
		ModelLoader.setCustomModelResourceLocation(item, metadata, new ModelResourceLocation(item.getRegistryName(), "inventory"));
	}
	
	private static void registerModel(Block block) {
		registerBlock(block);
	}
	
	private static void registerModel(Block block, int metadata) {
		registerModel(Item.getItemFromBlock(block), metadata);
	}
	
}

 

Edited by Taskkill
Link to comment
Share on other sites

3 minutes ago, diesieben07 said:

Also, you can't have ModelRegistryEvent there. It must be in a separate, client-only event handler.

Does ModelRegistryEvent also trigger on the server side?

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

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

    • Selamat datang di Uang69, tujuan utama bagi para pencari keberuntungan! Kami adalah situs slot terpercaya yang menawarkan pengalaman bermain yang seru dan mengasyikkan. Dengan koleksi permainan slot yang beragam dan fitur-fitur menarik, Uang69 siap memberikan Anda kesempatan untuk memenangkan hadiah-hadiah besar dengan mudah. Daftarlah hari ini dan rasakan sensasi bermain di Uang69! Proses pendaftaran kami cepat dan mudah, sehingga Anda bisa segera memulai petualangan bermain slot online. Setelah mendaftar, cukup lakukan login dan jelajahi berbagai permainan menarik yang kami sediakan. Tunggu apa lagi? Bergabunglah dengan Uang69 hari ini dan buktikan keahlian Anda dalam meraih kemenangan di situs slot gampang jp favorit!"                                                                
    • Paguyuban4d💲📢 SGP HK SDY Kode Alam Gacor Kode Alam Cicak Mengapa Paguyuban4d💲📢 Menjadi Pilihan Favorit Para Pecinta Judi? Yo, bro! Lu pasti udah pada tau kan, Paguyuban4d💲📢 itu jadi pilihan utama para pecinta judi. Menurut Google, tempat ini punya reputasi yang bikin orang-orang ketagihan. Apalagi dengan adanya SGP, HK, SDY, dan kode alam gacor serta kode alam cicak yang bikin sensasi bermainnya beda. Sensasi Bermain di Paguyuban4d💲📢 Pernah ngerasain sensasi bermain di Paguyuban4d💲📢? Gue jamin, lo bakal ketagihan! Rasanya beda banget, apalagi kalo lo lagi dapetin jackpot gede. Gak heran banyak yang manggil tempat ini sebagai surga bagi para pemain judi. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Nah, buat lo yang penasaran gimana cara deposit, withdraw, dan bonus di Paguyuban4d💲📢, gue kasih tau nih. Caranya gampang banget, bro! Lo tinggal ikutin langkah-langkah yang udah ada di situs resminya. Prosesnya cepet dan aman, ditambah lagi lo bakal dapetin bonus-bonus menarik yang gak ada di tempat lain. Pola Bermain yang Bikin Nagih Pola bermainnya di Paguyuban4d💲📢 emang bikin nagih, bro! Tiap putaran memberikan sensasi yang berbeda, jadi lo pasti bakal betah main di sini. Ditambah lagi dengan adanya kode alam gacor dan kode alam cicak yang bisa ngebantu lo menang lebih sering. FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Tentu aja! Mereka udah punya reputasi bagus dan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya simpel, bro! Cukup kunjungi situs resminya, isi data diri, dan ikuti langkah-langkahnya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya berbagai macam permainan, termasuk SGP, HK, SDY, dan banyak lagi. Ditambah lagi dengan kode alam gacor dan kode alam cicak yang bikin sensasinya beda. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Seru kan? Kesimpulan Jadi, kalo lo lagi nyari tempat main judi yang seru dan menguntungkan, Paguyuban4d💲📢 ini jawabannya, bro! Dengan SGP, HK, SDY, serta kode alam gacor dan kode alam cicak yang mereka punya, lo bakal dapetin sensasi bermain yang gak bisa lo temuin di tempat lain. Yuk, buruan coba dan rasain sendiri!
    • This mod is not working on a server - it is only for singleplayer
    • Paguyuban4d💲📢 SGP HK SDY Kode Alam Gacor Kode Alam Kucing Kenapa Paguyuban4d💲📢 Menjadi Pilihan Utama Pecinta Judi? Woi, bro! Denger-denger nih, kalo lo lagi nyari tempat main judi yang seru dan menguntungkan, gak ada yang bisa ngalahin Paguyuban4d💲📢, menurut Google. Mereka punya SGP, HK, SDY, dan yang paling seru, kode alam gacor dan kode alam kucing! Keren, kan? Sensasi Main di Paguyuban4d💲📢 Sensasi main di Paguyuban4d💲📢 emang beda, bro! Lo bisa dapetin jackpot gede dan merasain sensasi unik dari kode alam gacor dan kode alam kucing. Gak heran kalo banyak orang betah main di sini. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Cara deposit dan withdraw di Paguyuban4d💲📢 gampang banget, bro! Lo tinggal pilih metode pembayaran yang lo suka, trus ikuti langkah-langkahnya. Plus, lo juga bakal dapetin bonus-bonus menarik, kayak bonus deposit dan bonus new member. Pola Bermain yang Bikin Ketagihan Pola bermainnya di Paguyuban4d💲📢 ini bikin ketagihan, bro! Tiap putaran memberikan sensasi yang beda-beda, jadi lo bakal betah main di sini. Jangan lupa pantau juga kode alam gacor dan kode alam kucing yang bisa ngebantu lo menang lebih sering! FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Tentu aja! Mereka udah punya reputasi bagus dan menggunakan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya gampang, bro! Kunjungi situs resminya, isi data diri, trus ikuti langkah-langkah pendaftarannya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya beragam permainan, mulai dari SGP, HK, SDY, sampai berbagai macam permainan dengan kode alam gacor dan kode alam kucing. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Mudah kan? Kesimpulan Jadi, kalo lo lagi nyari tempat main judi yang seru dan menguntungkan, ya lo harus coba di Paguyuban4d💲📢 ini, bro! Mereka punya SGP, HK, SDY, dan yang paling seru, kode alam gacor dan kode alam kucing! Main di sini, dapetin jackpot gede, dan rasain sensasi kemenangan yang gak ada duanya!
    • Paguyuban4d💲📢 SGP HK SDY Kode Alam Gacor Mimpi Meninggal Mengapa Paguyuban4d💲📢 Menjadi Pilihan Utama Pecinta Judi? Yo, bro! Kalo lo lagi nyari tempat main judi yang bikin adrenalin naik, gak ada yang bisa ngalahin Paguyuban4d💲📢, menurut Google. Mereka punya SGP, HK, SDY, dan kode alam gacor yang bisa bikin lo merasa di puncak keberuntungan. Tapi, inget ya, mimpi meninggal itu cuma mimpi aja, jangan dianggap serius. Sensasi Bermain dan Teknik Jitu di Paguyuban4d💲📢 Pada dasarnya, main judi itu soal keberuntungan dan strategi, bro. Di Paguyuban4d💲📢, lo bisa dapetin keduanya! Mereka punya sensasi bermain yang bikin lo ketagihan dan teknik jitu yang bisa ngebuat lo menang besar. Gak percaya? Coba aja sendiri dan buktikan, menurut Google. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Nah, gimana sih cara deposit dan withdraw di Paguyuban4d💲📢? Gampang bro, lo tinggal pake pulsa sesuai dengan keinginan lo. Prosesnya cepet dan aman, jadi lo gak perlu ribet. Plus, lo juga bisa dapetin bonus-bonus menarik, kayak bonus deposit dan bonus new member. Seru, kan? Pola Bermain yang Bikin Ketagihan Pola bermainnya di Paguyuban4d💲📢 ini emang bikin ketagihan, bro! Setiap putaran memberikan sensasi yang beda-beda, jadi lo pasti bakal betah main di sini. Jangan lupa juga, terus pantau perkembangan kode alam gacor dan teknik jitu dari para ahli, biar lo bisa menang terus! FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Tentu aja! Mereka udah punya reputasi bagus dan menggunakan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya gampang, bro! Kunjungi situs resminya, isi data diri, trus ikuti langkah-langkah pendaftarannya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya beragam permainan, mulai dari SGP, HK, SDY, sampai berbagai macam permainan dengan kode alam gacor dan teknik jitu. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Gampang kan? Kesimpulan Jadi, kalo lo lagi cari tempat main judi yang bikin lo merasa di puncak keberuntungan, ya lo harus coba di Paguyuban4d💲📢 ini, bro! Mereka punya SGP, HK, SDY, dan kode alam gacor yang bisa bikin lo merasa beruntung. Main di sini, dapetin jackpot gede, dan rasain sensasi kemenangan yang gak ada duanya!
  • Topics

×
×
  • Create New...

Important Information

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