[1.7.10][Forge]Rails of War
#101
Написал 07.05.2013 - 18:09
Для форумчан можно просто Олег.
#102
Написал 07.05.2013 - 18:10
#103
Написал 07.05.2013 - 19:16
Цитатник:
#104
Написал 08.05.2013 - 09:00
---
Обновил ОП.
#106
Написал 08.05.2013 - 10:17
#107
Написал 08.05.2013 - 10:35
Для форумчан можно просто Олег.
#108
Написал 08.05.2013 - 10:49
#110
Написал 08.05.2013 - 12:55
#111
Написал 08.05.2013 - 15:06
Для форумчан можно просто Олег.
#112
Написал 08.05.2013 - 19:20
@Override public void onUpdate(){ //setDead(); this[paste][/paste]updatePositionAndSpeed(); this[paste][/paste]performSlowdown(); onGround = (worldObj[paste][/paste]getBlockId((int)posX, (int)(posY-0), (int)posZ) > 0); if(this[paste][/paste]affectedByGravity && !this[paste][/paste]onGround){ applyAccel(0F, -0[paste][/paste]001F, 0F); } pushOutOfBlocks(posX, posY, posZ); } public void updatePositionAndSpeed(){ this[paste][/paste]setPosition(posX + motionX, posY + motionY, posZ + motionZ); this[paste][/paste]motionX += this[paste][/paste]accel_x; this[paste][/paste]motionY += this[paste][/paste]accel_y; this[paste][/paste]motionZ += this[paste][/paste]accel_z; } public void performSlowdown(){ this[paste][/paste]motionX *= 0[paste][/paste]9; this[paste][/paste]motionY *= 0[paste][/paste]9; this[paste][/paste]motionZ *= 0[paste][/paste]9; } @Override protected boolean pushOutOfBlocks(double par1, double par3, double par5) { int i = MathHelper[paste][/paste]floor_double(par1); int j = MathHelper[paste][/paste]floor_double(par3); int k = MathHelper[paste][/paste]floor_double(par5); double d3 = par1 - (double)i; double d4 = par3 - (double)j; double d5 = par5 - (double)k; List list = this[paste][/paste]worldObj[paste][/paste]getCollidingBlockBounds(this[paste][/paste]boundingBox); if (list[paste][/paste]isEmpty() && !this[paste][/paste]worldObj[paste][/paste]func_85174_u(i, j, k)){ this[paste][/paste]prevFreeX = (float) posX; this[paste][/paste]prevFreeY = (float) posY; this[paste][/paste]prevFreeZ = (float) posZ; return false; } else{ boolean flag = !this[paste][/paste]worldObj[paste][/paste]func_85174_u(i - 1, j, k); boolean flag1 = !this[paste][/paste]worldObj[paste][/paste]func_85174_u(i + 1, j, k); boolean flag2 = !this[paste][/paste]worldObj[paste][/paste]func_85174_u(i, j - 1, k); boolean flag3 = !this[paste][/paste]worldObj[paste][/paste]func_85174_u(i, j + 1, k); boolean flag4 = !this[paste][/paste]worldObj[paste][/paste]func_85174_u(i, j, k - 1); boolean flag5 = !this[paste][/paste]worldObj[paste][/paste]func_85174_u(i, j, k + 1); byte b0 = 3; double d6 = 9999[paste][/paste]0D; if (flag && d3 < d6){ d6 = d3; b0 = 0; } if (flag1 && 1[paste][/paste]0D - d3 < d6){ d6 = 1[paste][/paste]0D - d3; b0 = 1; }if (flag3 && 1[paste][/paste]0D - d4 < d6){ d6 = 1[paste][/paste]0D - d4; b0 = 3; } if (flag4 && d5 < d6){ d6 = d5; b0 = 4; } if (flag5 && 1[paste][/paste]0D - d5 < d6){ d6 = 1[paste][/paste]0D - d5; b0 = 5; } float f = this[paste][/paste]rand[paste][/paste]nextFloat() * 0[paste][/paste]1F + 0[paste][/paste]05F; if (b0 == 0){ this[paste][/paste]motionX = -Math[paste][/paste]abs(this[paste][/paste]motionX*0[paste][/paste]2F); this[paste][/paste]accel_x = -Math[paste][/paste]abs(this[paste][/paste]accel_x*0[paste][/paste]2F); } if (b0 == 1){ this[paste][/paste]motionX = Math[paste][/paste]abs(this[paste][/paste]motionX*0[paste][/paste]2F); this[paste][/paste]accel_x = Math[paste][/paste]abs(this[paste][/paste]accel_x*0[paste][/paste]2F); } if (b0 == 2){ this[paste][/paste]motionY = -Math[paste][/paste]abs(this[paste][/paste]motionY*0[paste][/paste]2F); this[paste][/paste]accel_y = -Math[paste][/paste]abs(this[paste][/paste]accel_y*0[paste][/paste]2F); } if (b0 == 3){ this[paste][/paste]motionY = Math[paste][/paste]abs(this[paste][/paste]motionY*0[paste][/paste]2F); this[paste][/paste]accel_y = Math[paste][/paste]abs(this[paste][/paste]accel_y*0[paste][/paste]2F); } if (b0 == 4){ this[paste][/paste]motionZ = -Math[paste][/paste]abs(this[paste][/paste]motionZ*0[paste][/paste]2F); this[paste][/paste]accel_z = -Math[paste][/paste]abs(this[paste][/paste]accel_z*0[paste][/paste]2F); } if (b0 == 5){ this[paste][/paste]motionZ = Math[paste][/paste]abs(this[paste][/paste]motionZ*0[paste][/paste]2F); this[paste][/paste]accel_z = Math[paste][/paste]abs(this[paste][/paste]accel_z*0[paste][/paste]2F); } this[paste][/paste]setPosition(prevFreeX, prevFreeY, prevFreeZ); return true; } } public void applyForce(float x, float y, float z){ this[paste][/paste]applyAccel(x/mass, y/mass, z/mass); } public void applyAccel(float x, float y, float z){ this[paste][/paste]accel_x += x; this[paste][/paste]accel_y += y; this[paste][/paste]accel_z += z; }
#113
Написал 08.05.2013 - 19:56
Для форумчан можно просто Олег.
#114
Написал 10.05.2013 - 05:45
#116
Написал 10.05.2013 - 07:12
#118
Написал 10.05.2013 - 07:37
#120
Написал 10.05.2013 - 08:42
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных