Particles expensive ready 2.0

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2023
Сообщения
389
Реакции
1
хз просто партиклы на экспу (мб кому-то надо)

Particle
Код:
Expand Collapse Copy
package ru.shield.modules.impl.combat;

import java.awt.Color;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Vector3d;
import org.joml.Vector2d;
import ru.shield.events.Event;
import ru.shield.events.impl.packet.EventPacket;
import ru.shield.events.impl.player.EventMotion;
import ru.shield.events.impl.render.EventRender;
import ru.shield.managment.Managment;
import ru.shield.modules.Function;
import ru.shield.modules.FunctionAnnotation;
import ru.shield.modules.Type;
import ru.shield.modules.settings.imp.BooleanOption;
import ru.shield.modules.settings.imp.ModeSetting;
import ru.shield.modules.settings.imp.SliderSetting;
import ru.shield.util.math.PlayerPositionTracker;
import ru.shield.util.render.BloomHelper;
import ru.shield.util.render.ColorUtil;
import ru.shield.util.render.ProjectionUtils;
import ru.shield.util.render.RenderUtil;

@FunctionAnnotation(name="Particles", type=Type.Combat)
public class Particles
extends Function {
public BooleanOption hit = new BooleanOption("Только при уроне", true);
public SliderSetting Size = new SliderSetting("Размер", 10.0f, 10.0f, 20.0f, 1.0f);
private ModeSetting mode = new ModeSetting("Мод", "Шарики", "Шарики","Снежинки","Сердечки","Звезда");
CopyOnWriteArrayList<Point> points = new CopyOnWriteArrayList();

public Particles() {
this.addSettings(this.mode, this.hit, this.Size);
}

@Override
public void onEvent(Event event) {
Event e;
CUseEntityPacket use;
EventPacket e2;
IPacket var4;
if (Managment.FUNCTION_MANAGER.particleses.hit.get() && event instanceof EventPacket && (var4 = (e2 = (EventPacket)event).getPacket()) instanceof CUseEntityPacket && (use = (CUseEntityPacket)var4).getAction() == CUseEntityPacket.Action.ATTACK) {
Entity entity = use.getEntityFromWorld(Particles.mc.world);
if (Particles.mc.world != null && entity != null) {
this.createPoints(entity.getPositionVec().add(0.0, 1.0, 0.0));
}
}
if (event instanceof EventMotion) {
e = (EventMotion)event;
for (Entity entity : Particles.mc.world.getAllEntities()) {
if (entity instanceof LivingEntity) {
LivingEntity l = (LivingEntity)entity;
if (l.hurtTime == 9) {
this.createPoints(l.getPositionVec().add(0.0, 1.0, 0.0));
}
}
if (!(entity instanceof EnderPearlEntity)) continue;
EnderPearlEntity p = (EnderPearlEntity)entity;
this.points.add(new Point(this, p.getPositionVec()));
}
}
if (event instanceof EventRender && ((EventRender)(e = (EventRender)event)).isRender2D()) {
if (this.points.size() > 100) {
this.points.remove(0);
}
for (Point point : this.points) {
long alive = System.currentTimeMillis() - point.createdTime;
if (alive <= point.aliveTime) {
Minecraft var10000 = mc;
if (Minecraft.player.canVectorBeSeenFixed(point.position) && PlayerPositionTracker.isInView(point.position)) {
Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);
if (pos == null) continue;
float sizeDefault = point.size;
point.update();
float size = 1.0f - (float)alive / (float)point.aliveTime;
float sized = this.Size.getValue().floatValue();
BloomHelper.registerRenderCall(() -> {
switch (this.mode.get()) {
case "Шарики": {
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, (sizeDefault + 1.0f) * size, Color.BLACK.getRGB());//картинка шарика
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, sizeDefault * size, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка шарика
break;
}
case "Снежинки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка снежинки
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка снежинки
break;
}
case "Сердечки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка сердечка
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка сердечка
break;
}
case "Звезда": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка звезды
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка звезды
}
}
});
switch (this.mode.get()) {
case "Шарики": {
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, (sizeDefault + 1.0f) * size, Color.BLACK.getRGB());//картинка шарика
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, sizeDefault * size, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка шарика
break;
}
case "Снежинки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка снежинки
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка снежинки
break;
}
case "Сердечки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка сердечка
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка сердечка
break;
}
case "Звезда": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка звезды
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка звезды
}
}
continue;
}
}
this.points.remove(point);
}
return;
}
}

