Skip to content

Commit

Permalink
fix issues with older versions of mc
Browse files Browse the repository at this point in the history
  • Loading branch information
Jack committed Oct 9, 2023
1 parent a68a6f6 commit d8160b2
Show file tree
Hide file tree
Showing 16 changed files with 121 additions and 39 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G
org.gradle.jvmargs=-Xmx3G
org.gradle.parallel=true

# Fabric Properties
Expand All @@ -11,7 +11,7 @@ loader_version=0.14.22
# Mod Properties
mod_name = Configurable
mod_id = configurable
mod_version=1.1.5
mod_version=1.1.6
maven_group=tech.lemonlime
archives_base_name=Configurable

Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
package tech.lemonlime.ToggleEnd;
package tech.lemonlime.Configurable;

import dev.xpple.betterconfig.api.ModConfigBuilder;
import net.fabricmc.api.ModInitializer;


//#if MC >= 11900

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

//#else
//$$ import org.apache.logging.log4j.LogManager;
//$$ import org.apache.logging.log4j.Logger;
//#endif



public class Configured implements ModInitializer {
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final Logger LOGGER = LoggerFactory.getLogger("configurable");
public static final Logger LOGGER = getLogger("configurable");

@Override
public void onInitialize() {
Expand All @@ -21,8 +31,24 @@ public void onInitialize() {
new ModConfigBuilder("configured", Settings.class).build();


new ModConfigBuilder("configured-fixes", Fixes.class).build();





LOGGER.info("Minecraft is now more configurable!");
}


public static Logger getLogger(String name) {
//#if MC >= 11900
return LoggerFactory.getLogger(name);

//#else
//$$ return LogManager.getLogger(name);
//#endif
}


}
12 changes: 12 additions & 0 deletions src/main/java/tech/lemonlime/Configurable/Fixes.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package tech.lemonlime.Configurable;

import dev.xpple.betterconfig.api.Config;

public class Fixes {


@Config(comment = "Made by FX, (USE CARPET FIXES, this is only here because of mod incompatibilities)")
public static boolean stringDupeFix = false;


}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package tech.lemonlime.ToggleEnd;
package tech.lemonlime.Configurable;

import dev.xpple.betterconfig.api.Config;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package tech.lemonlime.ToggleEnd.mixin.feature.disableEnd;
package tech.lemonlime.Configurable.mixin.feature.disableEnd;


import net.minecraft.block.BlockState;
Expand All @@ -10,7 +10,7 @@
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.Configurable.Settings;

@Mixin(EndPortalBlock.class)
public class EndPortalBlockMixin {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
package tech.lemonlime.ToggleEnd.mixin.feature.disableEndGateways;
package tech.lemonlime.Configurable.mixin.feature.disableEndGateways;


import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import net.minecraft.block.entity.EndGatewayBlockEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.Configurable.Settings;

@Mixin(EndGatewayBlockEntity.class)
public class EndGatewayBlockEntityMixin {


//#if MC > 11700
@ModifyExpressionValue(method = "serverTick", at = @At(value = "INVOKE", target = "Ljava/util/List;isEmpty()Z"))
//#else
//$$ @ModifyExpressionValue(method = "tick", at = @At(value = "INVOKE", target = "Ljava/util/List;isEmpty()Z"))
//#endif
private static boolean configured$conditionalGatewayTeleport(boolean original) {
return original || Settings.disableEndGateways;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
package tech.lemonlime.ToggleEnd.mixin.feature.disableEndPortalFrameFilling;
package tech.lemonlime.Configurable.mixin.feature.disableEndPortalFrameFilling;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.EnderEyeItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUsageContext;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
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.CallbackInfoReturnable;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.Configurable.Settings;


@Mixin(EnderEyeItem.class)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
package tech.lemonlime.ToggleEnd.mixin.feature.disableEyeOfEnderCasting;
package tech.lemonlime.Configurable.mixin.feature.disableEyeOfEnderCasting;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.EnderEyeItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUsageContext;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
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.CallbackInfoReturnable;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.Configurable.Settings;


@Mixin(EnderEyeItem.class)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package tech.lemonlime.ToggleEnd.mixin.feature.disableNether;
package tech.lemonlime.Configurable.mixin.feature.disableNether;


import net.minecraft.block.BlockState;
Expand All @@ -10,7 +10,7 @@
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.Configurable.Settings;

@Mixin(NetherPortalBlock.class)
public class NetherPortalBlockMixin {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package tech.lemonlime.ToggleEnd.mixin.feature.disablePVP;
package tech.lemonlime.Configurable.mixin.feature.disablePVP;


import net.minecraft.server.MinecraftServer;
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.CallbackInfoReturnable;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.Configurable.Settings;

@Mixin(MinecraftServer.class)
public class MinecraftServerMixin {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package tech.lemonlime.ToggleEnd.mixin.feature.disablePlayerConnections;
package tech.lemonlime.Configurable.mixin.feature.disablePlayerConnections;


import com.mojang.authlib.GameProfile;
Expand All @@ -9,8 +9,8 @@
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.ToggleEnd.util.TextHelper;
import tech.lemonlime.Configurable.Settings;
import tech.lemonlime.Configurable.util.TextHelper;

import java.net.SocketAddress;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package tech.lemonlime.ToggleEnd.mixin.feature.fakeHardcore;
package tech.lemonlime.Configurable.mixin.feature.fakeHardcore;


import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import net.minecraft.server.PlayerManager;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.Configurable.Settings;

@Mixin(PlayerManager.class)
public abstract class PlayerManagerMixin {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package tech.lemonlime.ToggleEnd.mixin.feature.motd;
package tech.lemonlime.Configurable.mixin.feature.motd;


import net.minecraft.server.ServerMetadata;
Expand All @@ -7,15 +7,19 @@
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import tech.lemonlime.ToggleEnd.Settings;
import tech.lemonlime.ToggleEnd.util.TextHelper;
import tech.lemonlime.Configurable.Settings;
import tech.lemonlime.Configurable.util.TextHelper;

@Mixin(ServerMetadata.class)
public class ServerMetadataMixin {



//#if MC >= 11900
@Inject(method = "description", at=@At("HEAD"), cancellable = true)
//#else
//$$ @Inject(method = "getDescription", at=@At("HEAD"), cancellable = true)
//#endif
private void toggleEnd$configurableMOTD(CallbackInfoReturnable<Text> cir){


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package tech.lemonlime.Configurable.mixin.fix.stringDupeFix;



import net.minecraft.block.TripwireBlock;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;
import tech.lemonlime.Configurable.Fixes;

/**
* Fixes the wring dupe at the cost of removing the ability to disarm tripwire. Wait you didn't know you could do that?
* That's why I decided to do it xD
* - FX
*
*
* I wish I had time to make a real fix D:
* - Jack
*/

@Mixin(TripwireBlock.class)
public class TripwireBlockMixin {


@ModifyArg(
method = "update",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/block/TripwireHookBlock;update(Lnet/minecraft/world/World;" +
"Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;" +
"ZZILnet/minecraft/block/BlockState;)V"
),
index = 5
)
private int alwaysNegativeOne(int i) {
return Fixes.stringDupeFix ? -1 : i;
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package tech.lemonlime.ToggleEnd.util;
package tech.lemonlime.Configurable.util;



import net.minecraft.text.Text;


//#if MC < 11700
//#if MC < 11900
//$$ import net.minecraft.text.LiteralText;
//$$ import net.minecraft.text.TranslatableText;
//#endif
Expand All @@ -14,26 +14,29 @@ public class TextHelper {


public static Text literal(String text) {
//#if MC >= 11700
//#if MC >= 11900
return Text.literal(text);
//#else
//$$ return new LiteralText(text);
//#endif
}



public static Text translatable(String text) {
//#if MC >= 11700
//#if MC >= 11900
return Text.translatable(text);
//#else
//$$ return new TranslatableText(text);
//#endif
}

public static Text translatable(String text, Object... args) {
//#if MC >= 11700
//#if MC >= 11900
return Text.translatable(text, args);
//#else
//$$ return new TranslatableText(text, args);
//#endif
}

}
5 changes: 3 additions & 2 deletions src/main/resources/toggle-end.mixins.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"required": true,
"package": "tech.lemonlime.ToggleEnd.mixin",
"package": "tech.lemonlime.Configurable.mixin",
"compatibilityLevel": "JAVA_17",
"mixins": [
"feature.disableEnd.EndPortalBlockMixin",
Expand All @@ -10,7 +10,8 @@
"feature.disablePlayerConnections.PlayerManagerMixin",
"feature.disablePVP.MinecraftServerMixin",
"feature.fakeHardcore.PlayerManagerMixin",
"feature.motd.ServerMetadataMixin"
"feature.motd.ServerMetadataMixin",
"fix.stringDupeFix.TripwireBlockMixin"
],
"injectors": {
"defaultRequire": 1
Expand Down

0 comments on commit d8160b2

Please sign in to comment.