mirror of
https://github.com/GTMEGA/EndlessIDs.git
synced 2026-11-13 04:17:28 +00:00
fix: avoid EndlessIDsTransformer getting initialized too early
This commit is contained in:
6 files changed
+42
-14
No files matched your search
@@ -80,18 +80,18 @@ public class EndlessIDsCore implements IFMLLoadingPlugin, IEarlyMixinLoader {
|
||||
@SuppressWarnings("unchecked")
|
||||
val exceptions = (Set<String>) field.get(cl);
|
||||
if (exceptions.contains("code.elix_x.coremods")) {
|
||||
EndlessIDsTransformer.logger.info("AntiIDConflict detected!");
|
||||
EndlessIDsTransformer.logger.info("Removing ASM protections so that we can fix its code.");
|
||||
Share.logger.info("AntiIDConflict detected!");
|
||||
Share.logger.info("Removing ASM protections so that we can fix its code.");
|
||||
exceptions.remove("code.elix_x.coremods");
|
||||
exceptions.add("code.elix_x.coremods.antiidconflict.core");
|
||||
exceptions.add("code.elix_x.coremods.antiidconflict.ByteCodeTester");
|
||||
}
|
||||
return new String[]{EndlessIDsTransformer.class.getName()};
|
||||
return new String[]{Tags.GROUPNAME + ".asm.EndlessIDsTransformer" };
|
||||
}
|
||||
|
||||
private static void loudCrash(String message) {
|
||||
for (int i = 0; i < 100; i++) {
|
||||
EndlessIDsTransformer.logger.fatal(message);
|
||||
Share.logger.fatal(message);
|
||||
}
|
||||
val err = new Error(message);
|
||||
err.setStackTrace(new StackTraceElement[0]);
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
|
||||
package com.falsepattern.endlessids.asm;
|
||||
|
||||
import com.falsepattern.endlessids.Tags;
|
||||
import com.falsepattern.endlessids.asm.transformer.DevFixer;
|
||||
import com.falsepattern.endlessids.asm.transformer.FmlRegistry;
|
||||
import com.falsepattern.endlessids.asm.transformer.GameDataAccelerator;
|
||||
@@ -33,14 +32,11 @@ import com.falsepattern.endlessids.config.GeneralConfig;
|
||||
import com.falsepattern.lib.turboasm.MergeableTurboTransformer;
|
||||
import com.falsepattern.lib.turboasm.TurboClassTransformer;
|
||||
import lombok.val;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class EndlessIDsTransformer extends MergeableTurboTransformer {
|
||||
public static final Logger logger = LogManager.getLogger(Tags.MODNAME + " ASM");
|
||||
|
||||
private static List<TurboClassTransformer> transformers() {
|
||||
val result = new ArrayList<TurboClassTransformer>();
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* EndlessIDs
|
||||
*
|
||||
* Copyright (C) 2022-2026 FalsePattern, The MEGA Team
|
||||
* All Rights Reserved
|
||||
*
|
||||
* The above copyright notice, this permission notice and the word "MEGA"
|
||||
* shall be included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, only version 3 of the License.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.falsepattern.endlessids.asm;
|
||||
|
||||
import com.falsepattern.endlessids.Tags;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
public final class Share {
|
||||
public static final Logger logger = LogManager.getLogger(Tags.MODNAME + " ASM");
|
||||
|
||||
private Share() {}
|
||||
}
|
||||
@@ -22,9 +22,9 @@
|
||||
|
||||
package com.falsepattern.endlessids.asm.transformer;
|
||||
|
||||
import com.falsepattern.endlessids.asm.Share;
|
||||
import com.falsepattern.endlessids.Tags;
|
||||
import com.falsepattern.endlessids.asm.AsmTransformException;
|
||||
import com.falsepattern.endlessids.asm.EndlessIDsTransformer;
|
||||
import com.falsepattern.endlessids.config.GeneralConfig;
|
||||
import com.falsepattern.lib.turboasm.ClassNodeHandle;
|
||||
import com.falsepattern.lib.turboasm.TurboClassTransformer;
|
||||
@@ -64,7 +64,7 @@ public class GameDataAccelerator implements TurboClassTransformer {
|
||||
}
|
||||
|
||||
private static void transformError(MethodNode method) {
|
||||
EndlessIDsTransformer.logger.error("Could not add caching code to GameData." + method.name + method.desc);
|
||||
Share.logger.error("Could not add caching code to GameData.{}{}", method.name, method.desc);
|
||||
}
|
||||
|
||||
private void transformRegisterBlock(MethodNode method) {
|
||||
|
||||
-1
@@ -24,7 +24,6 @@ package com.falsepattern.endlessids.asm.transformer;
|
||||
|
||||
import com.falsepattern.endlessids.Tags;
|
||||
import com.falsepattern.endlessids.asm.EndlessIDsCore;
|
||||
import com.falsepattern.endlessids.asm.EndlessIDsTransformer;
|
||||
import com.falsepattern.lib.turboasm.ClassNodeHandle;
|
||||
import com.falsepattern.lib.turboasm.TurboClassTransformer;
|
||||
import lombok.val;
|
||||
|
||||
+3
-3
@@ -22,9 +22,9 @@
|
||||
|
||||
package com.falsepattern.endlessids.asm.transformer.chunk;
|
||||
|
||||
import com.falsepattern.endlessids.asm.Share;
|
||||
import com.falsepattern.endlessids.Tags;
|
||||
import com.falsepattern.endlessids.asm.EndlessIDsCore;
|
||||
import com.falsepattern.endlessids.asm.EndlessIDsTransformer;
|
||||
import com.falsepattern.lib.turboasm.BytePatternMatcher;
|
||||
import com.falsepattern.lib.turboasm.ClassNodeHandle;
|
||||
import com.falsepattern.lib.turboasm.TurboClassTransformer;
|
||||
@@ -456,7 +456,7 @@ public class ChunkProviderSuperPatcher implements TurboClassTransformer {
|
||||
val memory = findTheTarget(method, cn);
|
||||
if (memory != null) {
|
||||
patched = true;
|
||||
EndlessIDsTransformer.logger.debug("[ChunkProvider patcher]: Match found in method " + method.name);
|
||||
Share.logger.debug("[ChunkProvider patcher]: Match found in method {}", method.name);
|
||||
val insnList = method.instructions;
|
||||
for (val node : method.localVariables) {
|
||||
if (node.desc.equals("[B") && node.index == memory.biomeArrayIndex) {
|
||||
@@ -473,7 +473,7 @@ public class ChunkProviderSuperPatcher implements TurboClassTransformer {
|
||||
}
|
||||
}
|
||||
if (!patched) {
|
||||
EndlessIDsTransformer.logger.debug("[ChunkProvider patcher]: No matches found in class! This is not explicitly " +
|
||||
Share.logger.debug("[ChunkProvider patcher]: No matches found in class! This is not explicitly " +
|
||||
"an error, because the patch might be applied by a mixin instead!");
|
||||
}
|
||||
return patched;
|
||||
|
||||
Reference in new issue
Block a user