Исходник Particles expensive ready 2.0

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

Particle
Код:
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
Код:
 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

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

Particle
Код:
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
Код:
 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

картинки сами найдёте
 
Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2023
Сообщения
138
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хз просто партиклы на экспу (мб кому-то надо)

Particle
Код:
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
Код:
 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 ?
 
эксперт в майнкрафт апи
Read Only
Статус
Оффлайн
Регистрация
25 Янв 2023
Сообщения
684
Реакции[?]
286
Поинты[?]
21K
SS будет этого говна?пастеры совсем уже от рук отбились смысл мне это в свой експенсив добавлять час если код говно и скрина нет
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2022
Сообщения
308
Реакции[?]
7
Поинты[?]
3K
Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2023
Сообщения
138
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2023
Сообщения
138
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
8 Май 2023
Сообщения
407
Реакции[?]
5
Поинты[?]
6K
SS будет этого говна?пастеры совсем уже от рук отбились смысл мне это в свой експенсив добавлять час если код говно и скрина нет
Типо как в новое снежинки какието :roflanEbalo:
 
Сверху Снизу