53 lines
1.5 KiB
Java
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);
|
|
}
|
|
}
|