mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
girthier meatier more sensual missiles
This commit is contained in:
parent
6f00c68051
commit
e2807f0721
@ -122,15 +122,6 @@ public class ExplosionNukeRayBatched {
|
||||
}
|
||||
|
||||
if(res <= 0 || i + 1 >= this.length || i == length - 1) {
|
||||
|
||||
/*NBTTagCompound fx = new NBTTagCompound();
|
||||
fx.setString("type", "debugline");
|
||||
fx.setDouble("mX", vec.xCoord * i);
|
||||
fx.setDouble("mY", vec.yCoord * i);
|
||||
fx.setDouble("mZ", vec.zCoord * i);
|
||||
fx.setInteger("color", 0xff0000);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(fx, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 200));*/
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -180,7 +171,7 @@ public class ExplosionNukeRayBatched {
|
||||
int diff1 = Math.abs((chunkX - o1.chunkXPos)) + Math.abs((chunkZ - o1.chunkZPos));
|
||||
int diff2 = Math.abs((chunkX - o2.chunkXPos)) + Math.abs((chunkZ - o2.chunkZPos));
|
||||
|
||||
return diff1 > diff2 ? 1 : diff1 < diff2 ? -1 : 0;
|
||||
return diff1 - diff2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -191,6 +182,7 @@ public class ExplosionNukeRayBatched {
|
||||
ChunkCoordIntPair coord = orderedChunks.get(0);
|
||||
List<FloatTriplet> list = perChunk.get(coord);
|
||||
HashSet<BlockPos> toRem = new HashSet();
|
||||
HashSet<BlockPos> toRemTips = new HashSet();
|
||||
//List<BlockPos> toRem = new ArrayList();
|
||||
int chunkX = coord.chunkXPos;
|
||||
int chunkZ = coord.chunkZPos;
|
||||
@ -209,6 +201,10 @@ public class ExplosionNukeRayBatched {
|
||||
double pX = vec.xCoord / vec.lengthVector();
|
||||
double pY = vec.yCoord / vec.lengthVector();
|
||||
double pZ = vec.zCoord / vec.lengthVector();
|
||||
|
||||
int tipX = (int) Math.floor(x);
|
||||
int tipY = (int) Math.floor(y);
|
||||
int tipZ = (int) Math.floor(z);
|
||||
|
||||
boolean inChunk = false;
|
||||
for(int i = enter; i < vec.lengthVector(); i++) {
|
||||
@ -227,14 +223,18 @@ public class ExplosionNukeRayBatched {
|
||||
inChunk = true;
|
||||
|
||||
if(!world.isAirBlock(x0, y0, z0)) {
|
||||
toRem.add(new BlockPos(x0, y0, z0));
|
||||
|
||||
BlockPos pos = new BlockPos(x0, y0, z0);
|
||||
|
||||
if(x0 == tipX && y0 == tipY && z0 == tipZ) {
|
||||
toRemTips.add(pos);
|
||||
}
|
||||
toRem.add(pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(BlockPos pos : toRem) {
|
||||
world.setBlock(pos.getX(), pos.getY(), pos.getZ(), Blocks.air);
|
||||
}
|
||||
|
||||
for(BlockPos pos : toRem) world.setBlock(pos.getX(), pos.getY(), pos.getZ(), Blocks.air, 0, toRemTips.contains(pos) ? 3 : 2);
|
||||
|
||||
perChunk.remove(coord);
|
||||
orderedChunks.remove(0);
|
||||
|
||||
@ -63,7 +63,7 @@ public class GUILaunchPadLarge extends GuiInfoContainer {
|
||||
case V2: scale = 1.75D; break;
|
||||
case STRONG: scale = 1.375D; break;
|
||||
case HUGE: scale = 0.925D; break;
|
||||
case ATLAS: break;
|
||||
case ATLAS: scale = 0.875D; break;
|
||||
case OTHER: break;
|
||||
}
|
||||
if(missile == ModItems.missile_stealth) scale = 1.125D;
|
||||
|
||||
@ -988,6 +988,16 @@ public class AssemblerRecipes {
|
||||
new ComparableStack(ModItems.motor, 1),
|
||||
new ComparableStack(ModItems.circuit_red_copper, 3)
|
||||
}, 200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_hydrotreater, 1), new AStack[] {
|
||||
!exp ? new OreDictStack(STEEL.plateWelded(), 8) : new OreDictStack(STEEL.heavyComp(), 4),
|
||||
!exp ? new OreDictStack(CU.plateCast(), 4) : new OreDictStack(CU.heavyComp(), 2),
|
||||
new OreDictStack(NB.ingot(), 8),
|
||||
new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4),
|
||||
new ComparableStack(ModItems.hull_big_steel, 2),
|
||||
new ComparableStack(ModItems.pipes_steel, 1),
|
||||
new ComparableStack(ModItems.motor_desh, 2),
|
||||
new ComparableStack(ModItems.circuit_red_copper, 3)
|
||||
}, 200);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_compressor, 1), new AStack[] {
|
||||
new OreDictStack(STEEL.plateCast(), 8),
|
||||
|
||||
@ -443,7 +443,7 @@ public class ClientProxy extends ServerProxy {
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.missile_volcano, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday, new ItemRenderMissileGeneric(RenderMissileType.TYPE_DOOMSDAY));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.missile_carrier, new ItemRenderMissileGeneric(RenderMissileType.TYPE_CARRIER));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.missile_shuttle, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ROBIN));
|
||||
|
||||
@ -705,10 +705,10 @@ public class ClientProxy extends ServerProxy {
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileRain.class, new RenderMissileHuge());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileDrill.class, new RenderMissileHuge());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileNuclear.class, new RenderMissileNuclear());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileMirv.class, new RenderMissileMirv());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileMirv.class, new RenderMissileNuclear());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileVolcano.class, new RenderMissileNuclear());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMIRV.class, new RenderMirv());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileNuclear());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityCarrier.class, new RenderCarrierMissile());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBooster.class, new RenderBoosterMissile());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntitySoyuz.class, new RenderSoyuz());
|
||||
|
||||
@ -1070,8 +1070,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom missileStealth = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_stealth.obj"), false).asDisplayList();
|
||||
public static final IModelCustom missileStrong = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_strong.obj")).asDisplayList();
|
||||
public static final IModelCustom missileHuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_huge.obj")).asDisplayList();
|
||||
public static final IModelCustom missileNuclear = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileNeon.obj"));
|
||||
public static final IModelCustom missileDoomsday = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileDoomsday.obj"));
|
||||
public static final IModelCustom missileNuclear = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_atlas.obj")).asDisplayList();
|
||||
public static final IModelCustom missileMicro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_micro.obj")).asDisplayList();
|
||||
public static final IModelCustom missileShuttle = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileShuttle.obj"));
|
||||
public static final IModelCustom missileCarrier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileCarrier.obj"));
|
||||
@ -1221,10 +1220,10 @@ public class ResourceManager {
|
||||
public static final ResourceLocation missileHuge_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_inc.png");
|
||||
public static final ResourceLocation missileHuge_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_cl.png");
|
||||
public static final ResourceLocation missileHuge_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_bu.png");
|
||||
public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeon.png");
|
||||
public static final ResourceLocation missileMIRV_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonH.png");
|
||||
public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonV.png");
|
||||
public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileDoomsday.png");
|
||||
public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_nuclear.png");
|
||||
public static final ResourceLocation missileMIRV_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_thermo.png");
|
||||
public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_tectonic.png");
|
||||
public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_doomsday.png");
|
||||
public static final ResourceLocation missileTaint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_taint.png");
|
||||
public static final ResourceLocation missileShuttle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileShuttle.png");
|
||||
public static final ResourceLocation missileMicro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro.png");
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
package com.hbm.render.entity.rocket;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderMissileDoomsday extends Render {
|
||||
|
||||
public RenderMissileDoomsday() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float) x, (float) y, (float) z);
|
||||
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F);
|
||||
GL11.glScalef(2F, 2F, 2F);
|
||||
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
bindTexture(ResourceManager.missileDoomsday_tex);
|
||||
ResourceManager.missileDoomsday.renderAll();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return ResourceManager.missileDoomsday_tex;
|
||||
}
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
package com.hbm.render.entity.rocket;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderMissileMirv extends Render {
|
||||
|
||||
public RenderMissileMirv() { }
|
||||
|
||||
@Override
|
||||
public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float) x, (float) y, (float) z);
|
||||
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F);
|
||||
GL11.glScalef(1.5F, 1.5F, 1.5F);
|
||||
|
||||
bindTexture(ResourceManager.missileMIRV_tex);
|
||||
ResourceManager.missileNuclear.renderAll();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return ResourceManager.missileMIRV_tex;
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,9 @@ package com.hbm.render.entity.rocket;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.entity.missile.EntityMissileDoomsday;
|
||||
import com.hbm.entity.missile.EntityMissileTier4.EntityMissileMirv;
|
||||
import com.hbm.entity.missile.EntityMissileTier4.EntityMissileNuclear;
|
||||
import com.hbm.entity.missile.EntityMissileTier4.EntityMissileVolcano;
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
@ -21,14 +24,16 @@ public class RenderMissileNuclear extends Render {
|
||||
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F);
|
||||
GL11.glScalef(1.5F, 1.5F, 1.5F);
|
||||
|
||||
if(entity instanceof EntityMissileVolcano)
|
||||
bindTexture(ResourceManager.missileVolcano_tex);
|
||||
else
|
||||
bindTexture(ResourceManager.missileNuclear_tex);
|
||||
if(entity instanceof EntityMissileNuclear) bindTexture(ResourceManager.missileNuclear_tex);
|
||||
if(entity instanceof EntityMissileMirv) bindTexture(ResourceManager.missileMIRV_tex);
|
||||
if(entity instanceof EntityMissileDoomsday) bindTexture(ResourceManager.missileDoomsday_tex);
|
||||
if(entity instanceof EntityMissileVolcano) bindTexture(ResourceManager.missileVolcano_tex);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
ResourceManager.missileNuclear.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
|
||||
TYPE_STEALTH,
|
||||
TYPE_ABM,
|
||||
TYPE_NUCLEAR,
|
||||
TYPE_DOOMSDAY,
|
||||
TYPE_CARRIER,
|
||||
TYPE_ROBIN
|
||||
}
|
||||
@ -75,8 +74,7 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
|
||||
case TYPE_TIER3: guiScale = 1.25D; guiOffset = 1D; break;
|
||||
case TYPE_STEALTH: guiScale = 1.75D; guiOffset = 4.75D; break;
|
||||
case TYPE_ABM: guiScale = 2.25D; guiOffset = 7D; break;
|
||||
case TYPE_NUCLEAR: guiScale = 1.75D; guiOffset = 4D; break;
|
||||
case TYPE_DOOMSDAY: guiScale = 1.5D; guiOffset = 3D; break;
|
||||
case TYPE_NUCLEAR: guiScale = 1.375D; guiOffset = 1.5D; break;
|
||||
case TYPE_CARRIER: guiScale = 0.625D; guiOffset = -17D; break;
|
||||
case TYPE_ROBIN: guiScale = 1.25D; guiOffset = 2D; break;
|
||||
}
|
||||
@ -162,11 +160,10 @@ public class ItemRenderMissileGeneric implements IItemRenderer {
|
||||
renderers.put(new ComparableStack(ModItems.missile_rain), generateStandard(ResourceManager.missileHuge_CL_tex, ResourceManager.missileHuge));
|
||||
renderers.put(new ComparableStack(ModItems.missile_drill), generateStandard(ResourceManager.missileHuge_BU_tex, ResourceManager.missileHuge));
|
||||
|
||||
renderers.put(new ComparableStack(ModItems.missile_nuclear), generateLarge(ResourceManager.missileNuclear_tex, ResourceManager.missileNuclear));
|
||||
renderers.put(new ComparableStack(ModItems.missile_nuclear_cluster), generateLarge(ResourceManager.missileMIRV_tex, ResourceManager.missileNuclear));
|
||||
renderers.put(new ComparableStack(ModItems.missile_volcano), generateLarge(ResourceManager.missileVolcano_tex, ResourceManager.missileNuclear));
|
||||
|
||||
renderers.put(new ComparableStack(ModItems.missile_doomsday), generateDouble(ResourceManager.missileDoomsday_tex, ResourceManager.missileDoomsday));
|
||||
renderers.put(new ComparableStack(ModItems.missile_nuclear), generateStandard(ResourceManager.missileNuclear_tex, ResourceManager.missileNuclear));
|
||||
renderers.put(new ComparableStack(ModItems.missile_nuclear_cluster), generateStandard(ResourceManager.missileMIRV_tex, ResourceManager.missileNuclear));
|
||||
renderers.put(new ComparableStack(ModItems.missile_volcano), generateStandard(ResourceManager.missileVolcano_tex, ResourceManager.missileNuclear));
|
||||
renderers.put(new ComparableStack(ModItems.missile_doomsday), generateStandard(ResourceManager.missileDoomsday_tex, ResourceManager.missileNuclear));
|
||||
|
||||
renderers.put(new ComparableStack(ModItems.missile_carrier), x -> {
|
||||
GL11.glScalef(2F, 2F, 2F);
|
||||
|
||||
@ -5,6 +5,9 @@ import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.gui.GUILaunchPadLarge;
|
||||
import com.hbm.items.weapon.ItemMissile;
|
||||
import com.hbm.items.weapon.ItemMissile.MissileFormFactor;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.IRadarCommandReceiver;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
@ -47,6 +50,12 @@ public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements I
|
||||
public long power;
|
||||
public final long maxPower = 100_000;
|
||||
|
||||
private AudioWrapper audioLift;
|
||||
private AudioWrapper audioErector;
|
||||
|
||||
protected boolean liftMoving = false;
|
||||
protected boolean erectorMoving = false;
|
||||
|
||||
public FluidTank[] tanks;
|
||||
|
||||
public TileEntityLaunchPadLarge() {
|
||||
@ -65,6 +74,9 @@ public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements I
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
this.prevLift = this.lift;
|
||||
this.prevErector = this.erector;
|
||||
|
||||
float erectorSpeed = 1.5F;
|
||||
float liftSpeed = 0.025F;
|
||||
@ -74,6 +86,11 @@ public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements I
|
||||
ItemMissile missile = (ItemMissile) slots[0].getItem();
|
||||
this.formFactor = missile.formFactor.ordinal();
|
||||
setFuel(missile);
|
||||
|
||||
if(missile.formFactor == MissileFormFactor.ATLAS || missile.formFactor == MissileFormFactor.HUGE) {
|
||||
erectorSpeed /= 2F;
|
||||
liftSpeed /= 2F;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.erector == 90F && this.lift == 1F) {
|
||||
@ -144,6 +161,16 @@ public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements I
|
||||
}
|
||||
}
|
||||
|
||||
boolean prevLiftMoving = this.liftMoving;
|
||||
boolean prevErectorMoving = this.erectorMoving;
|
||||
this.liftMoving = false;
|
||||
this.erectorMoving = false;
|
||||
if(this.prevLift != this.lift) this.liftMoving = true;
|
||||
if(this.prevErector != this.erector) this.erectorMoving = true;
|
||||
|
||||
if(prevLiftMoving && !this.liftMoving) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:door.wgh_stop", 2F, 1F);
|
||||
if(prevErectorMoving && !this.erectorMoving) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:door.garage_stop", 2F, 1F);
|
||||
|
||||
this.networkPackNT(250);
|
||||
|
||||
} else {
|
||||
@ -158,6 +185,36 @@ public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements I
|
||||
this.lift = this.syncLift;
|
||||
this.erector = this.syncErector;
|
||||
}
|
||||
|
||||
if(this.liftMoving) {
|
||||
if(this.audioLift == null) {
|
||||
this.audioLift = MainRegistry.proxy.getLoopedSound("hbm:door.wgh_start", xCoord, yCoord, zCoord, 0.75F, 25F, 1.0F, 5);
|
||||
this.audioLift.startSound();
|
||||
} else if(!this.audioLift.isPlaying()) {
|
||||
this.audioLift.startSound();
|
||||
}
|
||||
this.audioLift.keepAlive();
|
||||
} else {
|
||||
if(this.audioLift != null) {
|
||||
this.audioLift.stopSound();
|
||||
this.audioLift = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.erectorMoving) {
|
||||
if(this.audioErector == null) {
|
||||
this.audioErector = MainRegistry.proxy.getLoopedSound("hbm:door.garage_move", xCoord, yCoord, zCoord, 1.5F, 25F, 1.0F, 5);
|
||||
this.audioErector.startSound();
|
||||
} else if(!this.audioErector.isPlaying()) {
|
||||
this.audioErector.startSound();
|
||||
}
|
||||
this.audioErector.keepAlive();
|
||||
} else {
|
||||
if(this.audioErector != null) {
|
||||
this.audioErector.stopSound();
|
||||
this.audioErector = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -187,6 +244,9 @@ public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements I
|
||||
public void serialize(ByteBuf buf) {
|
||||
super.serialize(buf);
|
||||
|
||||
buf.writeBoolean(this.liftMoving);
|
||||
buf.writeBoolean(this.erectorMoving);
|
||||
|
||||
if(slots[0] != null) {
|
||||
buf.writeBoolean(true);
|
||||
buf.writeInt(Item.getIdFromItem(slots[0].getItem()));
|
||||
@ -205,6 +265,9 @@ public class TileEntityLaunchPadLarge extends TileEntityMachineBase implements I
|
||||
@Override
|
||||
public void deserialize(ByteBuf buf) {
|
||||
super.deserialize(buf);
|
||||
|
||||
this.liftMoving = buf.readBoolean();
|
||||
this.erectorMoving = buf.readBoolean();
|
||||
|
||||
if(buf.readBoolean()) {
|
||||
this.toRender = new ItemStack(Item.getItemById(buf.readInt()), 1, buf.readShort());
|
||||
|
||||
1505
src/main/resources/assets/hbm/models/missile_atlas.obj
Normal file
1505
src/main/resources/assets/hbm/models/missile_atlas.obj
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
Loading…
x
Reference in New Issue
Block a user