Reformated

This commit is contained in:
Frank 2022-06-08 20:58:41 +02:00
parent fc1da134e7
commit 60e8008cb7
416 changed files with 5772 additions and 4573 deletions

View file

@ -1,12 +1,12 @@
package org.betterx.betterend.registry;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.item.EndAttribute;
import net.minecraft.core.Registry;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.item.EndAttribute;
public class EndAttributes {
public final static Attribute BLINDNESS_RESISTANCE = registerAttribute("generic.blindness_resistance", 0.0, true);
@ -15,7 +15,7 @@ public class EndAttributes {
Registry.ATTRIBUTE,
BetterEnd.makeID(name),
new EndAttribute("attribute.name." + name, value).setSyncable(syncable)
);
);
}
public static AttributeSupplier.Builder addLivingEntityAttributes(AttributeSupplier.Builder builder) {

View file

@ -1,10 +1,5 @@
package org.betterx.betterend.registry;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.biome.Biome;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.generator.BiomePicker;
import org.betterx.bclib.api.v2.generator.map.hex.HexBiomeMap;
@ -18,6 +13,11 @@ import org.betterx.betterend.world.biome.land.*;
import org.betterx.betterend.world.generator.BiomeType;
import org.betterx.betterend.world.generator.GeneratorOptions;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.biome.Biome;
public class EndBiomes {
public static final BiomeAPI.BiomeType END_CAVE = new BiomeAPI.BiomeType("END_CAVE", BiomeAPI.BiomeType.END);

View file

@ -1,5 +1,10 @@
package org.betterx.betterend.registry;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.blocks.EndStoneSmelter;
import org.betterx.betterend.blocks.basis.PedestalBlock;
import org.betterx.betterend.blocks.entities.*;
import net.minecraft.core.Registry;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
@ -7,35 +12,32 @@ import net.minecraft.world.level.block.entity.BlockEntityType;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.blocks.EndStoneSmelter;
import org.betterx.betterend.blocks.basis.PedestalBlock;
import org.betterx.betterend.blocks.entities.*;
public class EndBlockEntities {
public final static BlockEntityType<EndStoneSmelterBlockEntity> END_STONE_SMELTER = registerBlockEntity(
EndStoneSmelter.ID,
FabricBlockEntityTypeBuilder.create(EndStoneSmelterBlockEntity::new, EndBlocks.END_STONE_SMELTER)
);
);
public final static BlockEntityType<PedestalBlockEntity> PEDESTAL = registerBlockEntity(
"pedestal",
FabricBlockEntityTypeBuilder.create(PedestalBlockEntity::new, getPedestals())
);
);
public final static BlockEntityType<EternalPedestalEntity> ETERNAL_PEDESTAL = registerBlockEntity(
"eternal_pedestal",
FabricBlockEntityTypeBuilder.create(EternalPedestalEntity::new, EndBlocks.ETERNAL_PEDESTAL)
);
);
public final static BlockEntityType<InfusionPedestalEntity> INFUSION_PEDESTAL = registerBlockEntity(
"infusion_pedestal",
FabricBlockEntityTypeBuilder.create(InfusionPedestalEntity::new, EndBlocks.INFUSION_PEDESTAL)
);
);
public final static BlockEntityType<BlockEntityHydrothermalVent> HYDROTHERMAL_VENT = registerBlockEntity(
"hydrother_malvent",
FabricBlockEntityTypeBuilder.create(BlockEntityHydrothermalVent::new, EndBlocks.HYDROTHERMAL_VENT)
);
);
public static <T extends BlockEntity> BlockEntityType<T> registerBlockEntity(String id,
FabricBlockEntityTypeBuilder<T> builder) {
public static <T extends BlockEntity> BlockEntityType<T> registerBlockEntity(
String id,
FabricBlockEntityTypeBuilder<T> builder
) {
return Registry.register(Registry.BLOCK_ENTITY_TYPE, BetterEnd.makeID(id), builder.build(null));
//return Registry.register(Registry.BLOCK_ENTITY_TYPE, BetterEnd.makeID(id), builder.build(null));

View file

@ -1,11 +1,11 @@
package org.betterx.betterend.registry;
import org.betterx.betterend.client.render.PedestalItemRenderer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.rendering.v1.BlockEntityRendererRegistry;
import org.betterx.betterend.client.render.PedestalItemRenderer;
@Environment(EnvType.CLIENT)
public class EndBlockEntityRenders {
public static void register() {

View file

@ -1,13 +1,5 @@
package org.betterx.betterend.registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.material.MaterialColor;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import org.betterx.bclib.blocks.*;
import org.betterx.bclib.registry.BlockRegistry;
import org.betterx.betterend.BetterEnd;
@ -19,6 +11,14 @@ import org.betterx.betterend.item.material.EndArmorMaterial;
import org.betterx.betterend.item.material.EndToolMaterial;
import org.betterx.betterend.tab.CreativeTabs;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.material.MaterialColor;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import java.util.List;
import org.jetbrains.annotations.NotNull;
@ -27,34 +27,50 @@ public class EndBlocks {
// Terrain //
public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new EndstoneDustBlock());
public static final Block END_MYCELIUM = registerBlock("end_mycelium",
new EndTerrainBlock(MaterialColor.COLOR_LIGHT_BLUE));
public static final Block END_MYCELIUM = registerBlock(
"end_mycelium",
new EndTerrainBlock(MaterialColor.COLOR_LIGHT_BLUE)
);
public static final Block END_MOSS = registerBlock("end_moss", new EndTerrainBlock(MaterialColor.COLOR_CYAN));
public static final Block CHORUS_NYLIUM = registerBlock("chorus_nylium",
new EndTerrainBlock(MaterialColor.COLOR_MAGENTA));
public static final Block CHORUS_NYLIUM = registerBlock(
"chorus_nylium",
new EndTerrainBlock(MaterialColor.COLOR_MAGENTA)
);
public static final Block CAVE_MOSS = registerBlock("cave_moss", new EndTripleTerrain(MaterialColor.COLOR_PURPLE));
public static final Block CRYSTAL_MOSS = registerBlock("crystal_moss",
new EndTerrainBlock(MaterialColor.COLOR_PINK));
public static final Block CRYSTAL_MOSS = registerBlock(
"crystal_moss",
new EndTerrainBlock(MaterialColor.COLOR_PINK)
);
public static final Block SHADOW_GRASS = registerBlock("shadow_grass", new ShadowGrassBlock());
public static final Block PINK_MOSS = registerBlock("pink_moss", new EndTerrainBlock(MaterialColor.COLOR_PINK));
public static final Block AMBER_MOSS = registerBlock("amber_moss", new EndTerrainBlock(MaterialColor.COLOR_ORANGE));
public static final Block JUNGLE_MOSS = registerBlock("jungle_moss",
new EndTerrainBlock(MaterialColor.COLOR_GREEN));
public static final Block JUNGLE_MOSS = registerBlock(
"jungle_moss",
new EndTerrainBlock(MaterialColor.COLOR_GREEN)
);
public static final Block SANGNUM = registerBlock("sangnum", new EndTerrainBlock(MaterialColor.COLOR_RED));
public static final Block RUTISCUS = registerBlock("rutiscus", new EndTerrainBlock(MaterialColor.COLOR_ORANGE));
public static final Block PALLIDIUM_FULL = registerBlock("pallidium_full", new PallidiumBlock("full", null));
public static final Block PALLIDIUM_HEAVY = registerBlock("pallidium_heavy",
new PallidiumBlock("heavy", PALLIDIUM_FULL));
public static final Block PALLIDIUM_THIN = registerBlock("pallidium_thin",
new PallidiumBlock("thin", PALLIDIUM_HEAVY));
public static final Block PALLIDIUM_TINY = registerBlock("pallidium_tiny",
new PallidiumBlock("tiny", PALLIDIUM_THIN));
public static final Block PALLIDIUM_HEAVY = registerBlock(
"pallidium_heavy",
new PallidiumBlock("heavy", PALLIDIUM_FULL)
);
public static final Block PALLIDIUM_THIN = registerBlock(
"pallidium_thin",
new PallidiumBlock("thin", PALLIDIUM_HEAVY)
);
public static final Block PALLIDIUM_TINY = registerBlock(
"pallidium_tiny",
new PallidiumBlock("tiny", PALLIDIUM_THIN)
);
// Roads //
public static final Block END_MYCELIUM_PATH = registerBlock("end_mycelium_path", new BasePathBlock(END_MYCELIUM));
public static final Block END_MOSS_PATH = registerBlock("end_moss_path", new BasePathBlock(END_MOSS));
public static final Block CHORUS_NYLIUM_PATH = registerBlock("chorus_nylium_path",
new BasePathBlock(CHORUS_NYLIUM));
public static final Block CHORUS_NYLIUM_PATH = registerBlock(
"chorus_nylium_path",
new BasePathBlock(CHORUS_NYLIUM)
);
public static final Block CAVE_MOSS_PATH = registerBlock("cave_moss_path", new BasePathBlock(CAVE_MOSS));
public static final Block CRYSTAL_MOSS_PATH = registerBlock("crystal_moss_path", new BasePathBlock(CRYSTAL_MOSS));
public static final Block SHADOW_GRASS_PATH = registerBlock("shadow_grass_path", new BasePathBlock(SHADOW_GRASS));
@ -65,12 +81,18 @@ public class EndBlocks {
public static final Block RUTISCUS_PATH = registerBlock("rutiscus_path", new BasePathBlock(RUTISCUS));
public static final Block MOSSY_OBSIDIAN = registerBlock("mossy_obsidian", new MossyObsidian());
public static final Block DRAGON_BONE_BLOCK = registerBlock("dragon_bone_block",
new BaseRotatedPillarBlock(Blocks.BONE_BLOCK));
public static final Block DRAGON_BONE_STAIRS = registerBlock("dragon_bone_stairs",
new BaseStairsBlock(DRAGON_BONE_BLOCK));
public static final Block DRAGON_BONE_SLAB = registerBlock("dragon_bone_slab",
new BaseSlabBlock(DRAGON_BONE_BLOCK));
public static final Block DRAGON_BONE_BLOCK = registerBlock(
"dragon_bone_block",
new BaseRotatedPillarBlock(Blocks.BONE_BLOCK)
);
public static final Block DRAGON_BONE_STAIRS = registerBlock(
"dragon_bone_stairs",
new BaseStairsBlock(DRAGON_BONE_BLOCK)
);
public static final Block DRAGON_BONE_SLAB = registerBlock(
"dragon_bone_slab",
new BaseSlabBlock(DRAGON_BONE_BLOCK)
);
public static final Block MOSSY_DRAGON_BONE = registerBlock("mossy_dragon_bone", new MossyDragonBoneBlock());
// Rocks //
@ -78,67 +100,103 @@ public class EndBlocks {
public static final StoneMaterial VIOLECITE = new StoneMaterial("violecite", MaterialColor.COLOR_PURPLE);
public static final StoneMaterial SULPHURIC_ROCK = new StoneMaterial("sulphuric_rock", MaterialColor.COLOR_BROWN);
public static final StoneMaterial VIRID_JADESTONE = new StoneMaterial("virid_jadestone", MaterialColor.COLOR_GREEN);
public static final StoneMaterial AZURE_JADESTONE = new StoneMaterial("azure_jadestone",
MaterialColor.COLOR_LIGHT_BLUE);
public static final StoneMaterial SANDY_JADESTONE = new StoneMaterial("sandy_jadestone",
MaterialColor.COLOR_YELLOW);
public static final StoneMaterial AZURE_JADESTONE = new StoneMaterial(
"azure_jadestone",
MaterialColor.COLOR_LIGHT_BLUE
);
public static final StoneMaterial SANDY_JADESTONE = new StoneMaterial(
"sandy_jadestone",
MaterialColor.COLOR_YELLOW
);
public static final StoneMaterial UMBRALITH = new StoneMaterial("umbralith", MaterialColor.DEEPSLATE);
public static final Block BRIMSTONE = registerBlock("brimstone", new BrimstoneBlock());
public static final Block SULPHUR_CRYSTAL = registerBlock("sulphur_crystal", new SulphurCrystalBlock());
public static final Block MISSING_TILE = registerBlock("missing_tile", new MissingTileBlock());
public static final Block ENDSTONE_FLOWER_POT = registerBlock("endstone_flower_pot",
new FlowerPotBlock(Blocks.END_STONE));
public static final Block ENDSTONE_FLOWER_POT = registerBlock(
"endstone_flower_pot",
new FlowerPotBlock(Blocks.END_STONE)
);
public static final Block FLAVOLITE_RUNED = registerBlock("flavolite_runed", new RunedFlavolite(false));
public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock("flavolite_runed_eternal",
new RunedFlavolite(true));
public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock(
"flavolite_runed_eternal",
new RunedFlavolite(true)
);
public static final Block ANDESITE_PEDESTAL = registerBlock("andesite_pedestal",
new PedestalVanilla(Blocks.ANDESITE));
public static final Block ANDESITE_PEDESTAL = registerBlock(
"andesite_pedestal",
new PedestalVanilla(Blocks.ANDESITE)
);
public static final Block DIORITE_PEDESTAL = registerBlock("diorite_pedestal", new PedestalVanilla(Blocks.DIORITE));
public static final Block GRANITE_PEDESTAL = registerBlock("granite_pedestal", new PedestalVanilla(Blocks.GRANITE));
public static final Block QUARTZ_PEDESTAL = registerBlock("quartz_pedestal",
new PedestalVanilla(Blocks.QUARTZ_BLOCK));
public static final Block PURPUR_PEDESTAL = registerBlock("purpur_pedestal",
new PedestalVanilla(Blocks.PURPUR_BLOCK));
public static final Block QUARTZ_PEDESTAL = registerBlock(
"quartz_pedestal",
new PedestalVanilla(Blocks.QUARTZ_BLOCK)
);
public static final Block PURPUR_PEDESTAL = registerBlock(
"purpur_pedestal",
new PedestalVanilla(Blocks.PURPUR_BLOCK)
);
public static final Block HYDROTHERMAL_VENT = registerBlock("hydrothermal_vent", new HydrothermalVentBlock());
public static final Block VENT_BUBBLE_COLUMN = registerEndBlockOnly("vent_bubble_column",
new VentBubbleColumnBlock());
public static final Block VENT_BUBBLE_COLUMN = registerEndBlockOnly(
"vent_bubble_column",
new VentBubbleColumnBlock()
);
public static final Block DENSE_SNOW = registerBlock("dense_snow", new DenseSnowBlock());
public static final Block EMERALD_ICE = registerBlock("emerald_ice", new EmeraldIceBlock());
public static final Block DENSE_EMERALD_ICE = registerBlock("dense_emerald_ice", new DenseEmeraldIceBlock());
public static final Block ANCIENT_EMERALD_ICE = registerBlock("ancient_emerald_ice", new AncientEmeraldIceBlock());
public static final Block END_STONE_STALACTITE = registerBlock("end_stone_stalactite",
new StalactiteBlock(Blocks.END_STONE));
public static final Block END_STONE_STALACTITE_CAVEMOSS = registerBlock("end_stone_stalactite_cavemoss",
new StalactiteBlock(CAVE_MOSS));
public static final Block END_STONE_STALACTITE = registerBlock(
"end_stone_stalactite",
new StalactiteBlock(Blocks.END_STONE)
);
public static final Block END_STONE_STALACTITE_CAVEMOSS = registerBlock(
"end_stone_stalactite_cavemoss",
new StalactiteBlock(CAVE_MOSS)
);
// Wooden Materials And Trees //
public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock("mossy_glowshroom_sapling",
new MossyGlowshroomSaplingBlock());
public static final Block MOSSY_GLOWSHROOM_CAP = registerBlock("mossy_glowshroom_cap",
new MossyGlowshroomCapBlock());
public static final Block MOSSY_GLOWSHROOM_HYMENOPHORE = registerBlock("mossy_glowshroom_hymenophore",
new GlowingHymenophoreBlock());
public static final Block MOSSY_GLOWSHROOM_FUR = registerBlock("mossy_glowshroom_fur",
new FurBlock(MOSSY_GLOWSHROOM_SAPLING,
15,
16,
true));
public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock(
"mossy_glowshroom_sapling",
new MossyGlowshroomSaplingBlock()
);
public static final Block MOSSY_GLOWSHROOM_CAP = registerBlock(
"mossy_glowshroom_cap",
new MossyGlowshroomCapBlock()
);
public static final Block MOSSY_GLOWSHROOM_HYMENOPHORE = registerBlock(
"mossy_glowshroom_hymenophore",
new GlowingHymenophoreBlock()
);
public static final Block MOSSY_GLOWSHROOM_FUR = registerBlock(
"mossy_glowshroom_fur",
new FurBlock(
MOSSY_GLOWSHROOM_SAPLING,
15,
16,
true
)
);
public static final EndWoodenComplexMaterial MOSSY_GLOWSHROOM = new EndWoodenComplexMaterial(
"mossy_glowshroom",
MaterialColor.COLOR_GRAY,
MaterialColor.WOOD
).init();
public static final Block PYTHADENDRON_SAPLING = registerBlock("pythadendron_sapling",
new PythadendronSaplingBlock());
public static final Block PYTHADENDRON_LEAVES = registerBlock("pythadendron_leaves",
new PottableLeavesBlock(PYTHADENDRON_SAPLING,
MaterialColor.COLOR_MAGENTA));
public static final Block PYTHADENDRON_SAPLING = registerBlock(
"pythadendron_sapling",
new PythadendronSaplingBlock()
);
public static final Block PYTHADENDRON_LEAVES = registerBlock(
"pythadendron_leaves",
new PottableLeavesBlock(
PYTHADENDRON_SAPLING,
MaterialColor.COLOR_MAGENTA
)
);
public static final EndWoodenComplexMaterial PYTHADENDRON = new EndWoodenComplexMaterial(
"pythadendron",
MaterialColor.COLOR_MAGENTA,
@ -156,9 +214,13 @@ public class EndBlocks {
).init();
public static final Block LACUGROVE_SAPLING = registerBlock("lacugrove_sapling", new LacugroveSaplingBlock());
public static final Block LACUGROVE_LEAVES = registerBlock("lacugrove_leaves",
new PottableLeavesBlock(LACUGROVE_SAPLING,
MaterialColor.COLOR_CYAN));
public static final Block LACUGROVE_LEAVES = registerBlock(
"lacugrove_leaves",
new PottableLeavesBlock(
LACUGROVE_SAPLING,
MaterialColor.COLOR_CYAN
)
);
public static final EndWoodenComplexMaterial LACUGROVE = new EndWoodenComplexMaterial(
"lacugrove",
MaterialColor.COLOR_BROWN,
@ -166,9 +228,13 @@ public class EndBlocks {
).init();
public static final Block DRAGON_TREE_SAPLING = registerBlock("dragon_tree_sapling", new DragonTreeSaplingBlock());
public static final Block DRAGON_TREE_LEAVES = registerBlock("dragon_tree_leaves",
new PottableLeavesBlock(DRAGON_TREE_SAPLING,
MaterialColor.COLOR_MAGENTA));
public static final Block DRAGON_TREE_LEAVES = registerBlock(
"dragon_tree_leaves",
new PottableLeavesBlock(
DRAGON_TREE_SAPLING,
MaterialColor.COLOR_MAGENTA
)
);
public static final EndWoodenComplexMaterial DRAGON_TREE = new EndWoodenComplexMaterial(
"dragon_tree",
MaterialColor.COLOR_BLACK,
@ -176,12 +242,18 @@ public class EndBlocks {
).init();
public static final Block TENANEA_SAPLING = registerBlock("tenanea_sapling", new TenaneaSaplingBlock());
public static final Block TENANEA_LEAVES = registerBlock("tenanea_leaves",
new PottableLeavesBlock(TENANEA_SAPLING,
MaterialColor.COLOR_PINK));
public static final Block TENANEA_LEAVES = registerBlock(
"tenanea_leaves",
new PottableLeavesBlock(
TENANEA_SAPLING,
MaterialColor.COLOR_PINK
)
);
public static final Block TENANEA_FLOWERS = registerBlock("tenanea_flowers", new TenaneaFlowersBlock());
public static final Block TENANEA_OUTER_LEAVES = registerBlock("tenanea_outer_leaves",
new FurBlock(TENANEA_SAPLING, 32));
public static final Block TENANEA_OUTER_LEAVES = registerBlock(
"tenanea_outer_leaves",
new FurBlock(TENANEA_SAPLING, 32)
);
public static final EndWoodenComplexMaterial TENANEA = new EndWoodenComplexMaterial(
"tenanea",
MaterialColor.COLOR_BROWN,
@ -196,27 +268,39 @@ public class EndBlocks {
MaterialColor.COLOR_ORANGE
).init();
public static final Block UMBRELLA_TREE_SAPLING = registerBlock("umbrella_tree_sapling",
new UmbrellaTreeSaplingBlock());
public static final Block UMBRELLA_TREE_MEMBRANE = registerBlock("umbrella_tree_membrane",
new UmbrellaTreeMembraneBlock());
public static final Block UMBRELLA_TREE_CLUSTER = registerBlock("umbrella_tree_cluster",
new UmbrellaTreeClusterBlock());
public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock("umbrella_tree_cluster_empty",
new UmbrellaTreeClusterEmptyBlock());
public static final Block UMBRELLA_TREE_SAPLING = registerBlock(
"umbrella_tree_sapling",
new UmbrellaTreeSaplingBlock()
);
public static final Block UMBRELLA_TREE_MEMBRANE = registerBlock(
"umbrella_tree_membrane",
new UmbrellaTreeMembraneBlock()
);
public static final Block UMBRELLA_TREE_CLUSTER = registerBlock(
"umbrella_tree_cluster",
new UmbrellaTreeClusterBlock()
);
public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock(
"umbrella_tree_cluster_empty",
new UmbrellaTreeClusterEmptyBlock()
);
public static final EndWoodenComplexMaterial UMBRELLA_TREE = new EndWoodenComplexMaterial(
"umbrella_tree",
MaterialColor.COLOR_BLUE,
MaterialColor.COLOR_GREEN
).init();
public static final Block JELLYSHROOM_CAP_PURPLE = registerBlock("jellyshroom_cap_purple",
new JellyshroomCapBlock(217,
142,
255,
164,
0,
255));
public static final Block JELLYSHROOM_CAP_PURPLE = registerBlock(
"jellyshroom_cap_purple",
new JellyshroomCapBlock(
217,
142,
255,
164,
0,
255
)
);
public static final EndWoodenComplexMaterial JELLYSHROOM = new EndWoodenComplexMaterial(
"jellyshroom",
MaterialColor.COLOR_PURPLE,
@ -224,11 +308,17 @@ public class EndBlocks {
).init();
public static final Block LUCERNIA_SAPLING = registerBlock("lucernia_sapling", new LucerniaSaplingBlock());
public static final Block LUCERNIA_LEAVES = registerBlock("lucernia_leaves",
new PottableLeavesBlock(LUCERNIA_SAPLING,
MaterialColor.COLOR_ORANGE));
public static final Block LUCERNIA_OUTER_LEAVES = registerBlock("lucernia_outer_leaves",
new FurBlock(LUCERNIA_SAPLING, 32));
public static final Block LUCERNIA_LEAVES = registerBlock(
"lucernia_leaves",
new PottableLeavesBlock(
LUCERNIA_SAPLING,
MaterialColor.COLOR_ORANGE
)
);
public static final Block LUCERNIA_OUTER_LEAVES = registerBlock(
"lucernia_outer_leaves",
new FurBlock(LUCERNIA_SAPLING, 32)
);
public static final EndWoodenComplexMaterial LUCERNIA = new EndWoodenComplexMaterial(
"lucernia",
MaterialColor.COLOR_ORANGE,
@ -245,50 +335,74 @@ public class EndBlocks {
public static final Block SHADOW_PLANT = registerBlock("shadow_plant", new TerrainPlantBlock(SHADOW_GRASS));
public static final Block BUSHY_GRASS = registerBlock("bushy_grass", new TerrainPlantBlock(PINK_MOSS));
public static final Block AMBER_GRASS = registerBlock("amber_grass", new TerrainPlantBlock(AMBER_MOSS));
public static final Block TWISTED_UMBRELLA_MOSS = registerBlock("twisted_umbrella_moss",
new TwistedUmbrellaMossBlock());
public static final Block TWISTED_UMBRELLA_MOSS_TALL = registerBlock("twisted_umbrella_moss_tall",
new TwistedUmbrellaMossTallBlock());
public static final Block TWISTED_UMBRELLA_MOSS = registerBlock(
"twisted_umbrella_moss",
new TwistedUmbrellaMossBlock()
);
public static final Block TWISTED_UMBRELLA_MOSS_TALL = registerBlock(
"twisted_umbrella_moss_tall",
new TwistedUmbrellaMossTallBlock()
);
public static final Block JUNGLE_GRASS = registerBlock("jungle_grass", new TerrainPlantBlock(JUNGLE_MOSS));
public static final Block BLOOMING_COOKSONIA = registerBlock("blooming_cooksonia", new TerrainPlantBlock(END_MOSS));
public static final Block SALTEAGO = registerBlock("salteago", new TerrainPlantBlock(END_MOSS));
public static final Block VAIOLUSH_FERN = registerBlock("vaiolush_fern", new TerrainPlantBlock(END_MOSS));
public static final Block FRACTURN = registerBlock("fracturn", new TerrainPlantBlock(END_MOSS));
public static final Block CLAWFERN = registerBlock("clawfern",
new TerrainPlantBlock(SANGNUM,
MOSSY_OBSIDIAN,
MOSSY_DRAGON_BONE));
public static final Block GLOBULAGUS = registerBlock("globulagus",
new TerrainPlantBlock(SANGNUM,
MOSSY_OBSIDIAN,
MOSSY_DRAGON_BONE));
public static final Block CLAWFERN = registerBlock(
"clawfern",
new TerrainPlantBlock(
SANGNUM,
MOSSY_OBSIDIAN,
MOSSY_DRAGON_BONE
)
);
public static final Block GLOBULAGUS = registerBlock(
"globulagus",
new TerrainPlantBlock(
SANGNUM,
MOSSY_OBSIDIAN,
MOSSY_DRAGON_BONE
)
);
public static final Block ORANGO = registerBlock("orango", new TerrainPlantBlock(RUTISCUS));
public static final Block AERIDIUM = registerBlock("aeridium", new TerrainPlantBlock(RUTISCUS));
public static final Block LUTEBUS = registerBlock("lutebus", new TerrainPlantBlock(RUTISCUS));
public static final Block LAMELLARIUM = registerBlock("lamellarium", new TerrainPlantBlock(RUTISCUS));
public static final Block INFLEXIA = registerBlock("inflexia",
new TerrainPlantBlock(PALLIDIUM_FULL,
PALLIDIUM_HEAVY,
PALLIDIUM_THIN,
PALLIDIUM_TINY));
public static final Block INFLEXIA = registerBlock(
"inflexia",
new TerrainPlantBlock(
PALLIDIUM_FULL,
PALLIDIUM_HEAVY,
PALLIDIUM_THIN,
PALLIDIUM_TINY
)
);
public static final Block FLAMMALIX = registerBlock("flammalix", new FlammalixBlock());
public static final Block BLUE_VINE_SEED = registerBlock("blue_vine_seed", new BlueVineSeedBlock());
public static final Block BLUE_VINE = registerEndBlockOnly("blue_vine", new BlueVineBlock());
public static final Block BLUE_VINE_LANTERN = registerBlock("blue_vine_lantern", new BlueVineLanternBlock());
public static final Block BLUE_VINE_FUR = registerBlock("blue_vine_fur",
new FurBlock(BLUE_VINE_SEED, 15, 3, false));
public static final Block BLUE_VINE_FUR = registerBlock(
"blue_vine_fur",
new FurBlock(BLUE_VINE_SEED, 15, 3, false)
);
public static final Block LANCELEAF_SEED = registerBlock("lanceleaf_seed", new LanceleafSeedBlock());
public static final Block LANCELEAF = registerEndBlockOnly("lanceleaf", new LanceleafBlock());
public static final Block GLOWING_PILLAR_SEED = registerBlock("glowing_pillar_seed", new GlowingPillarSeedBlock());
public static final Block GLOWING_PILLAR_ROOTS = registerEndBlockOnly("glowing_pillar_roots",
new GlowingPillarRootsBlock());
public static final Block GLOWING_PILLAR_LUMINOPHOR = registerBlock("glowing_pillar_luminophor",
new GlowingPillarLuminophorBlock());
public static final Block GLOWING_PILLAR_LEAVES = registerBlock("glowing_pillar_leaves",
new FurBlock(GLOWING_PILLAR_SEED, 15, 3, false));
public static final Block GLOWING_PILLAR_ROOTS = registerEndBlockOnly(
"glowing_pillar_roots",
new GlowingPillarRootsBlock()
);
public static final Block GLOWING_PILLAR_LUMINOPHOR = registerBlock(
"glowing_pillar_luminophor",
new GlowingPillarLuminophorBlock()
);
public static final Block GLOWING_PILLAR_LEAVES = registerBlock(
"glowing_pillar_leaves",
new FurBlock(GLOWING_PILLAR_SEED, 15, 3, false)
);
public static final Block SMALL_JELLYSHROOM = registerBlock("small_jellyshroom", new SmallJellyshroomBlock());
public static final Block BOLUX_MUSHROOM = registerBlock("bolux_mushroom", new BoluxMushroomBlock());
@ -296,35 +410,55 @@ public class EndBlocks {
public static final Block LUMECORN_SEED = registerBlock("lumecorn_seed", new LumecornSeedBlock());
public static final Block LUMECORN = registerEndBlockOnly("lumecorn", new LumecornBlock());
public static final Block SMALL_AMARANITA_MUSHROOM = registerBlock("small_amaranita_mushroom",
new SmallAmaranitaBlock());
public static final Block LARGE_AMARANITA_MUSHROOM = registerEndBlockOnly("large_amaranita_mushroom",
new LargeAmaranitaBlock());
public static final Block SMALL_AMARANITA_MUSHROOM = registerBlock(
"small_amaranita_mushroom",
new SmallAmaranitaBlock()
);
public static final Block LARGE_AMARANITA_MUSHROOM = registerEndBlockOnly(
"large_amaranita_mushroom",
new LargeAmaranitaBlock()
);
public static final Block AMARANITA_STEM = registerBlock("amaranita_stem", new AmaranitaStemBlock());
public static final Block AMARANITA_HYPHAE = registerBlock("amaranita_hyphae", new AmaranitaStemBlock());
public static final Block AMARANITA_HYMENOPHORE = registerBlock("amaranita_hymenophore",
new AmaranitaHymenophoreBlock());
public static final Block AMARANITA_HYMENOPHORE = registerBlock(
"amaranita_hymenophore",
new AmaranitaHymenophoreBlock()
);
public static final Block AMARANITA_LANTERN = registerBlock("amaranita_lantern", new GlowingHymenophoreBlock());
public static final Block AMARANITA_FUR = registerBlock("amaranita_fur",
new FurBlock(SMALL_AMARANITA_MUSHROOM, 15, 4, true));
public static final Block AMARANITA_FUR = registerBlock(
"amaranita_fur",
new FurBlock(SMALL_AMARANITA_MUSHROOM, 15, 4, true)
);
public static final Block AMARANITA_CAP = registerBlock("amaranita_cap", new AmaranitaCapBlock());
public static final Block NEON_CACTUS = registerBlock("neon_cactus", new NeonCactusPlantBlock());
public static final Block NEON_CACTUS_BLOCK = registerBlock("neon_cactus_block", new NeonCactusBlock());
public static final Block NEON_CACTUS_BLOCK_STAIRS = registerBlock("neon_cactus_stairs",
new BaseStairsBlock(NEON_CACTUS_BLOCK));
public static final Block NEON_CACTUS_BLOCK_SLAB = registerBlock("neon_cactus_slab",
new BaseSlabBlock(NEON_CACTUS_BLOCK));
public static final Block NEON_CACTUS_BLOCK_STAIRS = registerBlock(
"neon_cactus_stairs",
new BaseStairsBlock(NEON_CACTUS_BLOCK)
);
public static final Block NEON_CACTUS_BLOCK_SLAB = registerBlock(
"neon_cactus_slab",
new BaseSlabBlock(NEON_CACTUS_BLOCK)
);
// Crops
public static final Block SHADOW_BERRY = registerBlock("shadow_berry", new ShadowBerryBlock());
public static final Block BLOSSOM_BERRY = registerBlock("blossom_berry_seed",
new PottableCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS));
public static final Block AMBER_ROOT = registerBlock("amber_root_seed",
new PottableCropBlock(EndItems.AMBER_ROOT_RAW, AMBER_MOSS));
public static final Block CHORUS_MUSHROOM = registerBlock("chorus_mushroom_seed",
new PottableCropBlock(EndItems.CHORUS_MUSHROOM_RAW,
CHORUS_NYLIUM));
public static final Block BLOSSOM_BERRY = registerBlock(
"blossom_berry_seed",
new PottableCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS)
);
public static final Block AMBER_ROOT = registerBlock(
"amber_root_seed",
new PottableCropBlock(EndItems.AMBER_ROOT_RAW, AMBER_MOSS)
);
public static final Block CHORUS_MUSHROOM = registerBlock(
"chorus_mushroom_seed",
new PottableCropBlock(
EndItems.CHORUS_MUSHROOM_RAW,
CHORUS_NYLIUM
)
);
//public static final Block PEARLBERRY = registerBlock("pearlberry_seed", new PottableCropBlock(EndItems.BLOSSOM_BERRY, END_MOSS, END_MYCELIUM));
public static final Block CAVE_PUMPKIN_SEED = registerBlock("cave_pumpkin_seed", new CavePumpkinVineBlock());
public static final Block CAVE_PUMPKIN = registerBlock("cave_pumpkin", new CavePumpkinBlock());
@ -346,16 +480,20 @@ public class EndBlocks {
public static final Block HYDRALUX_SAPLING = registerBlock("hydralux_sapling", new HydraluxSaplingBlock());
public static final Block HYDRALUX = registerEndBlockOnly("hydralux", new HydraluxBlock());
public static final Block HYDRALUX_PETAL_BLOCK = registerBlock("hydralux_petal_block", new HydraluxPetalBlock());
public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial(HydraluxPetalColoredBlock::new,
HYDRALUX_PETAL_BLOCK,
true);
public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial(
HydraluxPetalColoredBlock::new,
HYDRALUX_PETAL_BLOCK,
true
);
public static final Block POND_ANEMONE = registerBlock("pond_anemone", new PondAnemoneBlock());
public static final Block FLAMAEA = registerBlock("flamaea", new FlamaeaBlock());
public static final Block CAVE_BUSH = registerBlock("cave_bush",
new SimpleLeavesBlock(MaterialColor.COLOR_MAGENTA));
public static final Block CAVE_BUSH = registerBlock(
"cave_bush",
new SimpleLeavesBlock(MaterialColor.COLOR_MAGENTA)
);
public static final Block MURKWEED = registerBlock("murkweed", new MurkweedBlock());
public static final Block NEEDLEGRASS = registerBlock("needlegrass", new NeedlegrassBlock());
@ -388,10 +526,14 @@ public class EndBlocks {
public static final Block SILK_MOTH_HIVE = registerBlock("silk_moth_hive", new SilkMothHiveBlock());
// Ores //
public static final Block ENDER_ORE = registerBlock("ender_ore",
new BaseOreBlock(() -> EndItems.ENDER_SHARD, 1, 3, 5));
public static final Block AMBER_ORE = registerBlock("amber_ore",
new BaseOreBlock(() -> EndItems.RAW_AMBER, 1, 2, 4));
public static final Block ENDER_ORE = registerBlock(
"ender_ore",
new BaseOreBlock(() -> EndItems.ENDER_SHARD, 1, 3, 5)
);
public static final Block AMBER_ORE = registerBlock(
"amber_ore",
new BaseOreBlock(() -> EndItems.RAW_AMBER, 1, 2, 4)
);
// Materials //
public static final MetalMaterial THALLASIUM = MetalMaterial.makeNormal(
@ -399,7 +541,7 @@ public class EndBlocks {
MaterialColor.COLOR_BLUE,
EndToolMaterial.THALLASIUM,
EndArmorMaterial.THALLASIUM
);
);
public static final MetalMaterial TERMINITE = MetalMaterial.makeOreless(
"terminite",
MaterialColor.WARPED_WART_BLOCK,
@ -407,7 +549,7 @@ public class EndBlocks {
9F,
EndToolMaterial.TERMINITE,
EndArmorMaterial.TERMINITE
);
);
public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock());
public static final Block CHARCOAL_BLOCK = registerBlock("charcoal_block", new CharcoalBlock());
@ -417,7 +559,7 @@ public class EndBlocks {
public static final Block SMARAGDANT_CRYSTAL_SHARD = registerBlock(
"smaragdant_crystal_shard",
new SmaragdantCrystalShardBlock()
);
);
public static final Block SMARAGDANT_CRYSTAL = registerBlock("smaragdant_crystal", new SmaragdantCrystalBlock());
public static final CrystalSubblocksMaterial SMARAGDANT_SUBBLOCKS = new CrystalSubblocksMaterial(
"smaragdant_crystal",
@ -430,25 +572,25 @@ public class EndBlocks {
public static final Block ANDESITE_LANTERN = registerBlock(
"andesite_lantern",
new StoneLanternBlock(Blocks.ANDESITE)
);
);
public static final Block DIORITE_LANTERN = registerBlock("diorite_lantern", new StoneLanternBlock(Blocks.DIORITE));
public static final Block GRANITE_LANTERN = registerBlock("granite_lantern", new StoneLanternBlock(Blocks.GRANITE));
public static final Block QUARTZ_LANTERN = registerBlock(
"quartz_lantern",
new StoneLanternBlock(Blocks.QUARTZ_BLOCK)
);
);
public static final Block PURPUR_LANTERN = registerBlock(
"purpur_lantern",
new StoneLanternBlock(Blocks.PURPUR_BLOCK)
);
);
public static final Block END_STONE_LANTERN = registerBlock(
"end_stone_lantern",
new StoneLanternBlock(Blocks.END_STONE)
);
);
public static final Block BLACKSTONE_LANTERN = registerBlock(
"blackstone_lantern",
new StoneLanternBlock(Blocks.BLACKSTONE)
);
);
public static final Block IRON_BULB_LANTERN = registerBlock("iron_bulb_lantern", new BulbVineLanternBlock());
public static final ColoredMaterial IRON_BULB_LANTERN_COLORED = new ColoredMaterial(
@ -460,17 +602,17 @@ public class EndBlocks {
public static final Block IRON_CHANDELIER = EndBlocks.registerBlock(
"iron_chandelier",
new ChandelierBlock(Blocks.GOLD_BLOCK)
);
);
public static final Block GOLD_CHANDELIER = EndBlocks.registerBlock(
"gold_chandelier",
new ChandelierBlock(Blocks.GOLD_BLOCK)
);
);
// Blocks With Entity //
public static final Block END_STONE_FURNACE = registerBlock(
"end_stone_furnace",
new BaseFurnaceBlock(Blocks.END_STONE)
);
);
public static final Block END_STONE_SMELTER = registerBlock("end_stone_smelter", new EndStoneSmelter());
public static final Block ETERNAL_PEDESTAL = registerBlock("eternal_pedestal", new EternalPedestal());
public static final Block INFUSION_PEDESTAL = registerBlock("infusion_pedestal", new InfusionPedestal());

View file

@ -1,12 +1,12 @@
package org.betterx.betterend.registry;
import net.minecraft.core.Registry;
import net.minecraft.world.item.enchantment.Enchantment;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.config.Configs;
import org.betterx.betterend.effects.enchantment.EndVeilEnchantment;
import net.minecraft.core.Registry;
import net.minecraft.world.item.enchantment.Enchantment;
public class EndEnchantments {
public final static Enchantment END_VEIL = registerEnchantment("end_veil", new EndVeilEnchantment());

View file

@ -1,5 +1,11 @@
package org.betterx.betterend.registry;
import org.betterx.bclib.api.v2.spawning.SpawnRuleBuilder;
import org.betterx.bclib.util.ColorUtil;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.config.Configs;
import org.betterx.betterend.entity.*;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.*;
@ -10,12 +16,6 @@ import net.minecraft.world.level.levelgen.Heightmap.Types;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder;
import org.betterx.bclib.api.v2.spawning.SpawnRuleBuilder;
import org.betterx.bclib.util.ColorUtil;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.config.Configs;
import org.betterx.betterend.entity.*;
public class EndEntities {
public static final EntityType<DragonflyEntity> DRAGONFLY = register(
"dragonfly",
@ -27,7 +27,7 @@ public class EndEntities {
true,
ColorUtil.color(32, 42, 176),
ColorUtil.color(115, 225, 249)
);
);
public static final EntityType<EndSlimeEntity> END_SLIME = register(
"end_slime",
MobCategory.MONSTER,
@ -38,7 +38,7 @@ public class EndEntities {
false,
ColorUtil.color(28, 28, 28),
ColorUtil.color(99, 11, 99)
);
);
public static final EntityType<EndFishEntity> END_FISH = register(
"end_fish",
MobCategory.WATER_AMBIENT,
@ -49,7 +49,7 @@ public class EndEntities {
true,
ColorUtil.color(3, 50, 76),
ColorUtil.color(120, 206, 255)
);
);
public static final EntityType<ShadowWalkerEntity> SHADOW_WALKER = register(
"shadow_walker",
MobCategory.MONSTER,
@ -60,7 +60,7 @@ public class EndEntities {
true,
ColorUtil.color(30, 30, 30),
ColorUtil.color(5, 5, 5)
);
);
public static final EntityType<CubozoaEntity> CUBOZOA = register(
"cubozoa",
MobCategory.WATER_AMBIENT,
@ -71,7 +71,7 @@ public class EndEntities {
true,
ColorUtil.color(151, 77, 181),
ColorUtil.color(93, 176, 238)
);
);
public static final EntityType<SilkMothEntity> SILK_MOTH = register(
"silk_moth",
MobCategory.AMBIENT,
@ -82,7 +82,7 @@ public class EndEntities {
true,
ColorUtil.color(198, 138, 204),
ColorUtil.color(242, 220, 236)
);
);
public static void register() {
// Air //
@ -109,11 +109,13 @@ public class EndEntities {
SpawnRuleBuilder.start(CUBOZOA).maxNearby(8, 64).buildInWater(Types.MOTION_BLOCKING);
}
protected static <T extends Entity> EntityType<T> register(String name,
MobCategory group,
float width,
float height,
EntityFactory<T> entity) {
protected static <T extends Entity> EntityType<T> register(
String name,
MobCategory group,
float width,
float height,
EntityFactory<T> entity
) {
ResourceLocation id = BetterEnd.makeID(name);
EntityType<T> type = FabricEntityTypeBuilder
.create(group, entity)
@ -125,21 +127,23 @@ public class EndEntities {
return type;
}
private static <T extends Mob> EntityType<T> register(String name,
MobCategory group,
float width,
float height,
EntityFactory<T> entity,
Builder attributes,
boolean fixedSize,
int eggColor,
int dotsColor) {
private static <T extends Mob> EntityType<T> register(
String name,
MobCategory group,
float width,
float height,
EntityFactory<T> entity,
Builder attributes,
boolean fixedSize,
int eggColor,
int dotsColor
) {
ResourceLocation id = BetterEnd.makeID(name);
EntityType<T> type = FabricEntityTypeBuilder
.create(group, entity)
.dimensions(fixedSize
? EntityDimensions.fixed(width, height)
: EntityDimensions.scalable(width, height))
? EntityDimensions.fixed(width, height)
: EntityDimensions.scalable(width, height))
.build();
if (Configs.ENTITY_CONFIG.getBooleanRoot(id.getPath(), true)) {
FabricDefaultAttributeRegistry.register(type, attributes);

View file

@ -1,5 +1,10 @@
package org.betterx.betterend.registry;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.entity.model.*;
import org.betterx.betterend.entity.render.*;
import org.betterx.betterend.item.model.*;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.renderer.entity.EntityRendererProvider.Context;
import net.minecraft.client.renderer.entity.MobRenderer;
@ -8,11 +13,6 @@ import net.minecraft.world.entity.EntityType;
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.entity.model.*;
import org.betterx.betterend.entity.render.*;
import org.betterx.betterend.item.model.*;
import java.util.function.Function;
public class EndEntitiesRenders {
@ -40,18 +40,24 @@ public class EndEntitiesRenders {
register(EndEntities.SILK_MOTH, SilkMothEntityRenderer::new);
EntityModelLayerRegistry.registerModelLayer(DRAGONFLY_MODEL, DragonflyEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(END_SLIME_SHELL_MODEL,
EndSlimeEntityModel::getShellOnlyTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(
END_SLIME_SHELL_MODEL,
EndSlimeEntityModel::getShellOnlyTexturedModelData
);
EntityModelLayerRegistry.registerModelLayer(END_SLIME_MODEL, EndSlimeEntityModel::getCompleteTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(END_FISH_MODEL, EndFishEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(CUBOZOA_MODEL, CubozoaEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(SILK_MOTH_MODEL, SilkMothEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(ARMORED_ELYTRA, ArmoredElytraModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_CHESTPLATE,
CrystaliteChestplateModel::getRegularTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_CHESTPLATE_THIN,
CrystaliteChestplateModel::getThinTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(
CRYSTALITE_CHESTPLATE,
CrystaliteChestplateModel::getRegularTexturedModelData
);
EntityModelLayerRegistry.registerModelLayer(
CRYSTALITE_CHESTPLATE_THIN,
CrystaliteChestplateModel::getThinTexturedModelData
);
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_HELMET, CrystaliteHelmetModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_LEGGINGS, CrystaliteLeggingsModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_BOOTS, CrystaliteBootsModel::getTexturedModelData);

View file

@ -1,5 +1,25 @@
package org.betterx.betterend.registry;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.features.BCLCommonFeatures;
import org.betterx.bclib.api.v2.levelgen.features.BCLFeature;
import org.betterx.bclib.api.v2.levelgen.features.BCLFeatureBuilder;
import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature;
import org.betterx.bclib.util.JsonFactory;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.complexmaterials.StoneMaterial;
import org.betterx.betterend.config.Configs;
import org.betterx.betterend.world.biome.cave.EndCaveBiome;
import org.betterx.betterend.world.biome.land.UmbraValleyBiome;
import org.betterx.betterend.world.features.*;
import org.betterx.betterend.world.features.bushes.*;
import org.betterx.betterend.world.features.terrain.*;
import org.betterx.betterend.world.features.terrain.caves.RoundCaveFeature;
import org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature;
import org.betterx.betterend.world.features.trees.*;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.data.BuiltinRegistries;
@ -19,23 +39,6 @@ import net.minecraft.world.level.levelgen.placement.PlacedFeature;
import com.google.common.collect.Lists;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.api.v2.levelgen.features.*;
import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature;
import org.betterx.bclib.util.JsonFactory;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.complexmaterials.StoneMaterial;
import org.betterx.betterend.config.Configs;
import org.betterx.betterend.world.biome.cave.EndCaveBiome;
import org.betterx.betterend.world.biome.land.UmbraValleyBiome;
import org.betterx.betterend.world.features.*;
import org.betterx.betterend.world.features.bushes.*;
import org.betterx.betterend.world.features.terrain.*;
import org.betterx.betterend.world.features.terrain.caves.RoundCaveFeature;
import org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature;
import org.betterx.betterend.world.features.trees.*;
import java.io.InputStream;
import java.util.List;
@ -45,316 +48,532 @@ public class EndFeatures {
public static final BCLFeature<MossyGlowshroomFeature, NoneFeatureConfiguration> MOSSY_GLOWSHROOM = registerVegetation(
"mossy_glowshroom",
new MossyGlowshroomFeature(),
2);
public static final BCLFeature PYTHADENDRON_TREE = registerVegetation("pythadendron_tree",
2
);
public static final BCLFeature PYTHADENDRON_TREE = registerVegetation(
"pythadendron_tree",
new PythadendronTreeFeature(),
1);
1
);
public static final BCLFeature LACUGROVE = registerVegetation("lacugrove", new LacugroveFeature(), 4);
public static final BCLFeature DRAGON_TREE = registerVegetation("dragon_tree", new DragonTreeFeature(), 2);
public static final BCLFeature TENANEA = registerVegetation("tenanea", new TenaneaFeature(), 2);
public static final BCLFeature HELIX_TREE = registerVegetation("helix_tree", new HelixTreeFeature(), 1);
public static final BCLFeature UMBRELLA_TREE = registerVegetation("umbrella_tree", new UmbrellaTreeFeature(), 2);
public static final BCLFeature JELLYSHROOM = registerVegetation("jellyshroom", new JellyshroomFeature(), 2);
public static final BCLFeature GIGANTIC_AMARANITA = registerVegetation("gigantic_amaranita",
public static final BCLFeature GIGANTIC_AMARANITA = registerVegetation(
"gigantic_amaranita",
new GiganticAmaranitaFeature(),
1);
1
);
public static final BCLFeature LUCERNIA = registerVegetation("lucernia", new LucerniaFeature(), 3);
// Bushes //
public static final BCLFeature PYTHADENDRON_BUSH = registerVegetation("pythadendron_bush",
new BushFeature(EndBlocks.PYTHADENDRON_LEAVES,
EndBlocks.PYTHADENDRON.getBark()),
3);
public static final BCLFeature DRAGON_TREE_BUSH = registerVegetation("dragon_tree_bush",
new BushFeature(EndBlocks.DRAGON_TREE_LEAVES,
EndBlocks.DRAGON_TREE.getBark()),
5);
public static final BCLFeature PYTHADENDRON_BUSH = registerVegetation(
"pythadendron_bush",
new BushFeature(
EndBlocks.PYTHADENDRON_LEAVES,
EndBlocks.PYTHADENDRON.getBark()
),
3
);
public static final BCLFeature DRAGON_TREE_BUSH = registerVegetation(
"dragon_tree_bush",
new BushFeature(
EndBlocks.DRAGON_TREE_LEAVES,
EndBlocks.DRAGON_TREE.getBark()
),
5
);
public static final BCLFeature TENANEA_BUSH = registerVegetation("tenanea_bush", new TenaneaBushFeature(), 6);
public static final BCLFeature LUMECORN = registerVegetation("lumecorn", new Lumecorn(), 5);
public static final BCLFeature LARGE_AMARANITA = registerVegetation("large_amaranita",
public static final BCLFeature LARGE_AMARANITA = registerVegetation(
"large_amaranita",
new LargeAmaranitaFeature(),
5);
public static final BCLFeature LUCERNIA_BUSH = registerVegetation("lucernia_bush",
new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES,
5
);
public static final BCLFeature LUCERNIA_BUSH = registerVegetation(
"lucernia_bush",
new BushWithOuterFeature(
EndBlocks.LUCERNIA_LEAVES,
EndBlocks.LUCERNIA_OUTER_LEAVES,
EndBlocks.LUCERNIA.getBark()),
10);
public static final BCLFeature LUCERNIA_BUSH_RARE = registerVegetation("lucernia_bush_rare",
new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES,
EndBlocks.LUCERNIA.getBark()
),
10
);
public static final BCLFeature LUCERNIA_BUSH_RARE = registerVegetation(
"lucernia_bush_rare",
new BushWithOuterFeature(
EndBlocks.LUCERNIA_LEAVES,
EndBlocks.LUCERNIA_OUTER_LEAVES,
EndBlocks.LUCERNIA.getBark()),
1);
EndBlocks.LUCERNIA.getBark()
),
1
);
public static final BCLFeature NEON_CACTUS = registerVegetation("neon_cactus", new NeonCactusFeature(), 2);
// Plants //
public static final BCLFeature UMBRELLA_MOSS = registerVegetation("umbrella_moss",
new DoublePlantFeature(EndBlocks.UMBRELLA_MOSS,
public static final BCLFeature UMBRELLA_MOSS = registerVegetation(
"umbrella_moss",
new DoublePlantFeature(
EndBlocks.UMBRELLA_MOSS,
EndBlocks.UMBRELLA_MOSS_TALL,
5),
3);
public static final BCLFeature CREEPING_MOSS = registerVegetation("creeping_moss",
new SinglePlantFeature(EndBlocks.CREEPING_MOSS,
5),
3);
5
),
3
);
public static final BCLFeature CREEPING_MOSS = registerVegetation(
"creeping_moss",
new SinglePlantFeature(
EndBlocks.CREEPING_MOSS,
5
),
3
);
public static final BCLFeature BLUE_VINE = registerVegetation("blue_vine", new BlueVineFeature(), 1);
public static final BCLFeature CHORUS_GRASS = registerVegetation("chorus_grass",
public static final BCLFeature CHORUS_GRASS = registerVegetation(
"chorus_grass",
new SinglePlantFeature(EndBlocks.CHORUS_GRASS, 4),
3);
public static final BCLFeature CRYSTAL_GRASS = registerVegetation("crystal_grass",
new SinglePlantFeature(EndBlocks.CRYSTAL_GRASS,
3
);
public static final BCLFeature CRYSTAL_GRASS = registerVegetation(
"crystal_grass",
new SinglePlantFeature(
EndBlocks.CRYSTAL_GRASS,
8,
false),
5);
public static final BCLFeature SHADOW_PLANT = registerVegetation("shadow_plant",
false
),
5
);
public static final BCLFeature SHADOW_PLANT = registerVegetation(
"shadow_plant",
new SinglePlantFeature(EndBlocks.SHADOW_PLANT, 6),
5);
public static final BCLFeature MURKWEED = registerVegetation("murkweed",
5
);
public static final BCLFeature MURKWEED = registerVegetation(
"murkweed",
new SinglePlantFeature(EndBlocks.MURKWEED, 3),
2);
public static final BCLFeature NEEDLEGRASS = registerVegetation("needlegrass",
2
);
public static final BCLFeature NEEDLEGRASS = registerVegetation(
"needlegrass",
new SinglePlantFeature(EndBlocks.NEEDLEGRASS, 3),
1);
public static final BCLFeature SHADOW_BERRY = registerVegetation("shadow_berry",
1
);
public static final BCLFeature SHADOW_BERRY = registerVegetation(
"shadow_berry",
new SinglePlantFeature(EndBlocks.SHADOW_BERRY, 2),
1);
public static final BCLFeature BUSHY_GRASS = registerVegetation("bushy_grass",
new SinglePlantFeature(EndBlocks.BUSHY_GRASS,
1
);
public static final BCLFeature BUSHY_GRASS = registerVegetation(
"bushy_grass",
new SinglePlantFeature(
EndBlocks.BUSHY_GRASS,
8,
false),
10);
public static final BCLFeature BUSHY_GRASS_WG = registerVegetation("bushy_grass_wg",
false
),
10
);
public static final BCLFeature BUSHY_GRASS_WG = registerVegetation(
"bushy_grass_wg",
new SinglePlantFeature(EndBlocks.BUSHY_GRASS, 5),
8);
public static final BCLFeature AMBER_GRASS = registerVegetation("amber_grass",
8
);
public static final BCLFeature AMBER_GRASS = registerVegetation(
"amber_grass",
new SinglePlantFeature(EndBlocks.AMBER_GRASS, 6),
7);
7
);
public static final BCLFeature LANCELEAF = registerVegetation("lanceleaf", new LanceleafFeature(), 2);
public static final BCLFeature GLOW_PILLAR = registerVegetation("glow_pillar", new GlowPillarFeature(), 1);
public static final BCLFeature TWISTED_UMBRELLA_MOSS = registerVegetation("twisted_umbrella_moss",
new DoublePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS,
public static final BCLFeature TWISTED_UMBRELLA_MOSS = registerVegetation(
"twisted_umbrella_moss",
new DoublePlantFeature(
EndBlocks.TWISTED_UMBRELLA_MOSS,
EndBlocks.TWISTED_UMBRELLA_MOSS_TALL,
6),
3);
public static final BCLFeature JUNGLE_GRASS = registerVegetation("jungle_grass",
new SinglePlantFeature(EndBlocks.JUNGLE_GRASS,
6
),
3
);
public static final BCLFeature JUNGLE_GRASS = registerVegetation(
"jungle_grass",
new SinglePlantFeature(
EndBlocks.JUNGLE_GRASS,
7,
3),
6);
public static final BCLFeature SMALL_JELLYSHROOM_FLOOR = registerVegetation("small_jellyshroom_floor",
new SinglePlantFeature(EndBlocks.SMALL_JELLYSHROOM,
3
),
6
);
public static final BCLFeature SMALL_JELLYSHROOM_FLOOR = registerVegetation(
"small_jellyshroom_floor",
new SinglePlantFeature(
EndBlocks.SMALL_JELLYSHROOM,
5,
5),
2);
public static final BCLFeature BLOSSOM_BERRY = registerVegetation("blossom_berry",
new SinglePlantFeature(EndBlocks.BLOSSOM_BERRY,
5
),
2
);
public static final BCLFeature BLOSSOM_BERRY = registerVegetation(
"blossom_berry",
new SinglePlantFeature(
EndBlocks.BLOSSOM_BERRY,
3,
3),
2);
public static final BCLFeature BLOOMING_COOKSONIA = registerVegetation("blooming_cooksonia",
new SinglePlantFeature(EndBlocks.BLOOMING_COOKSONIA,
5),
5);
public static final BCLFeature SALTEAGO = registerVegetation("salteago",
3
),
2
);
public static final BCLFeature BLOOMING_COOKSONIA = registerVegetation(
"blooming_cooksonia",
new SinglePlantFeature(
EndBlocks.BLOOMING_COOKSONIA,
5
),
5
);
public static final BCLFeature SALTEAGO = registerVegetation(
"salteago",
new SinglePlantFeature(EndBlocks.SALTEAGO, 5),
5);
public static final BCLFeature VAIOLUSH_FERN = registerVegetation("vaiolush_fern",
new SinglePlantFeature(EndBlocks.VAIOLUSH_FERN,
5),
5);
public static final BCLFeature FRACTURN = registerVegetation("fracturn",
5
);
public static final BCLFeature VAIOLUSH_FERN = registerVegetation(
"vaiolush_fern",
new SinglePlantFeature(
EndBlocks.VAIOLUSH_FERN,
5
),
5
);
public static final BCLFeature FRACTURN = registerVegetation(
"fracturn",
new SinglePlantFeature(EndBlocks.FRACTURN, 5),
5);
public static final BCLFeature UMBRELLA_MOSS_RARE = registerVegetation("umbrella_moss_rare",
new SinglePlantFeature(EndBlocks.UMBRELLA_MOSS,
3),
2);
public static final BCLFeature CREEPING_MOSS_RARE = registerVegetation("creeping_moss_rare",
new SinglePlantFeature(EndBlocks.CREEPING_MOSS,
3),
2);
public static final BCLFeature TWISTED_UMBRELLA_MOSS_RARE = registerVegetation("twisted_umbrella_moss_rare",
new SinglePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS,
3),
2);
public static final BCLFeature ORANGO = registerVegetation("orango",
5
);
public static final BCLFeature UMBRELLA_MOSS_RARE = registerVegetation(
"umbrella_moss_rare",
new SinglePlantFeature(
EndBlocks.UMBRELLA_MOSS,
3
),
2
);
public static final BCLFeature CREEPING_MOSS_RARE = registerVegetation(
"creeping_moss_rare",
new SinglePlantFeature(
EndBlocks.CREEPING_MOSS,
3
),
2
);
public static final BCLFeature TWISTED_UMBRELLA_MOSS_RARE = registerVegetation(
"twisted_umbrella_moss_rare",
new SinglePlantFeature(
EndBlocks.TWISTED_UMBRELLA_MOSS,
3
),
2
);
public static final BCLFeature ORANGO = registerVegetation(
"orango",
new SinglePlantFeature(EndBlocks.ORANGO, 5),
6);
public static final BCLFeature AERIDIUM = registerVegetation("aeridium",
6
);
public static final BCLFeature AERIDIUM = registerVegetation(
"aeridium",
new SinglePlantFeature(EndBlocks.AERIDIUM, 5, 4),
5);
public static final BCLFeature LUTEBUS = registerVegetation("lutebus",
5
);
public static final BCLFeature LUTEBUS = registerVegetation(
"lutebus",
new SinglePlantFeature(EndBlocks.LUTEBUS, 5, 2),
5);
public static final BCLFeature LAMELLARIUM = registerVegetation("lamellarium",
5
);
public static final BCLFeature LAMELLARIUM = registerVegetation(
"lamellarium",
new SinglePlantFeature(EndBlocks.LAMELLARIUM, 5),
6);
public static final BCLFeature SMALL_AMARANITA = registerVegetation("small_amaranita",
new SinglePlantFeature(EndBlocks.SMALL_AMARANITA_MUSHROOM,
6
);
public static final BCLFeature SMALL_AMARANITA = registerVegetation(
"small_amaranita",
new SinglePlantFeature(
EndBlocks.SMALL_AMARANITA_MUSHROOM,
5,
5),
4);
public static final BCLFeature GLOBULAGUS = registerVegetation("globulagus",
5
),
4
);
public static final BCLFeature GLOBULAGUS = registerVegetation(
"globulagus",
new SinglePlantFeature(EndBlocks.GLOBULAGUS, 5, 3),
6);
public static final BCLFeature CLAWFERN = registerVegetation("clawfern",
6
);
public static final BCLFeature CLAWFERN = registerVegetation(
"clawfern",
new SinglePlantFeature(EndBlocks.CLAWFERN, 5, 4),
5);
public static final BCLFeature BOLUX_MUSHROOM = registerVegetation("bolux_mushroom",
new SinglePlantFeature(EndBlocks.BOLUX_MUSHROOM,
5
);
public static final BCLFeature BOLUX_MUSHROOM = registerVegetation(
"bolux_mushroom",
new SinglePlantFeature(
EndBlocks.BOLUX_MUSHROOM,
5,
5),
2);
public static final BCLFeature CHORUS_MUSHROOM = registerVegetation("chorus_mushroom",
new SinglePlantFeature(EndBlocks.CHORUS_MUSHROOM,
5
),
2
);
public static final BCLFeature CHORUS_MUSHROOM = registerVegetation(
"chorus_mushroom",
new SinglePlantFeature(
EndBlocks.CHORUS_MUSHROOM,
3,
5),
1);
public static final BCLFeature AMBER_ROOT = registerVegetation("amber_root",
5
),
1
);
public static final BCLFeature AMBER_ROOT = registerVegetation(
"amber_root",
new SinglePlantFeature(EndBlocks.AMBER_ROOT, 5, 5),
1);
1
);
//public static final BCLFeature PEARLBERRY = redisterVegetation("pearlberry", new SinglePlantFeature(EndBlocks.PEARLBERRY, 5, 5), 1);
public static final BCLFeature INFLEXIA = registerVegetation("inflexia",
new SinglePlantFeature(EndBlocks.INFLEXIA,
public static final BCLFeature INFLEXIA = registerVegetation(
"inflexia",
new SinglePlantFeature(
EndBlocks.INFLEXIA,
7,
false,
3),
16);
public static final BCLFeature FLAMMALIX = registerVegetation("flammalix",
new SinglePlantFeature(EndBlocks.FLAMMALIX,
3
),
16
);
public static final BCLFeature FLAMMALIX = registerVegetation(
"flammalix",
new SinglePlantFeature(
EndBlocks.FLAMMALIX,
3,
false,
7),
5);
7
),
5
);
// Vines //
public static final BCLFeature DENSE_VINE = registerVegetation("dense_vine",
public static final BCLFeature DENSE_VINE = registerVegetation(
"dense_vine",
new VineFeature(EndBlocks.DENSE_VINE, 24),
3);
public static final BCLFeature TWISTED_VINE = registerVegetation("twisted_vine",
3
);
public static final BCLFeature TWISTED_VINE = registerVegetation(
"twisted_vine",
new VineFeature(EndBlocks.TWISTED_VINE, 24),
1);
public static final BCLFeature BULB_VINE = registerVegetation("bulb_vine",
1
);
public static final BCLFeature BULB_VINE = registerVegetation(
"bulb_vine",
new VineFeature(EndBlocks.BULB_VINE, 24),
3);
public static final BCLFeature JUNGLE_VINE = registerVegetation("jungle_vine",
3
);
public static final BCLFeature JUNGLE_VINE = registerVegetation(
"jungle_vine",
new VineFeature(EndBlocks.JUNGLE_VINE, 24),
5);
5
);
// Ceil plants
public static final BCLFeature SMALL_JELLYSHROOM_CEIL = registerVegetation("small_jellyshroom_ceil",
public static final BCLFeature SMALL_JELLYSHROOM_CEIL = registerVegetation(
"small_jellyshroom_ceil",
new SingleInvertedScatterFeature(
EndBlocks.SMALL_JELLYSHROOM,
8),
8);
8
),
8
);
// Wall Plants //
public static final BCLFeature PURPLE_POLYPORE = registerVegetation("purple_polypore",
new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE,
3),
5);
public static final BCLFeature AURANT_POLYPORE = registerVegetation("aurant_polypore",
new WallPlantOnLogFeature(EndBlocks.AURANT_POLYPORE,
3),
5);
public static final BCLFeature TAIL_MOSS = registerVegetation("tail_moss",
public static final BCLFeature PURPLE_POLYPORE = registerVegetation(
"purple_polypore",
new WallPlantOnLogFeature(
EndBlocks.PURPLE_POLYPORE,
3
),
5
);
public static final BCLFeature AURANT_POLYPORE = registerVegetation(
"aurant_polypore",
new WallPlantOnLogFeature(
EndBlocks.AURANT_POLYPORE,
3
),
5
);
public static final BCLFeature TAIL_MOSS = registerVegetation(
"tail_moss",
new WallPlantFeature(EndBlocks.TAIL_MOSS, 3),
15);
public static final BCLFeature CYAN_MOSS = registerVegetation("cyan_moss",
15
);
public static final BCLFeature CYAN_MOSS = registerVegetation(
"cyan_moss",
new WallPlantFeature(EndBlocks.CYAN_MOSS, 3),
15);
public static final BCLFeature TAIL_MOSS_WOOD = registerVegetation("tail_moss_wood",
new WallPlantOnLogFeature(EndBlocks.TAIL_MOSS,
4),
25);
public static final BCLFeature CYAN_MOSS_WOOD = registerVegetation("cyan_moss_wood",
new WallPlantOnLogFeature(EndBlocks.CYAN_MOSS,
4),
25);
public static final BCLFeature TWISTED_MOSS = registerVegetation("twisted_moss",
15
);
public static final BCLFeature TAIL_MOSS_WOOD = registerVegetation(
"tail_moss_wood",
new WallPlantOnLogFeature(
EndBlocks.TAIL_MOSS,
4
),
25
);
public static final BCLFeature CYAN_MOSS_WOOD = registerVegetation(
"cyan_moss_wood",
new WallPlantOnLogFeature(
EndBlocks.CYAN_MOSS,
4
),
25
);
public static final BCLFeature TWISTED_MOSS = registerVegetation(
"twisted_moss",
new WallPlantFeature(EndBlocks.TWISTED_MOSS, 6),
15);
public static final BCLFeature TWISTED_MOSS_WOOD = registerVegetation("twisted_moss_wood",
new WallPlantOnLogFeature(EndBlocks.TWISTED_MOSS,
6),
25);
public static final BCLFeature BULB_MOSS = registerVegetation("bulb_moss",
15
);
public static final BCLFeature TWISTED_MOSS_WOOD = registerVegetation(
"twisted_moss_wood",
new WallPlantOnLogFeature(
EndBlocks.TWISTED_MOSS,
6
),
25
);
public static final BCLFeature BULB_MOSS = registerVegetation(
"bulb_moss",
new WallPlantFeature(EndBlocks.BULB_MOSS, 6),
1);
public static final BCLFeature BULB_MOSS_WOOD = registerVegetation("bulb_moss_wood",
new WallPlantOnLogFeature(EndBlocks.BULB_MOSS,
6),
15);
public static final BCLFeature SMALL_JELLYSHROOM_WALL = registerVegetation("small_jellyshroom_wall",
new WallPlantFeature(EndBlocks.SMALL_JELLYSHROOM,
4),
4);
public static final BCLFeature SMALL_JELLYSHROOM_WOOD = registerVegetation("small_jellyshroom_wood",
new WallPlantOnLogFeature(EndBlocks.SMALL_JELLYSHROOM,
4),
8);
public static final BCLFeature JUNGLE_FERN_WOOD = registerVegetation("jungle_fern_wood",
new WallPlantOnLogFeature(EndBlocks.JUNGLE_FERN,
3),
12);
1
);
public static final BCLFeature BULB_MOSS_WOOD = registerVegetation(
"bulb_moss_wood",
new WallPlantOnLogFeature(
EndBlocks.BULB_MOSS,
6
),
15
);
public static final BCLFeature SMALL_JELLYSHROOM_WALL = registerVegetation(
"small_jellyshroom_wall",
new WallPlantFeature(
EndBlocks.SMALL_JELLYSHROOM,
4
),
4
);
public static final BCLFeature SMALL_JELLYSHROOM_WOOD = registerVegetation(
"small_jellyshroom_wood",
new WallPlantOnLogFeature(
EndBlocks.SMALL_JELLYSHROOM,
4
),
8
);
public static final BCLFeature JUNGLE_FERN_WOOD = registerVegetation(
"jungle_fern_wood",
new WallPlantOnLogFeature(
EndBlocks.JUNGLE_FERN,
3
),
12
);
public static final BCLFeature RUSCUS = registerVegetation("ruscus", new WallPlantFeature(EndBlocks.RUSCUS, 6), 10);
public static final BCLFeature RUSCUS_WOOD = registerVegetation("ruscus_wood",
public static final BCLFeature RUSCUS_WOOD = registerVegetation(
"ruscus_wood",
new WallPlantOnLogFeature(EndBlocks.RUSCUS, 6),
10);
10
);
// Sky plants
public static final BCLFeature FILALUX = registerVegetation("filalux", new FilaluxFeature(), 1);
// Water //
public static final BCLFeature BUBBLE_CORAL = registerVegetation("bubble_coral",
new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL,
6),
10);
public static final BCLFeature BUBBLE_CORAL_RARE = registerVegetation("bubble_coral_rare",
new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL,
3),
4);
public static final BCLFeature BUBBLE_CORAL = registerVegetation(
"bubble_coral",
new UnderwaterPlantFeature(
EndBlocks.BUBBLE_CORAL,
6
),
10
);
public static final BCLFeature BUBBLE_CORAL_RARE = registerVegetation(
"bubble_coral_rare",
new UnderwaterPlantFeature(
EndBlocks.BUBBLE_CORAL,
3
),
4
);
public static final BCLFeature END_LILY = registerVegetation("end_lily", new EndLilyFeature(6), 10);
public static final BCLFeature END_LILY_RARE = registerVegetation("end_lily_rare", new EndLilyFeature(3), 4);
public static final BCLFeature END_LOTUS = registerVegetation("end_lotus", new EndLotusFeature(7), 5);
public static final BCLFeature END_LOTUS_LEAF = registerVegetation("end_lotus_leaf",
public static final BCLFeature END_LOTUS_LEAF = registerVegetation(
"end_lotus_leaf",
new EndLotusLeafFeature(20),
25);
25
);
public static final BCLFeature HYDRALUX = registerVegetation("hydralux", new HydraluxFeature(5), 5);
public static final BCLFeature POND_ANEMONE = registerVegetation("pond_anemone",
new UnderwaterPlantFeature(EndBlocks.POND_ANEMONE,
6),
10);
public static final BCLFeature POND_ANEMONE = registerVegetation(
"pond_anemone",
new UnderwaterPlantFeature(
EndBlocks.POND_ANEMONE,
6
),
10
);
public static final BCLFeature CHARNIA_RED = registerVegetation("charnia_red",
public static final BCLFeature CHARNIA_RED = registerVegetation(
"charnia_red",
new CharniaFeature(EndBlocks.CHARNIA_RED),
10);
public static final BCLFeature CHARNIA_PURPLE = registerVegetation("charnia_purple",
10
);
public static final BCLFeature CHARNIA_PURPLE = registerVegetation(
"charnia_purple",
new CharniaFeature(EndBlocks.CHARNIA_PURPLE),
10);
public static final BCLFeature CHARNIA_CYAN = registerVegetation("charnia_cyan",
10
);
public static final BCLFeature CHARNIA_CYAN = registerVegetation(
"charnia_cyan",
new CharniaFeature(EndBlocks.CHARNIA_CYAN),
10);
public static final BCLFeature CHARNIA_LIGHT_BLUE = registerVegetation("charnia_light_blue",
10
);
public static final BCLFeature CHARNIA_LIGHT_BLUE = registerVegetation(
"charnia_light_blue",
new CharniaFeature(EndBlocks.CHARNIA_LIGHT_BLUE),
10);
public static final BCLFeature CHARNIA_ORANGE = registerVegetation("charnia_orange",
10
);
public static final BCLFeature CHARNIA_ORANGE = registerVegetation(
"charnia_orange",
new CharniaFeature(EndBlocks.CHARNIA_ORANGE),
10);
public static final BCLFeature CHARNIA_GREEN = registerVegetation("charnia_green",
10
);
public static final BCLFeature CHARNIA_GREEN = registerVegetation(
"charnia_green",
new CharniaFeature(EndBlocks.CHARNIA_GREEN),
10);
10
);
public static final BCLFeature MENGER_SPONGE = registerVegetation("menger_sponge", new MengerSpongeFeature(5), 1);
public static final BCLFeature CHARNIA_RED_RARE = registerVegetation("charnia_red_rare",
public static final BCLFeature CHARNIA_RED_RARE = registerVegetation(
"charnia_red_rare",
new CharniaFeature(EndBlocks.CHARNIA_RED),
2);
2
);
public static final BCLFeature<BiomeIslandFeature, NoneFeatureConfiguration> BIOME_ISLAND = BCLFeatureBuilder
.start(BetterEnd.makeID("overworld_island"),
new BiomeIslandFeature())
.start(
BetterEnd.makeID("overworld_island"),
new BiomeIslandFeature()
)
.decoration(Decoration.RAW_GENERATION)
.buildAndRegister();
public static final BCLFeature FLAMAEA = registerVegetation("flamaea",
public static final BCLFeature FLAMAEA = registerVegetation(
"flamaea",
new SinglePlantFeature(EndBlocks.FLAMAEA, 12, false, 5),
20);
20
);
// Terrain //
public static final BCLFeature END_LAKE = registerLake("end_lake", new EndLakeFeature(), 4);
@ -366,54 +585,72 @@ public class EndFeatures {
public static final BCLFeature FLOATING_SPIRE = registerRawGen("floating_spire", new FloatingSpireFeature(), 8);
public static final BCLFeature GEYSER = registerRawGen("geyser", new GeyserFeature(), 8);
public static final BCLFeature SULPHURIC_LAKE = registerLake("sulphuric_lake", new SulphuricLakeFeature(), 8);
public static final BCLFeature SULPHURIC_CAVE = BCLCommonFeatures.makeCountFeature(BetterEnd.makeID("sulphuric_cave"),
public static final BCLFeature SULPHURIC_CAVE = BCLCommonFeatures.makeCountFeature(
BetterEnd.makeID("sulphuric_cave"),
Decoration.RAW_GENERATION,
new SulphuricCaveFeature(),
2);
2
);
public static final BCLFeature ICE_STAR = registerRawGen("ice_star", new IceStarFeature(5, 15, 10, 25), 15);
public static final BCLFeature ICE_STAR_SMALL = registerRawGen("ice_star_small",
public static final BCLFeature ICE_STAR_SMALL = registerRawGen(
"ice_star_small",
new IceStarFeature(3, 5, 7, 12),
8);
8
);
public static final BCLFeature SURFACE_VENT = registerChanced("surface_vent", new SurfaceVentFeature(), 4);
public static final BCLFeature SULPHUR_HILL = registerChanced("sulphur_hill", new SulphurHillFeature(), 8);
public static final BCLFeature OBSIDIAN_PILLAR_BASEMENT = registerChanced("obsidian_pillar_basement",
public static final BCLFeature OBSIDIAN_PILLAR_BASEMENT = registerChanced(
"obsidian_pillar_basement",
new ObsidianPillarBasementFeature(),
8);
public static final BCLFeature OBSIDIAN_BOULDER = registerChanced("obsidian_boulder",
8
);
public static final BCLFeature OBSIDIAN_BOULDER = registerChanced(
"obsidian_boulder",
new ObsidianBoulderFeature(),
10);
10
);
public static final BCLFeature FALLEN_PILLAR = registerChanced("fallen_pillar", new FallenPillarFeature(), 20);
public static final BCLFeature TUNEL_CAVE = BCLCommonFeatures.makeChunkFeature(BetterEnd.makeID("tunel_cave"),
public static final BCLFeature TUNEL_CAVE = BCLCommonFeatures.makeChunkFeature(
BetterEnd.makeID("tunel_cave"),
Decoration.RAW_GENERATION,
new TunelCaveFeature());
new TunelCaveFeature()
);
public static final BCLFeature UMBRALITH_ARCH = registerChanced("umbralith_arch", new ArchFeature(
EndBlocks.UMBRALITH.stone,
pos -> UmbraValleyBiome.getSurface(pos.getX(), pos.getZ()).defaultBlockState()
), 10);
public static final BCLFeature THIN_UMBRALITH_ARCH = registerChanced("thin_umbralith_arch",
public static final BCLFeature THIN_UMBRALITH_ARCH = registerChanced(
"thin_umbralith_arch",
new ThinArchFeature(EndBlocks.UMBRALITH.stone),
15);
15
);
// Ores //
public static final BCLFeature THALLASIUM_ORE = registerOre("thallasium_ore", EndBlocks.THALLASIUM.ore, 24, 8);
public static final BCLFeature ENDER_ORE = registerOre("ender_ore", EndBlocks.ENDER_ORE, 12, 4);
public static final BCLFeature AMBER_ORE = registerOre("amber_ore", EndBlocks.AMBER_ORE, 60, 6);
public static final BCLFeature DRAGON_BONE_BLOCK_ORE = registerOre("dragon_bone_ore",
public static final BCLFeature DRAGON_BONE_BLOCK_ORE = registerOre(
"dragon_bone_ore",
EndBlocks.DRAGON_BONE_BLOCK,
24,
8);
public static final BCLFeature VIOLECITE_LAYER = registerLayer("violecite_layer",
8
);
public static final BCLFeature VIOLECITE_LAYER = registerLayer(
"violecite_layer",
EndBlocks.VIOLECITE,
15,
16,
128,
8);
public static final BCLFeature FLAVOLITE_LAYER = registerLayer("flavolite_layer",
8
);
public static final BCLFeature FLAVOLITE_LAYER = registerLayer(
"flavolite_layer",
EndBlocks.FLAVOLITE,
12,
16,
128,
6);
6
);
// Buildings
public static final BCLFeature CRASHED_SHIP = registerChanced("crashed_ship", new CrashedShipFeature(), 500);
@ -455,7 +692,8 @@ public class EndFeatures {
private static <F extends Feature<NoneFeatureConfiguration>> BCLFeature<F, NoneFeatureConfiguration> registerVegetation(
String name,
F feature,
int density) {
int density
) {
ResourceLocation id = BetterEnd.makeID(name);
return BCLFeatureBuilder.start(id, feature).countLayersMax(density).onlyInBiome().buildAndRegister();
}
@ -469,22 +707,28 @@ public class EndFeatures {
}
private static BCLFeature registerChanced(String name, Feature<NoneFeatureConfiguration> feature, int chance) {
return BCLCommonFeatures.makeChancedFeature(BetterEnd.makeID(name),
return BCLCommonFeatures.makeChancedFeature(
BetterEnd.makeID(name),
Decoration.SURFACE_STRUCTURES,
feature,
chance);
chance
);
}
private static BCLFeature registerOre(String name, Block blockOre, int veins, int veinSize) {
return BCLCommonFeatures.makeOreFeature(BetterEnd.makeID(name),
return BCLCommonFeatures.makeOreFeature(
BetterEnd.makeID(name),
blockOre,
Blocks.END_STONE,
veins,
veinSize,
0,
HeightRangePlacement.uniform(VerticalAnchor.bottom(),
VerticalAnchor.absolute(128)),
false);
HeightRangePlacement.uniform(
VerticalAnchor.bottom(),
VerticalAnchor.absolute(128)
),
false
);
}
private static BCLFeature registerLayer(String name, Block block, float radius, int minY, int maxY, int count) {
@ -496,12 +740,14 @@ public class EndFeatures {
.buildAndRegister();
}
private static BCLFeature registerLayer(String name,
StoneMaterial material,
float radius,
int minY,
int maxY,
int count) {
private static BCLFeature registerLayer(
String name,
StoneMaterial material,
float radius,
int minY,
int maxY,
int count
) {
return registerLayer(name, material.stone, radius, minY, maxY, count);
}

View file

@ -1,20 +1,5 @@
package org.betterx.betterend.registry;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.food.Foods;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.TieredItem;
import net.minecraft.world.item.Tiers;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import org.betterx.bclib.items.BaseArmorItem;
import org.betterx.bclib.items.ModelProviderItem;
import org.betterx.bclib.items.tool.BaseAxeItem;
@ -32,6 +17,21 @@ import org.betterx.betterend.item.tool.EndHammerItem;
import org.betterx.betterend.item.tool.EndPickaxe;
import org.betterx.betterend.tab.CreativeTabs;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.food.Foods;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.TieredItem;
import net.minecraft.world.item.Tiers;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import java.util.List;
import org.jetbrains.annotations.NotNull;
@ -41,10 +41,14 @@ public class EndItems {
// Materials //
public final static Item ENDER_DUST = registerEndItem("ender_dust");
public final static Item ENDER_SHARD = registerEndItem("ender_shard");
public final static Item AETERNIUM_INGOT = registerEndItem("aeternium_ingot",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_FORGED_PLATE = registerEndItem("aeternium_forged_plate",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_INGOT = registerEndItem(
"aeternium_ingot",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item AETERNIUM_FORGED_PLATE = registerEndItem(
"aeternium_forged_plate",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item END_LILY_LEAF = registerEndItem("end_lily_leaf");
public final static Item END_LILY_LEAF_DRIED = registerEndItem("end_lily_leaf_dried");
public final static Item CRYSTAL_SHARDS = registerEndItem("crystal_shards");
@ -64,146 +68,222 @@ public class EndItems {
public final static Item ENCHANTED_MEMBRANE = registerEndItem(
"enchanted_membrane",
new EnchantedItem(Items.PHANTOM_MEMBRANE)
);
);
// Music Discs
public final static Item MUSIC_DISC_STRANGE_AND_ALIEN = registerEndDisc(
"music_disc_strange_and_alien",
0,
EndSounds.RECORD_STRANGE_AND_ALIEN
);
);
public final static Item MUSIC_DISC_GRASPING_AT_STARS = registerEndDisc(
"music_disc_grasping_at_stars",
0,
EndSounds.RECORD_GRASPING_AT_STARS
);
);
public final static Item MUSIC_DISC_ENDSEEKER = registerEndDisc(
"music_disc_endseeker",
0,
EndSounds.RECORD_ENDSEEKER
);
);
public final static Item MUSIC_DISC_EO_DRACONA = registerEndDisc(
"music_disc_eo_dracona",
0,
EndSounds.RECORD_EO_DRACONA
);
);
// Armor //
public static final Item AETERNIUM_HELMET = registerEndItem("aeternium_helmet",
new BaseArmorItem(EndArmorMaterial.AETERNIUM,
EquipmentSlot.HEAD,
makeEndItemSettings().fireResistant()));
public static final Item AETERNIUM_CHESTPLATE = registerEndItem("aeternium_chestplate",
new BaseArmorItem(EndArmorMaterial.AETERNIUM,
EquipmentSlot.CHEST,
makeEndItemSettings().fireResistant()));
public static final Item AETERNIUM_LEGGINGS = registerEndItem("aeternium_leggings",
new BaseArmorItem(EndArmorMaterial.AETERNIUM,
EquipmentSlot.LEGS,
makeEndItemSettings().fireResistant()));
public static final Item AETERNIUM_BOOTS = registerEndItem("aeternium_boots",
new BaseArmorItem(EndArmorMaterial.AETERNIUM,
EquipmentSlot.FEET,
makeEndItemSettings().fireResistant()));
public static final Item AETERNIUM_HELMET = registerEndItem(
"aeternium_helmet",
new BaseArmorItem(
EndArmorMaterial.AETERNIUM,
EquipmentSlot.HEAD,
makeEndItemSettings().fireResistant()
)
);
public static final Item AETERNIUM_CHESTPLATE = registerEndItem(
"aeternium_chestplate",
new BaseArmorItem(
EndArmorMaterial.AETERNIUM,
EquipmentSlot.CHEST,
makeEndItemSettings().fireResistant()
)
);
public static final Item AETERNIUM_LEGGINGS = registerEndItem(
"aeternium_leggings",
new BaseArmorItem(
EndArmorMaterial.AETERNIUM,
EquipmentSlot.LEGS,
makeEndItemSettings().fireResistant()
)
);
public static final Item AETERNIUM_BOOTS = registerEndItem(
"aeternium_boots",
new BaseArmorItem(
EndArmorMaterial.AETERNIUM,
EquipmentSlot.FEET,
makeEndItemSettings().fireResistant()
)
);
public static final Item CRYSTALITE_HELMET = registerEndItem("crystalite_helmet", new CrystaliteHelmet());
public static final Item CRYSTALITE_CHESTPLATE = registerEndItem("crystalite_chestplate",
new CrystaliteChestplate());
public static final Item CRYSTALITE_CHESTPLATE = registerEndItem(
"crystalite_chestplate",
new CrystaliteChestplate()
);
public static final Item CRYSTALITE_LEGGINGS = registerEndItem("crystalite_leggings", new CrystaliteLeggings());
public static final Item CRYSTALITE_BOOTS = registerEndItem("crystalite_boots", new CrystaliteBoots());
public static final Item ARMORED_ELYTRA = registerEndItem("elytra_armored",
new ArmoredElytra("elytra_armored",
EndArmorMaterial.AETERNIUM,
Items.PHANTOM_MEMBRANE,
900,
0.975D,
true));
public static final Item ARMORED_ELYTRA = registerEndItem(
"elytra_armored",
new ArmoredElytra(
"elytra_armored",
EndArmorMaterial.AETERNIUM,
Items.PHANTOM_MEMBRANE,
900,
0.975D,
true
)
);
public static final Item CRYSTALITE_ELYTRA = registerEndItem("elytra_crystalite", new CrystaliteElytra(650, 0.99D));
// Tools //
public static final TieredItem AETERNIUM_SHOVEL = registerEndTool("aeternium_shovel", new BaseShovelItem(
EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeEndItemSettings().fireResistant()));
public static final TieredItem AETERNIUM_SWORD = registerEndTool("aeternium_sword",
new BaseSwordItem(EndToolMaterial.AETERNIUM,
3,
-2.4F,
makeEndItemSettings().fireResistant()));
public static final TieredItem AETERNIUM_PICKAXE = registerEndTool("aeternium_pickaxe",
new EndPickaxe(EndToolMaterial.AETERNIUM,
1,
-2.8F,
makeEndItemSettings().fireResistant()));
public static final TieredItem AETERNIUM_AXE = registerEndTool("aeternium_axe",
new BaseAxeItem(EndToolMaterial.AETERNIUM,
5.0F,
-3.0F,
makeEndItemSettings().fireResistant()));
public static final TieredItem AETERNIUM_HOE = registerEndTool("aeternium_hoe",
new BaseHoeItem(EndToolMaterial.AETERNIUM,
-3,
0.0F,
makeEndItemSettings().fireResistant()));
public static final TieredItem AETERNIUM_HAMMER = registerEndTool("aeternium_hammer",
new EndHammerItem(EndToolMaterial.AETERNIUM,
6.0F,
-3.0F,
0.3D,
makeEndItemSettings().fireResistant()));
public static final TieredItem AETERNIUM_SWORD = registerEndTool(
"aeternium_sword",
new BaseSwordItem(
EndToolMaterial.AETERNIUM,
3,
-2.4F,
makeEndItemSettings().fireResistant()
)
);
public static final TieredItem AETERNIUM_PICKAXE = registerEndTool(
"aeternium_pickaxe",
new EndPickaxe(
EndToolMaterial.AETERNIUM,
1,
-2.8F,
makeEndItemSettings().fireResistant()
)
);
public static final TieredItem AETERNIUM_AXE = registerEndTool(
"aeternium_axe",
new BaseAxeItem(
EndToolMaterial.AETERNIUM,
5.0F,
-3.0F,
makeEndItemSettings().fireResistant()
)
);
public static final TieredItem AETERNIUM_HOE = registerEndTool(
"aeternium_hoe",
new BaseHoeItem(
EndToolMaterial.AETERNIUM,
-3,
0.0F,
makeEndItemSettings().fireResistant()
)
);
public static final TieredItem AETERNIUM_HAMMER = registerEndTool(
"aeternium_hammer",
new EndHammerItem(
EndToolMaterial.AETERNIUM,
6.0F,
-3.0F,
0.3D,
makeEndItemSettings().fireResistant()
)
);
// Toolparts //
public final static Item AETERNIUM_SHOVEL_HEAD = registerEndItem("aeternium_shovel_head",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_PICKAXE_HEAD = registerEndItem("aeternium_pickaxe_head",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_AXE_HEAD = registerEndItem("aeternium_axe_head",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_HOE_HEAD = registerEndItem("aeternium_hoe_head",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_HAMMER_HEAD = registerEndItem("aeternium_hammer_head",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_SWORD_BLADE = registerEndItem("aeternium_sword_blade",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_SWORD_HANDLE = registerEndItem("aeternium_sword_handle",
new ModelProviderItem(makeEndItemSettings().fireResistant()));
public final static Item AETERNIUM_SHOVEL_HEAD = registerEndItem(
"aeternium_shovel_head",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item AETERNIUM_PICKAXE_HEAD = registerEndItem(
"aeternium_pickaxe_head",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item AETERNIUM_AXE_HEAD = registerEndItem(
"aeternium_axe_head",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item AETERNIUM_HOE_HEAD = registerEndItem(
"aeternium_hoe_head",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item AETERNIUM_HAMMER_HEAD = registerEndItem(
"aeternium_hammer_head",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item AETERNIUM_SWORD_BLADE = registerEndItem(
"aeternium_sword_blade",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
public final static Item AETERNIUM_SWORD_HANDLE = registerEndItem(
"aeternium_sword_handle",
new ModelProviderItem(makeEndItemSettings().fireResistant())
);
// ITEM_HAMMERS //
public static final TieredItem IRON_HAMMER = registerEndTool("iron_hammer",
new EndHammerItem(Tiers.IRON,
5.0F,
-3.2F,
0.2D,
makeEndItemSettings()));
public static final TieredItem GOLDEN_HAMMER = registerEndTool("golden_hammer",
new EndHammerItem(Tiers.GOLD,
4.5F,
-3.4F,
0.3D,
makeEndItemSettings()));
public static final TieredItem DIAMOND_HAMMER = registerEndTool("diamond_hammer",
new EndHammerItem(Tiers.DIAMOND,
5.5F,
-3.1F,
0.2D,
makeEndItemSettings()));
public static final TieredItem NETHERITE_HAMMER = registerEndTool("netherite_hammer",
new EndHammerItem(Tiers.NETHERITE,
5.0F,
-3.0F,
0.2D,
makeEndItemSettings().fireResistant()));
public static final TieredItem IRON_HAMMER = registerEndTool(
"iron_hammer",
new EndHammerItem(
Tiers.IRON,
5.0F,
-3.2F,
0.2D,
makeEndItemSettings()
)
);
public static final TieredItem GOLDEN_HAMMER = registerEndTool(
"golden_hammer",
new EndHammerItem(
Tiers.GOLD,
4.5F,
-3.4F,
0.3D,
makeEndItemSettings()
)
);
public static final TieredItem DIAMOND_HAMMER = registerEndTool(
"diamond_hammer",
new EndHammerItem(
Tiers.DIAMOND,
5.5F,
-3.1F,
0.2D,
makeEndItemSettings()
)
);
public static final TieredItem NETHERITE_HAMMER = registerEndTool(
"netherite_hammer",
new EndHammerItem(
Tiers.NETHERITE,
5.0F,
-3.0F,
0.2D,
makeEndItemSettings().fireResistant()
)
);
// Food //
public final static Item SHADOW_BERRY_RAW = registerEndFood("shadow_berry_raw", 4, 0.5F);
public final static Item SHADOW_BERRY_COOKED = registerEndFood("shadow_berry_cooked", 6, 0.7F);
public final static Item END_FISH_RAW = registerEndFood("end_fish_raw", Foods.SALMON);
public final static Item END_FISH_COOKED = registerEndFood("end_fish_cooked", Foods.COOKED_SALMON);
public final static Item BUCKET_END_FISH = registerEndItem("bucket_end_fish",
new EndBucketItem(EndEntities.END_FISH));
public final static Item BUCKET_END_FISH = registerEndItem(
"bucket_end_fish",
new EndBucketItem(EndEntities.END_FISH)
);
public final static Item BUCKET_CUBOZOA = registerEndItem("bucket_cubozoa", new EndBucketItem(EndEntities.CUBOZOA));
public final static Item SWEET_BERRY_JELLY = registerEndFood("sweet_berry_jelly", 8, 0.7F);
public final static Item SHADOW_BERRY_JELLY = registerEndFood("shadow_berry_jelly",
6,
0.8F,
new MobEffectInstance(MobEffects.NIGHT_VISION, 400));
public final static Item SHADOW_BERRY_JELLY = registerEndFood(
"shadow_berry_jelly",
6,
0.8F,
new MobEffectInstance(MobEffects.NIGHT_VISION, 400)
);
public final static Item BLOSSOM_BERRY_JELLY = registerEndFood("blossom_berry_jelly", 8, 0.7F);
public final static Item BLOSSOM_BERRY = registerEndFood("blossom_berry", Foods.APPLE);
public final static Item AMBER_ROOT_RAW = registerEndFood("amber_root_raw", 2, 0.8F);

View file

@ -1,9 +1,10 @@
package org.betterx.betterend.registry;
import org.betterx.betterend.item.model.CrystaliteArmorProvider;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import org.betterx.betterend.item.model.CrystaliteArmorProvider;
import shadow.fabric.api.client.rendering.v1.ArmorRenderingRegistry;
@Environment(EnvType.CLIENT)

View file

@ -1,16 +1,16 @@
package org.betterx.betterend.registry;
import org.betterx.bclib.particles.BCLParticleType;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.particle.*;
import com.mojang.serialization.Codec;
import net.minecraft.core.particles.ParticleOptions;
import net.minecraft.core.particles.ParticleType;
import net.minecraft.core.particles.SimpleParticleType;
import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry;
import com.mojang.serialization.Codec;
import org.betterx.bclib.particles.BCLParticleType;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.particle.*;
public class EndParticles {
public static final SimpleParticleType GLOWING_SPHERE = register("glowing_sphere");
public static final SimpleParticleType PORTAL_SPHERE = register("portal_sphere");
@ -18,7 +18,7 @@ public class EndParticles {
"infusion",
InfusionParticleType.PARAMETERS_FACTORY,
InfusionParticleType.CODEC
);
);
public static final SimpleParticleType SULPHUR_PARTICLE = register("sulphur_particle");
public static final SimpleParticleType GEYSER_PARTICLE = registerFar("geyser_particle");
public static final SimpleParticleType SNOWFLAKE = register("snowflake");
@ -52,9 +52,11 @@ public class EndParticles {
return BCLParticleType.register(BetterEnd.makeID(name), true);
}
private static <T extends ParticleOptions> ParticleType<T> register(String name,
ParticleOptions.Deserializer<T> type,
Codec<T> codec) {
private static <T extends ParticleOptions> ParticleType<T> register(
String name,
ParticleOptions.Deserializer<T> type,
Codec<T> codec
) {
return BCLParticleType.register(BetterEnd.makeID(name), type, codec);
}
}

View file

@ -10,7 +10,8 @@ public class EndPoiTypes {
public static final BCLPoiType ETERNAL_PORTAL_INACTIVE = BCLPoiType.register(
BetterEnd.makeID("eternal_portal_inactive"),
Set.of(EndBlocks.FLAVOLITE_RUNED_ETERNAL.defaultBlockState().setValue(RunedFlavolite.ACTIVATED, false)),
0, 1);
0, 1
);
public static void register() {

View file

@ -1,5 +1,10 @@
package org.betterx.betterend.registry;
import org.betterx.bclib.util.ColorUtil;
import org.betterx.bclib.util.JsonFactory;
import org.betterx.bclib.util.MHelper;
import org.betterx.betterend.BetterEnd;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerLevel;
@ -9,10 +14,6 @@ import net.fabricmc.loader.api.FabricLoader;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import org.betterx.bclib.util.ColorUtil;
import org.betterx.bclib.util.JsonFactory;
import org.betterx.bclib.util.MHelper;
import org.betterx.betterend.BetterEnd;
import java.io.File;
@ -127,7 +128,7 @@ public class EndPortals {
JsonFactory.getInt(obj, "colorRed", 255),
JsonFactory.getInt(obj, "colorGreen", 255),
JsonFactory.getInt(obj, "colorBlue", 255)
);
);
}
PortalInfo(ResourceLocation dimension, ResourceLocation item, int r, int g, int b) {

View file

@ -1,10 +1,10 @@
package org.betterx.betterend.registry;
import net.fabricmc.fabric.api.client.screenhandler.v1.ScreenRegistry;
import org.betterx.betterend.client.gui.EndStoneSmelterScreen;
import org.betterx.betterend.client.gui.EndStoneSmelterScreenHandler;
import net.fabricmc.fabric.api.client.screenhandler.v1.ScreenRegistry;
public class EndScreens {
public static void register() {
ScreenRegistry.register(EndStoneSmelterScreenHandler.HANDLER_TYPE, EndStoneSmelterScreen::new);

View file

@ -1,10 +1,10 @@
package org.betterx.betterend.registry;
import org.betterx.betterend.BetterEnd;
import net.minecraft.core.Registry;
import net.minecraft.sounds.SoundEvent;
import org.betterx.betterend.BetterEnd;
public class EndSounds {
// Music
public static final SoundEvent MUSIC_FOREST = register("music", "forest");

View file

@ -1,12 +1,5 @@
package org.betterx.betterend.registry;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType;
import org.betterx.bclib.api.v2.levelgen.structures.BCLStructure;
import org.betterx.bclib.api.v2.levelgen.structures.BCLStructureBuilder;
import org.betterx.bclib.api.v2.tag.TagAPI;
@ -14,20 +7,29 @@ import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.world.structures.features.*;
import org.betterx.betterend.world.structures.piece.*;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType;
public class EndStructures {
public static final StructurePieceType VOXEL_PIECE = register("voxel", VoxelPiece::new);
public static final StructurePieceType MOUNTAIN_PIECE = register("mountain_piece", CrystalMountainPiece::new);
public static final StructurePieceType CAVE_PIECE = register("cave_piece", CavePiece::new);
public static final StructurePieceType LAKE_PIECE = register("lake_piece", LakePiece::new);
public static final StructurePieceType PAINTED_MOUNTAIN_PIECE = register("painted_mountain_piece",
PaintedMountainPiece::new);
public static final StructurePieceType PAINTED_MOUNTAIN_PIECE = register(
"painted_mountain_piece",
PaintedMountainPiece::new
);
public static final StructurePieceType NBT_PIECE = register("nbt_piece", NBTPiece::new);
public static final BCLStructure<GiantMossyGlowshroomStructure> GIANT_MOSSY_GLOWSHROOM = BCLStructureBuilder
.start(BetterEnd.makeID("giant_mossy_glowshroom"), GiantMossyGlowshroomStructure::new)
.step(Decoration.SURFACE_STRUCTURES)
.randomPlacement(16, 8)
.build();
.start(BetterEnd.makeID("giant_mossy_glowshroom"), GiantMossyGlowshroomStructure::new)
.step(Decoration.SURFACE_STRUCTURES)
.randomPlacement(16, 8)
.build();
public static final BCLStructure<MegaLakeStructure> MEGALAKE = BCLStructureBuilder
.start(BetterEnd.makeID("megalake"), MegaLakeStructure::new)

View file

@ -1,5 +1,16 @@
package org.betterx.betterend.registry;
import org.betterx.bclib.api.v2.BonemealAPI;
import org.betterx.bclib.api.v2.ComposterAPI;
import org.betterx.bclib.api.v2.tag.*;
import org.betterx.bclib.blocks.BaseVineBlock;
import org.betterx.bclib.blocks.SimpleLeavesBlock;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.blocks.basis.EndTerrainBlock;
import org.betterx.betterend.blocks.basis.PedestalBlock;
import org.betterx.betterend.item.tool.EndHammerItem;
import org.betterx.betterend.world.biome.EndBiome;
import net.minecraft.tags.TagKey;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.Item;
@ -14,16 +25,6 @@ import net.fabricmc.fabric.mixin.object.builder.AbstractBlockAccessor;
import net.fabricmc.fabric.mixin.object.builder.AbstractBlockSettingsAccessor;
import com.google.common.collect.Lists;
import org.betterx.bclib.api.v2.BonemealAPI;
import org.betterx.bclib.api.v2.ComposterAPI;
import org.betterx.bclib.api.v2.tag.*;
import org.betterx.bclib.blocks.BaseVineBlock;
import org.betterx.bclib.blocks.SimpleLeavesBlock;
import org.betterx.betterend.BetterEnd;
import org.betterx.betterend.blocks.basis.EndTerrainBlock;
import org.betterx.betterend.blocks.basis.PedestalBlock;
import org.betterx.betterend.item.tool.EndHammerItem;
import org.betterx.betterend.world.biome.EndBiome;
import java.util.List;
@ -102,7 +103,7 @@ public class EndTags {
CommonBlockTags.END_STONES,
EndBlocks.ENDER_ORE,
EndBlocks.BRIMSTONE
);
);
TagAPI.addBlockTag(CommonBlockTags.END_STONES, EndBlocks.BRIMSTONE);
TagAPI.addBlockTag(NamedBlockTags.ANVIL, EndBlocks.AETERNIUM_ANVIL);
TagAPI.addBlockTag(NamedBlockTags.BEACON_BASE_BLOCKS, EndBlocks.AETERNIUM_BLOCK);
@ -113,7 +114,7 @@ public class EndTags {
EndBlocks.ETERNAL_PEDESTAL,
EndBlocks.FLAVOLITE_RUNED_ETERNAL,
EndBlocks.FLAVOLITE_RUNED
);
);
TagAPI.addItemTag(CommonItemTags.IRON_INGOTS, EndBlocks.THALLASIUM.ingot);
TagAPI.addItemTag(ALLOYING_IRON, Items.IRON_ORE, Items.DEEPSLATE_IRON_ORE, Items.RAW_IRON);