Item & Block registry

This commit is contained in:
paulevsGitch 2020-09-23 16:23:34 +03:00
parent 89ddb7cf33
commit ebbb10d972
6 changed files with 110 additions and 1 deletions

View file

@ -2,7 +2,9 @@ package ru.betterend;
import net.fabricmc.api.ModInitializer;
import ru.betterend.registry.BiomeRegistry;
import ru.betterend.registry.BlockRegistry;
import ru.betterend.registry.FeatureRegistry;
import ru.betterend.registry.ItemRegistry;
import ru.betterend.util.Logger;
import ru.betterend.world.generator.BetterEndBiomeSource;
@ -12,6 +14,8 @@ public class BetterEnd implements ModInitializer {
@Override
public void onInitialize() {
ItemRegistry.register();
BlockRegistry.register();
FeatureRegistry.register();
BiomeRegistry.register();
BetterEndBiomeSource.register();

View file

@ -0,0 +1,11 @@
package ru.betterend.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
public class BlockWetMycelium extends Block {
public BlockWetMycelium() {
super(FabricBlockSettings.copyOf(Blocks.END_STONE));
}
}

View file

@ -0,0 +1,28 @@
package ru.betterend.registry;
import net.minecraft.block.Block;
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.BlockWetMycelium;
import ru.betterend.tab.CreativeTab;
public class BlockRegistry {
public static final Block WET_MYCELIUM = registerBlock("wet_mycelium", new BlockWetMycelium());
public static void register() {}
private static Block registerBlock(String name, Block block)
{
Registry.register(Registry.BLOCK, new Identifier(BetterEnd.MOD_ID, name), block);
ItemRegistry.registerItem(name, new BlockItem(block, new Item.Settings().group(CreativeTab.END_TAB)));
return block;
}
public static Block registerBlockNI(String name, Block block)
{
return Registry.register(Registry.BLOCK, new Identifier(BetterEnd.MOD_ID, name), block);
}
}

View file

@ -0,0 +1,38 @@
package ru.betterend.registry;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.Items;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import ru.betterend.BetterEnd;
public class ItemRegistry {
private static final List<Item> MOD_BLOCKS = Lists.newArrayList();
private static final List<Item> MOD_ITEMS = Lists.newArrayList();
protected static Item registerItem(String name, Item item) {
if (item instanceof BlockItem && item != Items.AIR) {
Registry.register(Registry.ITEM, new Identifier(BetterEnd.MOD_ID, name), item);
if (item instanceof BlockItem)
MOD_BLOCKS.add(item);
else
MOD_ITEMS.add(item);
}
return item;
}
public static void register() {}
public static List<Item> getModBlocks() {
return MOD_BLOCKS;
}
public static List<Item> getModItems() {
return MOD_ITEMS;
}
}

View file

@ -0,0 +1,23 @@
package ru.betterend.tab;
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.minecraft.block.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
import ru.betterend.BetterEnd;
import ru.betterend.registry.ItemRegistry;
public class CreativeTab {
public static final ItemGroup END_TAB = FabricItemGroupBuilder.create(new Identifier(BetterEnd.MOD_ID, "items"))
.icon(() -> new ItemStack(Blocks.END_STONE)).appendItems(stacks -> {
for (Item i : ItemRegistry.getModBlocks()) {
stacks.add(new ItemStack(i));
}
for (Item i : ItemRegistry.getModItems()) {
stacks.add(new ItemStack(i));
}
}).build();
}

View file

@ -1,5 +1,7 @@
package ru.betterend.world.biome;
import net.minecraft.world.gen.GenerationStep.Feature;
import net.minecraft.world.gen.feature.ConfiguredFeatures;
import ru.betterend.registry.FeatureRegistry;
public class BiomeFoggyMushroomland extends EndBiome {
@ -7,6 +9,9 @@ public class BiomeFoggyMushroomland extends EndBiome {
super(new BiomeDefinition("foggy_mushroomland")
.setFogColor(41, 122, 173)
.setFogDensity(3)
.addFeature(FeatureRegistry.STONE_SPIRAL));
.setWaterColor(119, 227, 250)
.setWaterFogColor(119, 227, 250)
.addFeature(FeatureRegistry.STONE_SPIRAL)
.addFeature(Feature.LAKES, ConfiguredFeatures.LAKE_WATER));
}
}