Private
Public Access
1
0

Ported data generation. Fixed proxy and main class.

This commit is contained in:
2026-05-25 18:04:37 +01:00
parent cb44ecc59b
commit 26b258af04
8 changed files with 84 additions and 61 deletions

View File

@ -15,16 +15,10 @@ public class FireflyBushBackport {
private static FMLJavaModLoadingContext fmlJavaModLoadingContext; private static FMLJavaModLoadingContext fmlJavaModLoadingContext;
private static IProxy proxy; private static IProxy proxy;
public FireflyBushBackport(FMLJavaModLoadingContext context) { public FireflyBushBackport() {
fmlJavaModLoadingContext = context;
proxy = DistExecutor.safeRunForDist( proxy = DistExecutor.safeRunForDist(
() -> Proxy.Client::new, () -> Proxy.Client::new,
() -> Proxy.Server::new () -> Proxy.Server::new
); );
} }
public static FMLJavaModLoadingContext getFMLJavaModLoadingContext() {
return fmlJavaModLoadingContext;
}
} }

View File

@ -4,16 +4,12 @@ import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.data.client.ModBlockStateProvider; import dev.micle.firefly_bush_backport.data.client.ModBlockStateProvider;
import dev.micle.firefly_bush_backport.data.client.ModItemModelProvider; import dev.micle.firefly_bush_backport.data.client.ModItemModelProvider;
import dev.micle.firefly_bush_backport.data.client.ModSoundDefinitionsProvider; import dev.micle.firefly_bush_backport.data.client.ModSoundDefinitionsProvider;
import dev.micle.firefly_bush_backport.data.server.ModLootTableProvider; import dev.micle.firefly_bush_backport.data.loot.ModLootTableProvider;
import dev.micle.firefly_bush_backport.data.server.ModWorldGenProvider;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator;
import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.GatherDataEvent;
import java.util.concurrent.CompletableFuture;
@Mod.EventBusSubscriber(modid = FireflyBushBackport.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) @Mod.EventBusSubscriber(modid = FireflyBushBackport.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class DataGenerators { public class DataGenerators {
@ -21,13 +17,11 @@ public class DataGenerators {
public static void gatherData(GatherDataEvent event) { public static void gatherData(GatherDataEvent event) {
DataGenerator generator = event.getGenerator(); DataGenerator generator = event.getGenerator();
ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider();
generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper)); generator.addProvider(new ModBlockStateProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper)); generator.addProvider(new ModItemModelProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModSoundDefinitionsProvider(generator, existingFileHelper)); generator.addProvider(new ModSoundDefinitionsProvider(generator, existingFileHelper));
generator.addProvider(event.includeServer(), new ModLootTableProvider(generator)); generator.addProvider(new ModLootTableProvider(generator));
generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider));
} }
} }

View File

@ -2,18 +2,18 @@ package dev.micle.firefly_bush_backport.data.client;
import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.block.ModBlocks; import dev.micle.firefly_bush_backport.block.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator;
import net.minecraft.resources.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.client.model.generators.BlockStateProvider; import net.minecraftforge.client.model.generators.BlockStateProvider;
import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.registries.RegistryObject; import net.minecraftforge.fml.RegistryObject;
import java.util.Objects; import java.util.Objects;
public class ModBlockStateProvider extends BlockStateProvider { public class ModBlockStateProvider extends BlockStateProvider {
public ModBlockStateProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) { public ModBlockStateProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper); super(generator, FireflyBushBackport.MOD_ID, existingFileHelper);
} }
@Override @Override
@ -24,10 +24,9 @@ public class ModBlockStateProvider extends BlockStateProvider {
private void crossEmissiveBlock(RegistryObject<Block> block) { private void crossEmissiveBlock(RegistryObject<Block> block) {
String name = Objects.requireNonNull(block.getId()).getPath(); String name = Objects.requireNonNull(block.getId()).getPath();
simpleBlock(block.get(), models() simpleBlock(block.get(), models()
.withExistingParent(name, ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/cross_emissive")) .withExistingParent(name, new ResourceLocation(FireflyBushBackport.MOD_ID, "block/cross_emissive"))
.texture("cross", "block/" + name) .texture("cross", "block/" + name)
.texture("cross_emissive", "block/" + name + "_emissive") .texture("cross_emissive", "block/" + name + "_emissive")
.renderType("cutout")
); );
} }
} }

View File

@ -2,21 +2,21 @@ package dev.micle.firefly_bush_backport.data.client;
import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.block.ModBlocks; import dev.micle.firefly_bush_backport.block.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator;
import net.minecraft.world.item.Items; import net.minecraft.item.Items;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.client.model.generators.ItemModelBuilder; import net.minecraftforge.client.model.generators.ItemModelBuilder;
import net.minecraftforge.client.model.generators.ItemModelProvider; import net.minecraftforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.client.model.generators.ModelFile; import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.Objects; import java.util.Objects;
public class ModItemModelProvider extends ItemModelProvider { public class ModItemModelProvider extends ItemModelProvider {
public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) { public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper); super(generator, FireflyBushBackport.MOD_ID, existingFileHelper);
} }
@Override @Override

View File

