Skip to content

Commit

Permalink
Refactor mana pod generation, add config
Browse files Browse the repository at this point in the history
  • Loading branch information
ACGaming committed Feb 7, 2025
1 parent 5c5ab8d commit e064a4e
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ public static class GeneralSettings {
"thaumcraft:warpward"
};

@Config.Name("Mana Bean: Generation Frequency")
@Config.Comment("The amount of iterations over block positions to generate Mana Pods. [default: 10]")
@Config.RangeInt(min = 0, max = 100)
public int MANA_BEAN_GENERATION_FREQUENCY = 10;

@Config.Name("Mana Bean: Research Chance")
@Config.Comment("The percentage chance for an eaten Mana Bean to grant observations and theories for research. [default: 0.33]")
@Config.RangeDouble(min = 0.0D, max = 1.0D)
Expand Down
19 changes: 19 additions & 0 deletions src/main/java/mod/icarus/crimsonrevelations/events/CREvents.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
import baubles.api.BaublesApi;
import mod.icarus.crimsonrevelations.NewCrimsonRevelations;
import mod.icarus.crimsonrevelations.block.CRBlockManaPod;
import mod.icarus.crimsonrevelations.config.CRConfig;
import mod.icarus.crimsonrevelations.init.CRItems;
import mod.icarus.crimsonrevelations.init.CRSoundEvents;
import mod.icarus.crimsonrevelations.world.WorldGenManaPods;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
Expand All @@ -14,14 +16,17 @@
import net.minecraft.stats.StatList;
import net.minecraft.util.DamageSource;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingDamageEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.player.BonemealEvent;
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import thaumcraft.common.world.biomes.BiomeGenMagicalForest;

import java.util.List;

Expand Down Expand Up @@ -119,4 +124,18 @@ public static void onUseBonemeal(BonemealEvent event) {
event.setCanceled(true);
}
}

@SubscribeEvent
public static void onDecorateBiome(DecorateBiomeEvent event) {
if (event.getWorld().getBiome(event.getPos()) instanceof BiomeGenMagicalForest) {
WorldGenManaPods worldGenManaPods = new WorldGenManaPods();

for (int k = 0; k < CRConfig.general_settings.MANA_BEAN_GENERATION_FREQUENCY; k++) {
int l = event.getPos().getX() + event.getWorld().rand.nextInt(16) + 8;
byte b0 = 64;
int i1 = event.getPos().getZ() + event.getWorld().rand.nextInt(16) + 8;
worldGenManaPods.generate(event.getWorld(), event.getWorld().rand, new BlockPos(l, b0, i1));
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ public class CRMixinLoader implements ILateMixinLoader {
{
put("mixins.crimsonrevelations.entities.json", () -> true);
put("mixins.crimsonrevelations.events.json", () -> true);
put("mixins.crimsonrevelations.world.biomes.json", () -> true);
}
});

Expand Down

This file was deleted.

11 changes: 0 additions & 11 deletions src/main/resources/mixins.crimsonrevelations.world.biomes.json

This file was deleted.

0 comments on commit e064a4e

Please sign in to comment.