Помогаем соколику латать Alfheim

Статус
В этой теме нельзя размещать новые ответы.

Icosider

Kotliner
Администратор
3,603
99
664
Не особо то и изменяется структура, даже лучше будет. Он же автор мода, смысл ему костылить?
 

Icosider

Kotliner
Администратор
3,603
99
664
Ну никто особо углублённо код не смотрел, может @Зарак и глянул, но я быстро пробежался по его коду и, что попалось на глаза, то и слил. У него там ещё пачка дюпов, так что ему есть над чем работать...

И ещё, некоторые оружия из мода позволяют пробивать GOD мод донатеров)) (обычно этот режим у донатеров)
 

Icosider

Kotliner
Администратор
3,603
99
664
Насчёт контейнера я так и не понял, поэтому сделал проверкой расстояния.
Я тебе скинул код готовый, бери да делай по примеру...

это в конфиге можно оффнуть
Не знаю как в новых, а вот в старых ничего не офалось и если б офалось, меня б не просили это фиксить...
 

Icosider

Kotliner
Администратор
3,603
99
664
Дублирую, чтоб было понятней. Если хочешь, я могу твой пакет сейчас переписать, чтоб было более понятно...
Чтоб ты понимал как фиксить. Твой контейнер должен содержать тайл, и этот тайл ты должен получать в пакете, тогда избавляешься от поиска тайла по координатам
Kotlin:
class GovnoContainer(val tile: TileEntity) : Container() <- в контейнере

// В обработке пакета
fun messageHandle(player: EntityPlayerMP) {
    val container = player.openContainer as? GovnoContainer ?: return
    val myTile = container.tile
    // Делаешь чо хочешь
}
 
1,976
68
220
Дублирую, чтоб было понятней. Если хочешь, я могу твой пакет сейчас переписать, чтоб было более понятно...
Не, проверку я понял, но что должно экстендить контейнер или откуда он вообще возьмётся у игрока?
Блок просто с тайлом, без гуи.
Типа
Java:
if (world.isRemove)
    AlfheimCore.network.sendToServer...
else {
    player.openContainer = RaceContainer(world.getTile(x, y, z))
}
На сервере откроется контейнер, потом прилетит пакет, из контейнера заберёт тайл и сделает дела. И потом закрыть его.
Верно?
 

Icosider

Kotliner
Администратор
3,603
99
664
Не, проверку я понял, но что должно экстендить контейнер или откуда он вообще возьмётся у игрока?
У тебя есть GuiContainer и к нему есть Container. У игрока тоже есть контейнер, его можно получить через player.openContainer. Когда ты открываешь контейнер, скажем GovnoContainer, в переменную openContainer сетается этот GovnoContainer. Когда ты закрываешь контейнер, то в openContainer сетается ContainerPlayer или как там его, в общем дефолтный контейнер игрока. Что непонятного?
 
1,200
37
237
Если Цоколь чего-то не может понять\осилить, просто забайтите его или разозлите, тогда высока вероятность, что он хоть irl ядерный реактор построит, лишь бы показать, что его оппонент его недооценивает :alien:
 

Icosider

Kotliner
Администратор
3,603
99
664
А, ясно, у @AlexSocol в данном блоке не используется гуи в принципе. Да, тогда вариант пластика ток использовать, а вообще ты люто костылишь и я пока не понял почему...
 
1,976
68
220
вообще ты люто костылишь и я пока не понял почему...
потому что не знаю как не костылить, логично же...

А если "на кой тебе пакет", то это потому, что на неком термосе координаты клика не такие как на клиенте, в итоге игрок выбирает не ту расу и всем попоболь
 

Icosider

Kotliner
Администратор
3,603
99
664
Объясни мне, почему у тебя BlockRaceSelector#onBlockActivated и #onBlockActivated2 вызываются на клиенте? Ты можешь спокойной вызывать код этих методов на сервере или я чего-то не знаю?:cautious:
 

Icosider

Kotliner
Администратор
3,603
99
664
Чушь собачья, пневматикКрафт спокойно работает, проблем не наблюдается. Если пользователи этого мода сидят на старом говноТермосе, то это их проблемы. 57 и 58 точно не имеют подобных проблем с кликами
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху