Эффект glowing на блоке

Версия Minecraft
1.12.2
API
Forge
Мне нужно подсветить блок эффектом спектральной стрелы(glowing) исключительно на клиенте.
1656622477900.png
Без модов это можно сделать спавном невидимого шалкера в блоке с эффектом как раз таки этого самого glowing'a.

Модом мне нужно добиться того же самого, только на стороне клиента.

Первое что пришло в голову, поработать с рендером этого самого эффекта и вызывать его вне зависимости от существа. Но сложность заключается в том, что скорее всего там какие-то невероятные вычисления используются, ведь каждое существо подсвечивается по контуру модели, а с математикой у меня не очень.

Ещё я думал каким-то образом заставить рендерер существ отрендерить моё существо, которого на самом деле не существует на сервере. Внедрился миксиной в этот рендерер, но никакого результата это не дало. Прикреплю код, может у вас получится привести его в рабочий вид.

Java:
package com.treepuncher.vixionutils.mixin;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderGlobal;
import net.minecraft.client.renderer.culling.ICamera;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.monster.EntityShulker;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.math.BlockPos;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(RenderGlobal.class)
public class RenderVirtualEntities {
    @Shadow @Final private RenderManager renderManager;

    @Shadow private int countEntitiesRendered;

    @Inject(method = "renderEntities", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/RenderManager;renderEntityStatic(Lnet/minecraft/entity/Entity;FZ)V", ordinal = 0))
    private void render(Entity renderViewEntity, ICamera camera, float partialTicks, CallbackInfo ci)
    {
        EntityShulker entity = new EntityShulker(Minecraft.getMinecraft().world);
        EntityPlayer player = Minecraft.getMinecraft().player;
        BlockPos playerPosition = player.getPosition();

        entity.posX = playerPosition.getX();
        entity.posY = playerPosition.getY();
        entity.posZ = playerPosition.getZ();

        this.renderManager.renderEntityStatic(entity, partialTicks, false);
        ++this.countEntitiesRendered;
    }
}
 
ну и это всё в майн - https://forum.mcmodding.ru/resources/framebuffer-nachalo.183/
 
Назад
Сверху