Skip to content

Commit 53cc855

Browse files
committed
Option to change spore cloud duration
1 parent 097fc00 commit 53cc855

8 files changed

Lines changed: 32 additions & 0 deletions

File tree

CHANGELOG-LATEST.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- Changes jukebox sound to be non-directional.
55
- Setting in music and sounds menu to control jukebox fade distance.
66
- Config option to disable Ecologics penguins dropping feathers.
7+
- Config option to modify Savage & Ravage creeper spore cloud durations.
78

89
### Fixed
910
- Swap Arrows can no longer force Withers into boats.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ Raspberry Core is a client and server mod for Forge 1.19.2. While it was created
3838
- [Gliders](https://modrinth.com/mod/gliders) is optional.
3939
- [Neapolitan](https://modrinth.com/mod/neapolitan) is optional.
4040
- [Quark](https://modrinth.com/mod/quark) is optional.
41+
- [Savage and Ravage](https://modrinth.com/mod/savage-and-ravage) is optional.
4142
- [Sully's Mod](https://modrinth.com/mod/sullysmod) is optional.
4243
- [Upgrade Aquatic](https://modrinth.com/mod/upgrade-aquatic) is optional.
4344

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ dependencies {
243243
modImplementation("maven.modrinth:buzzier-bees:$buzzier_bees_version")
244244
modImplementation("maven.modrinth:autumnity:$autumnity_version")
245245
modImplementation("maven.modrinth:atmospheric:$atmospheric_version")
246+
modImplementation("maven.modrinth:savage-and-ravage:$savage_and_ravage_version")
246247

247248
// Recipe viewers
248249
modImplementation("dev.emi:emi-forge:${emi_version}+$minecraft_version")

gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Done to increase the memory available to Gradle.
22
org.gradle.jvmargs=-Xmx1G
33
loom.platform = forge
4+
org.gradle.vfs.watch=true
45

56
# Mod properties
67
mod_version = 1.11-pre1
@@ -83,6 +84,7 @@ endergetic_version = 4.0.0
8384
buzzier_bees_version = 5.0.1
8485
autumnity_version = 4.0.1
8586
atmospheric_version = 5.1.2
87+
savage_and_ravage_version = 5.0.5
8688

8789
# Beacons
8890
better_beacons_version = 4834935

src/main/java/cc/cassian/raspberry/config/ModConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public class ModConfig {
6767
public boolean betterJukeboxes = true;
6868
public double jukeboxDistance = 64.0;
6969
public boolean disablePenguinShedding = false;
70+
public double creeperSporesDurationModifier = 1.0;
7071

7172
public static void load() {
7273
if (!Files.exists(configPath())) {
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package cc.cassian.raspberry.mixin.savageandravage;
2+
3+
import cc.cassian.raspberry.config.ModConfig;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
5+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
6+
import com.teamabnormals.savage_and_ravage.common.entity.projectile.SporeCloud;
7+
import net.minecraft.world.entity.AreaEffectCloud;
8+
import net.minecraft.world.entity.player.Player;
9+
import org.spongepowered.asm.mixin.Mixin;
10+
import org.spongepowered.asm.mixin.injection.At;
11+
12+
@Mixin(SporeCloud.class)
13+
public class SporeCloudMixin {
14+
15+
@WrapOperation(method = "spawnAreaEffectCloud", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/AreaEffectCloud;setDuration(I)V"))
16+
private void raspberry_modifySporeDuration(AreaEffectCloud aoe, int duration, Operation<Void> original) {
17+
if (ModConfig.get().creeperSporesDurationModifier != 1.0 && ((SporeCloud) (Object) this).getOwner() instanceof Player) {
18+
duration = (int) (duration * ModConfig.get().creeperSporesDurationModifier);
19+
}
20+
21+
original.call(aoe, duration);
22+
}
23+
}

src/main/resources/assets/raspberry/lang/en_us.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@
125125
"config.raspberry.config.disableFaucetSourceBlocks": "Disable waterlogged blocks as valid sources for Faucets",
126126
"config.raspberry.config.betterJukeboxes": "Playing music in a jukebox fades out vanilla music",
127127
"config.raspberry.config.disablePenguinShedding": "Disable Ecologics penguin feather shedding",
128+
"raspberry.config.creeper_spores_duration_modifier": "Creeper Spore Duration Modifier",
129+
"raspberry.config.creeper_spores_duration_modifier.tooltip": "Multiplies the duration of the spore cloud created when a player throws Creeper Spores (0.5 is half duration, 2.0 is double duration).",
128130

129131
"emi.cooking.time_minute": "%s Minute",
130132
"emi.cooking.time_minutes": "%s Minutes",

src/main/resources/raspberry.mixins.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@
131131
"quark.QuickArmorSwappingModuleMixin",
132132
"quark.TrowelItemMixin",
133133
"quark.WoodPostBlockMixin",
134+
"savageandravage.SporeCloudMixin",
134135
"screenshot_viewer.ScreenshotViewerMixin",
135136
"spelunkery.PointedDripstoneBlockMixin",
136137
"spyglass_improvements.EventsHandlerMixin",

0 commit comments

Comments
 (0)