private void createPoints(Vector3d position2) {
for (int i = 0; i < ThreadLocalRandom.current().nextInt(5, 20); ++i) {
this.points.add(new Point(this, position2));
}
}
}

и ешё point
Код:
Expand Collapse Copy
 package ru.shield.modules.impl.combat;
import java.util.concurrent.ThreadLocalRandom;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import ru.shield.modules.impl.combat.Particles;
import ru.shield.util.IMinecraft;
import ru.shield.util.animations.Direction;
import ru.shield.util.render.animation.AnimationMath;
import ru.shield.util.world.WorldUtil;

final class Point {
private final Particles this$0;
public Vector3d position;
public Vector3d motion;
public Vector3d animatedMotion;
public long aliveTime;
public float size;
public long createdTime;

public Point(Particles var1, Vector3d position2) {
this.this$0 = var1;
this.createdTime = System.currentTimeMillis();
this.position = new Vector3d(position2.x, position2.y, position2.z);
this.motion = new Vector3d(ThreadLocalRandom.current().nextFloat(-0.01f, 0.01f), 0.0, ThreadLocalRandom.current().nextFloat(-0.01f, 0.01f));
this.animatedMotion = new Vector3d(0.0, 0.0, 0.0);
this.size = ThreadLocalRandom.current().nextFloat(4.0f, 7.0f);
this.aliveTime = ThreadLocalRandom.current().nextLong(3000L, 10000L);
}

public void update() {
if (this.isGround()) {
this.motion.y = 1.0;
Vector3d var10000 = this.motion;
var10000.x *= 1.05;
var10000 = this.motion;
var10000.z *= 1.05;
} else {
this.motion.y = -0.01;
Vector3d var10000 = this.motion;
var10000.y *= 2.0;
}
this.animatedMotion.x = AnimationMath.fast((float)this.animatedMotion.x, (float)this.motion.x, 3.0f);
this.animatedMotion.y = AnimationMath.fast((float)this.animatedMotion.y, (float)this.motion.y, 3.0f);
this.animatedMotion.z = AnimationMath.fast((float)this.animatedMotion.z, (float)this.motion.z, 3.0f);
this.position = this.position.add(this.animatedMotion);
}

boolean isGround() {
Vector3d position2 = this.position.add(this.animatedMotion);
AxisAlignedBB bb = new AxisAlignedBB(position2.x - 0.1, position2.y - 0.1, position2.z - 0.1, position2.x + 0.1, position2.y + 0.1, position2.z + 0.1);
return WorldUtil.TotemUtil.getSphere(new BlockPos(position2), 2.0f, 4, false, true, 0).stream().anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState((BlockPos)blockPos).isAir() && bb.intersects(new AxisAlignedBB((BlockPos)blockPos)) && AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 1, 0)), position2, new double[]{2.0}, (Direction)null, (double)0.1f, (double)0.1f, (double)0.1f) == Direction.DOWN);
}
}

ещё в function manager это
1706884934366.png
и это
1706884955447.png


картинки сами найдёте
 
хз просто партиклы на экспу (мб кому-то надо)
как в экспе 3.0

Particle
Код:
Expand Collapse Copy
package ru.shield.modules.impl.combat;

