do the yoinky sploinky

This commit is contained in:
Boblet 2025-01-07 16:44:33 +01:00
parent 702914f03a
commit 9ef98691f6
18 changed files with 97 additions and 47 deletions

View File

@ -1,40 +1,10 @@
## The performance update
* my boy gammawave basically did the entire thing
* packet sending should be more performant now, which affects most machines
* RBMKs are now *much* more performant with their simulation and packets
## Added
* 10 gauge slug
* Shredder
* A b-side for the autoshotgun
* Fires 12 gauge, accelerated by plasma, which bursts on impact
* Fragments move slowly and have damaging ricochet effects
* Fragments keep the effects of the original shell (e.g. explosive shell will spawn a single explosive fragment)
* Other gun stuff
* Phosphor vines
## Changed
* Black powder bullets now have 75% base damage instead of 50%
* Ball and powder type rounds no longer have a bonus on headshot
* Shot and powder now does way less damage
* Some secret ammo types are now craftable
* Updated the assault rifle's texture
* Shooting at old CRT screens now breaks them
* Leviathan turbines now have a tooltip showing their buffers
* Fullerene now only uses visible light instead of UV to make, meaning fullerite can be obtained without a fusion or watz reactor (still requiring vacuum oil though)
* Crumb yields from bedrock ore processing has been heavily decreased, all recipes that yield crumbs produce no more than one pile
* Raw bedrock ore taken out of the creative tab now has the stats of the position the player is in, instead of being worthless
* U233's color coded isotope indicator is now yellow instead of orange, making yellow standard code for "secondary fissile isotope" and orange for "radioisotope"
## Fixed
* Fixed `ITEM_TOOLTIP_SHOW_CUSTOM_NUKE` client config overriding `ITEM_TOOLTIP_SHOW_OREDICT` due to name overlap
* Fixed certain secret weapon creation condition not working properly
* Fixed artillery rockets getting stuck in the air when their target is not set to a block
* Fixed potential issue of ABMs getting stuck mid-flight when their target is destroyed prematurely
* Fixed mistakes in the fragment names for de_DE
* Fixed nitra rocket duplication only yielding one rocket
* Fixed rotary furnace not always properly showing the metal pouring effect
* Fixed T45 model not lifting its arms when a new gun is held
* Like previously, due to the archaic nature of the model, the rotations are not very precise, and will most likely break when holding an akimbo gun
* Potentially fixed an issue where cargo planes do not successfully spawn on lower render distances
* Fixed glyphids not calling their `onDeath` function properly, causing them to not drop anything and preventing the appropriate forge events from firing
* Fixed GL state leak caused by plasma blast particles, causing other particles (especially bones) to render weird
* Fixed night vision goggles being constantly disabled due to m1tty's night vision removal out of water
* Fixed armor on test dummies entering the sneaked state in third person view when the player sneaks
* Fixed raw bedrock ore tooltip not showing the density's color correctly
* Fixed T45 helmet not protecting against carbon monoxide

View File

@ -27,9 +27,7 @@ import com.hbm.tileentity.machine.storage.TileEntityFileCabinet;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFalling;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
import net.minecraft.block.material.MaterialLiquid;
import net.minecraft.block.material.*;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;

View File

