Jump to content

chrisicrafter27

Members
  • Posts

    6
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

chrisicrafter27's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Debug Log: debug_log.txt Lines with "pig": In this run I summoned and killed my custom entity via /summon minecraft:furnace_minecart and /kill command. (And I did not summon a pig)
  2. I want my custom furnace mincart now to replace the vanilla one. That does work quite good, but I found a problem. I can spawn the custom furnace minecart with the /summon command as well as with the item. But calling get() on the RegistryObject CUSTOM_MINECART_FURNACE.get() or getType() on the entity itself in an event CustomMinecartFurnace.getType() both return EntityType.PIG and again I just can't figure out why... However it seems that the following value is ignored, because nothing changes when changing this value regardless if I use "transportit" or "minecraft" as modid of the DeferredRegister. I also know that the resource key of the Entity is "minecraft:entity_type/transportit:furnace_minecart" or "minecraft:entity_type/minecraft:furnace_minecart". public static final RegistryObject<EntityType<CustomMinecartFurnace>> CUSTOM_MINECART_FURNACE = VANILLA_ENTITY_TYPES.register("furnace_minecart", () -> EntityType.Builder.<CustomMinecartFurnace>of(CustomMinecartFurnace::new, MobCategory.MISC) .sized(0.98F, 0.7F).clientTrackingRange(8) .build(/*This value seems to be ignored*/"furnace_minecart")); (GitHub)
  3. Thanks a lot! I added the following line to common setup and now it works EntityRenderers.register(ModEntities.CUSTOM_MINECART_FURNACE.get(), context -> new MinecartRenderer<>(context, ModelLayers.FURNACE_MINECART));
  4. I want to add a custom furnace minecart that's just faster. It seems that I did not register it properly, but I just can't find out what I'm doing wrong. If I use "minecraft" as modid and "furnace_minecart" as id in the ModEntities class, the custom minecart spawns. But when I then rejoin the world, it's a vanilla furnace minecart. My GitHub repository Error: java.lang.NullPointerException: Registry Object not present: transportit:furnace_minecart at java.util.Objects.requireNonNull(Objects.java:334) ~[?:?] {} at net.minecraftforge.registries.RegistryObject.get(RegistryObject.java:204) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23187%23193!/:?] {re:classloading} at de.chrisicrafter.transportit.entity.custom.CustomMinecartFurnace.<init>(CustomMinecartFurnace.java:41) ~[%23194!/:?] {re:classloading} at de.chrisicrafter.transportit.item.custom.CustomMinecartItem.createMinecart(CustomMinecartItem.java:113) ~[%23194!/:?] {re:classloading} at de.chrisicrafter.transportit.item.custom.CustomMinecartItem.useOn(CustomMinecartItem.java:95) ~[%23194!/:?] {re:classloading} at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:515) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23187%23193!/:?] {re:classloading} at net.minecraft.world.item.ItemStack.useOn(ItemStack.java:250) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,xf:fml:forge:itemstack} at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:355) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading} at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:1034) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading} at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:32) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading} at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:8) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading} at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:23) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading} at net.minecraft.server.TickTask.run(TickTask.java:17) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading} at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:143) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:22) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading} at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:765) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:160) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:116) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:748) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:742) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:104) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:727) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:660) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:249) ~[forge-1.20.2-48.0.35_mapped_official_1.20.2-recomp.jar%23188!/:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:833) ~[?:?] {}
  5. Hello, I want to save an ArrayList of BlockPos for each world. I've seen this forge documentation but I don't really understand it. Additionally I think something has changed with 1.20.2. For example the computeIfAbsent method now takes different arguments such as a SavedData.Factory. Could someone please help me? EDIT After a bit of try-and-error I got it. Here is the code if anyone is interested in it: package de.chrisicrafter.loadit.utils; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.util.datafix.DataFixTypes; import net.minecraft.world.level.saveddata.SavedData; import java.util.ArrayList; public class BeaconData extends SavedData { public final ArrayList<BlockPos> beaconPositions; public static SavedData.Factory<BeaconData> factory() { return new SavedData.Factory<>(BeaconData::new, BeaconData::load, DataFixTypes.LEVEL); } public BeaconData() { beaconPositions = new ArrayList<>(); } public BeaconData(ArrayList<BlockPos> list) { beaconPositions = list; } @Override public CompoundTag save(CompoundTag tag) { //save to tag int size = beaconPositions.size(); tag.putInt("size", size); for(int i = 0; i < size; i++) { tag.put("beacon_pos_" + i, NbtUtils.writeBlockPos(beaconPositions.get(i))); } return tag; } public static BeaconData load(CompoundTag tag) { ArrayList<BlockPos> list = new ArrayList<>(); //load from tag int size = tag.getInt("size"); for(int i = 0; i < size; i++) { list.add(NbtUtils.readBlockPos((CompoundTag) tag.get("beacon_pos_" + i))); } return new BeaconData(list); } @Override public String toString() { StringBuilder builder = new StringBuilder(); int size = beaconPositions.size(); for(int i = 0; i < size; i++) { builder.append("beacon_pos_"); builder.append(i); builder.append(" "); builder.append(beaconPositions.get(i).toString()); builder.append(System.getProperty("line.separator")); } return builder.toString(); } }
  6. Could someone explain me how to change the player model to an existing vanilla mob model?
×
×
  • Create New...

Important Information

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