import java.awt.Color;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Vector3d;
import org.joml.Vector2d;
import ru.shield.events.Event;
import ru.shield.events.impl.packet.EventPacket;
import ru.shield.events.impl.player.EventMotion;
import ru.shield.events.impl.render.EventRender;
import ru.shield.managment.Managment;
import ru.shield.modules.Function;
import ru.shield.modules.FunctionAnnotation;
import ru.shield.modules.Type;
import ru.shield.modules.settings.imp.BooleanOption;
import ru.shield.modules.settings.imp.ModeSetting;
import ru.shield.modules.settings.imp.SliderSetting;
import ru.shield.util.math.PlayerPositionTracker;
import ru.shield.util.render.BloomHelper;
import ru.shield.util.render.ColorUtil;
import ru.shield.util.render.ProjectionUtils;
import ru.shield.util.render.RenderUtil;

@FunctionAnnotation(name="Particles", type=Type.Combat)
public class Particles
extends Function {
public BooleanOption hit = new BooleanOption("Только при уроне", true);
public SliderSetting Size = new SliderSetting("Размер", 10.0f, 10.0f, 20.0f, 1.0f);
private ModeSetting mode = new ModeSetting("Мод", "Шарики", "Шарики","Снежинки","Сердечки","Звезда");
CopyOnWriteArrayList<Point> points = new CopyOnWriteArrayList();

public Particles() {
this.addSettings(this.mode, this.hit, this.Size);
}

@Override
public void onEvent(Event event) {
Event e;
CUseEntityPacket use;
EventPacket e2;
IPacket var4;
if (Managment.FUNCTION_MANAGER.particleses.hit.get() && event instanceof EventPacket && (var4 = (e2 = (EventPacket)event).getPacket()) instanceof CUseEntityPacket && (use = (CUseEntityPacket)var4).getAction() == CUseEntityPacket.Action.ATTACK) {
Entity entity = use.getEntityFromWorld(Particles.mc.world);
if (Particles.mc.world != null && entity != null) {
this.createPoints(entity.getPositionVec().add(0.0, 1.0, 0.0));
}
}
if (event instanceof EventMotion) {
e = (EventMotion)event;
for (Entity entity : Particles.mc.world.getAllEntities()) {
if (entity instanceof LivingEntity) {
LivingEntity l = (LivingEntity)entity;
if (l.hurtTime == 9) {
this.createPoints(l.getPositionVec().add(0.0, 1.0, 0.0));
}
}
if (!(entity instanceof EnderPearlEntity)) continue;
EnderPearlEntity p = (EnderPearlEntity)entity;
this.points.add(new Point(this, p.getPositionVec()));
}
}
if (event instanceof EventRender && ((EventRender)(e = (EventRender)event)).isRender2D()) {
if (this.points.size() > 100) {
this.points.remove(0);
}
for (Point point : this.points) {
long alive = System.currentTimeMillis() - point.createdTime;
if (alive <= point.aliveTime) {
Minecraft var10000 = mc;
if (Minecraft.player.canVectorBeSeenFixed(point.position) && PlayerPositionTracker.isInView(point.position)) {
Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);
if (pos == null) continue;
float sizeDefault = point.size;
point.update();
float size = 1.0f - (float)alive / (float)point.aliveTime;
float sized = this.Size.getValue().floatValue();
BloomHelper.registerRenderCall(() -> {
switch (this.mode.get()) {
case "Шарики": {
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, (sizeDefault + 1.0f) * size, Color.BLACK.getRGB());//картинка шарика
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, sizeDefault * size, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка шарика
break;
}
case "Снежинки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка снежинки
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка снежинки
break;
}
case "Сердечки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка сердечка
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка сердечка
break;
}
case "Звезда": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка звезды
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка звезды
}
}
});
switch (this.mode.get()) {
case "Шарики": {
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, (sizeDefault + 1.0f) * size, Color.BLACK.getRGB());//картинка шарика
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, sizeDefault * size, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка шарика
break;
}
case "Снежинки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка снежинки
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка снежинки
break;
}
case "Сердечки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка сердечка
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка сердечка
break;
}
case "Звезда": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка звезды
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка звезды
}
}
continue;
}
}
this.points.remove(point);
}
return;
}
}

