Skip to content

Commit 04c602c

Browse files
committed
Prevent The Titan mod to dispawn mobs from another mods or vanilla unexpectedly
1 parent 7791d1a commit 04c602c

6 files changed

Lines changed: 38 additions & 1 deletion

File tree

dependencies.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ dependencies {
208208
implementation files("libs/TheCampingMod_2.1g.jar")
209209
implementation files("libs/Salutation-1.7.10-1.0.0.jar")
210210
implementation files("libs/CarbonConfig-1.7.10-1.1.5.jar")
211+
implementation files("libs/The Titans MC 1.7.10 version-0.5 beta v0712.jar")
211212

212213
compileOnly("com.github.GTNewHorizons:ThaumicHorizons:1.6.3:dev")
213214
compileOnly("com.github.GTNewHorizons:HoloInventory:2.4.12-GTNH:dev")
33.6 MB
Binary file not shown.

src/main/java/fr/iamacat/optimizationsandtweaks/asm/Mixin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,9 @@ public enum Mixin implements IMixin {
269269
common_themistsofriov_MixinWorldGenBalance(Side.COMMON,
270270
require(TargetedMod.THEMISTOFRIOV).and(m -> OptimizationsandTweaksConfig.enableMixinWorldGenBalance),
271271
"themistsofriov.MixinWorldGenBalance"),
272+
common_thetitan_MixinWorldHandlerTitan(Side.COMMON,
273+
require(TargetedMod.THETITANS).and(m -> OptimizationsandTweaksConfig.enableMixinWorldHandlerTitan),
274+
"thetitan.MixinWorldHandlerTitan"),
272275
common_structpro_MixinUWorld(Side.COMMON,
273276
require(TargetedMod.STRUCTPRO).and(m -> OptimizationsandTweaksConfig.enableMixinUWorld),
274277
"structpro.MixinUWorld"),

src/main/java/fr/iamacat/optimizationsandtweaks/asm/TargetedMod.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ public enum TargetedMod implements ITargetedMod {
134134
STRUCTPRO("structpro", false, startsWith("structpro")),
135135
ALIENVSPREDATOR("aliensvspredator", false, startsWith("[1.7.10-10.13.4.1614-1.7.10][4.0.0.822] aliensvspredator")),
136136
THECAMPINGMOD("TheCampingMod", false, startsWith("TheCampingMod")),
137-
SALUTATION("Salutation", false, startsWith("Salutation"))
137+
SALUTATION("Salutation", false, startsWith("Salutation")),
138+
THETITANS("The Titans", false, startsWith("The Titans"))
138139
;
139140

140141
@Getter

src/main/java/fr/iamacat/optimizationsandtweaks/config/OptimizationsandTweaksConfig.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,10 @@ public class OptimizationsandTweaksConfig {
704704
@Config.DefaultBoolean(true)
705705
@Config.RequiresWorldRestart
706706
public static boolean enableMixinWorldGenBalance;
707+
@Config.Comment("Prevent The Titan mod to dispawn mobs from another mods or vanilla unexpectedly")
708+
@Config.DefaultBoolean(true)
709+
@Config.RequiresWorldRestart
710+
public static boolean enableMixinWorldHandlerTitan;
707711
@Config.Comment("Fix Worldgen lags caused by UWorld from structpro mod")
708712
@Config.DefaultBoolean(true)
709713
@Config.RequiresWorldRestart
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package fr.iamacat.optimizationsandtweaks.mixins.common.thetitan;
2+
3+
import net.minecraft.world.World;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.injection.Redirect;
6+
import org.spongepowered.asm.mixin.injection.At;
7+
import org.spongepowered.asm.mixin.injection.Inject;
8+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
9+
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
10+
11+
import net.minecraft.theTitans.events.WorldHandler;
12+
13+
import net.minecraft.entity.EntityLiving;
14+
15+
@Mixin(WorldHandler.class)
16+
public class MixinWorldHandlerTitan {
17+
18+
@Redirect(
19+
method = "createEvent",
20+
at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/EntityLiving;func_70106_y()V"),
21+
remap = false
22+
)
23+
private void redirectMobKill(EntityLiving mob) {
24+
//System.out.println("[OptimizationsAndTweaks] Prevented mob from being killed: " + mob.getClass().getCanonicalName());
25+
}
26+
27+
28+
}

0 commit comments

Comments
 (0)