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 IProxy proxy;
public FireflyBushBackport(FMLJavaModLoadingContext context) {
fmlJavaModLoadingContext = context;
public FireflyBushBackport() {
proxy = DistExecutor.safeRunForDist(
() -> Proxy.Client::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.ModItemModelProvider;
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.server.ModWorldGenProvider;
import net.minecraft.core.HolderLookup;
import dev.micle.firefly_bush_backport.data.loot.ModLootTableProvider;
import net.minecraft.data.DataGenerator;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import java.util.concurrent.CompletableFuture;
import net.minecraftforge.fml.event.lifecycle.GatherDataEvent;
@Mod.EventBusSubscriber(modid = FireflyBushBackport.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class DataGenerators {
@ -21,13 +17,11 @@ public class DataGenerators {
public static void gatherData(GatherDataEvent event) {
DataGenerator generator = event.getGenerator();
ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider();
generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModSoundDefinitionsProvider(generator, existingFileHelper));
generator.addProvider(new ModBlockStateProvider(generator, existingFileHelper));
generator.addProvider(new ModItemModelProvider(generator, existingFileHelper));
generator.addProvider(new ModSoundDefinitionsProvider(generator, existingFileHelper));
generator.addProvider(event.includeServer(), new ModLootTableProvider(generator));
generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider));
generator.addProvider(new ModLootTableProvider(generator));
}
}

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.block.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.data.DataGenerator;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.Block;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.generators.BlockStateProvider;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.fml.RegistryObject;
import java.util.Objects;
public class ModBlockStateProvider extends BlockStateProvider {
public ModBlockStateProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper);
super(generator, FireflyBushBackport.MOD_ID, existingFileHelper);
}
@Override
@ -24,10 +24,9 @@ public class ModBlockStateProvider extends BlockStateProvider {
private void crossEmissiveBlock(RegistryObject<Block> block) {
String name = Objects.requireNonNull(block.getId()).getPath();
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_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.block.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.data.DataGenerator;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Block;
import net.minecraft.item.Items;
import net.minecraftforge.client.model.generators.ItemModelBuilder;
import net.minecraftforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.Objects;
public class ModItemModelProvider extends ItemModelProvider {
public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper);
super(generator, FireflyBushBackport.MOD_ID, existingFileHelper);
}
@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.sound.ModSounds;
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.SoundDefinitionsProvider;
public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider {
public ModSoundDefinitionsProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator.getPackOutput(), FireflyBushBackport.MOD_ID, existingFileHelper);
super(generator, FireflyBushBackport.MOD_ID, existingFileHelper);
}
@Override
@ -17,31 +17,31 @@ public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider {
add(ModSounds.FIREFLY_BUSH_IDLE, definition()
.subtitle("sound." + FireflyBushBackport.MOD_ID + ".block.firefly_bush.idle")
.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),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush2"))
sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush2"))
.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),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush4"))
sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush4"))
.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),
sound(ResourceLocation.fromNamespaceAndPath(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush6"))
sound(new ResourceLocation(FireflyBushBackport.MOD_ID, "block/firefly_bush/firefly_bush6"))
.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)
.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)
.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)
.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)
.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)
)
);

View File

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

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