Ported data generation. Fixed proxy and main class.
This commit is contained in:
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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")
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user