Jump to content

[1.16.5] Help with Tileentity/Register TileEntityType


Luis_ST

Recommended Posts

i just want to add to my custom block (lightning rod) a tile entity but i got an error and i know there is an error in registration but i dont know where

code: (code is frome the documentation

package net.luis.cave.init;

import ;

@Mod.EventBusSubscriber(modid = Cave.Mod_Id, bus = Mod.EventBusSubscriber.Bus.MOD)
public class CaveTileEntityType {
	
	public static final TileEntityType<LightningRodTileEntity> LIGHTNING_ROD = null;
	
	@SubscribeEvent
	public static void registerTE(RegistryEvent.Register<TileEntityType<?>> event) {
		
		TileEntityType<?> type = TileEntityType.Builder
				.create(LightningRodTileEntity::new, CaveBlocks.LIGHTNING_ROD.get())
				.build(null);
		type.setRegistryName(Cave.Mod_Id, "lightminig_rod_tileentity");
		event.getRegistry().register(type);
		
	}

}

 

and the error log:

net.minecraft.crash.ReportedException: Ticking block entity
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:888) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:820) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:84) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:663) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:233) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Thread.java:832) [?:?] {}
Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.tileentity.TileEntityType.isValidBlock(net.minecraft.block.Block)" because the return value of "net.minecraft.tileentity.TileEntity.getType()" is null
	at net.minecraft.world.World.tickBlockEntities(World.java:537) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.server.ServerWorld.tick(ServerWorld.java:374) ~[forge:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:884) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	... 5 more
[13:52:48] [Server thread/ERROR] [minecraft/Chunk]: A TileEntity type net.luis.cave.blocks.tileentity.LightningRodTileEntity has thrown an exception trying to write state. It will not persist, Report this to the mod author
java.lang.RuntimeException: class net.luis.cave.blocks.tileentity.LightningRodTileEntity is missing a mapping! This is a bug!
	at net.minecraft.tileentity.TileEntity.writeInternal(TileEntity.java:71) ~[forge:?] {re:classloading}
	at net.minecraft.tileentity.TileEntity.write(TileEntity.java:65) ~[forge:?] {re:classloading}
	at net.minecraft.world.chunk.Chunk.getTileEntityNBT(Chunk.java:438) ~[forge:?] {re:classloading}
	at net.minecraft.world.chunk.storage.ChunkSerializer.write(ChunkSerializer.java:287) ~[forge:?] {re:classloading}
	at net.minecraft.world.server.ChunkManager.chunkSave(ChunkManager.java:699) ~[forge:?] {re:classloading}
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176) ~[?:?] {}
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?] {}
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?] {}
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?] {}
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?] {}
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?] {}
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?] {}
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?] {}
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {}
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[?:?] {}
	at net.minecraft.world.server.ChunkManager.save(ChunkManager.java:354) ~[forge:?] {re:classloading}
	at net.minecraft.world.server.ServerChunkProvider.save(ServerChunkProvider.java:310) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.server.ServerWorld.save(ServerWorld.java:710) ~[forge:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.save(MinecraftServer.java:544) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:583) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:186) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:700) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:233) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Thread.java:832) [?:?] {}

 

and my tileentity class:

package net.luis.cave.blocks.tileentity;

import java.util.Random;

import ;

public class LightningRodTileEntity extends TileEntity implements ITickableTileEntity {
	
	Random rng = this.getWorld().rand;
	
	public LightningRodTileEntity() {
		
		super(CaveTileEntityType.LIGHTNING_ROD);
		
	}
	
	

	@Override
	public void tick() {
		
		LightningBoltEntity lightning = new LightningBoltEntity(EntityType.LIGHTNING_BOLT, this.getWorld());
		lightning.setLocationAndAngles(this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(), rng.nextFloat() * 360, 0);
		
		if (this.getWorld().isThundering()) {
			
			if (this.getWorld().getGameTime() % (350 - rng.nextInt(200)) == 0) {
				
				this.getWorld().addEntity(lightning);
				
			}
			
		}
		
	}

}

 

Link to comment
Share on other sites

DeferredRegister is the other way.

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

