Jump to content

ArianKG

Members
  • Posts

    24
  • Joined

  • Last visited

Posts posted by ArianKG

  1. I did that, but nothing happened:

    package com.kg.kgforge.factory;
    
    import java.util.Optional;
    import net.minecraft.util.registry.Registry;
    import net.minecraft.world.biome.Biome;
    import net.minecraft.world.gen.ChunkGenerator;
    import net.minecraft.world.gen.DimensionSettings;
    import net.minecraft.world.gen.FlatChunkGenerator;
    import net.minecraft.world.gen.FlatGenerationSettings;
    import net.minecraft.world.gen.settings.DimensionStructuresSettings;
    import net.minecraftforge.common.world.ForgeWorldType;
    
    public class KGFactory implements ForgeWorldType.IChunkGeneratorFactory {
        @Override
        public ChunkGenerator createChunkGenerator(Registry<Biome> biomeRegistry, Registry<DimensionSettings> dimensionSettingsRegistry, long seed, String generatorSettings) {
            return new FlatChunkGenerator(new FlatGenerationSettings(new DimensionStructuresSettings(Optional.empty(), DimensionStructuresSettings.DEFAULTS), biomeRegistry));
        }
    }
  2. @diesieben07 What is the problem now?

    package com.kg.kgforge.c;
    
    import com.kg.kgforge.entity.KagoEntity;
    import net.minecraft.entity.EntityClassification;
    import net.minecraft.entity.EntityType;
    import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
    
    public class CEntities {
        public static final EntityType<KagoEntity> KAGO = EntityType.Builder.of(KagoEntity::new, EntityClassification.MONSTER).sized(0.6F, 1.95F).clientTrackingRange(8).build("kago");
        public static void registerAttributes(EntityAttributeCreationEvent event) {
            event.put(KAGO, KagoEntity.createAttributes().build());
        }
    }
  3. @diesieben07 What is the problem now?

    package com.kg.kgforge.entity;
    
    import net.minecraft.entity.EntityType;
    import net.minecraft.entity.LivingEntity;
    import net.minecraft.entity.ai.attributes.AttributeModifierMap;
    import net.minecraft.entity.ai.attributes.Attributes;
    import net.minecraft.entity.monster.MonsterEntity;
    import net.minecraft.world.World;
    import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class KagoEntity extends MonsterEntity {
        public KagoEntity(EntityType<? extends KagoEntity> type, World world) {
            super(type, world);
            Map<EntityType<? extends LivingEntity>, AttributeModifierMap> map = new HashMap<>();
            map.put(type, createAttributes().build());
            new EntityAttributeCreationEvent(map);
            setHealth(getMaxHealth());
        }
        public static AttributeModifierMap.MutableAttribute createAttributes() {
            return MonsterEntity.createMonsterAttributes()
                .add(Attributes.MAX_HEALTH, 512.0D)
                .add(Attributes.MOVEMENT_SPEED, 1.0D)
                .add(Attributes.FOLLOW_RANGE, 128.0D);
        }
    }
  4. I added a biome to Minecraft, but I want to make a custom world generation for my biome.

    Here is my code:

    package com.kg.kgforge.c;
    
    import com.kg.kgforge.KGForge;
    import net.minecraft.util.RegistryKey;
    import net.minecraft.util.ResourceLocation;
    import net.minecraft.world.biome.Biome;
    import net.minecraft.world.biome.BiomeAmbience;
    import net.minecraft.world.biome.BiomeGenerationSettings;
    import net.minecraft.world.biome.MobSpawnInfo;
    import net.minecraftforge.common.BiomeDictionary;
    import net.minecraftforge.common.BiomeManager;
    import net.minecraftforge.registries.ForgeRegistries;
    
    public class CBiomes {
        public static final Biome BLACK_BIOME = new Biome.Builder()
            .precipitation(Biome.RainType.NONE)
            .biomeCategory(Biome.Category.NONE)
            .depth(1)
            .scale(1)
            .temperature(20)
            .downfall(1)
            .specialEffects(new BiomeAmbience.Builder()
                .fogColor(0)
                .waterColor(0)
                .waterFogColor(0)
                .grassColorOverride(0)
                .skyColor(0)
                .build()
            )
            .generationSettings(BiomeGenerationSettings.EMPTY)
            .mobSpawnSettings(MobSpawnInfo.EMPTY)
            .build();
        public static void setupBiome(Biome biome, String id, BiomeManager.BiomeType biomeType, int weight, BiomeDictionary.Type... types) {
            CRegistries.BIOMES.register(id, () -> biome);
            RegistryKey<Biome> key = RegistryKey.create(
                ForgeRegistries.Keys.BIOMES,
                new ResourceLocation(KGForge.MODID, id)
            );
            BiomeDictionary.addTypes(key, types);
            BiomeManager.addBiome(biomeType, new BiomeManager.BiomeEntry(key, weight));
        }
    }

    (If more codes are needed, I can paste the codes in other files)

  5. I registered an entity, but when I summon my entity, Minecraft says: "Unable to summon entity"

    My codes:

    c/CRegistries.java:

    package com.kg.kgforge.c;
    
    import com.kg.kgforge.KGForge;
    import net.minecraft.entity.EntityType;
    import net.minecraftforge.registries.DeferredRegister;
    import net.minecraftforge.registries.ForgeRegistries;
    
    public class CRegistries {
        public static final DeferredRegister<EntityType<?>> ENTITIES = DeferredRegister.create(ForgeRegistries.ENTITIES, KGForge.MODID);
    }

    c/CEntities.java:

    package com.kg.kgforge.c;
    
    import com.kg.kgforge.entity.KagoEntity;
    import net.minecraft.entity.EntityClassification;
    import net.minecraft.entity.EntityType;
    
    public class CEntities {
        public static final EntityType<KagoEntity> KAGO = EntityType.Builder.of(KagoEntity::new, EntityClassification.MONSTER).sized(0.6F, 1.95F).clientTrackingRange(8).build("kago");
    }

    entity/KagoEntity.java:

    package com.kg.kgforge.entity;
    
    import net.minecraft.entity.EntityType;
    import net.minecraft.entity.monster.MonsterEntity;
    import net.minecraft.world.World;
    
    public class KagoEntity extends MonsterEntity {
        public KagoEntity(EntityType<? extends MonsterEntity> type, World world) {
            super(type, world);
        }
    }

    init/InitEntities.java:

    package com.kg.kgforge.init;
    
    import com.kg.kgforge.c.CEntities;
    import com.kg.kgforge.c.CRegistries;
    
    public class InitEntities {
        public static void initEntities() {
            CRegistries.ENTITIES.register("kago", () -> CEntities.KAGO);
            CRegistries.ENTITIES.register(Init.EVENT_BUS);
        }
    }
×
×
  • Create New...

Important Information

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