Fixup postSpawn because of NPE/Not Initialized Exception

This commit is contained in:
2025-01-01 13:06:26 +01:00
parent 3c848389c9
commit 1f65121c68
4 changed files with 30 additions and 18 deletions

View File

@ -4,6 +4,7 @@ import com.comphenix.tinyprotocol.Reflection;
import de.steamwar.core.BountifulWrapper; import de.steamwar.core.BountifulWrapper;
import de.steamwar.core.Core; import de.steamwar.core.Core;
import lombok.Getter; import lombok.Getter;
import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
@ -23,7 +24,9 @@ public class RBlockDisplay extends RDisplay {
@Override @Override
protected void postSpawn(Consumer<Object> packetSink) { protected void postSpawn(Consumer<Object> packetSink) {
super.postSpawn(packetSink); super.postSpawn(packetSink);
sendBlock(packetSink); Bukkit.getScheduler().runTaskLater(Core.getInstance(), () -> {
sendBlock(packetSink);
}, 0);
} }
public void setBlock(BlockData block) { public void setBlock(BlockData block) {

View File

@ -4,6 +4,7 @@ import de.steamwar.core.BountifulWrapper;
import de.steamwar.core.Core; import de.steamwar.core.Core;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
import org.bukkit.Bukkit;
import org.bukkit.Color; import org.bukkit.Color;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.Display; import org.bukkit.entity.Display;
@ -46,17 +47,19 @@ public abstract class RDisplay extends REntity {
@Override @Override
protected void postSpawn(Consumer<Object> packetSink) { protected void postSpawn(Consumer<Object> packetSink) {
super.postSpawn(packetSink); super.postSpawn(packetSink);
sendTransform(packetSink); Bukkit.getScheduler().runTaskLater(Core.getInstance(), () -> {
sendInterpolationDuration(packetSink); sendTransform(packetSink);
sendViewRange(packetSink); sendInterpolationDuration(packetSink);
sendShadowRadius(packetSink); sendViewRange(packetSink);
sendShadowStrength(packetSink); sendShadowRadius(packetSink);
sendDisplayWidth(packetSink); sendShadowStrength(packetSink);
sendDisplayHeight(packetSink); sendDisplayWidth(packetSink);
sendInterpolationDelay(packetSink); sendDisplayHeight(packetSink);
sendBillboard(packetSink); sendInterpolationDelay(packetSink);
sendGlowColorOverride(packetSink); sendBillboard(packetSink);
sendBrightness(packetSink); sendGlowColorOverride(packetSink);
sendBrightness(packetSink);
}, 0);
} }
public void setTransform(@NonNull Transformation transform) { public void setTransform(@NonNull Transformation transform) {

View File

@ -4,6 +4,7 @@ import com.comphenix.tinyprotocol.Reflection;
import de.steamwar.core.BountifulWrapper; import de.steamwar.core.BountifulWrapper;
import de.steamwar.core.Core; import de.steamwar.core.Core;
import lombok.Getter; import lombok.Getter;
import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.ItemDisplay; import org.bukkit.entity.ItemDisplay;
@ -25,8 +26,10 @@ public class RItemDisplay extends RDisplay {
@Override @Override
protected void postSpawn(Consumer<Object> packetSink) { protected void postSpawn(Consumer<Object> packetSink) {
super.postSpawn(packetSink); super.postSpawn(packetSink);
sendItemStack(packetSink); Bukkit.getScheduler().runTaskLater(Core.getInstance(), () -> {
sendItemDisplayTransform(packetSink); sendItemStack(packetSink);
sendItemDisplayTransform(packetSink);
}, 0);
} }
public void setItemStack(ItemStack itemStack) { public void setItemStack(ItemStack itemStack) {

View File

@ -5,6 +5,7 @@ import de.steamwar.core.BountifulWrapper;
import de.steamwar.core.ChatWrapper; import de.steamwar.core.ChatWrapper;
import de.steamwar.core.Core; import de.steamwar.core.Core;
import lombok.Getter; import lombok.Getter;
import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.TextDisplay; import org.bukkit.entity.TextDisplay;
@ -35,10 +36,12 @@ public class RTextDisplay extends RDisplay {
@Override @Override
protected void postSpawn(Consumer<Object> packetSink) { protected void postSpawn(Consumer<Object> packetSink) {
super.postSpawn(packetSink); super.postSpawn(packetSink);
sendText(packetSink); Bukkit.getScheduler().runTaskLater(Core.getInstance(), () -> {
sendLineWidth(packetSink); sendText(packetSink);
sendTextOpacity(packetSink); sendLineWidth(packetSink);
sendTextStatus(packetSink); sendTextOpacity(packetSink);
sendTextStatus(packetSink);
}, 0);
} }
public void setText(String text) { public void setText(String text) {