1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Хочу перевести файл из .java в .class

Тема в разделе "Разработка плагинов для новичков", создана пользователем VINNI_PUHOVIH, 18 окт 2023.

  1. Автор темы
    VINNI_PUHOVIH

    VINNI_PUHOVIH Ньюби

    Баллы:
    1
    Имя в Minecraft:
    VINNI_PUHOVIH
    У меня есть 2 файла, в формате java, и мне нужно импортировать в .class , подскажите, как это сделать? На просторах интернета так и не нашёл понятного мне ответа(
    Кто может, объясните пожалуйста!

    Почему задаю этот вопрос: Я хотел изменить версию плагина с 1.16.4 на 1.20.1, потому что плагин не дает себя запустить на высоких версиях. Я переделал файл class в java, переписал код, и теперь мне нужно переделать обратно в class.

    Вот код обоих файлов:
    1)
    Код:
    //
    // Decompiled by Procyon v0.5.36
    //
    
    package org.mineacademy.winter.lib.fo;
    
    import org.mineacademy.winter.lib.fo.exception.FoException;
    
    public enum V
    {
        public static final V v1_17;
        public static final V v1_16;
        public static final V v1_15;
        public static final V v1_14;
        public static final V v1_13;
        public static final V v1_12;
        public static final V v1_11;
        public static final V v1_10;
        public static final V v1_9;
        public static final V v1_8;
        public static final V v1_7;
        public static final V v1_6;
        public static final V v1_5;
        public static final V v1_4;
        public static final V v1_3_AND_BELOW;
        private final int minorVersionNumber;
        private final boolean tested;
        
        public static V valueOf(final String name) {
            return Enum.valueOf(V.class, name);
        }
        
        private V(final int n2) {
            this(s, n, n2, true);
        }
        
        private V(final int minorVersionNumber, final boolean tested) {
            this.minorVersionNumber = minorVersionNumber;
            this.tested = tested;
        }
        
        protected static V parse(final int i) {
            for (final V v : values()) {
                if (v.minorVersionNumber == i) {
                    return v;
                }
            }
            throw new FoException("Invalid version number: " + i);
        }
        
        @Override
        public String toString() {
            return "1." + this.minorVersionNumber;
        }
        
        public boolean isTested() {
            return this.tested;
        }
        
        static {
            V.v1_17 = new V("v1_17", 0, 17, false);
            V.v1_16 = new V("v1_16", 1, 16);
            V.v1_15 = new V("v1_15", 2, 15);
            V.v1_14 = new V("v1_14", 3, 14);
            V.v1_13 = new V("v1_13", 4, 13);
            V.v1_12 = new V("v1_12", 5, 12);
            V.v1_11 = new V("v1_11", 6, 11);
            V.v1_10 = new V("v1_10", 7, 10);
            V.v1_9 = new V("v1_9", 8, 9);
            V.v1_8 = new V("v1_8", 9, 8);
            V.v1_7 = new V("v1_7", 10, 7);
            V.v1_6 = new V("v1_6", 11, 6);
            V.v1_5 = new V("v1_5", 12, 5);
            V.v1_4 = new V("v1_4", 13, 4);
            V.v1_3_AND_BELOW = new V("v1_3_AND_BELOW", 14, 3);
            V.$VALUES = new V[] { V.v1_17, V.v1_16, V.v1_15, V.v1_14, V.v1_13, V.v1_12, V.v1_11, V.v1_10, V.v1_9, V.v1_8, V.v1_7, V.v1_6, V.v1_5, V.v1_4, V.v1_3_AND_BELOW };
        }
    }
    
    2)
    Код:
    //
    // Decompiled by Procyon v0.5.36
    //
    
    package org.mineacademy.winter.lib.fo;
    import javac MinecraftVersion.java
    
    public final class MinecraftVersion
    {
        private static String serverVersion;
        private static V current;
        
        public static boolean equals(final V v) {
            return compareWith(v) == 0;
        }
        
        public static boolean olderThan(final V v) {
            return compareWith(v) < 0;
        }
        
        public static boolean newerThan(final V v) {
            return compareWith(v) > 0;
        }
        
        public static boolean atLeast(final V v) {
            return equals(v) || newerThan(v);
        }
        
        private static int compareWith(final V v) {
            try {
                return getCurrent().minorVersionNumber - v.minorVersionNumber;
            }
            catch (Throwable t) {
                t.printStackTrace();
                return 0;
            }
        }
        
        public static String getServerVersion() {
            return MinecraftVersion.serverVersion.equals("craftbukkit") ? "" : MinecraftVersion.serverVersion;
        }
        
        public static V getCurrent() {
            return MinecraftVersion.current;
        }
        
        static {
            try {
                final String anObject = (Bukkit.getServer() == null) ? "" : Bukkit.getServer().getClass().getPackage().getName();
                final String substring = anObject.substring(anObject.lastIndexOf(46) + 1);
                final boolean b = !"craftbukkit".equals(substring) && !"".equals(anObject);
                MinecraftVersion.serverVersion = substring;
                if (b) {
                    int n = 0;
                    for (final char c : substring.toCharArray()) {
                        if (++n > 2 && c == 'R') {
                            break;
                        }
                    }
                    final String replace = substring.substring(1, n - 2).replace("_", ".");
                    int n2 = 0;
                    final char[] charArray2 = replace.toCharArray();
                    for (int length2 = charArray2.length, j = 0; j < length2; ++j) {
                        if (charArray2[j] == '.') {
                            ++n2;
                        }
                    }
                    Valid.checkBoolean(n2 == 1, "Minecraft Version checker malfunction. Could not detect your server version. Detected: " + replace + " Current: " + substring, new Object[0]);
                    MinecraftVersion.current = V.parse(Integer.parseInt(replace.split("\\.")[1]));
                }
                else {
                    MinecraftVersion.current = V.v1_3_AND_BELOW;
                }
            }
            catch (Throwable t) {
                Common.error(t, new String[] { "Error detecting your Minecraft version. Check your server compatibility." });
            }
        }
        
        public enum V
        {
            v1_20(20),
            v1_16(16),
            v1_15(15),
            v1_14(14),
            v1_13(13),
            v1_12(12),
            v1_11(11),
            v1_10(10),
            v1_9(9),
            v1_8(8),
            v1_7(7),
            v1_6(6),
            v1_5(5),
            v1_4(4),
            v1_3_AND_BELOW(3);
            
            private final int minorVersionNumber;
            private final boolean tested;
            
            private V(final int n2) {
                this(n2, true);
            }
            
            private V(final int minorVersionNumber, final boolean tested) {
                this.minorVersionNumber = minorVersionNumber;
                this.tested = tested;
            }
            
            protected static V parse(final int i) {
                for (final V v : values()) {
                    if (v.minorVersionNumber == i) {
                        return v;
                    }
                }
                throw new FoException("Invalid version number: " + i);
            }
            
            @Override
            public String toString() {
                return "1." + this.minorVersionNumber;
            }
            
            public boolean isTested() {
                return this.tested;
            }
        }
    }
    
     
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Потому что простого ответа тут и нет.
    Тебе необходимо создать полноценный проект в IDE и скомпилировать его под новую версию ядра.
    Для начала рекомендую разобраться, как вообще создавать простейшие плагины и собирать их в JAR.

    Ещё в идеале иметь исходный код плагина, который ты меняешь, иначе можно столкнуться с кучей проблем. Как я вижу, плагин платный, исходников нет, поэтому будь готов погружаться с головой в программирование.

    И вообще, если ты покупал этот плагин, то будет правильней обратиться к разработчику/студии, чтобы они обновили плагин самостоятельно. А если не покупал, то и использовать такой плагин не стоит
     
  3. SlenderMix

    SlenderMix Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    HIDDEN
    Код:
    javac *.java
     
  4. SlenderMix

    SlenderMix Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    HIDDEN
    Зачем их собирать? Ручками через winrar, тип архива zip, расширение файла .jar))
     
  5. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Удачи сложить в архив java-файлы.
    Так и так предварительно компилировать. А без знания джавы компилировать через javac занятие абсолютно неблагодарное
     
  6. SlenderMix

    SlenderMix Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    HIDDEN
    Шутку не оценил, эхх.
     

Поделиться этой страницей