Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.krokoyt.fa;
- import net.minecraft.block.Block;
- import net.minecraft.block.Blocks;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.particle.Particle;
- import net.minecraft.client.renderer.texture.TextureManager;
- import net.minecraft.client.settings.ParticleStatus;
- import net.minecraft.entity.player.PlayerEntity;
- import net.minecraft.item.Items;
- import net.minecraft.particles.BasicParticleType;
- import net.minecraft.particles.IParticleData;
- import net.minecraft.particles.ParticleType;
- import net.minecraft.particles.ParticleTypes;
- import net.minecraft.resources.IResourceManager;
- import net.minecraft.world.World;
- import net.minecraftforge.common.MinecraftForge;
- import net.minecraftforge.event.RegistryEvent;
- import net.minecraftforge.event.RegistryEvent.Register;
- import net.minecraftforge.event.entity.living.LivingEvent;
- import net.minecraftforge.event.world.BlockEvent.FarmlandTrampleEvent;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.fml.InterModComms;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
- import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
- import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
- import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
- import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
- import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import de.krokoyt.fa.particles.Footstep;
- import java.util.stream.Collectors;
- // The value here should match an entry in the META-INF/mods.toml file
- @Mod("fa")
- public class RealisticUlities
- {
- // Directly reference a log4j logger.
- private static final Logger LOGGER = LogManager.getLogger();
- public RealisticUlities() {
- // Register the setup method for modloading
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
- // Register the enqueueIMC method for modloading
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC);
- // Register the processIMC method for modloading
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC);
- // Register the doClientStuff method for modloading
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
- // Register ourselves for server and other game events we are interested in
- MinecraftForge.EVENT_BUS.register(this);
- MinecraftForge.EVENT_BUS.register(new Events());
- }
- private void setup(final FMLCommonSetupEvent event)
- {
- de.krokoyt.fa.particles.ParticleTypes.registration();
- //(
- // entity.worldObj,
- // entity.posX + entity.worldObj.rand.nextFloat() * entity.width
- //
- // * 2.0F - entity.width,
- // entity.posY + 0.5D + entity.worldObj.rand.nextFloat()
- //
- // * entity.height,
- // entity.posZ + entity.worldObj.rand.nextFloat() * entity.width
- //
- // * 2.0F - entity.width,
- //
- // targetX + 0.5,
- //
- // targetY + 1,
- //
- // targetZ + 0.5,10, col.toInt(),1F);
- // some preinit code
- LOGGER.info("HELLO FROM PREINIT");
- LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
- }
- private void doClientStuff(final FMLClientSetupEvent event) {
- // do something that can only be done on the client
- Minecraft.getInstance().particles.registerFactory(de.krokoyt.fa.particles.ParticleTypes.FOOTSTEP, new Footstep.Factory());
- LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().gameSettings);
- }
- private void enqueueIMC(final InterModEnqueueEvent event)
- {
- // some example code to dispatch IMC to another mod
- InterModComms.sendTo("examplemod", "helloworld", () -> { LOGGER.info("Hello world from the MDK"); return "Hello world";});
- }
- private void processIMC(final InterModProcessEvent event)
- {
- // some example code to receive and process InterModComms from other mods
- LOGGER.info("Got IMC {}", event.getIMCStream().
- map(m->m.getMessageSupplier().get()).
- collect(Collectors.toList()));
- }
- // You can use SubscribeEvent and let the Event Bus discover methods to call
- @SubscribeEvent
- public void onServerStarting(FMLServerStartingEvent event) {
- // do something when the server starts
- LOGGER.info("HELLO from server starting");
- }
- // You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD
- // Event bus for receiving Registry Events)
- @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
- public static class RegistryEvents {
- @SubscribeEvent
- public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
- // register a new block here
- LOGGER.info("HELLO from Register Block");
- }
- }
- }
Add Comment
Please, Sign In to add comment