diff options
author | Keuin <[email protected]> | 2020-12-28 22:53:31 +0800 |
---|---|---|
committer | Keuin <[email protected]> | 2020-12-28 22:53:31 +0800 |
commit | 4dad5fc27145593c14425b3e673b924155903585 (patch) | |
tree | 3573b6ddb9170126d47f75a10b91c140c6fd9e98 /src/main/java/com/keuin/ohmyvanillamc/mixin | |
parent | f287ea9dbb54b96c15f441b7f72e7d6527704ded (diff) |
Version 1.3.0: add switches for all disable features. Fixed the vanilla bug that the entity trackers sometimes spam in the console.
Diffstat (limited to 'src/main/java/com/keuin/ohmyvanillamc/mixin')
3 files changed, 50 insertions, 6 deletions
diff --git a/src/main/java/com/keuin/ohmyvanillamc/mixin/DisableEntityTrackerEntrySpamming.java b/src/main/java/com/keuin/ohmyvanillamc/mixin/DisableEntityTrackerEntrySpamming.java new file mode 100644 index 0000000..523aeed --- /dev/null +++ b/src/main/java/com/keuin/ohmyvanillamc/mixin/DisableEntityTrackerEntrySpamming.java @@ -0,0 +1,19 @@ +package com.keuin.ohmyvanillamc.mixin; + +import com.keuin.ohmyvanillamc.DummyLogger; +import net.minecraft.server.network.EntityTrackerEntry; +import org.apache.logging.log4j.Logger; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(EntityTrackerEntry.class) +public class DisableEntityTrackerEntrySpamming { + + private static final Logger DUMMY_LOGGER = new DummyLogger(); + + @Accessor("LOGGER") + private static Logger LOGGER() { + return DUMMY_LOGGER; + } + +} diff --git a/src/main/java/com/keuin/ohmyvanillamc/mixin/DisablePhantomSpawning.java b/src/main/java/com/keuin/ohmyvanillamc/mixin/DisablePhantomSpawning.java new file mode 100644 index 0000000..d5788c7 --- /dev/null +++ b/src/main/java/com/keuin/ohmyvanillamc/mixin/DisablePhantomSpawning.java @@ -0,0 +1,22 @@ +package com.keuin.ohmyvanillamc.mixin; + +import com.keuin.ohmyvanillamc.OhMyVanillaMinecraft; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.world.gen.PhantomSpawner; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(PhantomSpawner.class) +public class DisablePhantomSpawning { + /** + * Disable phantom spawning + * @author trueKeuin + */ + @Inject(method = "spawn", at = @At("HEAD"), cancellable = true) + public void spawn(ServerWorld serverWorld, boolean spawnMonsters, boolean spawnAnimals, CallbackInfo ci) { + if (OhMyVanillaMinecraft.disablePhantomSpawning) + ci.cancel(); + } +} diff --git a/src/main/java/com/keuin/ohmyvanillamc/mixin/DisableWanderingTraderSpawning.java b/src/main/java/com/keuin/ohmyvanillamc/mixin/DisableWanderingTraderSpawning.java index c7049d8..040c352 100644 --- a/src/main/java/com/keuin/ohmyvanillamc/mixin/DisableWanderingTraderSpawning.java +++ b/src/main/java/com/keuin/ohmyvanillamc/mixin/DisableWanderingTraderSpawning.java @@ -1,18 +1,21 @@ package com.keuin.ohmyvanillamc.mixin; +import com.keuin.ohmyvanillamc.OhMyVanillaMinecraft; import net.minecraft.world.WanderingTraderManager; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(WanderingTraderManager.class) public class DisableWanderingTraderSpawning { - /** - * @reason disable ticking + * Disable ticking * @author trueKeuin */ - @Overwrite - public void tick() { + @Inject(method = "tick", at = @At("HEAD"), cancellable = true) + public void tick(CallbackInfo ci) { + if (OhMyVanillaMinecraft.disableWanderingTraderSpawning) + ci.cancel(); } - } |