@ -1,7 +1,6 @@
package com.hbm.blocks.generic;
import java.util.ArrayList;
import java.util.Random;
import com.hbm.lib.RefStrings;
@ -13,8 +12,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
@ -31,8 +28,10 @@ public class BlockHangingVine extends Block implements IShearable {
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
if(world.getBlock(x, y - 1, z).isSideSolid(world, x, y - 1, z, ForgeDirection.UP))
entity.setInWeb();
entity.motionX *= 0.5;
entity.motionY *= 0.5;
entity.motionZ *= 0.5;
entity.fallDistance = 0F;
}
@Override
@ -86,7 +85,8 @@ public class BlockHangingVine extends Block implements IShearable {
public boolean renderAsNormalBlock() {
return false;
}
@SideOnly(Side.CLIENT) public IIcon iconItem;
@SideOnly(Side.CLIENT) public IIcon iconGround; //when touching a solid face below
@SideOnly(Side.CLIENT) public IIcon iconHang; //when hanging mid-air
@SideOnly(Side.CLIENT) public IIcon iconGlow; //regular phosphor
@ -94,6 +94,7 @@ public class BlockHangingVine extends Block implements IShearable {
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister reg) {
this.iconItem = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_item");
this.blockIcon = reg.registerIcon(RefStrings.MODID + ":vine_phosphor");
this.iconGround = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_ground");
this.iconHang = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_hang");
@ -110,6 +111,12 @@ public class BlockHangingVine extends Block implements IShearable {
else
return b.isAir(world, x, y, z) ? iconHangGlow : iconGlow;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
return this.iconItem;
}
public static int renderID = RenderingRegistry.getNextAvailableRenderId();

View File

@ -5,7 +5,11 @@ import java.util.Random;
import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType;
import com.hbm.items.tool.ItemOreDensityScanner;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@ -16,6 +20,15 @@ import net.minecraft.util.StatCollector;
import net.minecraft.world.gen.NoiseGeneratorPerlin;
public class ItemBedrockOreBase extends Item {
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List list) {
ItemStack ore = new ItemStack(item);
EntityPlayer player = MainRegistry.proxy.me();
if(player != null) setOreAmount(ore, (int) Math.floor(player.posX), (int) Math.floor(player.posZ));
list.add(ore);
}
public static double getOreAmount(ItemStack stack, BedrockOreType type) {
if(!stack.hasTagCompound()) return 0;
@ -38,7 +51,7 @@ public class ItemBedrockOreBase extends Item {
for(BedrockOreType type : BedrockOreType.values()) {
double amount = this.getOreAmount(stack, type);
String typeName = StatCollector.translateToLocalFormatted("item.bedrock_ore.type." + type.suffix + ".name");
list.add(typeName + ": " + ((int) (amount * 100)) / 100D + " (" + StatCollector.translateToLocalFormatted(ItemOreDensityScanner.translateDensity(amount)) + EnumChatFormatting.RESET + ")");
list.add(typeName + ": " + ((int) (amount * 100)) / 100D + " (" + ItemOreDensityScanner.getColor(amount) + StatCollector.translateToLocalFormatted(ItemOreDensityScanner.translateDensity(amount)) + EnumChatFormatting.GRAY + ")");
}
}

View File

@ -1,6 +1,7 @@
package com.hbm.render.block;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.blocks.generic.BlockHangingVine;
@ -10,13 +11,56 @@ import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.util.ForgeDirection;
public class RenderHangingVine implements ISimpleBlockRenderingHandler {
@Override
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
//TextureUtil.func_152777_a(false, false, 1.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(30.0F, -1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-1.0F, -0.5F, -1.0F);
/*GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(210.0F, 1.0F, 0.0F, 0.0F);
GL11.glScalef(1.0F, 1.0F, -1.0F);
GL11.glTranslatef(1.0F, 0.5F, 1.0F);
GL11.glScalef(10.0F, 10.0F, 10.0F);*/
IIcon iicon0 = ((BlockHangingVine) block).iconHang;
IIcon iicon1 = ((BlockHangingVine) block).iconHangGlow;
renderStandard2D(iicon0);
renderStandard2D(iicon1);
}
public void renderStandard2D(IIcon iicon) {
Tessellator tessellator = Tessellator.instance;
float f = iicon.getMinU();
float f1 = iicon.getMaxU();
float f2 = iicon.getMinV();
float f3 = iicon.getMaxV();
float f4 = 0.0F;
float f5 = 0.3F;
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
//GL11.glTranslatef(-f4, -f5, 0.0F);
float f6 = 1.5F;
//GL11.glScalef(f6, f6, f6);
//GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
//GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
//GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
//ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, 0.0F, 1.0F);
tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, (double)f1, (double)f3);
tessellator.addVertexWithUV(1.0D, 0.0D, 0.0D, (double)f, (double)f3);
tessellator.addVertexWithUV(1.0D, 1.0D, 0.0D, (double)f, (double)f2);
tessellator.addVertexWithUV(0.0D, 1.0D, 0.0D, (double)f1, (double)f2);
tessellator.draw();
}
@Override

View File

@ -1,6 +1,7 @@
package com.hbm.render.block;
import com.hbm.blocks.network.RadioTorchBase;
import com.hbm.interfaces.NotableComments;
import com.hbm.main.ResourceManager;
import com.hbm.render.util.ObjUtil;
import com.hbm.tileentity.network.TileEntityRadioTorchBase;
@ -15,6 +16,7 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.client.model.obj.WavefrontObject;
@NotableComments
public class RenderRTTY implements ISimpleBlockRenderingHandler {
@Override

View File

@ -51,7 +51,7 @@ public class ArmorUtil {
ArmorRegistry.registerHazard(ModItems.hazmat_helmet_grey, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.hazmat_paa_helmet, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.liquidator_helmet, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.steamsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 649 B

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,16 @@
{
"animation": {
"interpolate": true,
"frametime": 8,
"frames": [
0,
1,
2,
3,
4,
3,
2,
1
]
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 B

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 B

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

After

Width:  |  Height:  |  Size: 275 B