diff --git a/src/main/java/ru/betterend/blocks/LumecornSeedBlock.java b/src/main/java/ru/betterend/blocks/LumecornSeedBlock.java index 2689b870..31363dee 100644 --- a/src/main/java/ru/betterend/blocks/LumecornSeedBlock.java +++ b/src/main/java/ru/betterend/blocks/LumecornSeedBlock.java @@ -16,24 +16,24 @@ import java.util.Random; public class LumecornSeedBlock extends EndPlantWithAgeBlock { - @Override - public void growAdult(WorldGenLevel world, Random random, BlockPos pos) { - ((Feature) (EndFeatures.LUMECORN.getFeature())).place(new FeaturePlaceContext<>( - Optional.empty(), - world, - null, - random, - pos, - (NoneFeatureConfiguration) null)); - } + @Override + public void growAdult(WorldGenLevel world, Random random, BlockPos pos) { + ((Feature) (EndFeatures.LUMECORN.getFeature())).place(new FeaturePlaceContext<>( + Optional.empty(), + world, + null, + random, + pos, + (NoneFeatureConfiguration) null)); + } - @Override - protected boolean isTerrain(BlockState state) { - return state.is(EndBlocks.END_MOSS); - } + @Override + protected boolean isTerrain(BlockState state) { + return state.is(EndBlocks.END_MOSS); + } - @Override - public BlockBehaviour.OffsetType getOffsetType() { - return BlockBehaviour.OffsetType.NONE; - } + @Override + public BlockBehaviour.OffsetType getOffsetType() { + return BlockBehaviour.OffsetType.NONE; + } } diff --git a/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java b/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java index e7b131cd..784377f5 100644 --- a/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java @@ -82,7 +82,7 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { /** * Register new Pedestal block with specified mod id. * - * @param id pedestal id + * @param id pedestal id * @param source source block * @return new Pedestal block with specified id. */ diff --git a/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java b/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java index 87985bb0..53183d2d 100644 --- a/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java +++ b/src/main/java/ru/betterend/complexmaterials/MetalMaterial.java @@ -48,452 +48,452 @@ import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; public class MetalMaterial { - public final Block ore; - public final Block block; - public final Block tile; - public final Block bars; - public final Block pressurePlate; - public final Block door; - public final Block trapdoor; - public final Block chain; - public final Block stairs; - public final Block slab; + public final Block ore; + public final Block block; + public final Block tile; + public final Block bars; + public final Block pressurePlate; + public final Block door; + public final Block trapdoor; + public final Block chain; + public final Block stairs; + public final Block slab; - public final Block chandelier; - public final Block bulb_lantern; - public final ColoredMaterial bulb_lantern_colored; + public final Block chandelier; + public final Block bulb_lantern; + public final ColoredMaterial bulb_lantern_colored; - public final Block anvilBlock; + public final Block anvilBlock; - public final Item rawOre; - public final Item nugget; - public final Item ingot; + public final Item rawOre; + public final Item nugget; + public final Item ingot; - public final Item shovelHead; - public final Item pickaxeHead; - public final Item axeHead; - public final Item hoeHead; - public final Item swordBlade; - public final Item swordHandle; + public final Item shovelHead; + public final Item pickaxeHead; + public final Item axeHead; + public final Item hoeHead; + public final Item swordBlade; + public final Item swordHandle; - public final Item shovel; - public final Item sword; - public final Item pickaxe; - public final Item axe; - public final Item hoe; - public final Item hammer; + public final Item shovel; + public final Item sword; + public final Item pickaxe; + public final Item axe; + public final Item hoe; + public final Item hammer; - public final Item forgedPlate; - public final Item helmet; - public final Item chestplate; - public final Item leggings; - public final Item boots; + public final Item forgedPlate; + public final Item helmet; + public final Item chestplate; + public final Item leggings; + public final Item boots; - public final Tag.Named alloyingOre; + public final Tag.Named alloyingOre; - public static MetalMaterial makeNormal(String name, MaterialColor color, Tier material, ArmorMaterial armor) { - return new MetalMaterial( - name, - true, - FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).mapColor(color), - EndItems.makeEndItemSettings(), - material, - armor - ); - } + public static MetalMaterial makeNormal(String name, MaterialColor color, Tier material, ArmorMaterial armor) { + return new MetalMaterial( + name, + true, + FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).mapColor(color), + EndItems.makeEndItemSettings(), + material, + armor + ); + } - public static MetalMaterial makeNormal(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) { - return new MetalMaterial( - name, - true, - FabricBlockSettings.copyOf(Blocks.IRON_BLOCK) - .mapColor(color) - .hardness(hardness) - .resistance(resistance), - EndItems.makeEndItemSettings(), - material, - armor - ); - } + public static MetalMaterial makeNormal(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) { + return new MetalMaterial( + name, + true, + FabricBlockSettings.copyOf(Blocks.IRON_BLOCK) + .mapColor(color) + .hardness(hardness) + .resistance(resistance), + EndItems.makeEndItemSettings(), + material, + armor + ); + } - public static MetalMaterial makeOreless(String name, MaterialColor color, Tier material, ArmorMaterial armor) { - return new MetalMaterial( - name, - false, - FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).mapColor(color), - EndItems.makeEndItemSettings(), - material, - armor - ); - } + public static MetalMaterial makeOreless(String name, MaterialColor color, Tier material, ArmorMaterial armor) { + return new MetalMaterial( + name, + false, + FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).mapColor(color), + EndItems.makeEndItemSettings(), + material, + armor + ); + } - public static MetalMaterial makeOreless(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) { - return new MetalMaterial( - name, - false, - FabricBlockSettings.copyOf(Blocks.IRON_BLOCK) - .mapColor(color) - .hardness(hardness) - .resistance(resistance), - EndItems.makeEndItemSettings(), - material, - armor - ); - } + public static MetalMaterial makeOreless(String name, MaterialColor color, float hardness, float resistance, Tier material, ArmorMaterial armor) { + return new MetalMaterial( + name, + false, + FabricBlockSettings.copyOf(Blocks.IRON_BLOCK) + .mapColor(color) + .hardness(hardness) + .resistance(resistance), + EndItems.makeEndItemSettings(), + material, + armor + ); + } - private MetalMaterial(String name, boolean hasOre, FabricBlockSettings settings, Properties itemSettings, Tier material, ArmorMaterial armor) { - BlockBehaviour.Properties lanternProperties = FabricBlockSettings.copyOf(settings) - .hardness(1) - .resistance(1) - .luminance(15) - .sound(SoundType.LANTERN); - final int level = material.getLevel(); + private MetalMaterial(String name, boolean hasOre, FabricBlockSettings settings, Properties itemSettings, Tier material, ArmorMaterial armor) { + BlockBehaviour.Properties lanternProperties = FabricBlockSettings.copyOf(settings) + .hardness(1) + .resistance(1) + .luminance(15) + .sound(SoundType.LANTERN); + final int level = material.getLevel(); - rawOre = hasOre ? EndItems.registerEndItem(name + "_raw", new ModelProviderItem(itemSettings)) : null; - ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseOreBlock(()->rawOre, 1, 3, 1)) : null; - alloyingOre = hasOre ? TagAPI.makeItemTag(BetterEnd.MOD_ID, name + "_alloying") : null; - if (hasOre) { - TagAPI.addTag(alloyingOre, ore, rawOre); - } + rawOre = hasOre ? EndItems.registerEndItem(name + "_raw", new ModelProviderItem(itemSettings)) : null; + ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseOreBlock(()->rawOre, 1, 3, 1)) : null; + alloyingOre = hasOre ? TagAPI.makeItemTag(BetterEnd.MOD_ID, name + "_alloying") : null; + if (hasOre) { + TagAPI.addTag(alloyingOre, ore, rawOre); + } - block = EndBlocks.registerBlock(name + "_block", new BaseBlock(settings)); - tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(settings)); - stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(tile)); - slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(tile)); - door = EndBlocks.registerBlock(name + "_door", new BaseDoorBlock(block)); - trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new BaseTrapdoorBlock(block)); - bars = EndBlocks.registerBlock(name + "_bars", new BaseMetalBarsBlock(block)); - chain = EndBlocks.registerBlock(name + "_chain", new BaseChainBlock(block.defaultMaterialColor())); - pressurePlate = EndBlocks.registerBlock(name + "_plate", new WoodenPressurePlateBlock(block)); + block = EndBlocks.registerBlock(name + "_block", new BaseBlock(settings)); + tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(settings)); + stairs = EndBlocks.registerBlock(name + "_stairs", new BaseStairsBlock(tile)); + slab = EndBlocks.registerBlock(name + "_slab", new BaseSlabBlock(tile)); + door = EndBlocks.registerBlock(name + "_door", new BaseDoorBlock(block)); + trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new BaseTrapdoorBlock(block)); + bars = EndBlocks.registerBlock(name + "_bars", new BaseMetalBarsBlock(block)); + chain = EndBlocks.registerBlock(name + "_chain", new BaseChainBlock(block.defaultMaterialColor())); + pressurePlate = EndBlocks.registerBlock(name + "_plate", new WoodenPressurePlateBlock(block)); - chandelier = EndBlocks.registerBlock(name + "_chandelier", new ChandelierBlock(block)); - bulb_lantern = EndBlocks.registerBlock(name + "_bulb_lantern", new BulbVineLanternBlock(lanternProperties)); - bulb_lantern_colored = new ColoredMaterial(BulbVineLanternColoredBlock::new, bulb_lantern, false); + chandelier = EndBlocks.registerBlock(name + "_chandelier", new ChandelierBlock(block)); + bulb_lantern = EndBlocks.registerBlock(name + "_bulb_lantern", new BulbVineLanternBlock(lanternProperties)); + bulb_lantern_colored = new ColoredMaterial(BulbVineLanternColoredBlock::new, bulb_lantern, false); - nugget = EndItems.registerEndItem(name + "_nugget", new ModelProviderItem(itemSettings)); - ingot = EndItems.registerEndItem(name + "_ingot", new ModelProviderItem(itemSettings)); + nugget = EndItems.registerEndItem(name + "_nugget", new ModelProviderItem(itemSettings)); + ingot = EndItems.registerEndItem(name + "_ingot", new ModelProviderItem(itemSettings)); - shovelHead = EndItems.registerEndItem(name + "_shovel_head"); - pickaxeHead = EndItems.registerEndItem(name + "_pickaxe_head"); - axeHead = EndItems.registerEndItem(name + "_axe_head"); - hoeHead = EndItems.registerEndItem(name + "_hoe_head"); - swordBlade = EndItems.registerEndItem(name + "_sword_blade"); - swordHandle = EndItems.registerEndItem(name + "_sword_handle"); + shovelHead = EndItems.registerEndItem(name + "_shovel_head"); + pickaxeHead = EndItems.registerEndItem(name + "_pickaxe_head"); + axeHead = EndItems.registerEndItem(name + "_axe_head"); + hoeHead = EndItems.registerEndItem(name + "_hoe_head"); + swordBlade = EndItems.registerEndItem(name + "_sword_blade"); + swordHandle = EndItems.registerEndItem(name + "_sword_handle"); - shovel = EndItems.registerEndTool(name + "_shovel", new BaseShovelItem(material, 1.5F, -3.0F, itemSettings)); - sword = EndItems.registerEndTool(name + "_sword", new BaseSwordItem(material, 3, -2.4F, itemSettings)); - pickaxe = EndItems.registerEndTool(name + "_pickaxe", new EndPickaxe(material, 1, -2.8F, itemSettings)); - axe = EndItems.registerEndTool(name + "_axe", new BaseAxeItem(material, 6.0F, -3.0F, itemSettings)); - hoe = EndItems.registerEndTool(name + "_hoe", new BaseHoeItem(material, -3, 0.0F, itemSettings)); - hammer = EndItems.registerEndTool( - name + "_hammer", - new EndHammerItem(material, 5.0F, -3.2F, 0.3D, itemSettings) - ); + shovel = EndItems.registerEndTool(name + "_shovel", new BaseShovelItem(material, 1.5F, -3.0F, itemSettings)); + sword = EndItems.registerEndTool(name + "_sword", new BaseSwordItem(material, 3, -2.4F, itemSettings)); + pickaxe = EndItems.registerEndTool(name + "_pickaxe", new EndPickaxe(material, 1, -2.8F, itemSettings)); + axe = EndItems.registerEndTool(name + "_axe", new BaseAxeItem(material, 6.0F, -3.0F, itemSettings)); + hoe = EndItems.registerEndTool(name + "_hoe", new BaseHoeItem(material, -3, 0.0F, itemSettings)); + hammer = EndItems.registerEndTool( + name + "_hammer", + new EndHammerItem(material, 5.0F, -3.2F, 0.3D, itemSettings) + ); - forgedPlate = EndItems.registerEndItem(name + "_forged_plate"); - helmet = EndItems.registerEndItem(name + "_helmet", new EndArmorItem(armor, EquipmentSlot.HEAD, itemSettings)); - chestplate = EndItems.registerEndItem( - name + "_chestplate", - new EndArmorItem(armor, EquipmentSlot.CHEST, itemSettings) - ); - leggings = EndItems.registerEndItem( - name + "_leggings", - new EndArmorItem(armor, EquipmentSlot.LEGS, itemSettings) - ); - boots = EndItems.registerEndItem(name + "_boots", new EndArmorItem(armor, EquipmentSlot.FEET, itemSettings)); + forgedPlate = EndItems.registerEndItem(name + "_forged_plate"); + helmet = EndItems.registerEndItem(name + "_helmet", new EndArmorItem(armor, EquipmentSlot.HEAD, itemSettings)); + chestplate = EndItems.registerEndItem( + name + "_chestplate", + new EndArmorItem(armor, EquipmentSlot.CHEST, itemSettings) + ); + leggings = EndItems.registerEndItem( + name + "_leggings", + new EndArmorItem(armor, EquipmentSlot.LEGS, itemSettings) + ); + boots = EndItems.registerEndItem(name + "_boots", new EndArmorItem(armor, EquipmentSlot.FEET, itemSettings)); - anvilBlock = EndBlocks.registerBlock( - name + "_anvil", - new EndAnvilBlock(this, block.defaultMaterialColor(), level) - ); + anvilBlock = EndBlocks.registerBlock( + name + "_anvil", + new EndAnvilBlock(this, block.defaultMaterialColor(), level) + ); - if (hasOre) { - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_ore", ore, ingot) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_ingot") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_raw", rawOre, ingot) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_ingot") - .buildWithBlasting(); - AlloyingRecipe.Builder.create(name + "_ingot_alloy") - .setInput(alloyingOre, alloyingOre) - .setOutput(ingot, 3) - .setExpiriense(2.1F) - .build(); - } + if (hasOre) { + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_ore", ore, ingot) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_ingot") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_raw", rawOre, ingot) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_ingot") + .buildWithBlasting(); + AlloyingRecipe.Builder.create(name + "_ingot_alloy") + .setInput(alloyingOre, alloyingOre) + .setOutput(ingot, 3) + .setExpiriense(2.1F) + .build(); + } - // Basic recipes - GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_nuggets", ingot) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("###", "###", "###") - .addMaterial('#', nugget) - .setGroup("end_metal_ingots_nug") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_nuggets_from_ingot", nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setOutputCount(9) - .setList("#") - .addMaterial('#', ingot) - .setGroup("end_metal_nuggets_ing") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_block", block) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("###", "###", "###") - .addMaterial('#', ingot) - .setGroup("end_metal_blocks") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_block", ingot) - .checkConfig(Configs.RECIPE_CONFIG) - .setOutputCount(9) - .setList("#") - .addMaterial('#', block) - .setGroup("end_metal_ingots") - .build(); + // Basic recipes + GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_nuggets", ingot) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("###", "###", "###") + .addMaterial('#', nugget) + .setGroup("end_metal_ingots_nug") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_nuggets_from_ingot", nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setOutputCount(9) + .setList("#") + .addMaterial('#', ingot) + .setGroup("end_metal_nuggets_ing") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_block", block) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("###", "###", "###") + .addMaterial('#', ingot) + .setGroup("end_metal_blocks") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_ingot_from_block", ingot) + .checkConfig(Configs.RECIPE_CONFIG) + .setOutputCount(9) + .setList("#") + .addMaterial('#', block) + .setGroup("end_metal_ingots") + .build(); - // Block recipes - GridRecipe.make(BetterEnd.MOD_ID, name + "_tile", tile) - .checkConfig(Configs.RECIPE_CONFIG) - .setOutputCount(4) - .setShape("##", "##") - .addMaterial('#', block) - .setGroup("end_metal_tiles") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_bars", bars) - .checkConfig(Configs.RECIPE_CONFIG) - .setOutputCount(16) - .setShape("###", "###") - .addMaterial('#', ingot) - .setGroup("end_metal_bars") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_pressure_plate", pressurePlate) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("##") - .addMaterial('#', ingot) - .setGroup("end_metal_plates") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_door", door) - .checkConfig(Configs.RECIPE_CONFIG) - .setOutputCount(3) - .setShape("##", "##", "##") - .addMaterial('#', ingot) - .setGroup("end_metal_doors") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_trapdoor", trapdoor) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("##", "##") - .addMaterial('#', ingot) - .setGroup("end_metal_trapdoors") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs) - .checkConfig(Configs.RECIPE_CONFIG) - .setOutputCount(4) - .setShape("# ", "## ", "###") - .addMaterial('#', block, tile) - .setGroup("end_metal_stairs") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab) - .checkConfig(Configs.RECIPE_CONFIG) - .setOutputCount(6) - .setShape("###") - .addMaterial('#', block, tile) - .setGroup("end_metal_slabs") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_chain", chain) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("N", "#", "N") - .addMaterial('#', ingot) - .addMaterial('N', nugget) - .setGroup("end_metal_chain") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_anvil", anvilBlock) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("###", " I ", "III") - .addMaterial('#', block, tile) - .addMaterial('I', ingot) - .setGroup("end_metal_anvil") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_bulb_lantern", bulb_lantern) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("C", "I", "#") - .addMaterial('C', chain) - .addMaterial('I', ingot) - .addMaterial('#', EndItems.GLOWING_BULB) - .build(); + // Block recipes + GridRecipe.make(BetterEnd.MOD_ID, name + "_tile", tile) + .checkConfig(Configs.RECIPE_CONFIG) + .setOutputCount(4) + .setShape("##", "##") + .addMaterial('#', block) + .setGroup("end_metal_tiles") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_bars", bars) + .checkConfig(Configs.RECIPE_CONFIG) + .setOutputCount(16) + .setShape("###", "###") + .addMaterial('#', ingot) + .setGroup("end_metal_bars") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_pressure_plate", pressurePlate) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("##") + .addMaterial('#', ingot) + .setGroup("end_metal_plates") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_door", door) + .checkConfig(Configs.RECIPE_CONFIG) + .setOutputCount(3) + .setShape("##", "##", "##") + .addMaterial('#', ingot) + .setGroup("end_metal_doors") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_trapdoor", trapdoor) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("##", "##") + .addMaterial('#', ingot) + .setGroup("end_metal_trapdoors") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_stairs", stairs) + .checkConfig(Configs.RECIPE_CONFIG) + .setOutputCount(4) + .setShape("# ", "## ", "###") + .addMaterial('#', block, tile) + .setGroup("end_metal_stairs") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_slab", slab) + .checkConfig(Configs.RECIPE_CONFIG) + .setOutputCount(6) + .setShape("###") + .addMaterial('#', block, tile) + .setGroup("end_metal_slabs") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_chain", chain) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("N", "#", "N") + .addMaterial('#', ingot) + .addMaterial('N', nugget) + .setGroup("end_metal_chain") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_anvil", anvilBlock) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("###", " I ", "III") + .addMaterial('#', block, tile) + .addMaterial('I', ingot) + .setGroup("end_metal_anvil") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_bulb_lantern", bulb_lantern) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("C", "I", "#") + .addMaterial('C', chain) + .addMaterial('I', ingot) + .addMaterial('#', EndItems.GLOWING_BULB) + .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_chandelier", chandelier) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("I#I", " # ") - .addMaterial('#', ingot) - .addMaterial('I', EndItems.LUMECORN_ROD) - .setGroup("end_metal_chandelier") - .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_chandelier", chandelier) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("I#I", " # ") + .addMaterial('#', ingot) + .addMaterial('I', EndItems.LUMECORN_ROD) + .setGroup("end_metal_chandelier") + .build(); - // Tools & armor into nuggets - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_axe_nugget", axe, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hoe_nugget", hoe, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_pickaxe_nugget", pickaxe, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_sword_nugget", sword, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hammer_nugget", hammer, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_helmet_nugget", helmet, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_chestplate_nugget", chestplate, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_leggings_nugget", leggings, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); - FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_boots_nugget", boots, nugget) - .checkConfig(Configs.RECIPE_CONFIG) - .setGroup("end_nugget") - .buildWithBlasting(); + // Tools & armor into nuggets + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_axe_nugget", axe, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hoe_nugget", hoe, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_pickaxe_nugget", pickaxe, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_sword_nugget", sword, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hammer_nugget", hammer, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_helmet_nugget", helmet, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_chestplate_nugget", chestplate, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_leggings_nugget", leggings, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_boots_nugget", boots, nugget) + .checkConfig(Configs.RECIPE_CONFIG) + .setGroup("end_nugget") + .buildWithBlasting(); - // Tool parts from ingots - AnvilRecipe.create(name + "_shovel_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(ingot) - .setOutput(shovelHead) - .setAnvilLevel(level) - .setToolLevel(level) - .setDamage(level) - .build(); - AnvilRecipe.create(name + "_pickaxe_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(ingot) - .setInputCount(3) - .setOutput(pickaxeHead) - .setAnvilLevel(level) - .setToolLevel(level) - .setDamage(level) - .build(); - AnvilRecipe.create(name + "_axe_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(ingot) - .setInputCount(3) - .setOutput(axeHead) - .setAnvilLevel(level) - .setToolLevel(level) - .setDamage(level) - .build(); - AnvilRecipe.create(name + "_hoe_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(ingot) - .setInputCount(2) - .setOutput(hoeHead) - .setAnvilLevel(level) - .setToolLevel(level) - .setDamage(level) - .build(); - AnvilRecipe.create(name + "_sword_blade") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(ingot) - .setOutput(swordBlade) - .setAnvilLevel(level) - .setToolLevel(level) - .setDamage(level) - .build(); - AnvilRecipe.create(name + "_forged_plate") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(ingot) - .setOutput(forgedPlate) - .setAnvilLevel(level) - .setToolLevel(level) - .setDamage(level) - .build(); + // Tool parts from ingots + AnvilRecipe.create(name + "_shovel_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(ingot) + .setOutput(shovelHead) + .setAnvilLevel(level) + .setToolLevel(level) + .setDamage(level) + .build(); + AnvilRecipe.create(name + "_pickaxe_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(ingot) + .setInputCount(3) + .setOutput(pickaxeHead) + .setAnvilLevel(level) + .setToolLevel(level) + .setDamage(level) + .build(); + AnvilRecipe.create(name + "_axe_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(ingot) + .setInputCount(3) + .setOutput(axeHead) + .setAnvilLevel(level) + .setToolLevel(level) + .setDamage(level) + .build(); + AnvilRecipe.create(name + "_hoe_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(ingot) + .setInputCount(2) + .setOutput(hoeHead) + .setAnvilLevel(level) + .setToolLevel(level) + .setDamage(level) + .build(); + AnvilRecipe.create(name + "_sword_blade") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(ingot) + .setOutput(swordBlade) + .setAnvilLevel(level) + .setToolLevel(level) + .setDamage(level) + .build(); + AnvilRecipe.create(name + "_forged_plate") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(ingot) + .setOutput(forgedPlate) + .setAnvilLevel(level) + .setToolLevel(level) + .setDamage(level) + .build(); - // Tools from parts - SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hammer") - .checkConfig(Configs.RECIPE_CONFIG) - .setResult(hammer) - .setBase(block) - .setAddition(Items.STICK) - .build(); - SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_axe") - .checkConfig(Configs.RECIPE_CONFIG) - .setResult(axe) - .setBase(axeHead) - .setAddition(Items.STICK) - .build(); - SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_pickaxe") - .checkConfig(Configs.RECIPE_CONFIG) - .setResult(pickaxe) - .setBase(pickaxeHead) - .setAddition(Items.STICK) - .build(); - SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hoe") - .checkConfig(Configs.RECIPE_CONFIG) - .setResult(hoe) - .setBase(hoeHead) - .setAddition(Items.STICK) - .build(); - SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword_handle") - .checkConfig(Configs.RECIPE_CONFIG) - .setResult(swordHandle) - .setBase(ingot) - .setAddition(Items.STICK) - .build(); - SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword") - .checkConfig(Configs.RECIPE_CONFIG) - .setResult(sword) - .setBase(swordBlade) - .setAddition(swordHandle) - .build(); - SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_shovel") - .checkConfig(Configs.RECIPE_CONFIG) - .setResult(shovel) - .setBase(shovelHead) - .setAddition(Items.STICK) - .build(); + // Tools from parts + SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hammer") + .checkConfig(Configs.RECIPE_CONFIG) + .setResult(hammer) + .setBase(block) + .setAddition(Items.STICK) + .build(); + SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_axe") + .checkConfig(Configs.RECIPE_CONFIG) + .setResult(axe) + .setBase(axeHead) + .setAddition(Items.STICK) + .build(); + SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_pickaxe") + .checkConfig(Configs.RECIPE_CONFIG) + .setResult(pickaxe) + .setBase(pickaxeHead) + .setAddition(Items.STICK) + .build(); + SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_hoe") + .checkConfig(Configs.RECIPE_CONFIG) + .setResult(hoe) + .setBase(hoeHead) + .setAddition(Items.STICK) + .build(); + SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword_handle") + .checkConfig(Configs.RECIPE_CONFIG) + .setResult(swordHandle) + .setBase(ingot) + .setAddition(Items.STICK) + .build(); + SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_sword") + .checkConfig(Configs.RECIPE_CONFIG) + .setResult(sword) + .setBase(swordBlade) + .setAddition(swordHandle) + .build(); + SmithingTableRecipe.create(BetterEnd.MOD_ID, name + "_shovel") + .checkConfig(Configs.RECIPE_CONFIG) + .setResult(shovel) + .setBase(shovelHead) + .setAddition(Items.STICK) + .build(); - // Armor crafting - GridRecipe.make(BetterEnd.MOD_ID, name + "_helmet", helmet) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("###", "# #") - .addMaterial('#', forgedPlate) - .setGroup("end_metal_helmets") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_chestplate", chestplate) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("# #", "###", "###") - .addMaterial('#', forgedPlate) - .setGroup("end_metal_chestplates") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_leggings", leggings) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("###", "# #", "# #") - .addMaterial('#', forgedPlate) - .setGroup("end_metal_leggings") - .build(); - GridRecipe.make(BetterEnd.MOD_ID, name + "_boots", boots) - .checkConfig(Configs.RECIPE_CONFIG) - .setShape("# #", "# #") - .addMaterial('#', forgedPlate) - .setGroup("end_metal_boots") - .build(); + // Armor crafting + GridRecipe.make(BetterEnd.MOD_ID, name + "_helmet", helmet) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("###", "# #") + .addMaterial('#', forgedPlate) + .setGroup("end_metal_helmets") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_chestplate", chestplate) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("# #", "###", "###") + .addMaterial('#', forgedPlate) + .setGroup("end_metal_chestplates") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_leggings", leggings) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("###", "# #", "# #") + .addMaterial('#', forgedPlate) + .setGroup("end_metal_leggings") + .build(); + GridRecipe.make(BetterEnd.MOD_ID, name + "_boots", boots) + .checkConfig(Configs.RECIPE_CONFIG) + .setShape("# #", "# #") + .addMaterial('#', forgedPlate) + .setGroup("end_metal_boots") + .build(); - TagAPI.addTag(BlockTags.ANVIL, anvilBlock); - TagAPI.addTag(BlockTags.BEACON_BASE_BLOCKS, block); - TagAPI.addTag(ItemTags.BEACON_PAYMENT_ITEMS, ingot); - TagAPI.addTag(TagAPI.BLOCK_DRAGON_IMMUNE, ore, bars); - TagAPI.addTag(TagAPI.ITEM_HAMMERS, hammer); - } + TagAPI.addTag(BlockTags.ANVIL, anvilBlock); + TagAPI.addTag(BlockTags.BEACON_BASE_BLOCKS, block); + TagAPI.addTag(ItemTags.BEACON_PAYMENT_ITEMS, ingot); + TagAPI.addTag(TagAPI.BLOCK_DRAGON_IMMUNE, ore, bars); + TagAPI.addTag(TagAPI.ITEM_HAMMERS, hammer); + } } \ No newline at end of file diff --git a/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java b/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java index 36f0ec4a..c3471b12 100644 --- a/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java +++ b/src/main/java/ru/betterend/integration/byg/biomes/NightshadeRedwoods.java @@ -19,66 +19,66 @@ import ru.betterend.world.biome.EndBiome; import java.util.List; public class NightshadeRedwoods extends EndBiome.Config { - public NightshadeRedwoods() { - super("nightshade_redwoods"); - } + public NightshadeRedwoods() { + super("nightshade_redwoods"); + } - @Override - protected void addCustomBuildData(BCLBiomeBuilder builder) { - Biome biome = Integrations.BYG.getBiome("nightshade_forest"); - BiomeSpecialEffects effects = biome.getSpecialEffects(); + @Override + protected void addCustomBuildData(BCLBiomeBuilder builder) { + Biome biome = Integrations.BYG.getBiome("nightshade_forest"); + BiomeSpecialEffects effects = biome.getSpecialEffects(); - builder.fogColor(140, 108, 47) - .fogDensity(1.5F) - .waterAndFogColor(55, 70, 186) - .foliageColor(122, 17, 155) - .particles( - ParticleTypes.REVERSE_PORTAL, - 0.002F - ) - //TODO: 1.18 surface rules -// .setSurface(biome.getGenerationSettings() -// .getSurfaceBuilder() -// .get()) - .grassColor(48, 13, 89) - .plantsColor(200, 125, 9) - .feature(EndFeatures.END_LAKE_RARE) - .feature(BYGFeatures.NIGHTSHADE_REDWOOD_TREE) - .feature(BYGFeatures.NIGHTSHADE_MOSS_WOOD) - .feature(BYGFeatures.NIGHTSHADE_MOSS); + builder.fogColor(140, 108, 47) + .fogDensity(1.5F) + .waterAndFogColor(55, 70, 186) + .foliageColor(122, 17, 155) + .particles( + ParticleTypes.REVERSE_PORTAL, + 0.002F + ) + //TODO: 1.18 surface rules +// .setSurface(biome.getGenerationSettings() +// .getSurfaceBuilder() +// .get()) + .grassColor(48, 13, 89) + .plantsColor(200, 125, 9) + .feature(EndFeatures.END_LAKE_RARE) + .feature(BYGFeatures.NIGHTSHADE_REDWOOD_TREE) + .feature(BYGFeatures.NIGHTSHADE_MOSS_WOOD) + .feature(BYGFeatures.NIGHTSHADE_MOSS); - if (BCLib.isClient()) { - SoundEvent loop = effects.getAmbientLoopSoundEvent() - .get(); - SoundEvent music = effects.getBackgroundMusic() - .get() - .getEvent(); - SoundEvent additions = effects.getAmbientAdditionsSettings() - .get() - .getSoundEvent(); - SoundEvent mood = effects.getAmbientMoodSettings() - .get() - .getSoundEvent(); - builder.loop(loop) - .music(music) - .additions(additions) - .mood(mood); - } - biome.getGenerationSettings() - .features() - .forEach((list) -> { - list.forEach((feature) -> { - builder.feature(Decoration.VEGETAL_DECORATION, feature.get()); - }); - }); + if (BCLib.isClient()) { + SoundEvent loop = effects.getAmbientLoopSoundEvent() + .get(); + SoundEvent music = effects.getBackgroundMusic() + .get() + .getEvent(); + SoundEvent additions = effects.getAmbientAdditionsSettings() + .get() + .getSoundEvent(); + SoundEvent mood = effects.getAmbientMoodSettings() + .get() + .getSoundEvent(); + builder.loop(loop) + .music(music) + .additions(additions) + .mood(mood); + } + biome.getGenerationSettings() + .features() + .forEach((list) -> { + list.forEach((feature) -> { + builder.feature(Decoration.VEGETAL_DECORATION, feature.get()); + }); + }); - for (MobCategory group : MobCategory.values()) { - List list = biome.getMobSettings() - .getMobs(group) - .unwrap(); - list.forEach((entry) -> { - builder.spawn((EntityType) entry.type, 1, entry.minCount, entry.maxCount); - }); - } - } + for (MobCategory group : MobCategory.values()) { + List list = biome.getMobSettings() + .getMobs(group) + .unwrap(); + list.forEach((entry) -> { + builder.spawn((EntityType) entry.type, 1, entry.minCount, entry.maxCount); + }); + } + } } diff --git a/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java b/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java index a654cc83..ac724454 100644 --- a/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java +++ b/src/main/java/ru/betterend/integration/byg/biomes/OldBulbisGardens.java @@ -27,91 +27,91 @@ import java.util.function.Supplier; public class OldBulbisGardens extends EndBiome.Config { - public OldBulbisGardens() { - super("old_bulbis_gardens"); - } + public OldBulbisGardens() { + super("old_bulbis_gardens"); + } - @Override - protected void addCustomBuildData(BCLBiomeBuilder builder) { - Biome biome = Integrations.BYG.getBiome("bulbis_gardens"); - BiomeSpecialEffects effects = biome.getSpecialEffects(); + @Override + protected void addCustomBuildData(BCLBiomeBuilder builder) { + Biome biome = Integrations.BYG.getBiome("bulbis_gardens"); + BiomeSpecialEffects effects = biome.getSpecialEffects(); - Block ivis = Integrations.BYG.getBlock("ivis_phylium"); -// Block origin = biome.getGenerationSettings() -// .getSurfaceBuilderConfig() -// .getTopMaterial() -// .getBlock(); - builder.fogColor(215, 132, 207) - .fogDensity(1.8F) - .waterAndFogColor(40, 0, 56) - .foliageColor(122, 17, 155) - .particles( - ParticleTypes.REVERSE_PORTAL, - 0.002F - ) - //TODO: 1.18 surface rules - //.surface(ivis, origin) - .feature(EndFeatures.END_LAKE_RARE) - .feature(BYGFeatures.OLD_BULBIS_TREE); + Block ivis = Integrations.BYG.getBlock("ivis_phylium"); +// Block origin = biome.getGenerationSettings() +// .getSurfaceBuilderConfig() +// .getTopMaterial() +// .getBlock(); + builder.fogColor(215, 132, 207) + .fogDensity(1.8F) + .waterAndFogColor(40, 0, 56) + .foliageColor(122, 17, 155) + .particles( + ParticleTypes.REVERSE_PORTAL, + 0.002F + ) + //TODO: 1.18 surface rules + //.surface(ivis, origin) + .feature(EndFeatures.END_LAKE_RARE) + .feature(BYGFeatures.OLD_BULBIS_TREE); - if (BCLib.isClient()) { - SoundEvent loop = effects.getAmbientLoopSoundEvent() - .get(); - SoundEvent music = effects.getBackgroundMusic() - .get() - .getEvent(); - SoundEvent additions = effects.getAmbientAdditionsSettings() - .get() - .getSoundEvent(); - SoundEvent mood = effects.getAmbientMoodSettings() - .get() - .getSoundEvent(); - builder.loop(loop) - .music(music) - .additions(additions) - .mood(mood); - } + if (BCLib.isClient()) { + SoundEvent loop = effects.getAmbientLoopSoundEvent() + .get(); + SoundEvent music = effects.getBackgroundMusic() + .get() + .getEvent(); + SoundEvent additions = effects.getAmbientAdditionsSettings() + .get() + .getSoundEvent(); + SoundEvent mood = effects.getAmbientMoodSettings() + .get() + .getSoundEvent(); + builder.loop(loop) + .music(music) + .additions(additions) + .mood(mood); + } - for (MobCategory group : MobCategory.values()) { - List list = biome.getMobSettings() - .getMobs(group) - .unwrap(); - list.forEach((entry) -> { - builder.spawn((EntityType) entry.type, 1, entry.minCount, entry.maxCount); - }); - } + for (MobCategory group : MobCategory.values()) { + List list = biome.getMobSettings() + .getMobs(group) + .unwrap(); + list.forEach((entry) -> { + builder.spawn((EntityType) entry.type, 1, entry.minCount, entry.maxCount); + }); + } - List>> features = biome.getGenerationSettings() - .features(); - List> vegetal = features.get(Decoration.VEGETAL_DECORATION.ordinal()); - if (vegetal.size() > 2) { - Supplier getter; - // Trees (first two features) - // I couldn't process them with conditions, so that's why they are hardcoded (paulevs) - for (int i = 0; i < 2; i++) { - getter = vegetal.get(i); - PlacedFeature feature = getter.get(); - ResourceLocation id = BetterEnd.makeID("obg_feature_" + i); - feature = Registry.register( - BuiltinRegistries.PLACED_FEATURE, - id, - //TODO: 1.18 Check if this is correct - feature//.decorated(FeaturesAccesor.shadowHEIGHTMAP_SQUARE).countRandom(1) - ); - builder.feature(Decoration.VEGETAL_DECORATION, feature); - } - // Grasses and other features - for (int i = 2; i < vegetal.size(); i++) { - getter = vegetal.get(i); - PlacedFeature feature = getter.get(); - builder.feature(Decoration.VEGETAL_DECORATION, feature); - } - } + List>> features = biome.getGenerationSettings() + .features(); + List> vegetal = features.get(Decoration.VEGETAL_DECORATION.ordinal()); + if (vegetal.size() > 2) { + Supplier getter; + // Trees (first two features) + // I couldn't process them with conditions, so that's why they are hardcoded (paulevs) + for (int i = 0; i < 2; i++) { + getter = vegetal.get(i); + PlacedFeature feature = getter.get(); + ResourceLocation id = BetterEnd.makeID("obg_feature_" + i); + feature = Registry.register( + BuiltinRegistries.PLACED_FEATURE, + id, + //TODO: 1.18 Check if this is correct + feature//.decorated(FeaturesAccesor.shadowHEIGHTMAP_SQUARE).countRandom(1) + ); + builder.feature(Decoration.VEGETAL_DECORATION, feature); + } + // Grasses and other features + for (int i = 2; i < vegetal.size(); i++) { + getter = vegetal.get(i); + PlacedFeature feature = getter.get(); + builder.feature(Decoration.VEGETAL_DECORATION, feature); + } + } - builder.feature(EndFeatures.PURPLE_POLYPORE) - .feature(BYGFeatures.IVIS_MOSS_WOOD) - .feature(BYGFeatures.IVIS_MOSS) - .feature(BYGFeatures.IVIS_VINE) - .feature(BYGFeatures.IVIS_SPROUT); - } + builder.feature(EndFeatures.PURPLE_POLYPORE) + .feature(BYGFeatures.IVIS_MOSS_WOOD) + .feature(BYGFeatures.IVIS_MOSS) + .feature(BYGFeatures.IVIS_VINE) + .feature(BYGFeatures.IVIS_SPROUT); + } } diff --git a/src/main/java/ru/betterend/interfaces/StructureFeaturesAccessor.java b/src/main/java/ru/betterend/interfaces/StructureFeaturesAccessor.java index 4d466609..2813474b 100644 --- a/src/main/java/ru/betterend/interfaces/StructureFeaturesAccessor.java +++ b/src/main/java/ru/betterend/interfaces/StructureFeaturesAccessor.java @@ -5,5 +5,5 @@ import net.minecraft.world.level.levelgen.feature.StructureFeature; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; public interface StructureFeaturesAccessor { - ConfiguredStructureFeature> getEND_CITY(); + ConfiguredStructureFeature> getEND_CITY(); } diff --git a/src/main/java/ru/betterend/mixin/common/EndPodiumFeatureMixin.java b/src/main/java/ru/betterend/mixin/common/EndPodiumFeatureMixin.java index 1e838080..5dbf4f2b 100644 --- a/src/main/java/ru/betterend/mixin/common/EndPodiumFeatureMixin.java +++ b/src/main/java/ru/betterend/mixin/common/EndPodiumFeatureMixin.java @@ -58,7 +58,7 @@ public class EndPodiumFeatureMixin { WorldGenLevel world = featurePlaceContext.level(); BlockPos pos = be_updatePortalPos(world); return new FeaturePlaceContext( - Optional.empty(), + Optional.empty(), world, featurePlaceContext.chunkGenerator(), featurePlaceContext.random(), diff --git a/src/main/java/ru/betterend/mixin/common/StructureFeaturesMixin.java b/src/main/java/ru/betterend/mixin/common/StructureFeaturesMixin.java index bad4c781..c3126b2d 100644 --- a/src/main/java/ru/betterend/mixin/common/StructureFeaturesMixin.java +++ b/src/main/java/ru/betterend/mixin/common/StructureFeaturesMixin.java @@ -11,9 +11,9 @@ import ru.betterend.interfaces.StructureFeaturesAccessor; @Mixin(StructureFeatures.class) public class StructureFeaturesMixin implements StructureFeaturesAccessor { - @Shadow @Final private static ConfiguredStructureFeature> END_CITY; + @Shadow @Final private static ConfiguredStructureFeature> END_CITY; - public ConfiguredStructureFeature> getEND_CITY(){ - return END_CITY; - } + public ConfiguredStructureFeature> getEND_CITY(){ + return END_CITY; + } } diff --git a/src/main/java/ru/betterend/recipe/AnvilRecipes.java b/src/main/java/ru/betterend/recipe/AnvilRecipes.java index dde61edb..55bc83d4 100644 --- a/src/main/java/ru/betterend/recipe/AnvilRecipes.java +++ b/src/main/java/ru/betterend/recipe/AnvilRecipes.java @@ -7,78 +7,78 @@ import ru.betterend.item.material.EndToolMaterial; import ru.betterend.registry.EndItems; public class AnvilRecipes { - public static void register() { - AnvilRecipe.create("ender_pearl_to_dust") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(Items.ENDER_PEARL) - .setOutput(EndItems.ENDER_DUST) - .setToolLevel(4) - .setDamage(5) - .build(); - AnvilRecipe.create("ender_shard_to_dust") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.ENDER_SHARD) - .setOutput(EndItems.ENDER_DUST) - .setToolLevel(0) - .setDamage(3) - .build(); + public static void register() { + AnvilRecipe.create("ender_pearl_to_dust") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(Items.ENDER_PEARL) + .setOutput(EndItems.ENDER_DUST) + .setToolLevel(4) + .setDamage(5) + .build(); + AnvilRecipe.create("ender_shard_to_dust") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.ENDER_SHARD) + .setOutput(EndItems.ENDER_DUST) + .setToolLevel(0) + .setDamage(3) + .build(); - int anvilLevel = EndToolMaterial.AETERNIUM.getLevel(); - AnvilRecipe.create("aeternium_axe_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.AETERNIUM_INGOT) - .setOutput(EndItems.AETERNIUM_AXE_HEAD) - .setAnvilLevel(anvilLevel) - .setToolLevel(anvilLevel) - .setDamage(6) - .build(); - AnvilRecipe.create("aeternium_pickaxe_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.AETERNIUM_INGOT) - .setOutput(EndItems.AETERNIUM_PICKAXE_HEAD) - .setAnvilLevel(anvilLevel) - .setToolLevel(anvilLevel) - .setDamage(6) - .build(); - AnvilRecipe.create("aeternium_shovel_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.AETERNIUM_INGOT) - .setOutput(EndItems.AETERNIUM_SHOVEL_HEAD) - .setAnvilLevel(anvilLevel) - .setToolLevel(anvilLevel) - .setDamage(6) - .build(); - AnvilRecipe.create("aeternium_hoe_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.AETERNIUM_INGOT) - .setOutput(EndItems.AETERNIUM_HOE_HEAD) - .setAnvilLevel(anvilLevel) - .setToolLevel(anvilLevel) - .setDamage(6) - .build(); - AnvilRecipe.create("aeternium_hammer_head") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.AETERNIUM_INGOT) - .setOutput(EndItems.AETERNIUM_HAMMER_HEAD) - .setAnvilLevel(anvilLevel) - .setToolLevel(EndToolMaterial.THALLASIUM.getLevel()) - .setDamage(6) - .build(); - AnvilRecipe.create("aeternium_sword_blade") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.AETERNIUM_INGOT) - .setOutput(EndItems.AETERNIUM_SWORD_BLADE) - .setAnvilLevel(anvilLevel) - .setToolLevel(anvilLevel) - .setDamage(6) - .build(); - AnvilRecipe.create("aeternium_forged_plate") - .checkConfig(Configs.RECIPE_CONFIG) - .setInput(EndItems.AETERNIUM_INGOT) - .setOutput(EndItems.AETERNIUM_FORGED_PLATE) - .setAnvilLevel(anvilLevel) - .setToolLevel(anvilLevel) - .setDamage(6) - .build(); - } + int anvilLevel = EndToolMaterial.AETERNIUM.getLevel(); + AnvilRecipe.create("aeternium_axe_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.AETERNIUM_INGOT) + .setOutput(EndItems.AETERNIUM_AXE_HEAD) + .setAnvilLevel(anvilLevel) + .setToolLevel(anvilLevel) + .setDamage(6) + .build(); + AnvilRecipe.create("aeternium_pickaxe_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.AETERNIUM_INGOT) + .setOutput(EndItems.AETERNIUM_PICKAXE_HEAD) + .setAnvilLevel(anvilLevel) + .setToolLevel(anvilLevel) + .setDamage(6) + .build(); + AnvilRecipe.create("aeternium_shovel_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.AETERNIUM_INGOT) + .setOutput(EndItems.AETERNIUM_SHOVEL_HEAD) + .setAnvilLevel(anvilLevel) + .setToolLevel(anvilLevel) + .setDamage(6) + .build(); + AnvilRecipe.create("aeternium_hoe_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.AETERNIUM_INGOT) + .setOutput(EndItems.AETERNIUM_HOE_HEAD) + .setAnvilLevel(anvilLevel) + .setToolLevel(anvilLevel) + .setDamage(6) + .build(); + AnvilRecipe.create("aeternium_hammer_head") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.AETERNIUM_INGOT) + .setOutput(EndItems.AETERNIUM_HAMMER_HEAD) + .setAnvilLevel(anvilLevel) + .setToolLevel(EndToolMaterial.THALLASIUM.getLevel()) + .setDamage(6) + .build(); + AnvilRecipe.create("aeternium_sword_blade") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.AETERNIUM_INGOT) + .setOutput(EndItems.AETERNIUM_SWORD_BLADE) + .setAnvilLevel(anvilLevel) + .setToolLevel(anvilLevel) + .setDamage(6) + .build(); + AnvilRecipe.create("aeternium_forged_plate") + .checkConfig(Configs.RECIPE_CONFIG) + .setInput(EndItems.AETERNIUM_INGOT) + .setOutput(EndItems.AETERNIUM_FORGED_PLATE) + .setAnvilLevel(anvilLevel) + .setToolLevel(anvilLevel) + .setDamage(6) + .build(); + } } diff --git a/src/main/java/ru/betterend/rituals/EternalRitual.java b/src/main/java/ru/betterend/rituals/EternalRitual.java index 7bb5e3da..e10973f8 100644 --- a/src/main/java/ru/betterend/rituals/EternalRitual.java +++ b/src/main/java/ru/betterend/rituals/EternalRitual.java @@ -694,9 +694,9 @@ public class EternalRitual { } /** - * @param world World for search - * @param checkPos Start search position - * @param radius Search radius + * @param world World for search + * @param checkPos Start search position + * @param radius Search radius * @param searchBlock Target block * @param condition Predicate for test block states in the chunk section * @return Position of the first found block or null. @@ -733,9 +733,9 @@ public class EternalRitual { } /** - * @param world World for search - * @param checkPos Start search position - * @param radius Search radius + * @param world World for search + * @param checkPos Start search position + * @param radius Search radius * @param searchBlock Target block * @param condition Predicate for test block states in the chunk section * @return List of positions of the all found blocks or empty list. diff --git a/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java b/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java index c79a0ada..b1d14021 100644 --- a/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/AmberLandBiome.java @@ -12,42 +12,42 @@ import ru.betterend.registry.EndSounds; import ru.betterend.world.biome.EndBiome; public class AmberLandBiome extends EndBiome.Config { - public AmberLandBiome() { - super("amber_land"); - } + public AmberLandBiome() { + super("amber_land"); + } - @Override - protected void addCustomBuildData(BCLBiomeBuilder builder) { - builder.fogColor(255, 184, 71) - .fogDensity(2.0F) - .plantsColor(219, 115, 38) - .waterAndFogColor(145, 108, 72) - .music(EndSounds.MUSIC_FOREST) - .loop(EndSounds.AMBIENT_AMBER_LAND) - .particles(EndParticles.AMBER_SPHERE, 0.001F) - .feature(EndFeatures.AMBER_ORE) - .feature(EndFeatures.END_LAKE_RARE) - .feature(EndFeatures.HELIX_TREE) - .feature(EndFeatures.LANCELEAF) - .feature(EndFeatures.GLOW_PILLAR) - .feature(EndFeatures.AMBER_GRASS) - .feature(EndFeatures.AMBER_ROOT) - .feature(EndFeatures.BULB_MOSS) - .feature(EndFeatures.BULB_MOSS_WOOD) - .feature(EndFeatures.CHARNIA_ORANGE) - .feature(EndFeatures.CHARNIA_RED) - .structure(VANILLA_FEATURES.getEND_CITY()) - .spawn(EntityType.ENDERMAN, 50, 1, 4) - .spawn(EndEntities.END_SLIME, 30, 1, 2); - } + @Override + protected void addCustomBuildData(BCLBiomeBuilder builder) { + builder.fogColor(255, 184, 71) + .fogDensity(2.0F) + .plantsColor(219, 115, 38) + .waterAndFogColor(145, 108, 72) + .music(EndSounds.MUSIC_FOREST) + .loop(EndSounds.AMBIENT_AMBER_LAND) + .particles(EndParticles.AMBER_SPHERE, 0.001F) + .feature(EndFeatures.AMBER_ORE) + .feature(EndFeatures.END_LAKE_RARE) + .feature(EndFeatures.HELIX_TREE) + .feature(EndFeatures.LANCELEAF) + .feature(EndFeatures.GLOW_PILLAR) + .feature(EndFeatures.AMBER_GRASS) + .feature(EndFeatures.AMBER_ROOT) + .feature(EndFeatures.BULB_MOSS) + .feature(EndFeatures.BULB_MOSS_WOOD) + .feature(EndFeatures.CHARNIA_ORANGE) + .feature(EndFeatures.CHARNIA_RED) + .structure(VANILLA_FEATURES.getEND_CITY()) + .spawn(EntityType.ENDERMAN, 50, 1, 4) + .spawn(EndEntities.END_SLIME, 30, 1, 2); + } - @Override - protected SurfaceMaterialProvider surfaceMaterial() { - return new EndBiome.DefaultSurfaceMaterialProvider() { - @Override - public BlockState getTopMaterial() { - return EndBlocks.AMBER_MOSS.defaultBlockState(); - } - }; - } + @Override + protected SurfaceMaterialProvider surfaceMaterial() { + return new EndBiome.DefaultSurfaceMaterialProvider() { + @Override + public BlockState getTopMaterial() { + return EndBlocks.AMBER_MOSS.defaultBlockState(); + } + }; + } } diff --git a/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java b/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java index b24afe2d..5bea07bb 100644 --- a/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java @@ -16,61 +16,61 @@ import ru.betterend.world.surface.UmbraSurfaceNoiseCondition; import java.util.List; public class UmbraValleyBiome extends EndBiome.Config { - public UmbraValleyBiome() { - super("umbra_valley"); - } + public UmbraValleyBiome() { + super("umbra_valley"); + } - @Override - protected void addCustomBuildData(BCLBiomeBuilder builder) { - builder.fogColor(100, 100, 100) - .plantsColor(172, 189, 190) - .waterAndFogColor(69, 104, 134) - .particles(EndParticles.AMBER_SPHERE, 0.0001F) - .loop(EndSounds.UMBRA_VALLEY) - .music(EndSounds.MUSIC_DARK) - .feature(EndFeatures.UMBRALITH_ARCH) - .feature(EndFeatures.THIN_UMBRALITH_ARCH) - .feature(EndFeatures.INFLEXIA) - .feature(EndFeatures.FLAMMALIX); - } + @Override + protected void addCustomBuildData(BCLBiomeBuilder builder) { + builder.fogColor(100, 100, 100) + .plantsColor(172, 189, 190) + .waterAndFogColor(69, 104, 134) + .particles(EndParticles.AMBER_SPHERE, 0.0001F) + .loop(EndSounds.UMBRA_VALLEY) + .music(EndSounds.MUSIC_DARK) + .feature(EndFeatures.UMBRALITH_ARCH) + .feature(EndFeatures.THIN_UMBRALITH_ARCH) + .feature(EndFeatures.INFLEXIA) + .feature(EndFeatures.FLAMMALIX); + } - @Override - protected SurfaceMaterialProvider surfaceMaterial() { - return new EndBiome.DefaultSurfaceMaterialProvider() { - @Override - public BlockState getTopMaterial() { - return EndBlocks.UMBRALITH.stone.defaultBlockState(); - } + @Override + protected SurfaceMaterialProvider surfaceMaterial() { + return new EndBiome.DefaultSurfaceMaterialProvider() { + @Override + public BlockState getTopMaterial() { + return EndBlocks.UMBRALITH.stone.defaultBlockState(); + } - @Override - public BlockState getAltTopMaterial() { - return EndBlocks.PALLIDIUM_FULL.defaultBlockState(); - } + @Override + public BlockState getAltTopMaterial() { + return EndBlocks.PALLIDIUM_FULL.defaultBlockState(); + } - @Override - public boolean generateFloorRule() { - return false; - } + @Override + public boolean generateFloorRule() { + return false; + } - @Override - public SurfaceRuleBuilder surface() { - return super - .surface() - .rule(2, - SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, - new SwitchRuleSource( - new UmbraSurfaceNoiseCondition(), - List.of( - SurfaceRules.state(surfaceMaterial().getAltTopMaterial()), - PALLIDIUM_HEAVY, - PALLIDIUM_THIN, - PALLIDIUM_TINY, - SurfaceRules.state(surfaceMaterial().getTopMaterial()) - ) - ) - ) - ); - } - }; - } + @Override + public SurfaceRuleBuilder surface() { + return super + .surface() + .rule(2, + SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, + new SwitchRuleSource( + new UmbraSurfaceNoiseCondition(), + List.of( + SurfaceRules.state(surfaceMaterial().getAltTopMaterial()), + PALLIDIUM_HEAVY, + PALLIDIUM_THIN, + PALLIDIUM_TINY, + SurfaceRules.state(surfaceMaterial().getTopMaterial()) + ) + ) + ) + ); + } + }; + } } diff --git a/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java b/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java index 9015529e..95e7c05e 100644 --- a/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java +++ b/src/main/java/ru/betterend/world/features/BiomeIslandFeature.java @@ -30,7 +30,7 @@ public class BiomeIslandFeature extends DefaultFeature { final BlockPos pos = featureConfig.origin(); final WorldGenLevel world = featureConfig.level(); Biome biome = world.getBiome(pos); - int dist = BlocksHelper.downRay(world, pos, 10) + 1; + int dist = BlocksHelper.downRay(world, pos, 10) + 1; BlockPos surfacePos = new BlockPos(pos.getX(), pos.getY()-dist, pos.getZ()); BlockState topMaterial = EndBiome.findTopMaterial(world, surfacePos);; diff --git a/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java b/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java index c85eb980..95bb6edb 100644 --- a/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/ThinArchFeature.java @@ -23,55 +23,55 @@ import ru.betterend.noise.OpenSimplexNoise; import java.util.Random; public class ThinArchFeature extends DefaultFeature { - private Block block; - - public ThinArchFeature(Block block) { - this.block = block; - } - - @Override - public boolean place(FeaturePlaceContext featurePlaceContext) { - final WorldGenLevel world = featurePlaceContext.level(); - BlockPos origin = featurePlaceContext.origin(); - Random random = featurePlaceContext.random(); + private Block block; + + public ThinArchFeature(Block block) { + this.block = block; + } + + @Override + public boolean place(FeaturePlaceContext featurePlaceContext) { + final WorldGenLevel world = featurePlaceContext.level(); + BlockPos origin = featurePlaceContext.origin(); + Random random = featurePlaceContext.random(); - BlockPos pos = getPosOnSurfaceWG(world, new BlockPos((origin.getX() & 0xFFFFFFF0) | 7, 0, (origin.getZ() & 0xFFFFFFF0) | 7)); - if (!world.getBlockState(pos.below(5)).is(TagAPI.BLOCK_GEN_TERRAIN)) { - return false; - } - - SDF sdf = null; - float bigRadius = MHelper.randRange(15F, 20F, random); - float variation = bigRadius * 0.3F; - int count = MHelper.randRange(2, 4, random); - - for (int i = 0; i < count; i++) { - float smallRadius = MHelper.randRange(0.6F, 1.3F, random); - SDF arch = new SDFTorus().setBigRadius(bigRadius - random.nextFloat() * variation).setSmallRadius(smallRadius).setBlock(block); - float angle = (i - count * 0.5F) * 0.3F + random.nextFloat() * 0.05F + (float) Math.PI * 0.5F; - arch = new SDFRotation().setRotation(Vector3f.XP, angle).setSource(arch); - sdf = sdf == null ? arch : new SDFUnion().setSourceA(sdf).setSourceB(arch); - } - - sdf = new SDFRotation().setRotation(MHelper.randomHorizontal(random), random.nextFloat() * MHelper.PI2).setSource(sdf); - - OpenSimplexNoise noise = new OpenSimplexNoise(random.nextLong()); - sdf = new SDFCoordModify().setFunction(vec -> { - float dx = (float) noise.eval(vec.y() * 0.02, vec.z() * 0.02); - float dy = (float) noise.eval(vec.x() * 0.02, vec.z() * 0.02); - float dz = (float) noise.eval(vec.x() * 0.02, vec.y() * 0.02); - vec.add(dx * 10, dy * 10, dz * 10); - }).setSource(sdf); - sdf = new SDFDisplacement().setFunction(vec -> { - float offset = vec.y() / bigRadius - 0.5F; - return Mth.clamp(offset * 3, -10F, 0F); - }).setSource(sdf); - - float side = (bigRadius + 2.5F) * 2; - if (side > 47) { - side = 47; - } - sdf.fillArea(world, pos, AABB.ofSize(Vec3.atCenterOf(pos), side, side, side)); - return true; - } + BlockPos pos = getPosOnSurfaceWG(world, new BlockPos((origin.getX() & 0xFFFFFFF0) | 7, 0, (origin.getZ() & 0xFFFFFFF0) | 7)); + if (!world.getBlockState(pos.below(5)).is(TagAPI.BLOCK_GEN_TERRAIN)) { + return false; + } + + SDF sdf = null; + float bigRadius = MHelper.randRange(15F, 20F, random); + float variation = bigRadius * 0.3F; + int count = MHelper.randRange(2, 4, random); + + for (int i = 0; i < count; i++) { + float smallRadius = MHelper.randRange(0.6F, 1.3F, random); + SDF arch = new SDFTorus().setBigRadius(bigRadius - random.nextFloat() * variation).setSmallRadius(smallRadius).setBlock(block); + float angle = (i - count * 0.5F) * 0.3F + random.nextFloat() * 0.05F + (float) Math.PI * 0.5F; + arch = new SDFRotation().setRotation(Vector3f.XP, angle).setSource(arch); + sdf = sdf == null ? arch : new SDFUnion().setSourceA(sdf).setSourceB(arch); + } + + sdf = new SDFRotation().setRotation(MHelper.randomHorizontal(random), random.nextFloat() * MHelper.PI2).setSource(sdf); + + OpenSimplexNoise noise = new OpenSimplexNoise(random.nextLong()); + sdf = new SDFCoordModify().setFunction(vec -> { + float dx = (float) noise.eval(vec.y() * 0.02, vec.z() * 0.02); + float dy = (float) noise.eval(vec.x() * 0.02, vec.z() * 0.02); + float dz = (float) noise.eval(vec.x() * 0.02, vec.y() * 0.02); + vec.add(dx * 10, dy * 10, dz * 10); + }).setSource(sdf); + sdf = new SDFDisplacement().setFunction(vec -> { + float offset = vec.y() / bigRadius - 0.5F; + return Mth.clamp(offset * 3, -10F, 0F); + }).setSource(sdf); + + float side = (bigRadius + 2.5F) * 2; + if (side > 47) { + side = 47; + } + sdf.fillArea(world, pos, AABB.ofSize(Vec3.atCenterOf(pos), side, side, side)); + return true; + } } diff --git a/src/main/java/ru/betterend/world/structures/features/EternalPortalStructure.java b/src/main/java/ru/betterend/world/structures/features/EternalPortalStructure.java index 738a67d1..dd27ed41 100644 --- a/src/main/java/ru/betterend/world/structures/features/EternalPortalStructure.java +++ b/src/main/java/ru/betterend/world/structures/features/EternalPortalStructure.java @@ -20,54 +20,54 @@ import ru.betterend.world.structures.piece.NBTPiece; import java.util.Random; public class EternalPortalStructure extends FeatureBaseStructure { - private static final ResourceLocation STRUCTURE_ID = BetterEnd.makeID("portal/eternal_portal"); - private static final StructureTemplate STRUCTURE = StructureHelper.readStructure(STRUCTURE_ID); + private static final ResourceLocation STRUCTURE_ID = BetterEnd.makeID("portal/eternal_portal"); + private static final StructureTemplate STRUCTURE = StructureHelper.readStructure(STRUCTURE_ID); - public EternalPortalStructure() { - super(PieceGeneratorSupplier.simple( - EternalPortalStructure::checkLocation, - EternalPortalStructure::generatePieces - )); - } + public EternalPortalStructure() { + super(PieceGeneratorSupplier.simple( + EternalPortalStructure::checkLocation, + EternalPortalStructure::generatePieces + )); + } - protected static boolean checkLocation(PieceGeneratorSupplier.Context context) { - if (!BCLStructureFeature.isValidBiome(context)) return false; + protected static boolean checkLocation(PieceGeneratorSupplier.Context context) { + if (!BCLStructureFeature.isValidBiome(context)) return false; - final ChunkPos chunkPos = context.chunkPos(); - final ChunkGenerator chunkGenerator = context.chunkGenerator(); - final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); + final ChunkPos chunkPos = context.chunkPos(); + final ChunkGenerator chunkGenerator = context.chunkGenerator(); + final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); - long x = (long) chunkPos.x * (long) chunkPos.x; - long z = (long) chunkPos.z * (long) chunkPos.z; - if (x + z < 1024L) { - return false; - } - if (chunkGenerator.getBaseHeight( - chunkPos.getBlockX(8), - chunkPos.getBlockZ(8), - Heightmap.Types.WORLD_SURFACE_WG, - levelHeightAccessor - ) < 5) { - return false; - } - return FeatureBaseStructure.checkLocation(context); - } + long x = (long) chunkPos.x * (long) chunkPos.x; + long z = (long) chunkPos.z * (long) chunkPos.z; + if (x + z < 1024L) { + return false; + } + if (chunkGenerator.getBaseHeight( + chunkPos.getBlockX(8), + chunkPos.getBlockZ(8), + Heightmap.Types.WORLD_SURFACE_WG, + levelHeightAccessor + ) < 5) { + return false; + } + return FeatureBaseStructure.checkLocation(context); + } - protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { - final Random random = context.random(); - final ChunkPos chunkPos = context.chunkPos(); - final ChunkGenerator chunkGenerator = context.chunkGenerator(); - final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); - int x = chunkPos.getBlockX(8); - int z = chunkPos.getBlockZ(8); - int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); - structurePiecesBuilder.addPiece(new NBTPiece( - STRUCTURE_ID, - STRUCTURE, - new BlockPos(x, y - 4, z), - random.nextInt(5), - true, - random - )); - } + protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { + final Random random = context.random(); + final ChunkPos chunkPos = context.chunkPos(); + final ChunkGenerator chunkGenerator = context.chunkGenerator(); + final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); + int x = chunkPos.getBlockX(8); + int z = chunkPos.getBlockZ(8); + int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); + structurePiecesBuilder.addPiece(new NBTPiece( + STRUCTURE_ID, + STRUCTURE, + new BlockPos(x, y - 4, z), + random.nextInt(5), + true, + random + )); + } } diff --git a/src/main/java/ru/betterend/world/structures/features/MegaLakeSmallStructure.java b/src/main/java/ru/betterend/world/structures/features/MegaLakeSmallStructure.java index 691c373e..5db2baca 100644 --- a/src/main/java/ru/betterend/world/structures/features/MegaLakeSmallStructure.java +++ b/src/main/java/ru/betterend/world/structures/features/MegaLakeSmallStructure.java @@ -16,33 +16,32 @@ import ru.betterend.world.structures.piece.LakePiece; import java.util.Random; public class MegaLakeSmallStructure extends FeatureBaseStructure { - public MegaLakeSmallStructure() { - super(PieceGeneratorSupplier.simple( - FeatureBaseStructure::checkLocation, - MegaLakeSmallStructure::generatePieces - )); - } + public MegaLakeSmallStructure() { + super(PieceGeneratorSupplier.simple( + FeatureBaseStructure::checkLocation, + MegaLakeSmallStructure::generatePieces + )); + } - protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { - final Random random = context.random(); - final ChunkPos chunkPos = context.chunkPos(); - final ChunkGenerator chunkGenerator = context.chunkGenerator(); - final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); + protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { + final Random random = context.random(); + final ChunkPos chunkPos = context.chunkPos(); + final ChunkGenerator chunkGenerator = context.chunkGenerator(); + final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); - int x = chunkPos.getBlockX(MHelper.randRange(4, 12, random)); - int z = chunkPos.getBlockZ(MHelper.randRange(4, 12, random)); - int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); + int x = chunkPos.getBlockX(MHelper.randRange(4, 12, random)); + int z = chunkPos.getBlockZ(MHelper.randRange(4, 12, random)); + int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); + + Biome biome = chunkGenerator.getNoiseBiome(x >> 2, y >> 2, z >> 2); + if (y > 5) { + float radius = MHelper.randRange(20, 40, random); + float depth = MHelper.randRange(5, 10, random); + LakePiece piece = new LakePiece(new BlockPos(x, y, z), radius, depth, random, biome); + structurePiecesBuilder.addPiece(piece); + } - //TODO: 1.18 right way to get biome? - Biome biome = chunkGenerator.getNoiseBiome(x, y, z); - if (y > 5) { - float radius = MHelper.randRange(20, 40, random); - float depth = MHelper.randRange(5, 10, random); - LakePiece piece = new LakePiece(new BlockPos(x, y, z), radius, depth, random, biome); - structurePiecesBuilder.addPiece(piece); - } - - //this.calculateBoundingBox(); - } + //this.calculateBoundingBox(); + } } diff --git a/src/main/java/ru/betterend/world/structures/features/MegaLakeStructure.java b/src/main/java/ru/betterend/world/structures/features/MegaLakeStructure.java index d8b4159e..c26342a3 100644 --- a/src/main/java/ru/betterend/world/structures/features/MegaLakeStructure.java +++ b/src/main/java/ru/betterend/world/structures/features/MegaLakeStructure.java @@ -18,34 +18,33 @@ import java.util.Random; public class MegaLakeStructure extends FeatureBaseStructure { - public MegaLakeStructure() { - super(PieceGeneratorSupplier.simple( - FeatureBaseStructure::checkLocation, - MegaLakeStructure::generatePieces - )); - } + public MegaLakeStructure() { + super(PieceGeneratorSupplier.simple( + FeatureBaseStructure::checkLocation, + MegaLakeStructure::generatePieces + )); + } - protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { - final Random random = context.random(); - final ChunkPos chunkPos = context.chunkPos(); - final ChunkGenerator chunkGenerator = context.chunkGenerator(); - final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); + protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { + final Random random = context.random(); + final ChunkPos chunkPos = context.chunkPos(); + final ChunkGenerator chunkGenerator = context.chunkGenerator(); + final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); - int x = chunkPos.getBlockX(MHelper.randRange(4, 12, random)); - int z = chunkPos.getBlockZ(MHelper.randRange(4, 12, random)); - int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); + int x = chunkPos.getBlockX(MHelper.randRange(4, 12, random)); + int z = chunkPos.getBlockZ(MHelper.randRange(4, 12, random)); + int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); - if (y > 5) { - //TODO: 1.18 right way to get biome? - Biome biome = chunkGenerator.getNoiseBiome(x, y, z); + if (y > 5) { + Biome biome = chunkGenerator.getNoiseBiome(x >> 2, y >> 2, z >> 2); - float radius = MHelper.randRange(32, 64, random); - float depth = MHelper.randRange(7, 15, random); - LakePiece piece = new LakePiece(new BlockPos(x, y, z), radius, depth, random, biome); - structurePiecesBuilder.addPiece(piece); - } + float radius = MHelper.randRange(32, 64, random); + float depth = MHelper.randRange(7, 15, random); + LakePiece piece = new LakePiece(new BlockPos(x, y, z), radius, depth, random, biome); + structurePiecesBuilder.addPiece(piece); + } - //this.calculateBoundingBox(); - } + //this.calculateBoundingBox(); + } } diff --git a/src/main/java/ru/betterend/world/structures/features/MountainStructure.java b/src/main/java/ru/betterend/world/structures/features/MountainStructure.java index 642e2eef..fa75499d 100644 --- a/src/main/java/ru/betterend/world/structures/features/MountainStructure.java +++ b/src/main/java/ru/betterend/world/structures/features/MountainStructure.java @@ -17,39 +17,39 @@ import java.util.Random; public class MountainStructure extends FeatureBaseStructure { - public MountainStructure() { - super(PieceGeneratorSupplier.simple( - FeatureBaseStructure::checkLocation, - MountainStructure::generatePieces - )); - } + public MountainStructure() { + super(PieceGeneratorSupplier.simple( + FeatureBaseStructure::checkLocation, + MountainStructure::generatePieces + )); + } - protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { - final Random random = context.random(); - final ChunkPos chunkPos = context.chunkPos(); - final ChunkGenerator chunkGenerator = context.chunkGenerator(); - final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); + protected static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, PieceGenerator.Context context) { + final Random random = context.random(); + final ChunkPos chunkPos = context.chunkPos(); + final ChunkGenerator chunkGenerator = context.chunkGenerator(); + final LevelHeightAccessor levelHeightAccessor = context.heightAccessor(); - int x = chunkPos.getBlockX(MHelper.randRange(4, 12, random)); - int z = chunkPos.getBlockZ(MHelper.randRange(4, 12, random)); - int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); - if (y > 5) { - //TODO: 1.18 right way to get biome? - Biome biome = chunkGenerator.getNoiseBiome(x, y, z); + int x = chunkPos.getBlockX(MHelper.randRange(4, 12, random)); + int z = chunkPos.getBlockZ(MHelper.randRange(4, 12, random)); + int y = chunkGenerator.getBaseHeight(x, z, Types.WORLD_SURFACE_WG, levelHeightAccessor); + if (y > 5) { + //TODO: 1.18 right way to get biome? + Biome biome = chunkGenerator.getNoiseBiome(x, y, z); - float radius = MHelper.randRange(50, 100, random); - float height = radius * MHelper.randRange(0.8F, 1.2F, random); - CrystalMountainPiece piece = new CrystalMountainPiece( - new BlockPos(x, y, z), - radius, - height, - random, - biome - ); - structurePiecesBuilder.addPiece(piece); - } + float radius = MHelper.randRange(50, 100, random); + float height = radius * MHelper.randRange(0.8F, 1.2F, random); + CrystalMountainPiece piece = new CrystalMountainPiece( + new BlockPos(x, y, z), + radius, + height, + random, + biome + ); + structurePiecesBuilder.addPiece(piece); + } - //this.calculateBoundingBox(); - } + //this.calculateBoundingBox(); + } } diff --git a/src/main/java/ru/betterend/world/structures/piece/CavePiece.java b/src/main/java/ru/betterend/world/structures/piece/CavePiece.java index 25c91169..bd9ecbbf 100644 --- a/src/main/java/ru/betterend/world/structures/piece/CavePiece.java +++ b/src/main/java/ru/betterend/world/structures/piece/CavePiece.java @@ -38,7 +38,7 @@ public class CavePiece extends BasePiece { } - @Override + @Override public void postProcess(WorldGenLevel world, StructureFeatureManager arg, ChunkGenerator chunkGenerator, Random random, BoundingBox blockBox, ChunkPos chunkPos, BlockPos blockPos) { int x1 = MHelper.max(this.boundingBox.minX(), blockBox.minX()); int z1 = MHelper.max(this.boundingBox.minZ(), blockBox.minZ()); diff --git a/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java b/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java index dc7e3f54..3e4da424 100644 --- a/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java +++ b/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java @@ -9,20 +9,20 @@ import ru.betterend.noise.OpenSimplexNoise; * Noise source that returns a value in [0, 3] */ public class SulphuricSurfaceNoiseCondition implements NumericProvider { - private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(5123); + private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(5123); - @Override - public int getNumber(SurfaceRulesContextAccessor context) { - final int x = context.getBlockX(); - final int z = context.getBlockZ(); - final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, z * 0.1) * 0.3 + MHelper.randRange( - -0.1, - 0.1, - MHelper.RANDOM - ); - if (value < -0.6) return 0; - if (value < -0.3) return 1; - if (value < -0.5) return 2; - return 3; - } + @Override + public int getNumber(SurfaceRulesContextAccessor context) { + final int x = context.getBlockX(); + final int z = context.getBlockZ(); + final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, z * 0.1) * 0.3 + MHelper.randRange( + -0.1, + 0.1, + MHelper.RANDOM + ); + if (value < -0.6) return 0; + if (value < -0.3) return 1; + if (value < -0.5) return 2; + return 3; + } } diff --git a/src/main/java/ru/betterend/world/surface/UmbraSurfaceNoiseCondition.java b/src/main/java/ru/betterend/world/surface/UmbraSurfaceNoiseCondition.java index 845e88c7..dfa847eb 100644 --- a/src/main/java/ru/betterend/world/surface/UmbraSurfaceNoiseCondition.java +++ b/src/main/java/ru/betterend/world/surface/UmbraSurfaceNoiseCondition.java @@ -9,21 +9,21 @@ import ru.betterend.noise.OpenSimplexNoise; * Noise source that returns a value in [0, 4] */ public class UmbraSurfaceNoiseCondition implements NumericProvider { - private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(1512); + private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(1512); - @Override - public int getNumber(SurfaceRulesContextAccessor context) { - final int x = context.getBlockX(); - final int z = context.getBlockZ(); - final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, z * 0.1) * 0.3 + MHelper.randRange( - -0.1, - 0.1, - MHelper.RANDOM - ); - if (value > 0.4) return 0; - if (value > 0.15) return 1; - if (value > -0.15) return 2; - if (value > -0.4) return 3; - return 4; - } + @Override + public int getNumber(SurfaceRulesContextAccessor context) { + final int x = context.getBlockX(); + final int z = context.getBlockZ(); + final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, z * 0.1) * 0.3 + MHelper.randRange( + -0.1, + 0.1, + MHelper.RANDOM + ); + if (value > 0.4) return 0; + if (value > 0.15) return 1; + if (value > -0.15) return 2; + if (value > -0.4) return 3; + return 4; + } } diff --git a/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java b/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java index 76d6ad88..fa1783e6 100644 --- a/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java +++ b/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -56,7 +56,7 @@ public final class ArmorRenderingRegistry { * Registers a provider for custom armor models for an item. * * @param provider the provider for the model - * @param items the items to be registered for + * @param items the items to be registered for */ public static void registerModel(@Nullable ModelProvider provider, Item... items) { registerModel(provider, Arrays.asList(items)); @@ -66,7 +66,7 @@ public final class ArmorRenderingRegistry { * Registers a provider for custom armor models for an item. * * @param provider the provider for the model - * @param items the items to be registered for + * @param items the items to be registered for */ public static void registerModel(@Nullable ModelProvider provider, Iterable items) { ArmorRenderingRegistryImpl.registerModel(provider, items); @@ -76,7 +76,7 @@ public final class ArmorRenderingRegistry { * Registers a provider for custom texture models for an item. * * @param provider the provider for the texture - * @param items the items to be registered for + * @param items the items to be registered for */ public static void registerTexture(@Nullable TextureProvider provider, Item... items) { registerTexture(provider, Arrays.asList(items)); @@ -86,7 +86,7 @@ public final class ArmorRenderingRegistry { * Registers a provider for custom texture models for an item. * * @param provider the provider for the texture - * @param items the items to be registered for + * @param items the items to be registered for */ public static void registerTexture(@Nullable TextureProvider provider, Iterable items) { ArmorRenderingRegistryImpl.registerTexture(provider, items); @@ -96,7 +96,7 @@ public final class ArmorRenderingRegistry { * Register simple armor items to use the vanilla armor file name under the mods namespace. * * @param identifier The namespace + path to use for the armor texture location. - * @param items the items to be registered + * @param items the items to be registered */ public static void registerSimpleTexture(ResourceLocation identifier, Item... items) { registerTexture((entity, stack, slot, secondLayer, suffix, defaultTexture) -> { @@ -110,9 +110,9 @@ public final class ArmorRenderingRegistry { /** * Gets the model of the armor piece. * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in * @param defaultModel The default model that vanilla provides * @return The model of the armor piece. */ @@ -124,11 +124,11 @@ public final class ArmorRenderingRegistry { /** * Gets the armor texture {@link net.minecraft.resources.ResourceLocation}. * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in - * @param secondLayer True if using the second texture layer - * @param suffix The texture suffix, used in vanilla by {@link net.minecraft.world.item.DyeableArmorItem} + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in + * @param secondLayer True if using the second texture layer + * @param suffix The texture suffix, used in vanilla by {@link net.minecraft.world.item.DyeableArmorItem} * @param defaultTexture The default vanilla texture identifier * @return the custom armor texture identifier, return null to use the vanilla ones. Defaulted to the item's registry id. */ @@ -143,9 +143,9 @@ public final class ArmorRenderingRegistry { /** * Gets the model of the armor piece. * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in * @param defaultModel The default vanilla armor model * @return The model of the armor piece. Should never be null. */ @@ -158,9 +158,9 @@ public final class ArmorRenderingRegistry { /** * Gets the armor texture {@link net.minecraft.resources.ResourceLocation}. * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in * @param defaultTexture The default vanilla texture identifier * @return the custom armor texture identifier. Should never be null. */ diff --git a/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java b/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java index 5c96d4ad..ccb6a838 100644 --- a/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java +++ b/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java b/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java index 4c4f6e88..5e23e5c4 100644 --- a/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java +++ b/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java b/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java index 62e9adc5..7a26ae46 100644 --- a/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java +++ b/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java b/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java index 719b8f92..32ed410e 100644 --- a/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java +++ b/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS,