TVs, radios, and a lot to do

This commit is contained in:
Andrew-71 2023-07-13 23:24:18 +03:00
parent 222fa946a3
commit 99eab1b9ca
192 changed files with 12886 additions and 41 deletions

View file

@ -0,0 +1,54 @@
package su.a71.new_soviet;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.block.Block;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import su.a71.new_soviet.blocks.RadioBlock;
import su.a71.new_soviet.blocks.TVBlock;
import java.util.Optional;
import java.util.function.Supplier;
public class NSE_Custom {
public static final TVBlock TV = new TVBlock();
public static final TVBlock RED_TV = new TVBlock();
public static final TVBlock BROWN_TV = new TVBlock();
public static final RadioBlock RADIO = new RadioBlock();
private static final ItemGroup NSE_CUSTOM_TAB = FabricItemGroup.builder()
.icon(() -> new ItemStack(TV))
.displayName(Text.translatable("itemGroup.new_soviet.custom"))
.build();
private static void register(String name, Supplier<? extends Block> supplier, ItemGroup tab) {
Registry.register(Registries.BLOCK, new Identifier(NewSoviet.MOD_ID, name), supplier.get());
BlockItem blockItem = new BlockItem(supplier.get(), new FabricItemSettings());
Registry.register(Registries.ITEM, new Identifier(NewSoviet.MOD_ID, name), blockItem);
Optional<RegistryKey<ItemGroup>> key = Registries.ITEM_GROUP.getKey(tab);
key.ifPresent(itemGroupRegistryKey -> ItemGroupEvents.modifyEntriesEvent(itemGroupRegistryKey).register(content -> {
content.add(blockItem);
}));
}
public static void init() {
Registry.register(Registries.ITEM_GROUP, new Identifier("new_soviet", "custom"), NSE_CUSTOM_TAB);
register("tv", () -> TV, NSE_CUSTOM_TAB);
register("red_tv", () -> RED_TV, NSE_CUSTOM_TAB);
register("brown_tv", () -> BROWN_TV, NSE_CUSTOM_TAB);
register("radio", () -> RADIO, NSE_CUSTOM_TAB);
}
}