17 minutes ago, Draco18s said:

DeferredRegister is the other way.

I kown but DefferredRegister will not work/I got an error which i don't understand:

	public static final DeferredRegister<TileEntityType<?>> TILE_ENTITIES = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, Cave.Mod_Id);
	
	public static final RegistryObject<TileEntityType<LightningRodTileEntity>> LIGHTNING_ROD = TILE_ENTITIES.register("lightminig_rod_tileentity", 
			() -> new TileEntityType<>(LightningRodTileEntity::new, CaveBlocks.LIGHTNING_ROD.get(), null));

 

1. what should i add at "null"

2. when i add the Block which the TileEntity is vaild i got this error/ my ide say there is an error: "Cannot infer type arguments for TileEntityType<>"

Link to comment
Share on other sites

30 minutes ago, Luis_ST said:

I kown but DefferredRegister will not work/I got an error which i don't understand:


	public static final DeferredRegister<TileEntityType<?>> TILE_ENTITIES = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, Cave.Mod_Id);
	
	public static final RegistryObject<TileEntityType<LightningRodTileEntity>> LIGHTNING_ROD = TILE_ENTITIES.register("lightminig_rod_tileentity", 
			() -> new TileEntityType<>(LightningRodTileEntity::new, CaveBlocks.LIGHTNING_ROD.get(), null));

 

1. what should i add at "null"

2. when i add the Block which the TileEntity is vaild i got this error/ my ide say there is an error: "Cannot infer type arguments for TileEntityType<>"

instead of a supplier, use the TileEntityType Builder

Link to comment
Share on other sites

		LightningBoltEntity lightning = new LightningBoltEntity(EntityType.LIGHTNING_BOLT, this.getWorld());
		lightning.setLocationAndAngles(this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(), rng.nextFloat() * 360, 0);
		
		if (this.getWorld().isThundering()) {
			
			if (this.getWorld().getGameTime() % (350 - rng.nextInt(200)) == 0) {
				
				this.getWorld().addEntity(lightning);
				
			}
			
		}
		
	

you first create a new LightningBoltEntity and after that you check if you need to, dont do that

Link to comment
Share on other sites

17 hours ago, loordgek said:

you first create a new LightningBoltEntity and after that you check if you need to, dont do that

thanks but i have already fixed this problem

 

17 hours ago, kiou.23 said:

instead of a supplier, use the TileEntityType Builder

