Я делаю своего рода «хак» или «мод» для Minecraft. Он удалит блоки вокруг вас и продвинется вперед, удалит больше, движется вперед и т. Д. Через некоторое время он переместится в сторону и вернется назад. Это, как мир медленно удаляя себя: DЕсть ли более эффективный способ написания этого кода?
if(Camb.nuker){
whenToStop++;
byte byte0 = 3;
if(whenToStop < 60){
mc.thePlayer.setPosition(posX, posY, posZ-1.5);
}
if(whenToStop > 60 && whenToStop < 65){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 65 && whenToStop < 124){
mc.thePlayer.setPosition(posX, posY, posZ+1.5);
}
if(whenToStop > 124 && whenToStop < 129){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 129 && whenToStop < 188){
mc.thePlayer.setPosition(posX, posY, posZ-1.5);
}
if(whenToStop > 188 && whenToStop < 193){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 193 && whenToStop < 252){
mc.thePlayer.setPosition(posX, posY, posZ+1.5);
}
if(whenToStop > 252 && whenToStop < 257){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 257 && whenToStop < 316){
mc.thePlayer.setPosition(posX, posY, posZ-1.5);
}
if(whenToStop > 316 && whenToStop < 321){
mc.thePlayer.setPosition(posX-1.2, posY, posZ);
}
if(whenToStop > 321 && whenToStop < 376){
mc.thePlayer.setPosition(posX, posY, posZ+1.5);
}
for(int k = byte0; k > -byte0; k--)
{
for(int i1 = byte0; i1 > -byte0; i1--)
{
for(int j1 = byte0; j1 > -byte0; j1--)
{
double d1 = mc.thePlayer.posX + (double)k;
double d3 = mc.thePlayer.posY + (double)i1;
double d5 = mc.thePlayer.posZ + (double)j1;
int k1 = (int)d1;
int l1 = (int)d3;
int i2 = (int)d5;
int j2 = mc.theWorld.getBlockId(k1, l1, i2);
Block block = Block.blocksList[j2];
if(block != null){
((EntityClientPlayerMP)mc.thePlayer).sendQueue.addToSendQueue(new Packet14BlockDig(0, k1, l1, i2, 1));
((EntityClientPlayerMP)mc.thePlayer).sendQueue.addToSendQueue(new Packet14BlockDig(2, k1, l1, i2, 1));
}
}
}
}
}
if(Camb.nuker==false){
whenToStop = 0;
}
Вы в основном должны сосредоточиться на кусок кода под которой я объявляю байт. Остальная часть кода перебирает блоки и разбивает их, ничего особенного.
Итак, как бы я сделал этот кусок кода более эффективным? Я думаю о создании функции, но я не слишком осведомлен о создании функций, как бы я сделал что-то подобное? Например, я бы использовал код имя функции (количество строк для разрыва);
Спасибо, Брэд
'void functionname (int numberOfRowsToBreak) {/ * implementation * /}' – gparyani
Вместо нескольких 'if', вы должны использовать' if (condition) {} else if (condition) {} ' – araknoid
@gparyani Я бы просто вставить все if's в это? Благодаря! – Brad