37 lines
1.3 KiB
Java
37 lines
1.3 KiB
Java
package com.learning.block;
|
|
|
|
import com.learning.Learning;
|
|
|
|
import java.util.function.Function;
|
|
|
|
import net.minecraft.registry.Registries;
|
|
import net.minecraft.registry.Registry;
|
|
import net.minecraft.registry.RegistryKey;
|
|
import net.minecraft.registry.RegistryKeys;
|
|
import net.minecraft.block.AbstractBlock;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.util.Identifier;
|
|
|
|
public class CustomBlocks {
|
|
public static void registerBlocks() {
|
|
Learning.LOGGER.info("Registering blocks...");
|
|
}
|
|
|
|
public static final Block test_block = register("test_block");
|
|
public static final Block damageBlock = register("damage_block", DamageBlock::new, AbstractBlock.Settings.create());
|
|
|
|
public static final Block register(String blockId) {
|
|
return register(blockId, Block::new, AbstractBlock.Settings.create());
|
|
}
|
|
|
|
public static Block register(String blockId, Function<AbstractBlock.Settings, Block> factory, AbstractBlock.Settings settings) {
|
|
RegistryKey<Block> key = keyOf(blockId);
|
|
return Registry.register(Registries.BLOCK, key, factory.apply(settings.registryKey(key)));
|
|
|
|
}
|
|
|
|
private static final RegistryKey<Block> keyOf(String blockId) {
|
|
return RegistryKey.of(RegistryKeys.BLOCK, Identifier.of(Learning.MOD_ID, blockId));
|
|
}
|
|
}
|