i tried a bit but i don't understand how replace the Supplier with TileEntityType Builder

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

    • 사당방석집 △BCGAME88·COM▨ 서초방석집 냉천방석집 시흥방석집 강남방석집 oih03 보령방석집 북아현방석집 남양주방석집 송파방석집 gii24 응암방석집 이태원방석집 창신방석집 동대문방석집 utn95 영천방석집 천안방석집 미근방석집 상수방석집 fdm92 염곡방석집 여주방석집 홍성방석집 안동방석집 fbr98 오산방석집 삼전방석집 배방방석집 장교방석집 jdo67 능동방석집 휘경방석집 용산방석집 교북방석집 ron92 개포방석집 묵동방석집 염곡방석집 대치방석집 cxc10 개봉방석집 종암방석집 을지방석집 해남방석집 isy01 합정방석집 태평방석집 교북방석집 초동방석집 eke57 용인방석집 강일방석집 당진방석집 문배방석집 bmc83 당산방석집 산천방석집 하왕십리방석집 동두천방석집 vmt96 역삼방석집 염곡방석집 궁동방석집 월계방석집 int08 광명방석집 신수방석집 삼성방석집 동두천방석집 vee04 와룡방석집 경주방석집 용두방석집 충정로방석집 dbt03 강남방석집 서산방석집 돈의방석집 하중방석집 utt59 용답방석집 일원방석집 보광방석집 마천방석집 rva26 황학방석집 성내방석집 시흥방석집 내수방석집 llh47 이문방석집 신도림방석집 오류방석집 성수방석집 fkj53 예장방석집 가양방석집 태안방석집 청파방석집 anw23 대치방석집 화동방석집 장충방석집 양주방석집 ymv83 과천방석집 오금방석집 창동방석집 삼청방석집 idn85 당주방석집 저동방석집 양평방석집 동자방석집 kvn95
    • 흑석집창촌 ☆BCGAME88·COM■ 도화집창촌 광장집창촌 상계집창촌 과천집창촌 aqc19 홍제집창촌 가회집창촌 정읍집창촌 장교집창촌 vip52 강일집창촌 동두천집창촌 서계집창촌 마포집창촌 axo11 석촌집창촌 평동집창촌 홍지집창촌 남현집창촌 ahs76 등촌집창촌 동숭집창촌 합정집창촌 구리집창촌 qus94 사간집창촌 공주집창촌 강서집창촌 과천집창촌 dpt69 서대문집창촌 홍파집창촌 가락집창촌 불광집창촌 arj33 세종집창촌 구리집창촌 포천집창촌 상왕십리집창촌 vmo08 고척집창촌 중곡집창촌 평창집창촌 개포집창촌 wow38 수서집창촌 하왕십리집창촌 항동집창촌 제천집창촌 rds40 공평집창촌 성남집창촌 당산집창촌 흑석집창촌 cjo83 삼척집창촌 하남집창촌 송파집창촌 이천집창촌 aco03 관훈집창촌 회현집창촌 거창집창촌 마곡집창촌 mdl30 청암집창촌 잠원집창촌 행촌집창촌 적선집창촌 wns14 상주집창촌 고흥집창촌 갈현집창촌 동숭집창촌 brw23 응암집창촌 고척집창촌 울산집창촌 중학집창촌 eif70 노원집창촌 논산집창촌 신원집창촌 파주집창촌 sum11 효창집창촌 적선집창촌 남양주집창촌 상왕십리집창촌 sna72 초동집창촌 황학집창촌 용강집창촌 역삼집창촌 amr71 의왕집창촌 가락집창촌 신설집창촌 대흥집창촌 doo67 평택집창촌 상수집창촌 칠곡집창촌 군산집창촌 mxt50 진천집창촌 동빙고집창촌 상암집창촌 옥수집창촌 xot74 화양집창촌 종암집창촌 삼각집창촌 갈월집창촌 uji84
    • 상도풀싸롱 ºBCGAME88·COMº 의정부풀싸롱 양주풀싸롱 동두천풀싸롱 명동풀싸롱 ncf88 경주풀싸롱 독산풀싸롱 사당풀싸롱 입정풀싸롱 qnv41 아산풀싸롱 신공덕풀싸롱 양주풀싸롱 자곡풀싸롱 ede19 주자풀싸롱 관악풀싸롱 삼청풀싸롱 용문풀싸롱 eht15 문배풀싸롱 이촌풀싸롱 불광풀싸롱 신내풀싸롱 agg67 서대문풀싸롱 마곡풀싸롱 논현풀싸롱 효자풀싸롱 hnr99 인천풀싸롱 본동풀싸롱 장충풀싸롱 강일풀싸롱 uja13 소격풀싸롱 수원풀싸롱 능동풀싸롱 남양주풀싸롱 mkh08 마장풀싸롱 서린풀싸롱 저동풀싸롱 인사풀싸롱 mqx91 중구풀싸롱 창동풀싸롱 계동풀싸롱 청파풀싸롱 igc46 중림풀싸롱 양평풀싸롱 양평풀싸롱 필동풀싸롱 wmo13 부여풀싸롱 서교풀싸롱 용강풀싸롱 계동풀싸롱 nte43 당진풀싸롱 불광풀싸롱 옥천풀싸롱 화순풀싸롱 rsj65 안양풀싸롱 청담풀싸롱 길음풀싸롱 미아풀싸롱 mkg01 외발산풀싸롱 강동풀싸롱 산방풀싸롱 강일풀싸롱 iyf13 대전풀싸롱 중구풀싸롱 여수풀싸롱 회기풀싸롱 hig23 공덕풀싸롱 내수풀싸롱 석관풀싸롱 시흥풀싸롱 lvt61 충신풀싸롱 봉래풀싸롱 당주풀싸롱 안성풀싸롱 bbs36 송현풀싸롱 장사풀싸롱 고양풀싸롱 삼각풀싸롱 nna82 제주풀싸롱 송월풀싸롱 광주풀싸롱 내발산풀싸롱 ufd51 인사풀싸롱 칠곡풀싸롱 성구풀싸롱 평택풀싸롱 oqw64 구리풀싸롱 옥천풀싸롱 중계풀싸롱 오금풀싸롱 knj33 부여풀싸롱 인사풀싸롱 용강풀싸롱 역삼풀싸롱 rao03
    • 본동가요주점 ☏BCGAME88·COM↑ 청담가요주점 구의가요주점 홍파가요주점 홍파가요주점 sur60 의정부가요주점 망우가요주점 파주가요주점 길음가요주점 lso87 내곡가요주점 홍지가요주점 광진가요주점 필운가요주점 hrc31 영천가요주점 논현가요주점 서초가요주점 거여가요주점 sfr31 청담가요주점 갈월가요주점 삼척가요주점 길동가요주점 faj10 시흥가요주점 개포가요주점 중구가요주점 서린가요주점 mwt02 창원가요주점 제기가요주점 송월가요주점 부암가요주점 gvi52 한강가요주점 안산가요주점 함안가요주점 가회가요주점 bdp79 도선가요주점 합정가요주점 영천가요주점 무교가요주점 gfy44 일원가요주점 역촌가요주점 예관가요주점 완주가요주점 uxc07 수하가요주점 북가좌가요주점 문배가요주점 저동가요주점 udb32 용강가요주점 장지가요주점 강서가요주점 와룡가요주점 paa12 동자가요주점 갈월가요주점 청주가요주점 중화가요주점 tyb81 내곡가요주점 도선가요주점 문경가요주점 연희가요주점 qub18 낙원가요주점 제천가요주점 장안가요주점 보광가요주점 ivr69 남학가요주점 신공덕가요주점 정릉가요주점 가산가요주점 qaa90 익산가요주점 상수가요주점 청주가요주점 양평가요주점 edk53 옥수가요주점 구리가요주점 주교가요주점 하남가요주점 bgc83 김천가요주점 수색가요주점 광희가요주점 연지가요주점 ouo21 예장가요주점 여주가요주점 운니가요주점 의왕가요주점 sxp17 역삼가요주점 연희가요주점 하남가요주점 쌍문가요주점 fnx11 예관가요주점 무악가요주점 광명가요주점 쌍문가요주점 dlo13 홍성가요주점 예관가요주점 은평가요주점 원주가요주점 xql50
    • 노량진건마 ⊙BCGAME88·COM㏇ 익산건마 신영건마 일원건마 하계건마 ccq28 수하건마 칠곡건마 동두천건마 체부건마 jfi67 현저건마 창성건마 이문건마 아산건마 mem69 권농건마 화동건마 금호건마 만리건마 tva41 익선건마 목포건마 오장건마 창원건마 cnb14 고흥건마 금산건마 상일건마 묵정건마 tuw91 해남건마 경산건마 신계건마 동해건마 aeg66 사간건마 중계건마 시흥건마 익산건마 xoj76 창성건마 역삼건마 암사건마 광주건마 umy65 거창건마 학방건마 양평건마 여주건마 hfw07 남양주건마 익산건마 상왕십리건마 도원건마 mbt76 대전건마 홍천건마 원남건마 공주건마 akj10 염창건마 정릉건마 중곡건마 무학건마 eon53 답십리건마 적선건마 신천건마 아현건마 yrc54 남양주건마 효자건마 이촌건마 봉원건마 sai61 성구건마 마천건마 회현건마 을지건마 ack19 서린건마 잠원건마 성수건마 의주건마 sjp28 안양건마 경주건마 장위건마 압구정건마 tdh37 중계건마 부천건마 사천건마 봉원건마 rbx59 당주건마 만리건마 운니건마 동두천건마 dhj90 송정건마 여의도건마 동두천건마 대구건마 ybn36 휘경건마 외발산건마 숭인건마 망원건마 pvo45 명동건마 공릉건마 남현건마 부여건마 hie60
  • Topics

×
×
  • Create New...

Important Information

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