Compare commits
No commits in common. "4472b68ecab8e73d665f66e3aeac1b70a11216e3" and "1131b22447d5df20056b366a469715fd5b4804e3" have entirely different histories.
4472b68eca
...
1131b22447
2 changed files with 63 additions and 108 deletions
0
gradlew
vendored
Executable file → Normal file
0
gradlew
vendored
Executable file → Normal file
|
@ -52,21 +52,6 @@ public class EntityShockwave extends Entity {
|
||||||
public int revProgress;
|
public int revProgress;
|
||||||
public int radProgress;
|
public int radProgress;
|
||||||
|
|
||||||
private int iCounter = 0;
|
|
||||||
private boolean needsInit = true;
|
|
||||||
|
|
||||||
private int blastState = 0; // Not started
|
|
||||||
private int blastCount = 0;
|
|
||||||
|
|
||||||
private MutableBlockPos pos;
|
|
||||||
private MutableBlockPos pos2;
|
|
||||||
private MutableBlockPos pos3;
|
|
||||||
private MutableBlockPos pos4;
|
|
||||||
private MutableBlockPos pos5;
|
|
||||||
|
|
||||||
private double dist;
|
|
||||||
private double circum;
|
|
||||||
|
|
||||||
public EntityShockwave(World p_i1582_1_) {
|
public EntityShockwave(World p_i1582_1_) {
|
||||||
super(p_i1582_1_);
|
super(p_i1582_1_);
|
||||||
this.setSize(0, 0);
|
this.setSize(0, 0);
|
||||||
|
@ -103,82 +88,52 @@ public class EntityShockwave extends Entity {
|
||||||
public void onUpdate() {
|
public void onUpdate() {
|
||||||
|
|
||||||
if(!world.isRemote) {
|
if(!world.isRemote) {
|
||||||
if(needsInit) {
|
MutableBlockPos pos = new BlockPos.MutableBlockPos();
|
||||||
pos = new BlockPos.MutableBlockPos();
|
MutableBlockPos pos2 = new BlockPos.MutableBlockPos();
|
||||||
pos2 = new BlockPos.MutableBlockPos();
|
MutableBlockPos pos3 = new BlockPos.MutableBlockPos();
|
||||||
pos3 = new BlockPos.MutableBlockPos();
|
MutableBlockPos pos4 = new BlockPos.MutableBlockPos();
|
||||||
pos4 = new BlockPos.MutableBlockPos();
|
MutableBlockPos pos5 = new BlockPos.MutableBlockPos();
|
||||||
pos5 = new BlockPos.MutableBlockPos();
|
for(int i = 0; i < 512; i++) {
|
||||||
needsInit = false;
|
|
||||||
}
|
|
||||||
if(iCounter < 512*3) {
|
|
||||||
if(blastState == 0) { // Not started
|
|
||||||
Vec3 vec = Vec3.createVectorHelper(radProgress * 0.5, 0, 0);
|
|
||||||
circum = radProgress * 2 * Math.PI * 2;
|
|
||||||
|
|
||||||
///
|
Vec3 vec = Vec3.createVectorHelper(radProgress * 0.5, 0, 0);
|
||||||
if(circum == 0)
|
double circum = radProgress * 2 * Math.PI * 2;
|
||||||
circum = 1;
|
|
||||||
///
|
|
||||||
|
|
||||||
double part = 360D / circum;
|
///
|
||||||
|
if(circum == 0)
|
||||||
|
circum = 1;
|
||||||
|
///
|
||||||
|
|
||||||
vec.rotateAroundY((float) (part * revProgress));
|
double part = 360D / circum;
|
||||||
|
|
||||||
int x = (int) (posX + vec.xCoord);
|
vec.rotateAroundY((float) (part * revProgress));
|
||||||
int z = (int) (posZ + vec.zCoord);
|
|
||||||
|
|
||||||
dist = radProgress * 100 / getScale() * 0.5;
|
int x = (int) (posX + vec.xCoord);
|
||||||
pos.setPos(x, posY, z);
|
int z = (int) (posZ + vec.zCoord);
|
||||||
pos2.setPos(x-1, posY, z);
|
|
||||||
pos3.setPos(x+1, posY, z);
|
|
||||||
pos4.setPos(x, posY, z-1);
|
|
||||||
pos5.setPos(x, posY, z-1);
|
|
||||||
blastState = 1;
|
|
||||||
} else if(blastState == 1) {
|
|
||||||
switch(blastCount) {
|
|
||||||
case 0:
|
|
||||||
blast(pos, dist);
|
|
||||||
blastCount++;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
blast(pos2, dist);
|
|
||||||
blastCount++;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
blast(pos3, dist);
|
|
||||||
blastCount++;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
blast(pos4, dist);
|
|
||||||
blastCount++;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
blast(pos5, dist);
|
|
||||||
blastCount++;
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
blastState = 2;
|
|
||||||
blastCount = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else if(blastState == 2) {
|
|
||||||
revProgress++;
|
|
||||||
|
|
||||||
if(revProgress > circum) {
|
double dist = radProgress * 100 / getScale() * 0.5;
|
||||||
revProgress = 0;
|
pos.setPos(x, posY, z);
|
||||||
radProgress++;
|
pos2.setPos(x-1, posY, z);
|
||||||
}
|
pos3.setPos(x+1, posY, z);
|
||||||
|
pos4.setPos(x, posY, z-1);
|
||||||
|
pos5.setPos(x, posY, z-1);
|
||||||
|
blast(pos, dist);
|
||||||
|
blast(pos2, dist);
|
||||||
|
blast(pos3, dist);
|
||||||
|
blast(pos4, dist);
|
||||||
|
blast(pos5, dist);
|
||||||
|
|
||||||
if(radProgress > getScale() * 2D) {
|
revProgress++;
|
||||||
|
|
||||||
this.setDead();
|
if(revProgress > circum) {
|
||||||
blastState = 4;
|
revProgress = 0;
|
||||||
}
|
radProgress++;
|
||||||
blastState = 0;
|
}
|
||||||
}
|
|
||||||
|
if(radProgress > getScale() * 2D) {
|
||||||
|
|
||||||
|
this.setDead();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
iCounter++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue