use of crazypants.enderio.base.farming.farmers.StemFarmer in project EnderIO by SleepyTrousers.
the class HempFarmerIE method create.
public static HempFarmerIE create() {
if (Block.REGISTRY.containsKey(new ResourceLocation("ImmersiveEngineering", "hemp"))) {
Block hempBlock = Block.REGISTRY.getObject(new ResourceLocation("ImmersiveEngineering", "hemp"));
Item hempSeedItem = Item.REGISTRY.getObject(new ResourceLocation("ImmersiveEngineering", "seed"));
if (hempSeedItem != null) {
ItemStack hempSeed = new ItemStack(hempSeedItem);
return new HempFarmerIE(new CustomSeedFarmer(hempBlock, 4, hempSeed), new StemFarmer(hempBlock, hempSeed));
}
}
return null;
}
use of crazypants.enderio.base.farming.farmers.StemFarmer in project EnderIO by SleepyTrousers.
the class NaturaUtil method registerFarmers.
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void registerFarmers(@Nonnull RegistryEvent.Register<IFarmerJoe> event) {
int count = 0;
Item overworldSeeds = FarmersRegistry.findItem("natura", "overworld_seeds");
if (overworldSeeds != null) {
Block barleyBlock = FarmersRegistry.findBlock("natura", "barley_crop");
Block cottonBlock = FarmersRegistry.findBlock("natura", "cotton_crop");
if (barleyBlock != null) {
new PlantableFarmer().addHarvestExlude(barleyBlock);
event.getRegistry().register(new PickableFarmer(barleyBlock, 0, 3, new ItemStack(overworldSeeds, 1, 0)).setRegistryName("natura", "barley"));
count++;
}
if (cottonBlock != null) {
new PlantableFarmer().addHarvestExlude(cottonBlock);
event.getRegistry().register(new PickableFarmer(cottonBlock, 0, 4, new ItemStack(overworldSeeds, 1, 1)).setRegistryName("natura", "cotton"));
count++;
}
}
NNIterator<String> iterator = new NNList<>("overworld_berrybush_raspberry", "overworld_berrybush_blueberry", "overworld_berrybush_blackberry", "overworld_berrybush_maloberry", "nether_berrybush_blightberry", "nether_berrybush_duskberry", "nether_berrybush_skyberry", "nether_berrybush_stingberry").iterator();
while (iterator.hasNext()) {
String berry = iterator.next();
Block berryBlock = FarmersRegistry.findBlock("natura", berry);
Item berryItem = FarmersRegistry.findItem("natura", berry);
if (berryBlock != null && berryItem != null) {
new PlantableFarmer().addHarvestExlude(berryBlock);
PickableFarmer farmer = new NaturaBerryFarmer(berryBlock, 0, 3, new ItemStack(berryItem, 1, 0));
farmer.setRequiresTilling(false);
event.getRegistry().register(farmer.setRegistryName("natura", "berries"));
// berry bushes are leaves, idiotic...
IHarvestingTarget.addLeavesExcemption(berryBlock);
count++;
}
}
Block shroomSapling = FarmersRegistry.findBlock("natura", "nether_glowshroom");
Block shroomGreenBlock = FarmersRegistry.findBlock("natura", "nether_green_large_glowshroom");
Block shroomBlueBlock = FarmersRegistry.findBlock("natura", "nether_blue_large_glowshroom");
Block shroomPurpleBlock = FarmersRegistry.findBlock("natura", "nether_purple_large_glowshroom");
if (shroomSapling != null && shroomGreenBlock != null && shroomBlueBlock != null && shroomPurpleBlock != null) {
final TreeFarmer shroomFarmer = new TreeFarmer(shroomSapling, shroomGreenBlock, shroomBlueBlock, shroomPurpleBlock);
shroomFarmer.setIgnoreMeta(true);
event.getRegistry().register(shroomFarmer.setRegistryName("natura", "shroom"));
count++;
}
// TODO add farmer for the whole thing
FarmersRegistry.registerFlower("block:natura:saguaro_fruit");
Block saguaroBlock = FarmersRegistry.findBlock("natura", "saguaro");
Item saguaroBabyItem = FarmersRegistry.findItem("natura", "saguaro_baby");
if (saguaroBlock != null && saguaroBabyItem != null) {
event.getRegistry().register(new StemFarmer(saguaroBlock, new ItemStack(saguaroBabyItem)) {
@Override
public boolean canHarvest(@Nonnull IFarmer farm, @Nonnull BlockPos bc, @Nonnull Block block, @Nonnull IBlockState meta) {
return false;
}
}.setRegistryName("natura", "saguaro"));
count++;
}
FarmersRegistry.registerFlower("block:natura:bluebells_flower");
if (count == 12) {
Log.info("Farming Station: Natura integration fully loaded");
} else if (count == 0) {
Log.info("Farming Station: Natura integration not loaded");
} else {
Log.info("Farming Station: Natura integration partially loaded (" + count + " of 12)");
}
}
use of crazypants.enderio.base.farming.farmers.StemFarmer in project EnderIO by SleepyTrousers.
the class FarmersRegistry method registerFarmersLow.
@SubscribeEvent(priority = EventPriority.LOW)
public static void registerFarmersLow(@Nonnull RegistryEvent.Register<IFarmerJoe> event) {
event.getRegistry().register(new FlowerPicker(FLOWERS).setRegistryName(EnderIO.DOMAIN, "flowers"));
event.getRegistry().register(new StemFarmer(Blocks.REEDS, new ItemStack(Items.REEDS)).setRegistryName(EnderIO.DOMAIN, "reeds"));
event.getRegistry().register(new StemFarmer(Blocks.CACTUS, new ItemStack(Blocks.CACTUS)).setRegistryName(EnderIO.DOMAIN, "cactus"));
event.getRegistry().register(new TreeFarmer(SAPLINGS, WOODS).setRegistryName(EnderIO.DOMAIN, "trees"));
event.getRegistry().register(new TreeFarmer(true, Blocks.RED_MUSHROOM, Blocks.RED_MUSHROOM_BLOCK).setRegistryName(EnderIO.DOMAIN, "red_mushrooms"));
event.getRegistry().register(new TreeFarmer(true, Blocks.BROWN_MUSHROOM, Blocks.BROWN_MUSHROOM_BLOCK).setRegistryName(EnderIO.DOMAIN, "brown_mushrooms"));
// special case of plantables to get spacing correct
event.getRegistry().register(new MelonFarmer(Blocks.MELON_STEM, Blocks.MELON_BLOCK, new ItemStack(Items.MELON_SEEDS)).setRegistryName(EnderIO.DOMAIN, "melons"));
event.getRegistry().register(new MelonFarmer(Blocks.PUMPKIN_STEM, Blocks.PUMPKIN, new ItemStack(Items.PUMPKIN_SEEDS)).setRegistryName(EnderIO.DOMAIN, "pumpkins"));
// 'BlockNetherWart' is not an IGrowable
event.getRegistry().register(new CustomSeedFarmer(Blocks.NETHER_WART, 3, new ItemStack(Items.NETHER_WART)).setRequiresTilling(false).setRegistryName(EnderIO.DOMAIN, "netherwart"));
// Cocoa is odd
event.getRegistry().register(new CocoaFarmer().setRegistryName(EnderIO.DOMAIN, "cocoa"));
// Chorus plant is even odder
event.getRegistry().register(new ChorusFarmer().setRegistryName(EnderIO.DOMAIN, "chorus"));
}
Aggregations