-
À mon avis tu devrais faire une autre classe dans la RenderRobot qui implements IRenderFactory et passe la dans ta fonction.
-
C’est ce que j’ai fais au début sauf que pour que ça marche il faut mettre
IRenderFactorysans les <> sauf que ça mets un npe -
Dans les crochets il faut mettre la classe de ton entité, c’est bizarre j’avais jamais rencontré un problème comme ça.
-
oui mas ça ne marche pas
-
J’ai trouvé mon problème, ça venait ne
Entities.ROBOTqui était unEntityType<?>et pasEntityType<EntityRobot> -
Bonjour, j’ai un nouveau problème quand j’essaye d’utiliser mon oeuf de spawn,
voici la jolie erreur :[15:46:52] [Server thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Server java.lang.NullPointerException: null at net.minecraft.item.SpawnEggItem.onItemUse(SpawnEggItem.java:80) ~[?:?] {re:classloading} at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:610) ~[?:?] {re:classloading} at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:173) ~[?:?] {re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:353) ~[?:?] {re:classloading} at net.minecraft.network.play.ServerPlayNetHandler.processTryUseItemOnBlock(ServerPlayNetHandler.java:881) ~[?:?] {re:classloading} at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:45) ~[?:?] {re:classloading} at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:12) ~[?:?] {re:classloading} at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:19) ~[?:?] {re:classloading} at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:20) ~[?:?] {re:classloading} at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?] {re:classloading} at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:759) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:141) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.driveOneInternal(MinecraftServer.java:742) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:736) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(ThreadTaskExecutor.java:123) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.runScheduledTasks(MinecraftServer.java:722) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:666) [?:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251] {}et mon code :
@Mod.EventBusSubscriber(modid = Main.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class Items { public static Item PERSONAL_GEM; public static Item ROBOT_SPAWN_EGG; public static Item ELECTRICAL_FLUID_BUCKET; @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { event.getRegistry().registerAll( PERSONAL_GEM = new ItemPersonalGem(), ROBOT_SPAWN_EGG = register("robot_spawn_egg", Entities.ROBOT, 0xFF0000, 0x00FFEE), ELECTRICAL_FLUID_BUCKET = register("electrical_fluid_bucket", Fluids.ELECTRICAL) ); } private static Item register(String name) { return new Item(new Item.Properties().group(Group.MOD)).setRegistryName(name); } private static Item register(String name, EntityType<?> entity, int primaryColor, int secondaryColor) { return new SpawnEggItem(entity, primaryColor, secondaryColor, new Item.Properties().group(Group.MOD).maxStackSize(1)).setRegistryName(name); } private static Item register(String name, Fluid fluid) { return new BucketItem(() -> fluid, new Item.Properties().group(Group.MOD).maxStackSize(1)).setRegistryName(name); } } -
Tu pourrais montrer la classe de ton item avec steuplé ?
-
Mais non, j’utlise le 2eme register qui est dans la class même (ligne 27)
EDIT : je viens de me rendre compte que j’avais mis un maxStackSize, mais pourquoi ?
-
up ?
-
J’ai réglé le problème, j’ai créer une classe à part avec
onItemUsepuis dedans j’ai fait spawn le mob au bon endroit