• Гость, публикуйте свои сливы кода через Ресурсы!
    После публикации слива в Ресурсах в этом форуме будет автоматически создана тема для обсуждения.
Иконка ресурса

Gradle task, который реплейсит строки с MCP именами их SRG вариантами

necauqua

Ходячий труп
Команда форума
Сообщения
932
Лучшие ответы
4
Симпатии
26
#1
necauqua добавил(а) новый ресурс:

Gradle task, который реплейсит строки с MCP именами их SRG вариантами - "макрос", или "умный реплейс сурсов", можно адаптировать для любого постпроцессинга

Ещё один кусочек из chiseled-me.
Тут хитрости с доставанием и считываением маппингов можно повырезать и просто обрабатывать исходные файлы каким-либо хитрым образом, заимплементив что-то вроде макросов, к примеру.

Тут вызовы метода srg с литеральной строкой и опциональным числом (вроде srg("hello") или srg("player", 3)) реплейсятся строками вроде "field_123".
Число - индекс нужно в том случае, если существуют несколько переменных...
Узнать больше об этом ресурсе...
 

hohserg1

Золотая лига
Сообщения
3,303
Лучшие ответы
83
Симпатии
219
#2
А можно подробнее про usage?
 

necauqua

Ходячий труп
Команда форума
Сообщения
932
Лучшие ответы
4
Симпатии
26
#3
Весь кусок можно запихать себе в build.gradle и куски кода вида srg("mcpFieldName") будут заменяться строчками "field_123e" и так далее.
Ну и обрезанный вариант, где ты в groovy-скрипте, коим является файл build.gradle, можешь любым угодным образом менять текст исходных файлов.
 

Agravaine

Алмазная лига
Сообщения
4,056
Лучшие ответы
150
Симпатии
431
#4
Он это делает "налету" когда собираешь мод? То есть твои исходники из папочки никак не пострадают?
 

hohserg1

Золотая лига
Сообщения
3,303
Лучшие ответы
83
Симпатии
219
#5
А зачем это делать?
 

Agravaine

Алмазная лига
Сообщения
4,056
Лучшие ответы
150
Симпатии
431
#6
Я для деление на клиент-сервер использовать буду.
Чтобы без всяких переменных и аннотаций.
Java:
// Server only start

public void onServerTick(){
    
}

public void sendPacketsToClient(){
    
}

// Server only end
И типа весь код между двумя комментами он вырежет и в классах его не будет.
 

necauqua

Ходячий труп
Команда форума
Сообщения
932
Лучшие ответы
4
Симпатии
26
#7
Он это делает "налету" когда собираешь мод? То есть твои исходники из папочки никак не пострадают?
Ну блин, а нафига-то было бы делать чтобы исходники страдали.

Деление на клиент-сервер это интересно, потому-что я не придумал как нормально это делать отдельно для двух артефактов (типа чтобы в deobf джарнике он не реплейсил, или реплейсил на мцп-шные имена - хотя я и хызы, надо ли это, не тестил).
 
Сверху