private void createPoints(Vector3d position2) {
for (int i = 0; i < ThreadLocalRandom.current().nextInt(5, 20); ++i) {
this.points.add(new Point(this, position2));
}
}
}

и ешё point
Код:
Expand Collapse Copy
 package ru.shield.modules.impl.combat;
import java.util.concurrent.ThreadLocalRandom;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import ru.shield.modules.impl.combat.Particles;
import ru.shield.util.IMinecraft;
import ru.shield.util.animations.Direction;
import ru.shield.util.render.animation.AnimationMath;
import ru.shield.util.world.WorldUtil;

final class Point {
private final Particles this$0;
public Vector3d position;
public Vector3d motion;
public Vector3d animatedMotion;
public long aliveTime;
public float size;
public long createdTime;

public Point(Particles var1, Vector3d position2) {
this.this$0 = var1;
this.createdTime = System.currentTimeMillis();
this.position = new Vector3d(position2.x, position2.y, position2.z);
this.motion = new Vector3d(ThreadLocalRandom.current().nextFloat(-0.01f, 0.01f), 0.0, ThreadLocalRandom.current().nextFloat(-0.01f, 0.01f));
this.animatedMotion = new Vector3d(0.0, 0.0, 0.0);
this.size = ThreadLocalRandom.current().nextFloat(4.0f, 7.0f);
this.aliveTime = ThreadLocalRandom.current().nextLong(3000L, 10000L);
}

public void update() {
if (this.isGround()) {
this.motion.y = 1.0;
Vector3d var10000 = this.motion;
var10000.x *= 1.05;
var10000 = this.motion;
var10000.z *= 1.05;
} else {
this.motion.y = -0.01;
Vector3d var10000 = this.motion;
var10000.y *= 2.0;
}
this.animatedMotion.x = AnimationMath.fast((float)this.animatedMotion.x, (float)this.motion.x, 3.0f);
this.animatedMotion.y = AnimationMath.fast((float)this.animatedMotion.y, (float)this.motion.y, 3.0f);
this.animatedMotion.z = AnimationMath.fast((float)this.animatedMotion.z, (float)this.motion.z, 3.0f);
this.position = this.position.add(this.animatedMotion);
}

boolean isGround() {
Vector3d position2 = this.position.add(this.animatedMotion);
AxisAlignedBB bb = new AxisAlignedBB(position2.x - 0.1, position2.y - 0.1, position2.z - 0.1, position2.x + 0.1, position2.y + 0.1, position2.z + 0.1);
return WorldUtil.TotemUtil.getSphere(new BlockPos(position2), 2.0f, 4, false, true, 0).stream().anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState((BlockPos)blockPos).isAir() && bb.intersects(new AxisAlignedBB((BlockPos)blockPos)) && AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 1, 0)), position2, new double[]{2.0}, (Direction)null, (double)0.1f, (double)0.1f, (double)0.1f) == Direction.DOWN);
}
}

ещё в function manager это Посмотреть вложение 269775 и это Посмотреть вложение 269776

картинки сами найдёте
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хз просто партиклы на экспу (мб кому-то надо)

Particle
Код:
Expand Collapse Copy
package ru.shield.modules.impl.combat;

import java.awt.Color;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadLocalRandom;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Vector3d;
import org.joml.Vector2d;
import ru.shield.events.Event;
import ru.shield.events.impl.packet.EventPacket;
import ru.shield.events.impl.player.EventMotion;
import ru.shield.events.impl.render.EventRender;
import ru.shield.managment.Managment;
import ru.shield.modules.Function;
import ru.shield.modules.FunctionAnnotation;
import ru.shield.modules.Type;
import ru.shield.modules.settings.imp.BooleanOption;
import ru.shield.modules.settings.imp.ModeSetting;
import ru.shield.modules.settings.imp.SliderSetting;
import ru.shield.util.math.PlayerPositionTracker;
import ru.shield.util.render.BloomHelper;
import ru.shield.util.render.ColorUtil;
import ru.shield.util.render.ProjectionUtils;
import ru.shield.util.render.RenderUtil;

