Compare commits

...

2 commits

3 changed files with 56 additions and 14 deletions
src/main
java/lat/amy/fixsquared
resources

View file

@ -1,34 +1,35 @@
package lat.amy.fixsquared;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ListMultimap;
import com.gtnewhorizon.gtnhmixins.ILateMixinLoader;
import com.gtnewhorizon.gtnhmixins.LateMixin;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
@LateMixin
public final class FixSquaredLate implements ILateMixinLoader {
private static final Map<String, Set<String>> MIXINS = ImmutableMap.of(
"Railcraft", ImmutableSet.of(
private static final ListMultimap<String, String> MIXINS = ImmutableListMultimap.<String, String>builder()
.putAll("Railcraft",
"gtnh_railcraft_bf.ItemPlateMixin",
"gtnh_railcraft_bf.ModuleFactoryMixin",
"gtnh_railcraft_bf.ModuleSteamMixin",
"gtnh_railcraft_bf.ModuleTransportMixin"),
"LogisticsPipes", ImmutableSet.of(
"logisticspipes_cull_resets.LogisticsPipesMixin"),
"lwjgl3ify", ImmutableSet.of(
"lwjgl3ify_silence_exclusions.Lwjgl3ifyMixin"),
"OpenComputers", ImmutableSet.of(
"opencomputers_gtnh_item.ModOpenComputersMixin"),
"PowerConverters", ImmutableSet.of(
"gtnh_railcraft_bf.ModuleTransportMixin")
.putAll("LogisticsPipes",
"logisticspipes_cull_resets.LogisticsPipesMixin")
.putAll("lwjgl3ify",
"lwjgl3ify_silence_exclusions.Lwjgl3ifyMixin")
.putAll("OpenComputers",
"opencomputers_gtnh_item.ModOpenComputersMixin")
.putAll("PowerConverters",
"powerconverters_buildcraft_recipe.RecipeBuildCraftMixin",
"powerconverters_ic2_voltage.TileEntityIndustrialCraftConsumerMixin",
"powerconverters_ic2_voltage.TileEntityIndustrialCraftProducerMixin")
);
.build();
@Override
public String getMixinConfig() {
@ -39,7 +40,7 @@ public final class FixSquaredLate implements ILateMixinLoader {
public List<String> getMixins(final Set<String> loadedMods) {
final List<String> mixins = new ArrayList<>();
for (final Map.Entry<String, Set<String>> entry: MIXINS.entrySet()) {
for (final Map.Entry<String, Collection<String>> entry : MIXINS.asMap().entrySet()) {
if (!loadedMods.contains(entry.getKey())) continue;
mixins.addAll(entry.getValue());

View file

@ -0,0 +1,40 @@
package lat.amy.fixsquared.mixin.delete_snooper;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import net.minecraft.profiler.PlayerUsageSnooper;
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;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.Timer;
@Mixin(PlayerUsageSnooper.class)
public abstract class PlayerUsageSnooperMixin {
@WrapOperation(method = "<init>", at = @At(value = "NEW", target = "(Ljava/lang/String;Z)Ljava/util/Timer;"))
private Timer init$newTimer(final String name, final boolean daemon, final Operation<Timer> original) {
return null;
}
@Inject(method = "startSnooper", at = @At("HEAD"), cancellable = true)
private void startSnooper(final CallbackInfo ci) {
ci.cancel();
}
@Inject(method = "stopSnooper", at = @At("HEAD"), cancellable = true)
private void stopSnooper(final CallbackInfo ci) {
ci.cancel();
}
@Inject(method = "isSnooperRunning", at = @At("HEAD"), cancellable = true)
private void isSnooperRunning(final CallbackInfoReturnable<Boolean> ci) {
ci.setReturnValue(true);
}
@Inject(method = "addMemoryStatsToSnooper", at = @At("HEAD"), cancellable = true)
private void addMemoryStatsToSnooper(final CallbackInfo ci) {
ci.cancel();
}
}

View file

@ -10,6 +10,7 @@
"nvidia_gl_destroy.MinecraftMixin"
],
"mixins": [
"delete_snooper.PlayerUsageSnooperMixin",
"properly_detect_vanilla.NetworkDispatcherMixin"
]
}