From 59e189bef2b5e6d129fb7c2c988ed0b2130e36ac Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 4 Jul 2016 18:14:22 +1000 Subject: Reformat --- .../java/cuchaz/enigma/MainFormatConverter.java | 113 --------------------- 1 file changed, 113 deletions(-) delete mode 100644 src/main/java/cuchaz/enigma/MainFormatConverter.java (limited to 'src/main/java/cuchaz/enigma/MainFormatConverter.java') diff --git a/src/main/java/cuchaz/enigma/MainFormatConverter.java b/src/main/java/cuchaz/enigma/MainFormatConverter.java deleted file mode 100644 index 4dd19ea..0000000 --- a/src/main/java/cuchaz/enigma/MainFormatConverter.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Jeff Martin. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser General Public - * License v3.0 which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/lgpl.html - *

- * Contributors: - * Jeff Martin - initial API and implementation - ******************************************************************************/ -package cuchaz.enigma; - -import com.google.common.collect.Maps; - -import java.io.File; -import java.lang.reflect.Field; -import java.util.Map; -import java.util.jar.JarFile; - -import cuchaz.enigma.analysis.JarClassIterator; -import cuchaz.enigma.mapping.*; -import javassist.CtClass; -import javassist.CtField; - -public class MainFormatConverter { - - public static void main(String[] args) - throws Exception { - - System.out.println("Getting field types from jar..."); - - JarFile jar = new JarFile(System.getProperty("user.home") + "/.minecraft/versions/1.8/1.8.jar"); - Map fieldTypes = Maps.newHashMap(); - for (CtClass c : JarClassIterator.classes(jar)) { - for (CtField field : c.getDeclaredFields()) { - FieldEntry fieldEntry = EntryFactory.getFieldEntry(field); - fieldTypes.put(getFieldKey(fieldEntry), moveClasssesOutOfDefaultPackage(fieldEntry.getType())); - } - } - - System.out.println("Reading mappings..."); - - File fileMappings = new File("../Enigma Mappings/1.8.mappings"); - MappingsReader mappingsReader = new MappingsReader() { - - @Override - protected FieldMapping readField(String obf, String deobf, String type) { - // assume the void type for now - return new FieldMapping(obf, new Type("V"), deobf); - } - }; - Mappings mappings = mappingsReader.read(fileMappings); - - System.out.println("Updating field types..."); - - for (ClassMapping classMapping : mappings.classes()) { - updateFieldsInClass(fieldTypes, classMapping); - } - - System.out.println("Saving mappings..."); - - new MappingsWriter().write(fileMappings, mappings); - - System.out.println("Done!"); - } - - private static Type moveClasssesOutOfDefaultPackage(Type type) { - return new Type(type, className -> { - ClassEntry entry = new ClassEntry(className); - if (entry.isInDefaultPackage()) { - return Constants.NONE_PACKAGE + "/" + className; - } - return null; - }); - } - - private static void updateFieldsInClass(Map fieldTypes, ClassMapping classMapping) - throws Exception { - - // update the fields - for (FieldMapping fieldMapping : classMapping.fields()) { - setFieldType(fieldTypes, classMapping, fieldMapping); - } - - // recurse - for (ClassMapping innerClassMapping : classMapping.innerClasses()) { - updateFieldsInClass(fieldTypes, innerClassMapping); - } - } - - private static void setFieldType(Map fieldTypes, ClassMapping classMapping, FieldMapping fieldMapping) - throws Exception { - - // get the new type - Type newType = fieldTypes.get(getFieldKey(classMapping, fieldMapping)); - if (newType == null) { - throw new Error("Can't find type for field: " + getFieldKey(classMapping, fieldMapping)); - } - - // hack in the new field type - Field field = fieldMapping.getClass().getDeclaredField("m_obfType"); - field.setAccessible(true); - field.set(fieldMapping, newType); - } - - private static Object getFieldKey(ClassMapping classMapping, FieldMapping fieldMapping) { - return classMapping.getObfSimpleName() + "." + fieldMapping.getObfName(); - } - - private static String getFieldKey(FieldEntry obfFieldEntry) { - return obfFieldEntry.getClassEntry().getSimpleName() + "." + obfFieldEntry.getName(); - } -} -- cgit v1.2.3