automatic creativeTab creation & placeholder ConfigCommon

This commit is contained in:
Jenny 2025-02-03 19:36:35 +01:00
parent 5535f8f56d
commit 1a86b04d71
Signed by: Jenny
GPG Key ID: 2072A14E40940632
4 changed files with 52 additions and 23 deletions
src/main/java/com/jenny/enhancedexplosives

@ -1,6 +1,7 @@
package com.jenny.enhancedexplosives;
import com.jenny.enhancedexplosives.blocks.blocks;
import com.jenny.enhancedexplosives.config.ConfigCommon;
import com.jenny.enhancedexplosives.particles.particles;
import com.jenny.enhancedexplosives.config.ConfigClient;
import com.jenny.enhancedexplosives.entities.entities;
@ -39,11 +40,10 @@ public class EnhancedExplosives {
// Register ourselves for server and other game events we are interested in
MinecraftForge.EVENT_BUS.register(this);
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, ConfigClient.SPEC);
}
private void commonSetup(final FMLCommonSetupEvent event) {
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ConfigCommon.SPEC);
}
// You can use SubscribeEvent and let the Event Bus discover methods to call
@ -58,6 +58,7 @@ public class EnhancedExplosives {
@SubscribeEvent
public static void onClientSetup(FMLClientSetupEvent event) {
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, ConfigClient.SPEC);
entities.registerRenderers();
}
}

@ -0,0 +1,21 @@
package com.jenny.enhancedexplosives.config;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.config.ModConfigEvent;
import static com.jenny.enhancedexplosives.EnhancedExplosives.MODID;
@Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class ConfigCommon {
private static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder();
public static final ForgeConfigSpec SPEC = BUILDER.build();
@SubscribeEvent
static void onLoad(final ModConfigEvent event)
{
}
}

@ -1,43 +1,50 @@
package com.jenny.enhancedexplosives;
import com.jenny.enhancedexplosives.blocks.blocks;
import com.jenny.enhancedexplosives.items.items;
import com.jenny.enhancedexplosives.items.items;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
import java.util.Arrays;
import static com.jenny.enhancedexplosives.EnhancedExplosives.MODID;
public class creativeTab {
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MODID);
public static final RegistryObject<CreativeModeTab> CREATIVE_TAB = CREATIVE_MODE_TABS.register("enhancedexplosives", () -> CreativeModeTab.builder().withTabsBefore(CreativeModeTabs.COMBAT).icon(() -> blocks.TNT_8_ITEM.get().getDefaultInstance()).displayItems((parameters, output) -> {
output.accept(blocks.TNT_8.get());
output.accept(blocks.TNT_16.get());
output.accept(blocks.TNT_32.get());
output.accept(blocks.TNT_64.get());
output.accept(blocks.TNT_128.get());
output.accept(blocks.TNT_CLUSTER_2.get());
output.accept(blocks.TNT_CLUSTER_4.get());
output.accept(blocks.TNT_CLUSTER_8.get());
output.accept(blocks.TNT_HOMING.get());
output.accept(blocks.TNT_BLACK_HOLE.get());
output.accept(blocks.TNT_REPULSIVE.get());
output.accept(blocks.TNT_CLAYMORE.get());
output.accept(blocks.TNT_SELECTIVE.get());
output.accept(blocks.TNT_ENDER.get());
output.accept(items.TNT_ARROW.get());
output.accept(items.CONCUSSIVE_ARROW.get());
output.accept(items.CARPET_ARROW.get());
output.accept(items.TUNNEL_ARROW.get());
output.accept(items.DYNAMITE.get());
output.acceptAll(Arrays.stream(getBlocks()).toList());
output.acceptAll(Arrays.stream(getItems()).toList());
}).title(Component.literal("Enhanced Explosives")).build());
public static void register(IEventBus bus) {
CREATIVE_MODE_TABS.register(bus);
}
public static ItemStack[] getBlocks() {
ItemStack[] ret = new ItemStack[blocks.ITEMS.getEntries().size()];
int i = 0;
for (RegistryObject<Item> item : blocks.ITEMS.getEntries()) {
ret[i] = item.get().getDefaultInstance();
i++;
}
return ret;
}
public static ItemStack[] getItems() {
ItemStack[] ret = new ItemStack[items.ITEMS.getEntries().size()];
int i = 0;
for (RegistryObject<Item> item : items.ITEMS.getEntries()) {
ret[i] = item.get().getDefaultInstance();
i++;
}
return ret;
}
}

@ -14,8 +14,8 @@ public class items {
public static final RegistryObject<Item> TNT_ARROW = ITEMS.register("arrow_tnt", () -> new ArrowTNT(new Item.Properties()));
public static final RegistryObject<Item> CONCUSSIVE_ARROW = ITEMS.register("arrow_concussive", () -> new ArrowConcussive(new Item.Properties()));
public static final RegistryObject<Item> CARPET_ARROW = ITEMS.register("arrow_carpet", () -> new ArrowCarpet(new Item.Properties()));
public static final RegistryObject<Item> DYNAMITE = ITEMS.register("dynamite", () -> new Dynamite(new Item.Properties()));
public static final RegistryObject<Item> TUNNEL_ARROW = ITEMS.register("arrow_tunnel", () -> new ArrowTunnel(new Item.Properties()));
public static final RegistryObject<Item> DYNAMITE = ITEMS.register("dynamite", () -> new Dynamite(new Item.Properties()));
public static void register(IEventBus bus) {
ITEMS.register(bus);