diff --git a/src/main/java/ru/betterend/BetterEnd.java b/src/main/java/ru/betterend/BetterEnd.java index e04202c8..93ae34e0 100644 --- a/src/main/java/ru/betterend/BetterEnd.java +++ b/src/main/java/ru/betterend/BetterEnd.java @@ -5,7 +5,10 @@ import net.minecraft.util.Identifier; import ru.betterend.config.MainConfig; import ru.betterend.effects.EndEnchantments; import ru.betterend.effects.EndPotions; +import ru.betterend.recipe.AlloyingRecipes; import ru.betterend.recipe.CraftingRecipes; +import ru.betterend.recipe.SmeltigRecipes; +import ru.betterend.recipe.SmithingRecipes; import ru.betterend.registry.BiomeRegistry; import ru.betterend.registry.BlockEntityRegistry; import ru.betterend.registry.BlockRegistry; @@ -41,6 +44,9 @@ public class BetterEnd implements ModInitializer { EndEnchantments.register(); EndPotions.register(); CraftingRecipes.register(); + SmeltigRecipes.register(); + AlloyingRecipes.register(); + SmithingRecipes.register(); StructureRegistry.register(); } diff --git a/src/main/java/ru/betterend/blocks/BlockChorusGrass.java b/src/main/java/ru/betterend/blocks/BlockChorusGrass.java new file mode 100644 index 00000000..1285ae98 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/BlockChorusGrass.java @@ -0,0 +1,16 @@ +package ru.betterend.blocks; + +import net.minecraft.block.BlockState; +import ru.betterend.blocks.basis.BlockPlant; +import ru.betterend.registry.BlockRegistry; + +public class BlockChorusGrass extends BlockPlant { + public BlockChorusGrass() { + super(true); + } + + @Override + protected boolean isTerrain(BlockState state) { + return state.getBlock() == BlockRegistry.CHORUS_NYLIUM; + } +} diff --git a/src/main/java/ru/betterend/blocks/BlockEndLily.java b/src/main/java/ru/betterend/blocks/BlockEndLily.java index 48a7bd5a..bace52e4 100644 --- a/src/main/java/ru/betterend/blocks/BlockEndLily.java +++ b/src/main/java/ru/betterend/blocks/BlockEndLily.java @@ -1,5 +1,10 @@ package ru.betterend.blocks; +import java.util.Collections; +import java.util.List; + +import com.google.common.collect.Lists; + import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.Block; @@ -8,6 +13,8 @@ import net.minecraft.block.Material; import net.minecraft.block.ShapeContext; import net.minecraft.fluid.FluidState; import net.minecraft.fluid.Fluids; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.state.StateManager; import net.minecraft.state.property.EnumProperty; @@ -18,6 +25,9 @@ import net.minecraft.world.BlockView; import net.minecraft.world.WorldView; import ru.betterend.blocks.BlockProperties.TripleShape; import ru.betterend.blocks.basis.BlockUnderwaterPlant; +import ru.betterend.registry.BlockRegistry; +import ru.betterend.registry.ItemRegistry; +import ru.betterend.util.MHelper; public class BlockEndLily extends BlockUnderwaterPlant { public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; @@ -64,4 +74,12 @@ public class BlockEndLily extends BlockUnderwaterPlant { return up.getBlock() == this && down.getBlock() == this; } } + + @Override + public List getDroppedStacks(BlockState state, LootContext.Builder builder) { + if (state.get(SHAPE) == TripleShape.TOP) { + return Lists.newArrayList(new ItemStack(ItemRegistry.END_LILY_LEAF, MHelper.randRange(1, 2, MHelper.RANDOM)), new ItemStack(BlockRegistry.END_LILY_SEED, MHelper.randRange(1, 2, MHelper.RANDOM))); + } + return Collections.emptyList(); + } } diff --git a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java index 9ab132bd..ab678970 100644 --- a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java @@ -26,7 +26,7 @@ import ru.betterend.blocks.basis.BlockSlab; import ru.betterend.blocks.basis.BlockStairs; import ru.betterend.blocks.basis.BlockTrapdoor; import ru.betterend.blocks.basis.BlockWoodenButton; -import ru.betterend.recipe.RecipeBuilder; +import ru.betterend.recipe.builders.RecipeBuilder; import ru.betterend.registry.BlockRegistry; import ru.betterend.util.TagHelper; diff --git a/src/main/java/ru/betterend/blocks/entities/EndStoneSmelterBlockEntity.java b/src/main/java/ru/betterend/blocks/entities/EndStoneSmelterBlockEntity.java index a36a6d81..a53099ac 100644 --- a/src/main/java/ru/betterend/blocks/entities/EndStoneSmelterBlockEntity.java +++ b/src/main/java/ru/betterend/blocks/entities/EndStoneSmelterBlockEntity.java @@ -44,7 +44,7 @@ import net.minecraft.world.World; import ru.betterend.BetterEnd; import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.client.gui.EndStoneSmelterScreenHandler; -import ru.betterend.recipe.AlloyingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; import ru.betterend.registry.BlockEntityRegistry; public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity implements SidedInventory, RecipeUnlocker, RecipeInputProvider, Tickable { diff --git a/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java b/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java index 914a432a..69aaa0f8 100644 --- a/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java +++ b/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java @@ -23,7 +23,7 @@ import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; import ru.betterend.client.gui.slot.SmelterFuelSlot; import ru.betterend.client.gui.slot.SmelterOutputSlot; -import ru.betterend.recipe.AlloyingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; public class EndStoneSmelterScreenHandler extends AbstractRecipeScreenHandler { diff --git a/src/main/java/ru/betterend/compat/REIAlloyingCategory.java b/src/main/java/ru/betterend/compat/REIAlloyingCategory.java index b48c3641..14562618 100644 --- a/src/main/java/ru/betterend/compat/REIAlloyingCategory.java +++ b/src/main/java/ru/betterend/compat/REIAlloyingCategory.java @@ -21,7 +21,7 @@ import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; -import ru.betterend.recipe.AlloyingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; import ru.betterend.registry.BlockRegistry; import ru.betterend.util.LangUtil; diff --git a/src/main/java/ru/betterend/compat/REIAlloyingDisplay.java b/src/main/java/ru/betterend/compat/REIAlloyingDisplay.java index 30fb4ad4..3b8e4d6d 100644 --- a/src/main/java/ru/betterend/compat/REIAlloyingDisplay.java +++ b/src/main/java/ru/betterend/compat/REIAlloyingDisplay.java @@ -18,7 +18,7 @@ import net.minecraft.text.TranslatableText; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; -import ru.betterend.recipe.AlloyingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; public class REIAlloyingDisplay implements TransferRecipeDisplay { diff --git a/src/main/java/ru/betterend/compat/REIAnvilDisplay.java b/src/main/java/ru/betterend/compat/REIAnvilDisplay.java index 5eb19aa9..f554b8d9 100644 --- a/src/main/java/ru/betterend/compat/REIAnvilDisplay.java +++ b/src/main/java/ru/betterend/compat/REIAnvilDisplay.java @@ -12,7 +12,7 @@ import me.shedaniel.rei.server.ContainerInfo; import net.minecraft.recipe.Recipe; import net.minecraft.screen.ScreenHandler; import net.minecraft.util.Identifier; -import ru.betterend.recipe.AnvilSmithingRecipe; +import ru.betterend.recipe.builders.AnvilSmithingRecipe; public class REIAnvilDisplay implements TransferRecipeDisplay { diff --git a/src/main/java/ru/betterend/compat/REIContainer.java b/src/main/java/ru/betterend/compat/REIContainer.java index 0b660343..ec5f4946 100644 --- a/src/main/java/ru/betterend/compat/REIContainer.java +++ b/src/main/java/ru/betterend/compat/REIContainer.java @@ -3,7 +3,7 @@ package ru.betterend.compat; import me.shedaniel.rei.plugin.containers.CraftingContainerInfoWrapper; import me.shedaniel.rei.server.ContainerInfoHandler; import ru.betterend.client.gui.EndStoneSmelterScreenHandler; -import ru.betterend.recipe.AlloyingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; public class REIContainer implements Runnable { diff --git a/src/main/java/ru/betterend/compat/REIPlugin.java b/src/main/java/ru/betterend/compat/REIPlugin.java index b7c88782..726a63fb 100644 --- a/src/main/java/ru/betterend/compat/REIPlugin.java +++ b/src/main/java/ru/betterend/compat/REIPlugin.java @@ -9,8 +9,8 @@ import net.minecraft.block.Blocks; import net.minecraft.recipe.BlastingRecipe; import net.minecraft.util.Identifier; import ru.betterend.BetterEnd; -import ru.betterend.recipe.AlloyingRecipe; -import ru.betterend.recipe.AnvilSmithingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; +import ru.betterend.recipe.builders.AnvilSmithingRecipe; import ru.betterend.registry.BlockRegistry; @Environment(EnvType.CLIENT) diff --git a/src/main/java/ru/betterend/mixin/client/ClientRecipeBookMixin.java b/src/main/java/ru/betterend/mixin/client/ClientRecipeBookMixin.java index 6841b21f..1bae0e59 100644 --- a/src/main/java/ru/betterend/mixin/client/ClientRecipeBookMixin.java +++ b/src/main/java/ru/betterend/mixin/client/ClientRecipeBookMixin.java @@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import net.minecraft.client.recipebook.ClientRecipeBook; import net.minecraft.client.recipebook.RecipeBookGroup; import net.minecraft.recipe.Recipe; -import ru.betterend.recipe.AlloyingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; @Mixin(ClientRecipeBook.class) public abstract class ClientRecipeBookMixin { diff --git a/src/main/java/ru/betterend/mixin/common/AnvilScreenHandlerMixin.java b/src/main/java/ru/betterend/mixin/common/AnvilScreenHandlerMixin.java index d8eb9ac3..d2292b3d 100644 --- a/src/main/java/ru/betterend/mixin/common/AnvilScreenHandlerMixin.java +++ b/src/main/java/ru/betterend/mixin/common/AnvilScreenHandlerMixin.java @@ -19,7 +19,7 @@ import net.minecraft.screen.ScreenHandlerContext; import net.minecraft.screen.ScreenHandlerType; import net.minecraft.tag.BlockTags; import net.minecraft.world.World; -import ru.betterend.recipe.AnvilSmithingRecipe; +import ru.betterend.recipe.builders.AnvilSmithingRecipe; @Mixin(AnvilScreenHandler.class) public abstract class AnvilScreenHandlerMixin extends ForgingScreenHandler { diff --git a/src/main/java/ru/betterend/recipe/AlloyingRecipes.java b/src/main/java/ru/betterend/recipe/AlloyingRecipes.java index fe832d48..5033e162 100644 --- a/src/main/java/ru/betterend/recipe/AlloyingRecipes.java +++ b/src/main/java/ru/betterend/recipe/AlloyingRecipes.java @@ -2,6 +2,7 @@ package ru.betterend.recipe; import net.minecraft.block.Blocks; import net.minecraft.item.Items; +import ru.betterend.recipe.builders.AlloyingRecipe; import ru.betterend.registry.ItemRegistry; public class AlloyingRecipes { diff --git a/src/main/java/ru/betterend/recipe/CraftingRecipes.java b/src/main/java/ru/betterend/recipe/CraftingRecipes.java index a8ec163c..65bece8b 100644 --- a/src/main/java/ru/betterend/recipe/CraftingRecipes.java +++ b/src/main/java/ru/betterend/recipe/CraftingRecipes.java @@ -3,6 +3,7 @@ package ru.betterend.recipe; import net.minecraft.block.Blocks; import net.minecraft.item.Item; import net.minecraft.item.Items; +import ru.betterend.recipe.builders.RecipeBuilder; import ru.betterend.registry.BlockRegistry; import ru.betterend.registry.ItemRegistry; @@ -68,9 +69,8 @@ public class CraftingRecipes { RecipeBuilder.make("creeping_moss_dye", Items.CYAN_DYE).setList("#").addMaterial('#', BlockRegistry.CREEPING_MOSS).build(); RecipeBuilder.make("umbrella_moss_dye", Items.YELLOW_DYE).setList("#").addMaterial('#', BlockRegistry.UMBRELLA_MOSS).build(); RecipeBuilder.make("umbrella_moss_tall_dye", Items.YELLOW_DYE).setList("#").addMaterial('#', BlockRegistry.UMBRELLA_MOSS_TALL).build(); - - AlloyingRecipes.register(); - SmithingRecipes.register(); + + RecipeBuilder.make("paper", Items.PAPER).setShape("###").addMaterial('#', ItemRegistry.END_LILY_LEAF_DRIED).setOutputCount(3).build(); } private static void registerHelmet(String name, Item material, Item result) { diff --git a/src/main/java/ru/betterend/recipe/SmeltigRecipes.java b/src/main/java/ru/betterend/recipe/SmeltigRecipes.java new file mode 100644 index 00000000..b6db0fd3 --- /dev/null +++ b/src/main/java/ru/betterend/recipe/SmeltigRecipes.java @@ -0,0 +1,10 @@ +package ru.betterend.recipe; + +import ru.betterend.recipe.builders.FurnaceRecipe; +import ru.betterend.registry.ItemRegistry; + +public class SmeltigRecipes { + public static void register() { + FurnaceRecipe.make("end_lily_leaf_dried", ItemRegistry.END_LILY_LEAF, ItemRegistry.END_LILY_LEAF_DRIED).build(); + } +} diff --git a/src/main/java/ru/betterend/recipe/SmithingRecipes.java b/src/main/java/ru/betterend/recipe/SmithingRecipes.java index ce86f314..21541302 100644 --- a/src/main/java/ru/betterend/recipe/SmithingRecipes.java +++ b/src/main/java/ru/betterend/recipe/SmithingRecipes.java @@ -1,6 +1,7 @@ package ru.betterend.recipe; import net.minecraft.item.Items; +import ru.betterend.recipe.builders.AnvilSmithingRecipe; import ru.betterend.registry.ItemRegistry; public class SmithingRecipes { diff --git a/src/main/java/ru/betterend/recipe/AlloyingRecipe.java b/src/main/java/ru/betterend/recipe/builders/AlloyingRecipe.java similarity index 98% rename from src/main/java/ru/betterend/recipe/AlloyingRecipe.java rename to src/main/java/ru/betterend/recipe/builders/AlloyingRecipe.java index 9ff27de7..f2b2e6f6 100644 --- a/src/main/java/ru/betterend/recipe/AlloyingRecipe.java +++ b/src/main/java/ru/betterend/recipe/builders/AlloyingRecipe.java @@ -1,4 +1,4 @@ -package ru.betterend.recipe; +package ru.betterend.recipe.builders; import com.google.gson.JsonArray; import com.google.gson.JsonObject; @@ -21,6 +21,7 @@ import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.registry.Registry; import net.minecraft.world.World; import ru.betterend.BetterEnd; +import ru.betterend.recipe.EndRecipeManager; import ru.betterend.registry.BlockRegistry; public class AlloyingRecipe implements Recipe { diff --git a/src/main/java/ru/betterend/recipe/AnvilSmithingRecipe.java b/src/main/java/ru/betterend/recipe/builders/AnvilSmithingRecipe.java similarity index 98% rename from src/main/java/ru/betterend/recipe/AnvilSmithingRecipe.java rename to src/main/java/ru/betterend/recipe/builders/AnvilSmithingRecipe.java index 0b64f76d..f49b77a6 100644 --- a/src/main/java/ru/betterend/recipe/AnvilSmithingRecipe.java +++ b/src/main/java/ru/betterend/recipe/builders/AnvilSmithingRecipe.java @@ -1,4 +1,4 @@ -package ru.betterend.recipe; +package ru.betterend.recipe.builders; import com.google.gson.JsonObject; @@ -22,6 +22,7 @@ import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.registry.Registry; import net.minecraft.world.World; import ru.betterend.BetterEnd; +import ru.betterend.recipe.EndRecipeManager; import ru.betterend.registry.ItemTagRegistry; public class AnvilSmithingRecipe implements Recipe { diff --git a/src/main/java/ru/betterend/recipe/builders/FurnaceRecipe.java b/src/main/java/ru/betterend/recipe/builders/FurnaceRecipe.java new file mode 100644 index 00000000..455cbb64 --- /dev/null +++ b/src/main/java/ru/betterend/recipe/builders/FurnaceRecipe.java @@ -0,0 +1,69 @@ +package ru.betterend.recipe.builders; + +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.ItemStack; +import net.minecraft.recipe.Ingredient; +import net.minecraft.recipe.RecipeType; +import net.minecraft.recipe.SmeltingRecipe; +import net.minecraft.util.Identifier; +import ru.betterend.BetterEnd; +import ru.betterend.recipe.EndRecipeManager; +import ru.betterend.util.RecipeHelper; + +public class FurnaceRecipe { + private static final FurnaceRecipe INSTANCE = new FurnaceRecipe(); + + private ItemConvertible input; + private ItemConvertible output; + private boolean exist = true; + private String group; + private String name; + private int count; + private int time; + private float xp; + + private FurnaceRecipe() {} + + public static FurnaceRecipe make(String name, ItemConvertible input, ItemConvertible output) { + INSTANCE.name = name; + INSTANCE.group = ""; + INSTANCE.input = input; + INSTANCE.output = output; + INSTANCE.count = 1; + INSTANCE.time = 200; + INSTANCE.xp = 0; + INSTANCE.exist = RecipeHelper.exists(output) && RecipeHelper.exists(input); + return INSTANCE; + } + + public FurnaceRecipe setGroup(String group) { + this.group = group; + return this; + } + + public FurnaceRecipe setOutputCount(int count) { + this.count = count; + return this; + } + + public FurnaceRecipe setXP(float xp) { + this.xp = xp; + return this; + } + + public FurnaceRecipe setCookTime(int time) { + this.time = time; + return this; + } + + public void build() { + if (exist) { + Identifier id = BetterEnd.makeID(name); + SmeltingRecipe recipe = new SmeltingRecipe(id, group, Ingredient.ofItems(input), new ItemStack(output, count), xp, time); + EndRecipeManager.addRecipe(RecipeType.SMELTING, recipe); + } + else { + BetterEnd.LOGGER.debug("Smelting recipe {} couldn't be added", name); + } + } +} diff --git a/src/main/java/ru/betterend/recipe/RecipeBuilder.java b/src/main/java/ru/betterend/recipe/builders/RecipeBuilder.java similarity index 94% rename from src/main/java/ru/betterend/recipe/RecipeBuilder.java rename to src/main/java/ru/betterend/recipe/builders/RecipeBuilder.java index 20bb1825..d65c2d50 100644 --- a/src/main/java/ru/betterend/recipe/RecipeBuilder.java +++ b/src/main/java/ru/betterend/recipe/builders/RecipeBuilder.java @@ -1,4 +1,4 @@ -package ru.betterend.recipe; +package ru.betterend.recipe.builders; import java.util.Map; @@ -16,6 +16,7 @@ import net.minecraft.tag.Tag; import net.minecraft.util.Identifier; import net.minecraft.util.collection.DefaultedList; import ru.betterend.BetterEnd; +import ru.betterend.recipe.EndRecipeManager; import ru.betterend.util.RecipeHelper; public class RecipeBuilder { diff --git a/src/main/java/ru/betterend/registry/BlockRegistry.java b/src/main/java/ru/betterend/registry/BlockRegistry.java index eab11156..847bc5a5 100644 --- a/src/main/java/ru/betterend/registry/BlockRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockRegistry.java @@ -12,6 +12,7 @@ import ru.betterend.blocks.BlockBlueVine; import ru.betterend.blocks.BlockBlueVineLantern; import ru.betterend.blocks.BlockBlueVineSeed; import ru.betterend.blocks.BlockBubbleCoral; +import ru.betterend.blocks.BlockChorusGrass; import ru.betterend.blocks.BlockEndLily; import ru.betterend.blocks.BlockEndLilySeed; import ru.betterend.blocks.BlockEndstoneDust; @@ -29,7 +30,6 @@ import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.EnderBlock; import ru.betterend.blocks.TerminiteBlock; import ru.betterend.blocks.basis.BlockGlowingFur; -import ru.betterend.blocks.basis.BlockPlant; import ru.betterend.blocks.basis.BlockVine; import ru.betterend.blocks.complex.WoodenMaterial; import ru.betterend.tab.CreativeTab; @@ -71,7 +71,7 @@ public class BlockRegistry { public static final Block END_LILY = registerBlockNI("end_lily", new BlockEndLily()); public static final Block END_LILY_SEED = registerBlock("end_lily_seed", new BlockEndLilySeed()); - public static final Block CHORUS_GRASS = registerBlock("chorus_grass", new BlockPlant(true)); + public static final Block CHORUS_GRASS = registerBlock("chorus_grass", new BlockChorusGrass()); // Vines // public static final Block DENSE_VINE = registerBlock("dense_vine", new BlockVine(15, true)); diff --git a/src/main/java/ru/betterend/registry/ItemRegistry.java b/src/main/java/ru/betterend/registry/ItemRegistry.java index 80b6e733..08f3a2fa 100644 --- a/src/main/java/ru/betterend/registry/ItemRegistry.java +++ b/src/main/java/ru/betterend/registry/ItemRegistry.java @@ -39,12 +39,14 @@ public class ItemRegistry { private static final List MOD_BLOCKS = Lists.newArrayList(); private static final List MOD_ITEMS = Lists.newArrayList(); - //Materials + // Materials // public final static Item ENDER_DUST = registerItem("ender_dust", new Item(makeSettings())); public final static Item TERMINITE_INGOT = registerItem("terminite_ingot", new Item(makeSettings())); public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot", new Item(makeSettings())); + public final static Item END_LILY_LEAF = registerItem("end_lily_leaf", new Item(makeSettings())); + public final static Item END_LILY_LEAF_DRIED = registerItem("end_lily_leaf_dried", new Item(makeSettings())); - //Armor + // Armor // public static final Item TERMINITE_HELMET = registerItem("terminite_helmet", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.HEAD, makeSettings())); public static final Item TERMINITE_CHESTPLATE = registerItem("terminite_chestplate", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.CHEST, makeSettings())); public static final Item TERMINITE_LEGGINGS = registerItem("terminite_leggings", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.LEGS, makeSettings())); @@ -54,24 +56,24 @@ public class ItemRegistry { public static final Item AETERNIUM_LEGGINGS = registerItem("aeternium_leggings", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.LEGS, makeSettings())); public static final Item AETERNIUM_BOOTS = registerItem("aeternium_boots", new ArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.FEET, makeSettings())); - //Tools - public static ToolItem TERMINITE_SHOVEL = registerTool("terminite_shovel", new ShovelItem(EndToolMaterial.TERMINITE, 1.5F, -3.0F, makeSettings())); - public static ToolItem TERMINITE_SWORD = registerTool("terminite_sword", new SwordItem(EndToolMaterial.TERMINITE, 3, -2.4F, makeSettings())); - public static ToolItem TERMINITE_PICKAXE = registerTool("terminite_pickaxe", new EndPickaxe(EndToolMaterial.TERMINITE, 1, -2.8F, makeSettings())); - public static ToolItem TERMINITE_AXE = registerTool("terminite_axe", new EndAxe(EndToolMaterial.TERMINITE, 6.0F, -3.0F, makeSettings())); - public static ToolItem TERMINITE_HOE = registerTool("terminite_hoe", new EndHoe(EndToolMaterial.TERMINITE, -3, 0.0F, makeSettings())); - public static ToolItem TERMINITE_HAMMER = registerTool("terminite_hammer", new EndHammer(EndToolMaterial.TERMINITE, 5.0F, -3.2F, 0.3D, makeSettings())); - public static ToolItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel", new ShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeSettings())); - public static ToolItem AETERNIUM_SWORD = registerTool("aeternium_sword", new SwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeSettings())); - public static ToolItem AETERNIUM_PICKAXE = registerTool("aeternium_pickaxe", new EndPickaxe(EndToolMaterial.AETERNIUM, 1, -2.8F, makeSettings())); - public static ToolItem AETERNIUM_AXE = registerTool("aeternium_axe", new EndAxe(EndToolMaterial.AETERNIUM, 5.0F, -3.0F, makeSettings())); - public static ToolItem AETERNIUM_HOE = registerTool("aeternium_hoe", new EndHoe(EndToolMaterial.AETERNIUM, -3, 0.0F, makeSettings())); - public static ToolItem AETERNIUM_HAMMER = registerTool("aeternium_hammer", new EndHammer(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeSettings())); - public static ToolItem IRON_HAMMER = registerTool("iron_hammer", new EndHammer(ToolMaterials.IRON, 5.0F, -3.2F, 0.2D, makeSettings())); - public static ToolItem GOLDEN_HAMMER = registerTool("golden_hammer", new EndHammer(ToolMaterials.GOLD, 4.5F, -3.4F, 0.3D, makeSettings())); - public static ToolItem DIAMOND_HAMMER = registerTool("diamond_hammer", new EndHammer(ToolMaterials.DIAMOND, 5.5F, -3.1F, 0.2D, makeSettings())); - public static ToolItem NETHERITE_HAMMER = registerTool("netherite_hammer", new EndHammer(ToolMaterials.NETHERITE, 5.0F, -3.0F, 0.2D, makeSettings())); - + // Tools // + public static final ToolItem TERMINITE_SHOVEL = registerTool("terminite_shovel", new ShovelItem(EndToolMaterial.TERMINITE, 1.5F, -3.0F, makeSettings())); + public static final ToolItem TERMINITE_SWORD = registerTool("terminite_sword", new SwordItem(EndToolMaterial.TERMINITE, 3, -2.4F, makeSettings())); + public static final ToolItem TERMINITE_PICKAXE = registerTool("terminite_pickaxe", new EndPickaxe(EndToolMaterial.TERMINITE, 1, -2.8F, makeSettings())); + public static final ToolItem TERMINITE_AXE = registerTool("terminite_axe", new EndAxe(EndToolMaterial.TERMINITE, 6.0F, -3.0F, makeSettings())); + public static final ToolItem TERMINITE_HOE = registerTool("terminite_hoe", new EndHoe(EndToolMaterial.TERMINITE, -3, 0.0F, makeSettings())); + public static final ToolItem TERMINITE_HAMMER = registerTool("terminite_hammer", new EndHammer(EndToolMaterial.TERMINITE, 5.0F, -3.2F, 0.3D, makeSettings())); + public static final ToolItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel", new ShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeSettings())); + public static final ToolItem AETERNIUM_SWORD = registerTool("aeternium_sword", new SwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeSettings())); + public static final ToolItem AETERNIUM_PICKAXE = registerTool("aeternium_pickaxe", new EndPickaxe(EndToolMaterial.AETERNIUM, 1, -2.8F, makeSettings())); + public static final ToolItem AETERNIUM_AXE = registerTool("aeternium_axe", new EndAxe(EndToolMaterial.AETERNIUM, 5.0F, -3.0F, makeSettings())); + public static final ToolItem AETERNIUM_HOE = registerTool("aeternium_hoe", new EndHoe(EndToolMaterial.AETERNIUM, -3, 0.0F, makeSettings())); + public static final ToolItem AETERNIUM_HAMMER = registerTool("aeternium_hammer", new EndHammer(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeSettings())); + public static final ToolItem IRON_HAMMER = registerTool("iron_hammer", new EndHammer(ToolMaterials.IRON, 5.0F, -3.2F, 0.2D, makeSettings())); + public static final ToolItem GOLDEN_HAMMER = registerTool("golden_hammer", new EndHammer(ToolMaterials.GOLD, 4.5F, -3.4F, 0.3D, makeSettings())); + public static final ToolItem DIAMOND_HAMMER = registerTool("diamond_hammer", new EndHammer(ToolMaterials.DIAMOND, 5.5F, -3.1F, 0.2D, makeSettings())); + public static final ToolItem NETHERITE_HAMMER = registerTool("netherite_hammer", new EndHammer(ToolMaterials.NETHERITE, 5.0F, -3.0F, 0.2D, makeSettings())); + protected static Item registerItem(String name, Item item) { if (item != Items.AIR) { Registry.register(Registry.ITEM, BetterEnd.makeID(name), item); diff --git a/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java b/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java index 4d07d47d..53129b27 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java +++ b/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java @@ -10,7 +10,7 @@ public class BiomeChorusForest extends EndBiome { public BiomeChorusForest() { super(new BiomeDefinition("chorus_forest") .setFogColor(87, 26, 87) - .setFogDensity(3) + .setFogDensity(1.5F) .setSurface(BlockRegistry.CHORUS_NYLIUM) //.setParticles(ParticleRegistry.GLOWING_SPHERE, 0.001F) //.setLoop(SoundRegistry.AMBIENT_FOGGY_MUSHROOMLAND) diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 7f8e4b9a..0f80aefb 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -2,6 +2,7 @@ "itemGroup.betterend.items": "Better End", "biome.betterend.foggy_mushroomland": "Foggy Mushroomland", + "biome.betterend.chorus_forest": "Chorus Forest", "entity.betterend.dragonfly": "Dragonfly", "item.betterend.spawn_egg_dragonfly": "Dragonfly Spawn Egg", @@ -117,5 +118,14 @@ "block.betterend.chorus_stairs": "Chorus Stairs", "block.betterend.chorus_stripped_bark": "Chorus Stripped Bark", "block.betterend.chorus_stripped_log": "Chorus Stripped Log", - "block.betterend.chorus_trapdoor": "Chorus Trapdoor" + "block.betterend.chorus_trapdoor": "Chorus Trapdoor", + + "block.betterend.chorus_nylium": "Chorus Nylium", + "block.betterend.chorus_nylium_path": "Chorus Nylium Path", + "block.betterend.chorus_grass": "Chorus Grass", + + "block.betterend.end_lily": "End Lily", + "block.betterend.end_lily_seed": "End Lily Seed", + "item.betterend.end_lily_leaf": "End Lily Leaf", + "item.betterend.end_lily_leaf_dried": "End Lily Leaf Dried" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index 580b5c6c..73c11f44 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -2,6 +2,7 @@ "itemGroup.betterend.items": "Улучшенный Край", "biome.betterend.foggy_mushroomland": "Туманное гриболесье", + "biome.betterend.chorus_forest": "Хорусовый лес", "entity.betterend.dragonfly": "Стрекоза", "item.betterend.spawn_egg_dragonfly": "Яйцо призыва стрекозы", @@ -14,8 +15,8 @@ "block.betterend.endstone_dust": "Эндерняковая пыль", "block.betterend.flavolite": "Флаволит", - "block.betterend.end_mycelium_path": "Дорога из мицелия края", - "block.betterend.end_moss_path": "Дорога из мха края", + "block.betterend.end_mycelium_path": "Тропа из мицелия края", + "block.betterend.end_moss_path": "Тропа из мха края", "block.betterend.ender_ore": "Руда Края", "block.betterend.terminite_block": "Блок Терминита", @@ -98,5 +99,33 @@ "block.betterend.bubble_coral": "Пузырчатый коралл", "block.betterend.aurora_crystal": "Кристалл авроры", - "category.rei.damage.amount&dmg": "Износ инструмента: %s" + "category.rei.damage.amount&dmg": "Износ инструмента: %s", + + "block.betterend.chorus_bark": "Кора хоруса", + "block.betterend.chorus_barrel": "Бочка из хоруса", + "block.betterend.chorus_button": "Кнопка из хоруса", + "block.betterend.chorus_chest": "Сундук из хоруса", + "block.betterend.chorus_crafting_table": "Верстак из хоруса", + "block.betterend.chorus_door": "Дверь из хоруса", + "block.betterend.chorus_fence": "Забор из хоруса", + "block.betterend.chorus_gate": "Калитка из хоруса", + "block.betterend.chorus_ladder": "Лестница из хоруса", + "block.betterend.chorus_log": "Бревно хоруса", + "block.betterend.chorus_planks": "Доски хоруса", + "block.betterend.chorus_plate": "Нажимная плита из хоруса", + "block.betterend.chorus_sign": "Табличка из хоруса", + "block.betterend.chorus_slab": "Плита из хоруса", + "block.betterend.chorus_stairs": "Ступени из хоруса", + "block.betterend.chorus_stripped_bark": "Обтёсанная кора хоруса", + "block.betterend.chorus_stripped_log": "Обтёсанное бревно хоруса", + "block.betterend.chorus_trapdoor": "Люк из хоруса", + + "block.betterend.chorus_nylium": "Нилий хоруса", + "block.betterend.chorus_nylium_path": "Тропа из нилия хоруса", + "block.betterend.chorus_grass": "Трава хоруса", + + "block.betterend.end_lily": "Лилия Края", + "block.betterend.end_lily_seed": "Семя лилии Края", + "item.betterend.end_lily_leaf": "Лист лилии Края", + "item.betterend.end_lily_leaf_dried": "Высушенный лист лилии Края" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/end_lily_leaf.json b/src/main/resources/assets/betterend/models/item/end_lily_leaf.json new file mode 100644 index 00000000..8ed24032 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/end_lily_leaf.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/end_lily_leaf_small" + } +} diff --git a/src/main/resources/assets/betterend/models/item/end_lily_leaf_dried.json b/src/main/resources/assets/betterend/models/item/end_lily_leaf_dried.json new file mode 100644 index 00000000..2e97ab98 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/end_lily_leaf_dried.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:item/end_lily_leaf_dried" + } +} diff --git a/src/main/resources/assets/betterend/textures/block/end_lily_0.png b/src/main/resources/assets/betterend/textures/block/end_lily_0.png new file mode 100644 index 00000000..4e9c01d1 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/end_lily_0.png differ diff --git a/src/main/resources/assets/betterend/textures/block/end_lily_1.png b/src/main/resources/assets/betterend/textures/block/end_lily_1.png new file mode 100644 index 00000000..ed01f118 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/end_lily_1.png differ diff --git a/src/main/resources/assets/betterend/textures/block/end_lily_2.png b/src/main/resources/assets/betterend/textures/block/end_lily_2.png new file mode 100644 index 00000000..9d947f82 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/end_lily_2.png differ diff --git a/src/main/resources/assets/betterend/textures/block/end_lily_3.png b/src/main/resources/assets/betterend/textures/block/end_lily_3.png new file mode 100644 index 00000000..6aff344b Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/end_lily_3.png differ diff --git a/src/main/resources/assets/betterend/textures/item/end_lily_leaf_dried.png b/src/main/resources/assets/betterend/textures/item/end_lily_leaf_dried.png new file mode 100644 index 00000000..ce2aa889 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/end_lily_leaf_dried.png differ