aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/render
diff options
context:
space:
mode:
authorglowredman <35727266+glowredman@users.noreply.github.com>2022-02-10 21:56:38 +0100
committerGitHub <noreply@github.com>2022-02-10 21:56:38 +0100
commit34baef9a6a1b72c97eba20601ac09b23d9ae3754 (patch)
treeeb515d06c798ae5277909b85718cfb8b2bf56fb8 /src/main/java/gregtech/common/render
parentb87977e7f636f58ea6366868abddcf0993be01fd (diff)
downloadGT5-Unofficial-34baef9a6a1b72c97eba20601ac09b23d9ae3754.tar.gz
GT5-Unofficial-34baef9a6a1b72c97eba20601ac09b23d9ae3754.tar.bz2
GT5-Unofficial-34baef9a6a1b72c97eba20601ac09b23d9ae3754.zip
Fix Ore Particles (#926)
* Fix ore particles * simplify getIcon methods * Fix spacing, fix accidental renaming of args
Diffstat (limited to 'src/main/java/gregtech/common/render')
-rw-r--r--src/main/java/gregtech/common/render/GT_Renderer_Block.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/render/GT_Renderer_Block.java b/src/main/java/gregtech/common/render/GT_Renderer_Block.java
index eb2b68ac57..311da428f8 100644
--- a/src/main/java/gregtech/common/render/GT_Renderer_Block.java
+++ b/src/main/java/gregtech/common/render/GT_Renderer_Block.java
@@ -9,15 +9,20 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.interfaces.tileentity.IPipeRenderedTileEntity;
import gregtech.api.interfaces.tileentity.ITexturedTileEntity;
+import gregtech.api.objects.XSTR;
import gregtech.common.blocks.GT_Block_Machines;
import gregtech.common.blocks.GT_Block_Ores_Abstract;
import gregtech.common.blocks.GT_TileEntity_Ores;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.particle.EffectRenderer;
+import net.minecraft.client.particle.EntityDiggingFX;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
import org.lwjgl.opengl.GL11;
import static gregtech.api.interfaces.metatileentity.IConnectable.CONNECTED_DOWN;
@@ -447,6 +452,39 @@ public class GT_Renderer_Block implements ISimpleBlockRenderingHandler {
return true;
}
+
+ public static void addHitEffects(EffectRenderer effectRenderer, Block block, World world, int x, int y, int z, int side) {
+ double rX = x + XSTR.XSTR_INSTANCE.nextDouble() * 0.8 + 0.1;
+ double rY = y + XSTR.XSTR_INSTANCE.nextDouble() * 0.8 + 0.1;
+ double rZ = z + XSTR.XSTR_INSTANCE.nextDouble() * 0.8 + 0.1;
+ if (side == 0) {
+ rY = y - 0.1;
+ } else if (side == 1) {
+ rY = y + 1.1;
+ } else if (side == 2) {
+ rZ = z - 0.1;
+ } else if (side == 3) {
+ rZ = z + 1.1;
+ } else if (side == 4) {
+ rX = x - 0.1;
+ } else if (side == 5) {
+ rX = x + 1.1;
+ }
+ effectRenderer.addEffect((new EntityDiggingFX(world, rX, rY, rZ, 0.0, 0.0, 0.0, block, block.getDamageValue(world, x, y, z), side)).applyColourMultiplier(x, y, z).multiplyVelocity(0.2F).multipleParticleScaleBy(0.6F));
+ }
+
+ public static void addDestroyEffects(EffectRenderer effectRenderer, Block block, World world, int x, int y, int z) {
+ for (int iX = 0; iX < 4; ++iX) {
+ for (int iY = 0; iY < 4; ++iY) {
+ for (int iZ = 0; iZ < 4; ++iZ) {
+ double bX = x + (iX + 0.5) / 4.0;
+ double bY = y + (iY + 0.5) / 4.0;
+ double bZ = z + (iZ + 0.5) / 4.0;
+ effectRenderer.addEffect((new EntityDiggingFX(world, bX, bY, bZ, bX - x - 0.5, bY - y - 0.5, bZ - z - 0.5, block, block.getDamageValue(world, x, y, z))).applyColourMultiplier(x, y, z));
+ }
+ }
+ }
+ }
@Override
public void renderInventoryBlock(Block aBlock, int aMeta, int aModelID, RenderBlocks aRenderer) {