End lily recipes

This commit is contained in:
paulevsGitch 2020-10-11 13:44:48 +03:00
parent 2d1fe18781
commit 3f9e524b54
33 changed files with 221 additions and 44 deletions

View file

@ -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();
}

View file

@ -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;
}
}

View file

@ -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<TripleShape> SHAPE = BlockProperties.TRIPLE_SHAPE;
@ -64,4 +74,12 @@ public class BlockEndLily extends BlockUnderwaterPlant {
return up.getBlock() == this && down.getBlock() == this;
}
}
@Override
public List<ItemStack> 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();
}
}

View file

@ -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;

View file

@ -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 {

View file

@ -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<Inventory> {

View file

@ -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;

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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)

View file

@ -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 {

View file

@ -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 {

View file

@ -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 {

View file

@ -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;
@ -69,8 +70,7 @@ public class CraftingRecipes {
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) {

View file

@ -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();
}
}

View file

@ -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 {

View file

@ -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<Inventory> {

View file

@ -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<Inventory> {

View file

@ -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);
}
}
}

View file

@ -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 {

View file

@ -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));

View file

@ -39,12 +39,14 @@ public class ItemRegistry {
private static final List<Item> MOD_BLOCKS = Lists.newArrayList();
private static final List<Item> 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,23 +56,23 @@ 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) {

View file

@ -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)

View file

@ -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"
}

View file

@ -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": "Высушенный лист лилии Края"
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "betterend:block/end_lily_leaf_small"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "betterend:item/end_lily_leaf_dried"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB