cable block

This commit is contained in:
2025-11-12 18:37:57 +01:00
parent e51b69a744
commit 0027ced866
3 changed files with 65 additions and 15 deletions
+7 -4
View File
@@ -31,14 +31,17 @@ loom {
}
dependencies {
// To change the versions see the gradle.properties file
// Minecraft version
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings loom.officialMojangMappings()
// Yarn mappings
mappings "net.fabricmc:yarn:${project.minecraft_version}+build.2:v2"
// Fabric Loader
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// Fabric API. This is technically optional, but you probably want it anyway.
// Fabric API
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
}
processResources {
@@ -0,0 +1,54 @@
package dev.kleo.redstonerewired;
import java.util.function.Function;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroups;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;
public class ModBlocks {
private static Block register(String name, Function<AbstractBlock.Settings, Block> blockFactory,
AbstractBlock.Settings settings, boolean shouldRegisterItem) {
RegistryKey<Block> blockKey = keyOfBlock(name);
Block block = blockFactory.apply(settings.registryKey(blockKey));
if (shouldRegisterItem) {
RegistryKey<Item> itemKey = keyOfItem(name);
BlockItem blockItem = new BlockItem(block,
new Item.Settings().registryKey(itemKey).useBlockPrefixedTranslationKey());
Registry.register(Registries.ITEM, itemKey, blockItem);
}
return Registry.register(Registries.BLOCK, blockKey, block);
}
private static RegistryKey<Block> keyOfBlock(String name) {
return RegistryKey.of(RegistryKeys.BLOCK, Identifier.of(RedstoneRewired.MOD_ID, name));
}
private static RegistryKey<Item> keyOfItem(String name) {
return RegistryKey.of(RegistryKeys.ITEM, Identifier.of(RedstoneRewired.MOD_ID, name));
}
public static final Block CABLE = register(
"cable",
Block::new,
AbstractBlock.Settings.create().sounds(BlockSoundGroup.COPPER),
true);
public static void initialize() {
ItemGroupEvents.modifyEntriesEvent(ItemGroups.REDSTONE).register((itemGroup) -> {
itemGroup.add(CABLE.asItem());
});
}
}
@@ -7,18 +7,11 @@ import org.slf4j.LoggerFactory;
public class RedstoneRewired implements ModInitializer {
public static final String MOD_ID = "redstone-rewired";
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
LOGGER.info("Hello Fabric world!");
ModBlocks.initialize();
}
}