@ -3,13 +3,13 @@ package dev.micle.firefly_bush_backport.data.client;
import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.sound.ModSounds; import dev.micle.firefly_bush_backport.sound.ModSounds;
import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator;
import net.minecraft.resources.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.common.data.SoundDefinitionsProvider; import net.minecraftforge.common.data.SoundDefinitionsProvider;
public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider { public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider {
public ModSoundDefinitionsProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) { public ModSoundDefinitionsProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper); super(generator, FireflyBushBackport.MOD_ID, existingFileHelper);
} }
@Override @Override
@ -17,31 +17,31 @@ public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider {
add(ModSounds.FIREFLY_BUSH_IDLE, definition() add(ModSounds.FIREFLY_BUSH_IDLE, definition()
.subtitle("sound." + FireflyBushBackport.MOD_ID + ".block.firefly_bush.idle") .subtitle("sound." + FireflyBushBackport.MOD_ID + ".block.firefly_bush.idle")
.with( .with(
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush1")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush1"))
.volume(4), .volume(4),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush2")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush2"))
.volume(4), .volume(4),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush3")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush3"))
.volume(4), .volume(4),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush4")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush4"))
.volume(4), .volume(4),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush5")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush5"))
.volume(4), .volume(4),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush6")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush6"))
.volume(4), .volume(4),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush7")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush7"))
.volume(4) .volume(4)
.weight(2), .weight(2),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush8")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush8"))
.volume(4) .volume(4)
.weight(2), .weight(2),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush9")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush9"))
.volume(4) .volume(4)
.weight(2), .weight(2),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush10")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush10"))
.volume(4) .volume(4)
.weight(2), .weight(2),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush11")) sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush11"))
.volume(4) .volume(4)
) )
); );

View File

@ -1,26 +1,23 @@
package dev.micle.firefly_bush_backport.data.loot; package dev.micle.firefly_bush_backport.data.loot;
import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.block.ModBlocks; import dev.micle.firefly_bush_backport.block.ModBlocks;
import net.minecraft.data.loot.BlockLootSubProvider; import net.minecraft.block.Block;
import net.minecraft.world.flag.FeatureFlags; import net.minecraft.data.loot.BlockLootTables;
import net.minecraft.world.level.block.Block; import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import org.jetbrains.annotations.NotNull;
import java.util.Set; import java.util.stream.Collectors;
public class ModBlockLootTableProvider extends BlockLootSubProvider { public class ModBlockLootTableProvider extends BlockLootTables {
public ModBlockLootTableProvider() { @Override
super(Set.of(), FeatureFlags.REGISTRY.allFlags()); protected void addTables() {
dropSelf(ModBlocks.FIREFLY_BUSH.get());
} }
@Override @Override
protected void generate() { protected Iterable<Block> getKnownBlocks() {
this.dropSelf(ModBlocks.FIREFLY_BUSH.get()); return ForgeRegistries.BLOCKS.getValues().stream()
} .filter(block -> FireflyBushBackport.MOD_ID.equals(block.getRegistryName().getNamespace()))
.collect(Collectors.toSet());
@Override
protected @NotNull Iterable<Block> getKnownBlocks() {
return ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get)::iterator;
} }
} }

View File

@ -0,0 +1,38 @@
package dev.micle.firefly_bush_backport.data.loot;
import com.google.common.collect.ImmutableList;
import com.mojang.datafixers.util.Pair;
import dev.micle.firefly_bush_backport.FireflyBushBackport;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.LootTableProvider;
import net.minecraft.loot.*;
import net.minecraft.util.ResourceLocation;
import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class ModLootTableProvider extends LootTableProvider {
public ModLootTableProvider(DataGenerator generator) {
super(generator);
}
@Override
public String getName() {
return new ResourceLocation(FireflyBushBackport.MOD_ID, "loot_tables").toString();
}
@Override
protected List<Pair<Supplier<Consumer<BiConsumer<ResourceLocation, LootTable.Builder>>>, LootParameterSet>> getTables() {
return ImmutableList.of(
Pair.of(ModBlockLootTableProvider::new, LootParameterSets.BLOCK)
);
}
@Override
protected void validate(Map<ResourceLocation, LootTable> map, ValidationTracker validationTracker) {
map.forEach((id, table) -> LootTableManager.validate(validationTracker, id, table));
}
}

View File

@ -23,13 +23,14 @@ import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.event.lifecycle.*; import net.minecraftforge.fml.event.lifecycle.*;
import net.minecraftforge.fml.event.server.FMLServerStartedEvent; import net.minecraftforge.fml.event.server.FMLServerStartedEvent;
import net.minecraftforge.fml.event.server.FMLServerStoppingEvent; import net.minecraftforge.fml.event.server.FMLServerStoppingEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
public class Proxy implements IProxy { public class Proxy implements IProxy {
private static MinecraftServer server = null; private static MinecraftServer server = null;
// Common setup // Common setup
public Proxy() { public Proxy() {
IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus(); IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
Config.register(); Config.register();
ModBlocks.register(modEventBus); ModBlocks.register(modEventBus);
@ -88,7 +89,7 @@ public class Proxy implements IProxy {
// Client setup // Client setup
public static class Client extends Proxy { public static class Client extends Proxy {
public Client() { public Client() {
IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus(); IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
// Register mod event bus listeners // Register mod event bus listeners
modEventBus.addListener(Client::setup); modEventBus.addListener(Client::setup);
@ -121,7 +122,7 @@ public class Proxy implements IProxy {
public static class Server extends Proxy { public static class Server extends Proxy {
public Server() { public Server() {
// Register mod event bus listeners // Register mod event bus listeners
IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus(); IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
modEventBus.addListener(Server::setup); modEventBus.addListener(Server::setup);
} }