From d557307f31d49afadd195c24fece7f0a257323e3 Mon Sep 17 00:00:00 2001
From: Ruling-0 <47913168+Ruling-0@users.noreply.github.com>
Date: Tue, 10 Mar 2026 19:37:43 -0500
Subject: [PATCH 1/4] Drop Lust shards on entity breeding in nether
---
.../spiteful/forbidden/FMEventHandler.java | 27 +++++++++++++------
.../forbidden/items/tools/ItemRidingCrop.java | 11 --------
2 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/main/java/fox/spiteful/forbidden/FMEventHandler.java b/src/main/java/fox/spiteful/forbidden/FMEventHandler.java
index f64809e..92383c3 100644
--- a/src/main/java/fox/spiteful/forbidden/FMEventHandler.java
+++ b/src/main/java/fox/spiteful/forbidden/FMEventHandler.java
@@ -23,6 +23,7 @@
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.monster.IMob;
+import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
@@ -38,6 +39,7 @@
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.util.FakePlayer;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
@@ -518,16 +520,8 @@ public void onFeelPain(LivingHurtEvent event) {
int doses = 3 * (int) Math.min(event.ammount, event.entityLiving.getHealth());
if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) {
EntityPlayer dom = (EntityPlayer) event.source.getEntity();
- int chance = 1;
if (dom.getHeldItem() != null && dom.getHeldItem().getItem() instanceof ItemRidingCrop) {
doses += 3;
- chance += 3;
- }
- if (player.worldObj.provider.dimensionId == -1 && randy.nextInt(30) < chance) {
- EntityItem ent = player.entityDropItem(new ItemStack(ForbiddenItems.deadlyShards, 1, 4), 1.0F);
- ent.motionY += player.worldObj.rand.nextFloat() * 0.05F;
- ent.motionX += (player.worldObj.rand.nextFloat() - player.worldObj.rand.nextFloat()) * 0.1F;
- ent.motionZ += (player.worldObj.rand.nextFloat() - player.worldObj.rand.nextFloat()) * 0.1F;
}
}
ItemSubCollar collar = ((ItemSubCollar) ForbiddenItems.subCollar);
@@ -538,6 +532,23 @@ public void onFeelPain(LivingHurtEvent event) {
}
}
+ @SubscribeEvent
+ public void onBabySpawn(EntityJoinWorldEvent event) {
+ if (!Config.noLust && !event.world.isRemote
+ && event.world.provider.dimensionId == -1
+ && event.entity instanceof EntityAnimal baby
+ && baby.getGrowingAge() < 0) {
+ EntityItem ent = new EntityItem(
+ event.world,
+ baby.posX,
+ baby.posY,
+ baby.posZ,
+ new ItemStack(ForbiddenItems.deadlyShards, 1, 4));
+ ent.delayBeforeCanPickup = 10;
+ event.world.spawnEntityInWorld(ent);
+ }
+ }
+
@SubscribeEvent
public void onTooltip(ItemTooltipEvent event) {
if (event.itemStack.getItem() instanceof ItemWandCasting) {
diff --git a/src/main/java/fox/spiteful/forbidden/items/tools/ItemRidingCrop.java b/src/main/java/fox/spiteful/forbidden/items/tools/ItemRidingCrop.java
index 5a4479a..5c0c3af 100644
--- a/src/main/java/fox/spiteful/forbidden/items/tools/ItemRidingCrop.java
+++ b/src/main/java/fox/spiteful/forbidden/items/tools/ItemRidingCrop.java
@@ -3,7 +3,6 @@
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.monster.EntityGolem;
import net.minecraft.entity.passive.EntityHorse;
import net.minecraft.entity.passive.EntityPig;
@@ -20,9 +19,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import fox.spiteful.forbidden.Config;
import fox.spiteful.forbidden.Forbidden;
-import fox.spiteful.forbidden.items.ForbiddenItems;
public class ItemRidingCrop extends ItemSword {
@@ -49,14 +46,6 @@ else if (victim instanceof EntityPlayer || victim instanceof EntityGolem) {
victim.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 200, 1));
victim.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 200, 1));
}
- if (!player.worldObj.isRemote && !Config.noLust
- && player.worldObj.provider.dimensionId == -1
- && player.worldObj.rand.nextInt(15) == 1) {
- EntityItem ent = victim.entityDropItem(new ItemStack(ForbiddenItems.deadlyShards, 1, 4), 1.0F);
- ent.motionY += player.worldObj.rand.nextFloat() * 0.05F;
- ent.motionX += (player.worldObj.rand.nextFloat() - player.worldObj.rand.nextFloat()) * 0.1F;
- ent.motionZ += (player.worldObj.rand.nextFloat() - player.worldObj.rand.nextFloat()) * 0.1F;
- }
return true;
}
From aaeb0cd2c1bf362991d4d7931deb3745cd321131 Mon Sep 17 00:00:00 2001
From: Ruling-0 <47913168+Ruling-0@users.noreply.github.com>
Date: Tue, 10 Mar 2026 19:45:20 -0500
Subject: [PATCH 2/4] Add research notes for lust shards
---
src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java | 2 +-
src/main/resources/assets/forbidden/lang/en_US.lang | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java b/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java
index 1321744..1d039f1 100644
--- a/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java
+++ b/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java
@@ -173,7 +173,7 @@ public static void addInfernalism() {
.setPages(
new ResearchPage("forbidden.research_page.NETHERSHARDS.1"),
new ResearchPage("forbidden.research_page.NETHERSHARDS.2b"),
- new ResearchPage("forbidden.research_page.NETHERSHARDS.3"))
+ new ResearchPage("forbidden.research_page.NETHERSHARDS.3b"))
.setStub().setRound().setAutoUnlock().registerResearchItem();
(new DarkResearchItem(
diff --git a/src/main/resources/assets/forbidden/lang/en_US.lang b/src/main/resources/assets/forbidden/lang/en_US.lang
index 866dac3..9dcadec 100644
--- a/src/main/resources/assets/forbidden/lang/en_US.lang
+++ b/src/main/resources/assets/forbidden/lang/en_US.lang
@@ -170,7 +170,8 @@ forbidden.research_text.NETHERSHARDS=Aim to misbehave.
forbidden.research_page.NETHERSHARDS.1=Strange energies swirl through the Nether. On occasion, they have been known to solidify into crystal shards when certain sympathetic events occur.
forbidden.research_page.NETHERSHARDS.2=These crystals are imbued with different vices and have many uses for more unscrupulous Thaumaturges.
There are seven documented types of nether shard, each attuned to a different "deadly sin."
forbidden:textures/misc/research.png:0:0:111:16:1
forbidden.research_page.NETHERSHARDS.2b=These crystals are imbued with different vices and have many uses for more unscrupulous Thaumaturges.
There are six documented types of nether shard, each attuned to a different "deadly sin."
forbidden:textures/misc/research.png:0:16:95:16:1
-forbidden.research_page.NETHERSHARDS.3=Wrath Shards crystallize around acts of violence. The more excessive the physical force used, the more likely it is for a Wrath Shard to appear.
Sloth Shards congeal when proxies and accidents are used to collect resources without effort.
Envy Shards are taken from those who have them by those that covet them.
Pride Shards materialize when a creature of truly great power is cut down to size.
Gluttony Shards crystallize when someone feasts.
Greed Shards appear when enchantment is used to turn a profit.
+forbidden.research_page.NETHERSHARDS.3=Wrath Shards crystallize around acts of violence. The more excessive the physical force used, the more likely it is for a Wrath Shard to appear.
Sloth Shards congeal when proxies and accidents are used to collect resources without effort.
Envy Shards are taken from those who have them by those that covet them.
Pride Shards materialize when a creature of truly great power is cut down to size.
Gluttony Shards crystallize when someone feasts.
Greed Shards appear when enchantment is used to turn a profit.
Lust Shards emerge from the breeding of living things.
+forbidden.research_page.NETHERSHARDS.3b=Wrath Shards crystallize around acts of violence. The more excessive the physical force used, the more likely it is for a Wrath Shard to appear.
Sloth Shards congeal when proxies and accidents are used to collect resources without effort.
Envy Shards are taken from those who have them by those that covet them.
Pride Shards materialize when a creature of truly great power is cut down to size.
Gluttony Shards crystallize when someone feasts.
Greed Shards appear when enchantment is used to turn a profit.
#
forbidden.research_name.SKULLAXE=Axe of the Skulltaker
forbidden.research_text.SKULLAXE=Off with their heads!
From 224b3499339d71e49dfa4b45b3e5dfceb213a28c Mon Sep 17 00:00:00 2001
From: Ruling-0 <47913168+Ruling-0@users.noreply.github.com>
Date: Tue, 10 Mar 2026 19:50:33 -0500
Subject: [PATCH 3/4] Make drop chanced
---
src/main/java/fox/spiteful/forbidden/FMEventHandler.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/main/java/fox/spiteful/forbidden/FMEventHandler.java b/src/main/java/fox/spiteful/forbidden/FMEventHandler.java
index 92383c3..968b7cc 100644
--- a/src/main/java/fox/spiteful/forbidden/FMEventHandler.java
+++ b/src/main/java/fox/spiteful/forbidden/FMEventHandler.java
@@ -537,7 +537,8 @@ public void onBabySpawn(EntityJoinWorldEvent event) {
if (!Config.noLust && !event.world.isRemote
&& event.world.provider.dimensionId == -1
&& event.entity instanceof EntityAnimal baby
- && baby.getGrowingAge() < 0) {
+ && baby.getGrowingAge() < 0
+ && randy.nextInt(3) == 1) {
EntityItem ent = new EntityItem(
event.world,
baby.posX,
From ba1e97c9cada7ff4ef99980a5398a1dac8b60afd Mon Sep 17 00:00:00 2001
From: Ruling-0 <47913168+Ruling-0@users.noreply.github.com>
Date: Tue, 10 Mar 2026 20:08:25 -0500
Subject: [PATCH 4/4] Better lang entry
---
src/main/resources/assets/forbidden/lang/en_US.lang | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/resources/assets/forbidden/lang/en_US.lang b/src/main/resources/assets/forbidden/lang/en_US.lang
index 9dcadec..240c251 100644
--- a/src/main/resources/assets/forbidden/lang/en_US.lang
+++ b/src/main/resources/assets/forbidden/lang/en_US.lang
@@ -170,7 +170,7 @@ forbidden.research_text.NETHERSHARDS=Aim to misbehave.
forbidden.research_page.NETHERSHARDS.1=Strange energies swirl through the Nether. On occasion, they have been known to solidify into crystal shards when certain sympathetic events occur.
forbidden.research_page.NETHERSHARDS.2=These crystals are imbued with different vices and have many uses for more unscrupulous Thaumaturges.
There are seven documented types of nether shard, each attuned to a different "deadly sin."
forbidden:textures/misc/research.png:0:0:111:16:1
forbidden.research_page.NETHERSHARDS.2b=These crystals are imbued with different vices and have many uses for more unscrupulous Thaumaturges.
There are six documented types of nether shard, each attuned to a different "deadly sin."
forbidden:textures/misc/research.png:0:16:95:16:1
-forbidden.research_page.NETHERSHARDS.3=Wrath Shards crystallize around acts of violence. The more excessive the physical force used, the more likely it is for a Wrath Shard to appear.
Sloth Shards congeal when proxies and accidents are used to collect resources without effort.
Envy Shards are taken from those who have them by those that covet them.
Pride Shards materialize when a creature of truly great power is cut down to size.
Gluttony Shards crystallize when someone feasts.
Greed Shards appear when enchantment is used to turn a profit.
Lust Shards emerge from the breeding of living things.
+forbidden.research_page.NETHERSHARDS.3=Wrath Shards crystallize around acts of violence. The more excessive the physical force used, the more likely it is for a Wrath Shard to appear.
Sloth Shards congeal when proxies and accidents are used to collect resources without effort.
Envy Shards are taken from those who have them by those that covet them.
Pride Shards materialize when a creature of truly great power is cut down to size.
Gluttony Shards crystallize when someone feasts.
Greed Shards appear when enchantment is used to turn a profit.
Lust Shards emerge from the recreation of fauna.
forbidden.research_page.NETHERSHARDS.3b=Wrath Shards crystallize around acts of violence. The more excessive the physical force used, the more likely it is for a Wrath Shard to appear.
Sloth Shards congeal when proxies and accidents are used to collect resources without effort.
Envy Shards are taken from those who have them by those that covet them.
Pride Shards materialize when a creature of truly great power is cut down to size.
Gluttony Shards crystallize when someone feasts.
Greed Shards appear when enchantment is used to turn a profit.
#
forbidden.research_name.SKULLAXE=Axe of the Skulltaker