Jump to content

kowagatte

Members
  • Posts

    4
  • Joined

  • Last visited

Posts posted by kowagatte

  1. 3 hours ago, diesieben07 said:

    No, you must create your own one. Otherwise Minecraft cannot recognize your entity as its own type and properly spawn it. It will just spawn as a normal item entity on the client also be saved to the disk as such. When it then loads from disk that fails, because the custom item entity hook is not designed to work like that.

     

    Why is there an "entityEntityType" parameter but you don't use it?

     

    No. You can't have this constructor, as it would use the vanilla item entity type. All your constructors must pass your entity type to super.

    Thanks a ton, fixing these issues solved my problem. Kindest regards.

  2. 6 hours ago, Animefan8888 said:

    Post the debug.log file.

    I don't know how useful it's going to be since the client completely hangs and stops writing to the debug.log, there are no errors in the log.
    Heres the last little bit before it hangs, I cant upload the entire thing since its too big.

    Spoiler
    
    [19Apr2020 17:34:12.906] [Server thread/DEBUG] [net.minecraftforge.registries.ObjectHolderRegistry/REGISTRIES]: Applying holder lookups
    [19Apr2020 17:34:12.907] [Server thread/DEBUG] [net.minecraftforge.registries.ObjectHolderRegistry/REGISTRIES]: Holder lookups applied
    [19Apr2020 17:34:12.907] [Server thread/DEBUG] [net.minecraftforge.fml.server.ServerLifecycleHooks/CORE]: Generating PackInfo named mod:forge for mod file /home/kowa/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.14.4-28.2.0_mapped_snapshot_20190719-1.14.3/forge-1.14.4-28.2.0_mapped_snapshot_20190719-1.14.3-recomp.jar
    [19Apr2020 17:34:12.907] [Server thread/DEBUG] [net.minecraftforge.fml.server.ServerLifecycleHooks/CORE]: Generating PackInfo named mod:patch116 for mod file /home/kowa/Desktop/netherrite_patch/build/resources/main
    [19Apr2020 17:34:12.907] [Server thread/INFO] [net.minecraft.resources.SimpleReloadableResourceManager/]: Reloading ResourceManager: Default, forge-1.14.4-28.2.0_mapped_snapshot_20190719-1.14.3-recomp.jar, main
    [19Apr2020 17:34:13.136] [Server thread/INFO] [net.minecraft.item.crafting.RecipeManager/]: Loaded 6 recipes
    [19Apr2020 17:34:13.304] [Server thread/INFO] [net.minecraft.advancements.AdvancementList/]: Loaded 811 advancements
    [19Apr2020 17:34:13.309] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Preparing start region for dimension minecraft:overworld
    [19Apr2020 17:34:13.726] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 0%
    [19Apr2020 17:34:13.829] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 24%
    [19Apr2020 17:34:14.338] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 83%
    [19Apr2020 17:34:14.824] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 88%
    [19Apr2020 17:34:15.330] [Client thread/INFO] [net.minecraft.world.chunk.listener.LoggingChunkStatusListener/]: Preparing spawn area: 94%

     

     

  3. 5 hours ago, diesieben07 said:

    You must use the ItemEntity constructor that takes an EntityType parameter and pass your EntityType.

    You will also need to override createSpawnPacket in your entity class and return NetworkHooks.getEntitySpawningPacket.

    I have not created an EntityType, would I just use the ItemEntity ItemType? Where will this constructor be called? my IDE says this is never used.

     

    Edit: I tried doing what you suggested but the issue seems to keep persiting.
    My NetherItemEntity.class

    Spoiler
    
    public class NetherItemEntity extends ItemEntity {
    
        private int health = 5;
    
        public NetherItemEntity(World worldIn, Entity location, ItemStack stack) {
            super(worldIn, location.posX, location.posY, location.posZ, stack);
        }
    
        @SuppressWarnings("unchecked")
        public NetherItemEntity(EntityType<Entity> entityEntityType, World world) {
            super((EntityType<? extends ItemEntity>) Patch116Entities.NETHER_ITEM_ENTITY, world);
        }
    
        @Override
        public void dealFireDamage(int amount){ return; }
    
        @Override
        public boolean isInvulnerableTo(DamageSource source){
            if(source == DamageSource.IN_FIRE || source == DamageSource.LAVA || source == DamageSource.ON_FIRE)
                return true;
            return super.isInvulnerableTo(source);
        }
    
        @Override
        public IPacket<?> createSpawnPacket() {
            return NetworkHooks.getEntitySpawningPacket(this);
        }
    }

     

    My Patch116Entities.class

    Spoiler
    
    public class Patch116Entities {
    
        public static EntityType<?> NETHER_ITEM_ENTITY = EntityType.Builder.create(NetherItemEntity::new, EntityClassification.MISC)
                .build(Patch116.MOD_ID+":nether_item_entity")
                .setRegistryName(new ResourceLocation(Patch116.MOD_ID, "nether_item_entity"));
    
        @Mod.EventBusSubscriber(modid = Patch116.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
        public static class Registration {
            @SubscribeEvent
            public static void registerEntities(final RegistryEvent.Register<EntityType<?>> event) {
                event.getRegistry().registerAll(NETHER_ITEM_ENTITY);
            }
        }
    }

     

    The issues still keeps happening, stuck loading at 100% when my custom ItemEntity is on the ground.

  4. When loading a world with my custom NetherItemEntity on the ground the game gets stuck at 100% loading world, The process is then unable to be terminated and requires restarting my computer before becoming bootable.

    The issue only happens when reloading a world that has my custom ItemEntity on the ground.

    At first I was cancelling the EntityJoinWorldEvent and replacing the itemEntity with my own if it was a NetherItem but when this issue started happening I moved to having my Item implement IForgeItem and have a customEntity. This did not fix my issue.

    I don't know where to go from here as I don't know how to make my itemEntity invulnerable to fire & lava without this method.

    The only similar forum post I found was this: 

     

    This is my NetherItemEntity.class

    Spoiler

     

    
    public class NetherItemEntity extends ItemEntity {
    
        private int health = 5;
    
        public NetherItemEntity(World worldIn, double x, double y, double z, ItemStack stack) {
            super(worldIn, x, y, z, stack);
        }
    
        @Override
        public void dealFireDamage(int amount){ return; }
    
        @Override
        public boolean isInvulnerableTo(DamageSource source){
            if(source == DamageSource.IN_FIRE || source == DamageSource.LAVA || source == DamageSource.ON_FIRE)
                return true;
            return super.isInvulnerableTo(source);
        }
    
    }

     

    This is my NetheriteIngotItem.class

    Spoiler
    
    public class NetheriteIngotItem extends Item implements IForgeItem {
        public NetheriteIngotItem(Properties properties) {
            super(properties);
            setRegistryName("netherite_ingot");
        }
    
        @Override
        public boolean hasCustomEntity(ItemStack stack) {
            return true;
        }
    
        @Override
        @Nullable
        public Entity createEntity(World world, Entity location, ItemStack itemstack) {
            NetherItemEntity entity = new NetherItemEntity(world, location.posX, location.posY, location.posZ, itemstack);
            entity.setPickupDelay(30);
            return entity;
        }
    
    
    }

     

     

×
×
  • Create New...

Important Information

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