Skip to content
This repository has been archived by the owner on Aug 19, 2024. It is now read-only.

Commit

Permalink
Blues Carrot
Browse files Browse the repository at this point in the history
  • Loading branch information
orange809 committed Jul 23, 2024
1 parent 501ee85 commit 311bc50
Show file tree
Hide file tree
Showing 11 changed files with 72 additions and 7 deletions.
6 changes: 2 additions & 4 deletions src/main/java/ho/artisan/farmaway/FarmAway.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package ho.artisan.farmaway;

import ho.artisan.farmaway.common.registry.FABlocks;
import ho.artisan.farmaway.common.registry.FAEntities;
import ho.artisan.farmaway.common.registry.FAItems;
import ho.artisan.farmaway.common.registry.FATabs;
import ho.artisan.farmaway.common.registry.*;
import net.minecraft.Util;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
Expand All @@ -23,6 +20,7 @@ public FarmAway(IEventBus bus, ModContainer container) {
FAItems.register(bus);
FATabs.register(bus);
FAEntities.register(bus);
FAEffects.register(bus);
}

public static ResourceLocation getResourceLocation(String path) {
Expand Down
32 changes: 32 additions & 0 deletions src/main/java/ho/artisan/farmaway/common/FAEvents.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package ho.artisan.farmaway.common;

import ho.artisan.farmaway.FarmAway;
import ho.artisan.farmaway.common.registry.FAEffects;
import net.minecraft.util.RandomSource;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.event.entity.living.LivingIncomingDamageEvent;

@EventBusSubscriber(modid = FarmAway.MOD_ID)
public class FAEvents {
@SubscribeEvent
public static void livingDamagePost(LivingIncomingDamageEvent event) {
int a = event.getEntity().getEffect(FAEffects.BLUES).getAmplifier();
if (event.getEntity().hasEffect(FAEffects.BLUES)) {
int i = RandomSource.create().nextInt(0, 100);
if (a <= 6) {
if (i > 50 - a * 5) {
event.setAmount(0);
} else {
event.setAmount(event.getOriginalAmount() * 2);
}
} else {
if (i > 50 - 6 * 5) {
event.setAmount(0);
} else {
event.setAmount(event.getOriginalAmount() * 2);
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ protected void generate() {
dropOther(FABlocks.ANDESITE_FARMLAND.get(), Blocks.ANDESITE);
dropOther(FABlocks.DIORITE_FARMLAND.get(), Blocks.DIORITE);
dropOther(FABlocks.EXPLOSION_POTATO.get(), FAItems.EXPLOSION_POTATO);
dropOther(FABlocks.BLUE_CARROT.get(), FAItems.EXPLOSION_POTATO);// todo
dropOther(FABlocks.BLUES_CARROT.get(), FAItems.EXPLOSION_POTATO);// todo
dropOther(FABlocks.STRONG_CARROT.get(), FAItems.STRONG_CARROT);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ protected void registerModels() {
block(FAItems.DIORITE_FARMLAND.get());
block(FAItems.ANDESITE_FARMLAND.get());
basicItem(FAItems.EXPLOSION_POTATO.get());
basicItem(FAItems.BLUES_CARROT.get());
handheld(FAItems.STRONG_CARROT.get());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ protected void addTags(HolderLookup.Provider lookupProvider) {
FABlocks.STRONG_CARROT.get()
);
tag(FABlockTags.SHADOW_CROPS).add(
FABlocks.BLUE_CARROT.get()
FABlocks.BLUES_CARROT.get()
);
tag(FABlockTags.TERRA_FARMLANDS).add(FABlocks.STONE_FARMLAND.get());
tag(FABlockTags.FLAME_FARMLANDS).add(FABlocks.NETHERRACK_FARMLAND.get());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,8 @@ protected void addTags(HolderLookup.Provider lookupProvider) {
tag(FAItemTags.FLAME_SEEDS).add(
FAItems.EXPLOSION_POTATO.get()
);
tag(FAItemTags.SHADOW_SEEDS).add(
FAItems.BLUES_CARROT.get()
);
}
}
12 changes: 12 additions & 0 deletions src/main/java/ho/artisan/farmaway/common/effect/BluesEffect.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package ho.artisan.farmaway.common.effect;

import net.minecraft.world.effect.MobEffect;
import net.minecraft.world.effect.MobEffectCategory;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;

public class BluesEffect extends MobEffect {
public BluesEffect() {
super(MobEffectCategory.NEUTRAL, 1);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class FABlocks {

// Crops
public static final DeferredBlock<FACropBlock> EXPLOSION_POTATO = registerCrop("explosion_potato", BlockBehaviour.Properties.ofFullCopy(Blocks.POTATOES).randomTicks(), 7);
public static final DeferredBlock<FACropBlock> BLUE_CARROT = registerCrop("blue_carrot", BlockBehaviour.Properties.ofFullCopy(Blocks.CARROTS).randomTicks(), 15);
public static final DeferredBlock<FACropBlock> BLUES_CARROT = registerCrop("blue_carrot", BlockBehaviour.Properties.ofFullCopy(Blocks.CARROTS).randomTicks(), 15);
public static final DeferredBlock<FACropBlock> STRONG_CARROT = registerCrop("strong_carrot", BlockBehaviour.Properties.ofFullCopy(Blocks.CARROTS).randomTicks(), 3);

private static DeferredBlock<FarmlandBlock> registerFarmland(String name, BlockBehaviour.Properties properties) {
Expand Down
17 changes: 17 additions & 0 deletions src/main/java/ho/artisan/farmaway/common/registry/FAEffects.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package ho.artisan.farmaway.common.registry;

import ho.artisan.farmaway.FarmAway;
import ho.artisan.farmaway.common.effect.BluesEffect;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.world.effect.MobEffect;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredRegister;

public class FAEffects {
private static DeferredRegister<MobEffect> EFFECTS = DeferredRegister.create(BuiltInRegistries.MOB_EFFECT, FarmAway.MOD_ID);
public static Holder<MobEffect> BLUES = EFFECTS.register("blues", BluesEffect::new);
public static void register(IEventBus bus) {
EFFECTS.register(bus);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import ho.artisan.farmaway.FarmAway;
import ho.artisan.farmaway.common.item.EnhancedHoeItem;
import ho.artisan.farmaway.common.item.ExplosionPotatoItem;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.*;
import net.minecraft.world.level.block.Block;
Expand All @@ -25,6 +26,7 @@ public class FAItems {
public static final DeferredItem<BlockItem> GRANITE_FARMLAND = registerBlock(FABlocks.GRANITE_FARMLAND);
public static final DeferredItem<BlockItem> ANDESITE_FARMLAND = registerBlock(FABlocks.ANDESITE_FARMLAND);
public static final DeferredItem<BlockItem> DIORITE_FARMLAND = registerBlock(FABlocks.DIORITE_FARMLAND);
public static final DeferredItem<BlockItem> BLUES_CARROT = ITEMS.register("blues_carrot", () -> new ItemNameBlockItem(FABlocks.BLUES_CARROT.get(), new Item.Properties().food(new FoodProperties.Builder().alwaysEdible().nutrition(0).saturationModifier(0).effect(new MobEffectInstance(FAEffects.BLUES, 100), 1).build())));
public static final DeferredItem<ExplosionPotatoItem> EXPLOSION_POTATO = ITEMS.register("explosion_potato", () -> new ExplosionPotatoItem(new Item.Properties().food(new FoodProperties.Builder().nutrition(10).saturationModifier(0).build())));

public static DeferredItem<BlockItem> registerBlock(DeferredBlock<? extends Block> block) {
Expand Down

0 comments on commit 311bc50

Please sign in to comment.