webdisplays/src/main/java/net/montoyo/wd/entity/ServerBlockEntity.java
2023-11-10 23:57:02 -05:00

53 lines
1.5 KiB
Java

/*
* Copyright (C) 2018 BARBOTIN Nicolas
*/
package net.montoyo.wd.entity;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.data.ServerData;
import net.montoyo.wd.registry.TileRegistry;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.Util;
public class ServerBlockEntity extends BlockEntity {
private NameUUIDPair owner;
public ServerBlockEntity(BlockPos arg2, BlockState arg3) {
super(TileRegistry.SERVER.get(), arg2, arg3);
}
@Override
public void load(CompoundTag tag) {
super.load(tag);
owner = Util.readOwnerFromNBT(tag);
}
@Override
protected void saveAdditional(CompoundTag tag) {
super.saveAdditional(tag);
Util.writeOwnerToNBT(tag, owner);
}
public void setOwner(Player ep) {
owner = new NameUUIDPair(ep.getGameProfile());
setChanged();
}
public void onPlayerRightClick(Player ply) {
if (level.isClientSide)
return;
if (WebDisplays.INSTANCE.miniservPort == 0)
Util.toast(ply, "noMiniserv");
else if (owner != null && ply instanceof ServerPlayer)
(new ServerData(getBlockPos(), owner)).sendTo((ServerPlayer) ply);
}
}