@FunctionAnnotation(name="Particles", type=Type.Combat)
public class Particles
extends Function {
public BooleanOption hit = new BooleanOption("Только при уроне", true);
public SliderSetting Size = new SliderSetting("Размер", 10.0f, 10.0f, 20.0f, 1.0f);
private ModeSetting mode = new ModeSetting("Мод", "Шарики", "Шарики","Снежинки","Сердечки","Звезда");
CopyOnWriteArrayList<Point> points = new CopyOnWriteArrayList();

public Particles() {
this.addSettings(this.mode, this.hit, this.Size);
}

@Override
public void onEvent(Event event) {
Event e;
CUseEntityPacket use;
EventPacket e2;
IPacket var4;
if (Managment.FUNCTION_MANAGER.particleses.hit.get() && event instanceof EventPacket && (var4 = (e2 = (EventPacket)event).getPacket()) instanceof CUseEntityPacket && (use = (CUseEntityPacket)var4).getAction() == CUseEntityPacket.Action.ATTACK) {
Entity entity = use.getEntityFromWorld(Particles.mc.world);
if (Particles.mc.world != null && entity != null) {
this.createPoints(entity.getPositionVec().add(0.0, 1.0, 0.0));
}
}
if (event instanceof EventMotion) {
e = (EventMotion)event;
for (Entity entity : Particles.mc.world.getAllEntities()) {
if (entity instanceof LivingEntity) {
LivingEntity l = (LivingEntity)entity;
if (l.hurtTime == 9) {
this.createPoints(l.getPositionVec().add(0.0, 1.0, 0.0));
}
}
if (!(entity instanceof EnderPearlEntity)) continue;
EnderPearlEntity p = (EnderPearlEntity)entity;
this.points.add(new Point(this, p.getPositionVec()));
}
}
if (event instanceof EventRender && ((EventRender)(e = (EventRender)event)).isRender2D()) {
if (this.points.size() > 100) {
this.points.remove(0);
}
for (Point point : this.points) {
long alive = System.currentTimeMillis() - point.createdTime;
if (alive <= point.aliveTime) {
Minecraft var10000 = mc;
if (Minecraft.player.canVectorBeSeenFixed(point.position) && PlayerPositionTracker.isInView(point.position)) {
Vector2d pos = ProjectionUtils.project(point.position.x, point.position.y, point.position.z);
if (pos == null) continue;
float sizeDefault = point.size;
point.update();
float size = 1.0f - (float)alive / (float)point.aliveTime;
float sized = this.Size.getValue().floatValue();
BloomHelper.registerRenderCall(() -> {
switch (this.mode.get()) {
case "Шарики": {
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, (sizeDefault + 1.0f) * size, Color.BLACK.getRGB());//картинка шарика
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, sizeDefault * size, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка шарика
break;
}
case "Снежинки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка снежинки
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка снежинки
break;
}
case "Сердечки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка сердечка
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка сердечка
break;
}
case "Звезда": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка звезды
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка звезды
}
}
});
switch (this.mode.get()) {
case "Шарики": {
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, (sizeDefault + 1.0f) * size, Color.BLACK.getRGB());//картинка шарика
RenderUtil.Render2D.drawRoundCircle((float)pos.x, (float)pos.y, sizeDefault * size, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка шарика
break;
}
case "Снежинки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка снежинки
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/snowflake.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка снежинки
break;
}
case "Сердечки": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка сердечка
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/heart.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка сердечка
break;
}
case "Звезда": {
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, Color.BLACK.getRGB());//картинка звезды
RenderUtil.Render2D.drawImage(new ResourceLocation("expensive/images/star.png"), (float)pos.x, (float)pos.y, sized, sized, ColorUtil.getColorStyle(this.points.indexOf(point)));//картинка звезды
}
}
continue;
}
}
this.points.remove(point);
}
return;
}
}

