fix: camera and outdated cache
This commit is contained in:
parent
8dd209899f
commit
d70b2b5974
4 changed files with 23 additions and 18 deletions
|
@ -117,7 +117,7 @@ public class KnockdownsClientEvents {
|
||||||
|| client.player.getEyePos().distanceTo(eyePosition) > 64.0
|
|| client.player.getEyePos().distanceTo(eyePosition) > 64.0
|
||||||
|| client.world
|
|| client.world
|
||||||
.raycast(new RaycastContext(
|
.raycast(new RaycastContext(
|
||||||
client.player.getEyePos(),
|
client.getEntityRenderDispatcher().camera.getPos(),
|
||||||
eyePosition,
|
eyePosition,
|
||||||
RaycastContext.ShapeType.VISUAL,
|
RaycastContext.ShapeType.VISUAL,
|
||||||
RaycastContext.FluidHandling.SOURCE_ONLY,
|
RaycastContext.FluidHandling.SOURCE_ONLY,
|
||||||
|
|
|
@ -4,6 +4,7 @@ import dev.architectury.networking.NetworkManager;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.network.PacketByteBuf;
|
import net.minecraft.network.PacketByteBuf;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import ru.octol1ttle.knockdowns.common.api.RemotePlayer;
|
import ru.octol1ttle.knockdowns.common.api.RemotePlayer;
|
||||||
|
@ -37,6 +38,13 @@ public class RemotePlayerS2CPacket extends KnockdownsPacket {
|
||||||
@Override
|
@Override
|
||||||
public void apply(Supplier<NetworkManager.PacketContext> contextSupplier) {
|
public void apply(Supplier<NetworkManager.PacketContext> contextSupplier) {
|
||||||
NetworkManager.PacketContext context = contextSupplier.get();
|
NetworkManager.PacketContext context = contextSupplier.get();
|
||||||
context.queue(() -> KnockdownsClientEvents.remotePlayers.put(targetUuid, Optional.of(new RemotePlayer(this.eyePosition, this.knockedDown))));
|
context.queue(() -> {
|
||||||
|
//noinspection DataFlowIssue
|
||||||
|
if (MinecraftClient.getInstance().player.getUuid().equals(targetUuid)) {
|
||||||
|
KnockdownsClientEvents.remotePlayers.clear();
|
||||||
|
} else {
|
||||||
|
KnockdownsClientEvents.remotePlayers.put(targetUuid, Optional.of(new RemotePlayer(this.eyePosition, this.knockedDown)));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,21 @@
|
||||||
package ru.octol1ttle.knockdowns.forge;
|
package ru.octol1ttle.knockdowns.forge;
|
||||||
|
|
||||||
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.client.event.RenderGuiEvent;
|
import net.minecraftforge.client.event.RenderGuiEvent;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
|
import ru.octol1ttle.knockdowns.common.KnockdownsClient;
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
@Mod.EventBusSubscriber(modid = "knockdowns", bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
|
||||||
public class KnockdownsClientForge {
|
public class KnockdownsClientForge {
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onInitializeClient(FMLClientSetupEvent event) {
|
||||||
|
KnockdownsClient.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
public static void onHudRender(RenderGuiEvent.Pre event) {
|
public static void onHudRender(RenderGuiEvent.Pre event) {
|
||||||
ru.octol1ttle.knockdowns.common.events.KnockdownsClientEvents.onHudRender(event.getGuiGraphics());
|
ru.octol1ttle.knockdowns.common.events.KnockdownsClientEvents.onHudRender(event.getGuiGraphics());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,9 @@
|
||||||
package ru.octol1ttle.knockdowns.forge;
|
package ru.octol1ttle.knockdowns.forge;
|
||||||
|
|
||||||
import dev.architectury.platform.forge.EventBuses;
|
import dev.architectury.platform.forge.EventBuses;
|
||||||
import net.minecraftforge.client.event.RenderGuiEvent;
|
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
|
||||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||||
import ru.octol1ttle.knockdowns.common.KnockdownsClient;
|
|
||||||
import ru.octol1ttle.knockdowns.common.KnockdownsCommon;
|
import ru.octol1ttle.knockdowns.common.KnockdownsCommon;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
|
@ -18,18 +13,7 @@ public class KnockdownsForge {
|
||||||
// Submit our event bus to let architectury register our content on the right time
|
// Submit our event bus to let architectury register our content on the right time
|
||||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||||
EventBuses.registerModEventBus(KnockdownsCommon.MOD_ID, modEventBus);
|
EventBuses.registerModEventBus(KnockdownsCommon.MOD_ID, modEventBus);
|
||||||
modEventBus.addListener(this::onInitializeClient);
|
|
||||||
MinecraftForge.EVENT_BUS.register(this);
|
|
||||||
|
|
||||||
KnockdownsCommon.init();
|
KnockdownsCommon.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onInitializeClient(FMLClientSetupEvent event) {
|
|
||||||
KnockdownsClient.init();
|
|
||||||
}
|
|
||||||
|
|
||||||
@SubscribeEvent
|
|
||||||
public void onHudRender(RenderGuiEvent.Pre event) {
|
|
||||||
KnockdownsClientForge.onHudRender(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue