mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
oops
This commit is contained in:
parent
a43f2db51a
commit
67980608ac
@ -46,6 +46,7 @@
|
||||
* Iron furnaces now have a 20% faster base smelting speed, making them complete operations in 8 seconds instead of 10 without upgrades
|
||||
* Due to rising chlorine prices and a failing halogen market, the recipe of combination smelting chlorocalcite into chlorine and calcium has been added back
|
||||
* For legacy reasons, the chlorocalcite processing chain involving chemical plants and electrolyzers will continue to work
|
||||
* Outer crater biomes can no longer override inner crater biomes, allowing craters to be "cleaned" by nuking them again with lower yield weapons
|
||||
|
||||
## Fixed
|
||||
* Fixed basalt ores dropping their items with invalid metadata
|
||||
@ -53,3 +54,8 @@
|
||||
* Fixed an issue where repeatedly opening and closing certain doors would cause their sound loop to get stuck running forever
|
||||
* Fixed radar screens behaving weirdly when out of then intended range. The max interaction range for radars is now infinite, and radars will send a second information packet to players near connected radars
|
||||
* Fixed very rare bug where waiting for wood ash to build up in the wood burner and then clearing the slot will remove twice as much ash on the internal counter for the initial ash item created
|
||||
* Fixed crater biome fog tinting applying even if there is no nearby crater biome, causing oddities like underground fog being all white instead of being dark as it should be
|
||||
* Crater biome fog no longer applies underwater, fixing an issue where being in water would cause the fog to be white instead of water-colored
|
||||
* Fixed "pipette not empty" message crashing servers
|
||||
* Fixed crash caused by certain modded blocks like Thermal's lumium lights being turned into falling blocks by impulse grenades or nuke aftereffects
|
||||
* Fixed receiver subscription persisting when 256k tanks explode, causing them to infinitely receive and the void fluids
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=4851
|
||||
mod_build_number=4858
|
||||
|
||||
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
|
||||
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\
|
||||
|
||||
@ -64,7 +64,7 @@ public class EntityFalloutRain extends Entity {
|
||||
for(int z = chunkPosZ << 4; z <= (chunkPosZ << 4) + 16; z++) {
|
||||
double percent = Math.hypot(x - posX, z - posZ) * 100 / getScale();
|
||||
stomp(x, z, percent);
|
||||
BiomeGenBase biome = getBiomeChange(percent, getScale());
|
||||
BiomeGenBase biome = getBiomeChange(percent, getScale(), worldObj.getBiomeGenForCoords(x, z));
|
||||
if(biome != null) {
|
||||
WorldUtil.setBiome(worldObj, x, z, biome);
|
||||
biomeModified = true;
|
||||
@ -84,7 +84,7 @@ public class EntityFalloutRain extends Entity {
|
||||
if(distance <= getScale()) {
|
||||
double percent = distance * 100 / getScale();
|
||||
stomp(x, z, percent);
|
||||
BiomeGenBase biome = getBiomeChange(percent, getScale());
|
||||
BiomeGenBase biome = getBiomeChange(percent, getScale(), worldObj.getBiomeGenForCoords(x, z));
|
||||
if(biome != null) {
|
||||
WorldUtil.setBiome(worldObj, x, z, biome);
|
||||
biomeModified = true;
|
||||
@ -114,11 +114,14 @@ public class EntityFalloutRain extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
public static BiomeGenBase getBiomeChange(double dist, int scale) {
|
||||
public static BiomeGenBase getBiomeChange(double dist, int scale, BiomeGenBase original) {
|
||||
if(!WorldConfig.enableCraterBiomes) return null;
|
||||
if(scale >= 150 && dist < 15) return BiomeGenCraterBase.craterInnerBiome;
|
||||
if(scale >= 100 && dist < 55) return BiomeGenCraterBase.craterBiome;
|
||||
if(scale >= 25) return BiomeGenCraterBase.craterOuterBiome;
|
||||
if(scale >= 150 && dist < 15)
|
||||
return BiomeGenCraterBase.craterInnerBiome;
|
||||
if(scale >= 100 && dist < 55 && original != BiomeGenCraterBase.craterInnerBiome)
|
||||
return BiomeGenCraterBase.craterBiome;
|
||||
if(scale >= 25 && original != BiomeGenCraterBase.craterInnerBiome && original != BiomeGenCraterBase.craterBiome)
|
||||
return BiomeGenCraterBase.craterOuterBiome;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -552,6 +552,7 @@ public class EntityNukeTorex extends Entity {
|
||||
public static void statFac(World world, double x, double y, double z, float scale) {
|
||||
EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float((float) BobMathUtil.squirt(scale * 0.01) * 1.5F, 0.5F, 5F));
|
||||
torex.setPosition(x, y, z);
|
||||
torex.forceSpawn = true;
|
||||
world.spawnEntityInWorld(torex);
|
||||
TrackerUtil.setTrackingRange(world, torex, 1000);
|
||||
}
|
||||
@ -559,6 +560,7 @@ public class EntityNukeTorex extends Entity {
|
||||
public static void statFacBale(World world, double x, double y, double z, float scale) {
|
||||
EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float((float) BobMathUtil.squirt(scale * 0.01) * 1.5F, 0.5F, 5F)).setType(1);
|
||||
torex.setPosition(x, y, z);
|
||||
torex.forceSpawn = true;
|
||||
world.spawnEntityInWorld(torex);
|
||||
TrackerUtil.setTrackingRange(world, torex, 1000);
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotCraftingOutput;
|
||||
import com.hbm.inventory.SlotSmelting;
|
||||
import com.hbm.tileentity.machine.TileEntityFurnaceBrick;
|
||||
import com.hbm.util.InventoryUtil;
|
||||
|
||||
@ -23,7 +24,7 @@ public class ContainerFurnaceBrick extends Container {
|
||||
//fuel
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 35, 17));
|
||||
//output
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 2, 116, 35));
|
||||
this.addSlotToContainer(new SlotSmelting(invPlayer.player, tedf, 2, 116, 35));
|
||||
//ash
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 3, 35, 53));
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@ import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -92,7 +93,7 @@ public class ItemPipette extends Item implements IFillableItem {
|
||||
stack.stackTagCompound.setShort("capacity", (short) a);
|
||||
player.addChatMessage(new ChatComponentText(a + "/" + this.getMaxFill() + "mB"));
|
||||
} else {
|
||||
player.addChatMessage(new ChatComponentText(I18nUtil.resolveKey("desc.item.pipette.noEmpty")));
|
||||
player.addChatMessage(new ChatComponentTranslation("desc.item.pipette.noEmpty"));
|
||||
}
|
||||
}
|
||||
return stack;
|
||||
|
||||
@ -4,10 +4,6 @@ import java.util.List;
|
||||
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.TrackerUtil;
|
||||
import com.hbm.world.WorldUtil;
|
||||
import com.hbm.world.biome.BiomeGenCraterBase;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
@ -71,11 +67,7 @@ public class ItemWandD extends Item {
|
||||
if(!del.isEmpty()) {
|
||||
for(EntityNukeTorex torex : del) torex.setDead();
|
||||
} else {
|
||||
EntityNukeTorex torex = new EntityNukeTorex(world);
|
||||
torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0);
|
||||
torex.setScale((float) BobMathUtil.squirt( 1.5 ) * 1.5F);
|
||||
world.spawnEntityInWorld(torex);
|
||||
TrackerUtil.setTrackingRange(world, torex, 1000);
|
||||
EntityNukeTorex.statFac(world, pos.blockX, pos.blockY + 1, pos.blockZ, 150);
|
||||
}
|
||||
|
||||
/*EntityTracker entitytracker = ((WorldServer) world).getEntityTracker();
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (4851)";
|
||||
public static final String VERSION = "1.0.27 BETA (4858)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -16,6 +16,7 @@ import cpw.mods.fml.common.eventhandler.EventPriority;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
@ -377,10 +378,14 @@ public class ModEventHandlerRenderer {
|
||||
public void tintFog(FogColors event) {
|
||||
|
||||
EntityPlayer player = MainRegistry.proxy.me();
|
||||
Vec3 color = getFogBlendColor(player.worldObj, (int) Math.floor(player.posX), (int) Math.floor(player.posZ), event.renderPartialTicks);
|
||||
event.red = (float) color.xCoord;
|
||||
event.green = (float) color.yCoord;
|
||||
event.blue = (float) color.zCoord;
|
||||
if(player.worldObj.getBlock((int) Math.floor(player.posX), (int) Math.floor(player.posY), (int) Math.floor(player.posZ)).getMaterial() != Material.water) {
|
||||
Vec3 color = getFogBlendColor(player.worldObj, (int) Math.floor(player.posX), (int) Math.floor(player.posZ), event.red, event.green, event.blue, event.renderPartialTicks);
|
||||
if(color != null) {
|
||||
event.red = (float) color.xCoord;
|
||||
event.green = (float) color.yCoord;
|
||||
event.blue = (float) color.zCoord;
|
||||
}
|
||||
}
|
||||
|
||||
float soot = (float) (renderSoot - RadiationConfig.sootFogThreshold);
|
||||
float sootColor = 0.15F;
|
||||
@ -408,9 +413,10 @@ public class ModEventHandlerRenderer {
|
||||
private static int fogX;
|
||||
private static int fogZ;
|
||||
private static Vec3 fogRGBMultiplier;
|
||||
private static boolean doesBiomeApply = false;
|
||||
|
||||
/** Same procedure as getting the blended sky color but for fog */
|
||||
public static Vec3 getFogBlendColor(World world, int playerX, int playerZ, double partialTicks) {
|
||||
public static Vec3 getFogBlendColor(World world, int playerX, int playerZ, float red, float green, float blue, double partialTicks) {
|
||||
|
||||
if(playerX == fogX && playerZ == fogZ && fogInit) return fogRGBMultiplier;
|
||||
|
||||
@ -428,11 +434,12 @@ public class ModEventHandlerRenderer {
|
||||
float b = 0F;
|
||||
|
||||
int divider = 0;
|
||||
doesBiomeApply = false;
|
||||
|
||||
for(int x = -distance; x <= distance; x++) {
|
||||
for(int z = -distance; z <= distance; z++) {
|
||||
BiomeGenBase biome = world.getBiomeGenForCoords(playerX + x, playerZ + z);
|
||||
Vec3 color = getBiomeFogColors(world, biome, partialTicks);
|
||||
Vec3 color = getBiomeFogColors(world, biome, red, green, blue, partialTicks);
|
||||
r += color.xCoord;
|
||||
g += color.yCoord;
|
||||
b += color.zCoord;
|
||||
@ -443,17 +450,12 @@ public class ModEventHandlerRenderer {
|
||||
fogX = playerX;
|
||||
fogZ = playerZ;
|
||||
|
||||
fogRGBMultiplier = Vec3.createVectorHelper(r / divider, g / divider, b / divider);
|
||||
if(doesBiomeApply) fogRGBMultiplier = Vec3.createVectorHelper(r / divider, g / divider, b / divider);
|
||||
return fogRGBMultiplier;
|
||||
}
|
||||
|
||||
/** Returns the current biome's fog color adjusted for brightness if in a crater, or the world's cached fog color if not */
|
||||
public static Vec3 getBiomeFogColors(World world, BiomeGenBase biome, double partialTicks) {
|
||||
|
||||
Vec3 worldFog = world.getFogColor((float) partialTicks);
|
||||
double r = worldFog.xCoord;
|
||||
double g = worldFog.yCoord;
|
||||
double b = worldFog.zCoord;
|
||||
public static Vec3 getBiomeFogColors(World world, BiomeGenBase biome, float r, float g, float b, double partialTicks) {
|
||||
|
||||
if(biome instanceof BiomeGenCraterBase) {
|
||||
int color = biome.getSkyColorByTemp(biome.temperature);
|
||||
@ -466,6 +468,8 @@ public class ModEventHandlerRenderer {
|
||||
r *= skyBrightness;
|
||||
g *= skyBrightness;
|
||||
b *= skyBrightness;
|
||||
|
||||
doesBiomeApply = true;
|
||||
}
|
||||
|
||||
return Vec3.createVectorHelper(r, g, b);
|
||||
|
||||
@ -32,27 +32,29 @@ public class RenderFallingBlockNT extends Render {
|
||||
int iY = MathHelper.floor_double(entity.posY);
|
||||
int iZ = MathHelper.floor_double(entity.posZ);
|
||||
|
||||
if(block != null && block != world.getBlock(iX, iY, iZ)) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x, y, z);
|
||||
this.bindEntityTexture(entity);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
|
||||
this.renderBlocks.blockAccess = world;
|
||||
|
||||
if(block instanceof BlockFallingNT && ((BlockFallingNT) block).shouldOverrideRenderer()) {
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawingQuads();
|
||||
((BlockFallingNT) block).overrideRenderer(entity, renderBlocks, tessellator);
|
||||
tessellator.draw();
|
||||
} else {
|
||||
this.renderBlocks.setRenderBoundsFromBlock(block);
|
||||
this.renderBlocks.renderBlockSandFalling(block, world, iX, iY, iZ, entity.getDataWatcher().getWatchableObjectInt(11));
|
||||
GL11.glPushMatrix();
|
||||
try {
|
||||
if(block != null && block != world.getBlock(iX, iY, iZ)) {
|
||||
GL11.glTranslated(x, y, z);
|
||||
this.bindEntityTexture(entity);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
|
||||
this.renderBlocks.blockAccess = world;
|
||||
|
||||
if(block instanceof BlockFallingNT && ((BlockFallingNT) block).shouldOverrideRenderer()) {
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawingQuads();
|
||||
((BlockFallingNT) block).overrideRenderer(entity, renderBlocks, tessellator);
|
||||
tessellator.draw();
|
||||
} else {
|
||||
this.renderBlocks.setRenderBoundsFromBlock(block);
|
||||
this.renderBlocks.renderBlockSandFalling(block, world, iX, iY, iZ, entity.getDataWatcher().getWatchableObjectInt(11));
|
||||
}
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
} catch(Exception ex) { }
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
protected ResourceLocation getEntityTexture(EntityFallingBlockNT entity) {
|
||||
|
||||
@ -12,6 +12,7 @@ public class RenderConnector extends RenderPylonBase {
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) {
|
||||
TileEntityConnector con = (TileEntityConnector) te;
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
|
||||
@ -23,6 +23,8 @@ public class RenderPylon extends RenderPylonBase {
|
||||
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
|
||||
TileEntityPylon pyl = (TileEntityPylon)te;
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F - ((1F / 16F) * 14F), (float) z + 0.5F);
|
||||
GL11.glRotatef(180, 0F, 0F, 1F);
|
||||
|
||||
@ -14,6 +14,7 @@ public class RenderPylonLarge extends RenderPylonBase {
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5, y, z + 0.5);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
switch(tile.getBlockMetadata() - BlockDummyable.offset) {
|
||||
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
|
||||
@ -128,6 +128,8 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
|
||||
tank.loadTank(2, 3, slots);
|
||||
tank.setType(0, 1, slots);
|
||||
} else {
|
||||
for(DirPos pos : getConPos()) this.tryUnsubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
byte comp = this.getComparatorPower(); //comparator shit
|
||||
|
||||
@ -47,7 +47,7 @@ public class TrackerUtil {
|
||||
if(world instanceof WorldServer) {
|
||||
WorldServer server = (WorldServer) world;
|
||||
EntityTrackerEntry entry = getTrackerEntry(server, e.getEntityId());
|
||||
entry.blocksDistanceThreshold = range;
|
||||
if(entry != null) entry.blocksDistanceThreshold = range;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2311
src/main/resources/assets/hbm/models/machines/hydrotreater.obj
Normal file
2311
src/main/resources/assets/hbm/models/machines/hydrotreater.obj
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 941 B |
Loading…
x
Reference in New Issue
Block a user