Created
June 8, 2020 01:26
-
-
Save Umpaz/7a91a5a66b7ece1feb39ebbb09f566aa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Decompiled by Procyon v0.5.36 | |
// | |
package com.bagel.buzzierbees.core; | |
import java.util.stream.Stream; | |
import java.util.Map; | |
import java.util.HashMap; | |
import net.minecraft.village.PointOfInterestType; | |
import java.util.stream.Collector; | |
import com.google.common.collect.ImmutableSet; | |
import net.minecraft.block.BlockState; | |
import java.util.Set; | |
import java.util.Collection; | |
import java.util.HashSet; | |
import net.minecraft.tileentity.TileEntityType; | |
import com.google.common.collect.ImmutableList; | |
import net.minecraft.block.Block; | |
import com.bagel.buzzierbees.core.registry.BBBlocks; | |
import net.minecraft.block.Blocks; | |
import com.bagel.buzzierbees.common.dispenser.BugBottleDispenseBehavior; | |
import net.minecraft.dispenser.IDispenseItemBehavior; | |
import net.minecraft.block.DispenserBlock; | |
import com.bagel.buzzierbees.common.dispenser.BeeBottleDispenseBehavior; | |
import com.bagel.buzzierbees.core.registry.BBItems; | |
import net.minecraft.util.IItemProvider; | |
import com.bagel.buzzierbees.core.registry.BBFeatures; | |
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; | |
import net.minecraftforge.api.distmarker.OnlyIn; | |
import net.minecraftforge.client.event.ColorHandlerEvent; | |
import com.bagel.buzzierbees.core.util.BlockColorManager; | |
import com.bagel.buzzierbees.core.registry.BBEntities; | |
import com.bagel.buzzierbees.core.other.BBBlockData; | |
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; | |
import net.minecraftforge.eventbus.api.IEventBus; | |
import net.minecraftforge.fml.DistExecutor; | |
import net.minecraftforge.eventbus.api.EventPriority; | |
import net.minecraftforge.api.distmarker.Dist; | |
import java.util.function.Consumer; | |
import com.bagel.buzzierbees.core.registry.BBVillagers; | |
import com.bagel.buzzierbees.core.registry.BBEffects; | |
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; | |
import com.teamabnormals.abnormals_core.core.utils.RegistryHelper; | |
import net.minecraftforge.fml.common.Mod; | |
@Mod("buzzierbees") | |
@Mod.EventBusSubscriber(modid = "buzzierbees") | |
public class BuzzierBees | |
{ | |
public static final String MODID = "buzzierbees"; | |
public static final RegistryHelper REGISTRY_HELPER; | |
public BuzzierBees() { | |
final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); | |
BuzzierBees.REGISTRY_HELPER.getDeferredBlockRegister().register(modEventBus); | |
BuzzierBees.REGISTRY_HELPER.getDeferredItemRegister().register(modEventBus); | |
BuzzierBees.REGISTRY_HELPER.getDeferredEntityRegister().register(modEventBus); | |
BuzzierBees.REGISTRY_HELPER.getDeferredTileEntityRegister().register(modEventBus); | |
BBEffects.EFFECTS.register(modEventBus); | |
BBEffects.POTIONS.register(modEventBus); | |
BBVillagers.PROFESSIONS.register(modEventBus); | |
BBVillagers.POI_TYPES.register(modEventBus); | |
modEventBus.addListener((Consumer)this::setup); | |
modEventBus.addListener((Consumer)this::replaceBeehivePOI); | |
final IEventBus eventBus; | |
DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> { | |
eventBus.addListener(EventPriority.LOWEST, (Consumer)this::setupClient); | |
eventBus.addListener(EventPriority.LOWEST, (Consumer)this::registerItemColors); | |
}); | |
} | |
public void initSetupClient() { | |
FMLJavaModLoadingContext.get().getModEventBus().addListener((Consumer)this::setupClient); | |
} | |
private void setupClient(final FMLClientSetupEvent event) { | |
BBBlockData.setupRenderLayer(); | |
BBEntities.registerRendering(); | |
BlockColorManager.registerBlockColors(); | |
} | |
@OnlyIn(Dist.CLIENT) | |
private void registerItemColors(final ColorHandlerEvent.Item event) { | |
BuzzierBees.REGISTRY_HELPER.processSpawnEggColors(event); | |
} | |
private void setup(final FMLCommonSetupEvent event) { | |
BBBlockData.registerCompostables(); | |
BBBlockData.registerFlammables(); | |
BBEffects.addBrewingRecipes(); | |
BBFeatures.addFeatures(); | |
BBEntities.addEntitySpawns(); | |
BBVillagers.init(); | |
DispenserBlock.func_199774_a((IItemProvider)BBItems.BOTTLE_OF_BEE.get(), (IDispenseItemBehavior)new BeeBottleDispenseBehavior()); | |
DispenserBlock.func_199774_a((IItemProvider)BBItems.BOTTLE_OF_SILVERFISH.get(), (IDispenseItemBehavior)new BugBottleDispenseBehavior()); | |
DispenserBlock.func_199774_a((IItemProvider)BBItems.BOTTLE_OF_ENDERMITE.get(), (IDispenseItemBehavior)new BugBottleDispenseBehavior()); | |
} | |
private void replaceBeehivePOI(final FMLCommonSetupEvent event) { | |
final ImmutableList<Block> BEEHIVES = (ImmutableList<Block>)ImmutableList.of((Object)Blocks.field_226906_mb_, (Object)BBBlocks.ACACIA_BEEHIVE.get(), (Object)BBBlocks.BIRCH_BEEHIVE.get(), (Object)BBBlocks.SPRUCE_BEEHIVE.get(), (Object)BBBlocks.DARK_OAK_BEEHIVE.get(), (Object)BBBlocks.JUNGLE_BEEHIVE.get(), (Object)BBBlocks.CRIMSON_BEEHIVE.get(), (Object)BBBlocks.WARPED_BEEHIVE.get(), (Object)BBBlocks.ROSEWOOD_BEEHIVE.get(), (Object)BBBlocks.YUCCA_BEEHIVE.get(), (Object)BBBlocks.KOUSA_BEEHIVE.get(), (Object)BBBlocks.ASPEN_BEEHIVE.get(), (Object[])new Block[] { (Block)BBBlocks.WILLOW_BEEHIVE.get(), (Block)BBBlocks.WISTERIA_BEEHIVE.get(), (Block)BBBlocks.MAPLE_BEEHIVE.get(), (Block)BBBlocks.BAMBOO_BEEHIVE.get(), (Block)BBBlocks.POISE_BEEHIVE.get(), (Block)BBBlocks.DRIFTWOOD_BEEHIVE.get(), (Block)BBBlocks.RIVER_BEEHIVE.get(), (Block)BBBlocks.SNAKE_BLOCK_BEEHIVE.get(), (Block)BBBlocks.BOP_FIR_BEEHIVE.get(), (Block)BBBlocks.BOP_DEAD_BEEHIVE.get(), (Block)BBBlocks.BOP_PALM_BEEHIVE.get(), (Block)BBBlocks.BOP_MAGIC_BEEHIVE.get(), (Block)BBBlocks.BOP_CHERRY_BEEHIVE.get(), (Block)BBBlocks.BOP_UMBRAN_BEEHIVE.get(), (Block)BBBlocks.BOP_WILLOW_BEEHIVE.get(), (Block)BBBlocks.BOP_REDWOOD_BEEHIVE.get(), (Block)BBBlocks.BOP_HELLBARK_BEEHIVE.get(), (Block)BBBlocks.BOP_MAHOGANY_BEEHIVE.get(), (Block)BBBlocks.BOP_JACARANDA_BEEHIVE.get() }); | |
final Set<Block> validBlocks = new HashSet<Block>(TileEntityType.field_226985_G_.field_223046_I); | |
validBlocks.addAll((Collection<? extends Block>)BEEHIVES); | |
TileEntityType.field_226985_G_.field_223046_I = validBlocks; | |
final Set<BlockState> poiStates = BEEHIVES.stream().flatMap(map -> map.func_176194_O().func_177619_a().stream()).collect((Collector<? super Object, Object, Set<BlockState>>)ImmutableSet.toImmutableSet()); | |
PointOfInterestType.field_226356_s_.field_221075_w = poiStates; | |
final Map<BlockState, PointOfInterestType> pointOfInterestTypeMap = new HashMap<BlockState, PointOfInterestType>(); | |
final PointOfInterestType pointOfInterestType; | |
BEEHIVES.stream().forEach(block -> block.func_176194_O().func_177619_a().forEach(state -> pointOfInterestType = pointOfInterestTypeMap.put(state, PointOfInterestType.field_226356_s_))); | |
PointOfInterestType.field_221073_u.putAll(pointOfInterestTypeMap); | |
} | |
static { | |
REGISTRY_HELPER = new RegistryHelper("buzzierbees"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment