New blocks and items

This commit is contained in:
Aleksey 2020-09-24 17:10:32 +03:00
parent 1966d89dc7
commit 98b714827a
20 changed files with 191 additions and 3 deletions

View file

@ -5,6 +5,7 @@ import net.minecraft.block.Blocks;
import net.minecraft.item.Items;
import net.minecraft.tag.ItemTags;
import ru.betterend.config.MainConfig;
import ru.betterend.recipe.CraftingRecipes;
import ru.betterend.recipe.RecipeBuilder;
import ru.betterend.registry.BiomeRegistry;
import ru.betterend.registry.BlockRegistry;
@ -25,6 +26,7 @@ public class BetterEnd implements ModInitializer {
FeatureRegistry.register();
BiomeRegistry.register();
BetterEndBiomeSource.register();
CraftingRecipes.register();
// TEST //
new RecipeBuilder("test_block", Blocks.ANVIL)

View file

@ -0,0 +1,28 @@
package ru.betterend.blocks;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.BlockState;
import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.BlockView;
public class AeterniumBlock extends BlockBase {
public AeterniumBlock() {
super(FabricBlockSettings.of(Material.METAL, MaterialColor.GRAY)
.hardness(65F)
.resistance(1200F)
.requiresTool()
.sounds(BlockSoundGroup.NETHERITE));
}
@Environment(EnvType.CLIENT)
public int getColor(BlockState state, BlockView world, BlockPos pos) {
return 0xFF657A7A;
}
}

View file

@ -0,0 +1,27 @@
package ru.betterend.blocks;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.BlockState;
import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.BlockView;
public class EnderBlock extends BlockBase {
public EnderBlock() {
super(FabricBlockSettings.of(Material.STONE, MaterialColor.field_25708)
.hardness(5F)
.resistance(6F)
.requiresTool()
.sounds(BlockSoundGroup.STONE));
}
@Environment(EnvType.CLIENT)
public int getColor(BlockState state, BlockView world, BlockPos pos) {
return 0xFF005548;
}
}

View file

@ -0,0 +1,18 @@
package ru.betterend.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor;
import net.minecraft.sound.BlockSoundGroup;
public class TerminiteBlock extends BlockBase {
public TerminiteBlock() {
super(FabricBlockSettings.of(Material.METAL, MaterialColor.field_25708)
.hardness(7F)
.resistance(9F)
.requiresTool()
.sounds(BlockSoundGroup.METAL));
}
}

View file

@ -0,0 +1,34 @@
package ru.betterend.recipe;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.Items;
import net.minecraft.util.registry.Registry;
import ru.betterend.registry.BlockRegistry;
public class CraftingRecipes {
public static void register() {
if (blockExists(BlockRegistry.ENDER_BLOCK)) {
new RecipeBuilder("be_ender_pearl_to_block", BlockRegistry.ENDER_BLOCK)
.setShape(new String[] { "OO", "OO" })
.addMaterial('O', Items.ENDER_PEARL)
.build();
new RecipeBuilder("be_ender_block_to_pearl", Items.ENDER_PEARL)
.addMaterial('#', BlockRegistry.ENDER_BLOCK)
.setOutputCount(4)
.setList("#")
.build();
}
}
private static boolean itemExists(Item item)
{
return Registry.ITEM.getId(item) != Registry.ITEM.getDefaultId();
}
private static boolean blockExists(Block block)
{
return Registry.BLOCK.getId(block) != Registry.BLOCK.getDefaultId();
}
}

View file

@ -5,16 +5,23 @@ import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import ru.betterend.BetterEnd;
import ru.betterend.blocks.AeterniumBlock;
import ru.betterend.blocks.BlockEndstoneDust;
import ru.betterend.blocks.BlockOre;
import ru.betterend.blocks.BlockWetMycelium;
import ru.betterend.blocks.EnderBlock;
import ru.betterend.blocks.TerminiteBlock;
import ru.betterend.tab.CreativeTab;
public class BlockRegistry {
public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new BlockEndstoneDust());
public static final Block WET_MYCELIUM = registerBlock("wet_mycelium", new BlockWetMycelium());
public static final Block ENDER_ORE = registerBlock("ender_ore", new BlockOre(ItemRegistry.ENDER_DUST, 1, 3));
public static final Block TERMINITE_BLOCK = registerBlock("terminite_block", new TerminiteBlock());
public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock());
public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock());
public static void register() {}

View file

@ -17,6 +17,8 @@ public class ItemRegistry {
private static final List<Item> MOD_ITEMS = Lists.newArrayList();
public final static Item ENDER_DUST = registerItem("ender_dust", new Item((new Item.Settings()).group(ItemGroup.MATERIALS)));
public final static Item TERMINITE_INGOT = registerItem("terminite_ingot", new Item((new Item.Settings()).group(ItemGroup.MATERIALS)));
public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot", new Item((new Item.Settings()).group(ItemGroup.MATERIALS)));
protected static Item registerItem(String name, Item item) {
if (item != Items.AIR) {