private void createPoints(Vector3d position2) {
for (int i = 0; i < ThreadLocalRandom.current().nextInt(5, 20); ++i) {
this.points.add(new Point(this, position2));
}
}
}

и ешё point
Код:
Expand Collapse Copy
 package ru.shield.modules.impl.combat;
import java.util.concurrent.ThreadLocalRandom;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import ru.shield.modules.impl.combat.Particles;
import ru.shield.util.IMinecraft;
import ru.shield.util.animations.Direction;
import ru.shield.util.render.animation.AnimationMath;
import ru.shield.util.world.WorldUtil;

final class Point {
private final Particles this$0;
public Vector3d position;
public Vector3d motion;
public Vector3d animatedMotion;
public long aliveTime;
public float size;
public long createdTime;

public Point(Particles var1, Vector3d position2) {
this.this$0 = var1;
this.createdTime = System.currentTimeMillis();
this.position = new Vector3d(position2.x, position2.y, position2.z);
this.motion = new Vector3d(ThreadLocalRandom.current().nextFloat(-0.01f, 0.01f), 0.0, ThreadLocalRandom.current().nextFloat(-0.01f, 0.01f));
this.animatedMotion = new Vector3d(0.0, 0.0, 0.0);
this.size = ThreadLocalRandom.current().nextFloat(4.0f, 7.0f);
this.aliveTime = ThreadLocalRandom.current().nextLong(3000L, 10000L);
}

public void update() {
if (this.isGround()) {
this.motion.y = 1.0;
Vector3d var10000 = this.motion;
var10000.x *= 1.05;
var10000 = this.motion;
var10000.z *= 1.05;
} else {
this.motion.y = -0.01;
Vector3d var10000 = this.motion;
var10000.y *= 2.0;
}
this.animatedMotion.x = AnimationMath.fast((float)this.animatedMotion.x, (float)this.motion.x, 3.0f);
this.animatedMotion.y = AnimationMath.fast((float)this.animatedMotion.y, (float)this.motion.y, 3.0f);
this.animatedMotion.z = AnimationMath.fast((float)this.animatedMotion.z, (float)this.motion.z, 3.0f);
this.position = this.position.add(this.animatedMotion);
}

boolean isGround() {
Vector3d position2 = this.position.add(this.animatedMotion);
AxisAlignedBB bb = new AxisAlignedBB(position2.x - 0.1, position2.y - 0.1, position2.z - 0.1, position2.x + 0.1, position2.y + 0.1, position2.z + 0.1);
return WorldUtil.TotemUtil.getSphere(new BlockPos(position2), 2.0f, 4, false, true, 0).stream().anyMatch(blockPos -> !IMinecraft.mc.world.getBlockState((BlockPos)blockPos).isAir() && bb.intersects(new AxisAlignedBB((BlockPos)blockPos)) && AxisAlignedBB.calcSideHit(new AxisAlignedBB(blockPos.add(0, 1, 0)), position2, new double[]{2.0}, (Direction)null, (double)0.1f, (double)0.1f, (double)0.1f) == Direction.DOWN);
}
}

ещё в function manager это Посмотреть вложение 269775 и это Посмотреть вложение 269776

картинки сами найдёте
ss ?
 
SS будет этого говна?пастеры совсем уже от рук отбились смысл мне это в свой експенсив добавлять час если код говно и скрина нет
 
Shit ready и да сука где SS
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
SS будет этого говна?пастеры совсем уже от рук отбились смысл мне это в свой експенсив добавлять час если код говно и скрина нет
Типо как в новое снежинки какието :roflanEbalo:
 
нет эмоций
 
Назад
Сверху Снизу