|
6 | 6 | import net.minecraft.core.dispenser.AbstractProjectileDispenseBehavior; |
7 | 7 | import net.minecraft.data.DataGenerator; |
8 | 8 | import net.minecraft.data.PackOutput; |
| 9 | +import net.minecraft.network.chat.Component; |
9 | 10 | import net.minecraft.resources.ResourceLocation; |
| 11 | +import net.minecraft.server.packs.PackType; |
| 12 | +import net.minecraft.server.packs.repository.Pack; |
| 13 | +import net.minecraft.server.packs.repository.PackSource; |
10 | 14 | import net.minecraft.world.entity.projectile.Projectile; |
11 | | -import net.minecraft.world.entity.projectile.Snowball; |
12 | 15 | import net.minecraft.world.item.ItemStack; |
13 | | -import net.minecraft.core.dispenser.DispenseItemBehavior; |
14 | 16 | import net.minecraft.world.level.Level; |
15 | 17 | import net.minecraft.world.level.block.DispenserBlock; |
16 | | -import net.minecraftforge.client.event.EntityRenderersEvent; |
17 | | -import net.minecraftforge.client.event.ModelEvent.RegisterGeometryLoaders; |
18 | 18 | import net.minecraftforge.client.event.RegisterColorHandlersEvent; |
19 | 19 | import net.minecraftforge.common.MinecraftForge; |
20 | 20 | import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent; |
21 | 21 | import net.minecraftforge.common.crafting.CraftingHelper; |
22 | 22 | import net.minecraftforge.data.event.GatherDataEvent; |
| 23 | +import net.minecraftforge.event.AddPackFindersEvent; |
23 | 24 | import net.minecraftforge.eventbus.api.IEventBus; |
24 | 25 | import net.minecraftforge.eventbus.api.SubscribeEvent; |
25 | 26 | import net.minecraftforge.fluids.DispenseFluidContainer; |
|
29 | 30 | import net.minecraftforge.fml.config.ModConfig; |
30 | 31 | import net.minecraftforge.fml.event.lifecycle.*; |
31 | 32 | import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; |
| 33 | +import net.minecraftforge.fml.javafmlmod.FMLModContainer; |
| 34 | +import net.minecraftforge.fml.loading.FMLPaths; |
| 35 | +import net.minecraftforge.forgespi.locating.IModFile; |
32 | 36 | import net.minecraftforge.registries.ForgeRegistries; |
33 | 37 | import net.minecraftforge.registries.RegisterEvent; |
| 38 | +import net.minecraftforge.resource.PathPackResources; |
34 | 39 | import org.apache.logging.log4j.LogManager; |
35 | 40 | import org.apache.logging.log4j.Logger; |
36 | 41 | import wayoftime.bloodmagic.anointment.Anointment; |
|
39 | 44 | import wayoftime.bloodmagic.client.hud.Elements; |
40 | 45 | import wayoftime.bloodmagic.client.key.BloodMagicKeyHandler; |
41 | 46 | import wayoftime.bloodmagic.client.key.KeyBindingBloodMagic; |
42 | | -import wayoftime.bloodmagic.client.model.MimicModelLoader; |
43 | | -import wayoftime.bloodmagic.client.model.SigilHoldingModelLoader; |
44 | 47 | import wayoftime.bloodmagic.client.sounds.SoundRegistry; |
45 | 48 | import wayoftime.bloodmagic.common.block.BloodMagicBlocks; |
46 | 49 | import wayoftime.bloodmagic.common.data.*; |
|
77 | 80 | import wayoftime.bloodmagic.util.handler.event.GenericHandler; |
78 | 81 | import wayoftime.bloodmagic.util.handler.event.WillHandler; |
79 | 82 |
|
| 83 | +import java.nio.file.Path; |
80 | 84 | import java.util.concurrent.CompletableFuture; |
81 | 85 |
|
82 | 86 | @Mod("bloodmagic") |
@@ -137,6 +141,7 @@ public BloodMagic() { |
137 | 141 | // Register the doClientStuff method for modloading |
138 | 142 | modBus.addListener(this::doClientStuff); |
139 | 143 | modBus.addListener(this::gatherData); |
| 144 | + modBus.addListener(this::addPackfinders); |
140 | 145 | modBus.addListener(this::onRegisterCapabilities); |
141 | 146 |
|
142 | 147 | modBus.addListener(this::registerRecipes); |
@@ -236,6 +241,27 @@ public void gatherData(GatherDataEvent event) { |
236 | 241 | gen.addProvider(event.includeServer(), new GeneratorEntityTags(output, provider, event.getExistingFileHelper())); |
237 | 242 | } |
238 | 243 |
|
| 244 | + public void addPackfinders(AddPackFindersEvent event) { |
| 245 | + if (event.getPackType().equals(PackType.CLIENT_RESOURCES)) { |
| 246 | + PathPackResources res = new PathPackResources( |
| 247 | + rl("translations").toString(), |
| 248 | + true, |
| 249 | + ModList.get().getModFileById(MODID).getFile().getSecureJar().getPath("packs", "translations") |
| 250 | + ); |
| 251 | + Pack pack = Pack.readMetaAndCreate( |
| 252 | + res.packId(), |
| 253 | + Component.translatable("pack.bloodmagic.fan_translations"), |
| 254 | + false, |
| 255 | + id -> res, |
| 256 | + PackType.CLIENT_RESOURCES, |
| 257 | + Pack.Position.TOP, |
| 258 | + PackSource.BUILT_IN |
| 259 | + ); |
| 260 | + if (pack != null) { |
| 261 | + event.addRepositorySource(consumer -> consumer.accept(pack)); |
| 262 | + } |
| 263 | + } |
| 264 | + } |
239 | 265 |
|
240 | 266 | private void setup(final FMLCommonSetupEvent event) { |
241 | 267 | packetHandler.initialize(); |
|
0 commit comments