well then

This commit is contained in:
GiantLuigi4 2023-06-07 16:05:44 -04:00
parent c2c7df3b16
commit 0c2f13439f
4 changed files with 23 additions and 50 deletions

View File

@ -21,13 +21,9 @@ import net.montoyo.wd.utilities.Util;
public class TileEntityKeyboard extends TileEntityPeripheralBase {
private static final String RANDOM_CHARS = "AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn0123456789"; //Yes I have an AZERTY keyboard, u care?
private static BlockPos blockPos;
private static BlockState blockState;
public TileEntityKeyboard(BlockPos arg2, BlockState arg3) {
super(TileInit.KEYBOARD.get(), arg2, arg3);
blockPos = arg2;
blockState = arg3;
}
@Override
@ -57,26 +53,27 @@ public class TileEntityKeyboard extends TileEntityPeripheralBase {
}
public void simulateCat(Entity ent) {
if(isScreenChunkLoaded()) {
TileEntityScreen tes = getConnectedScreen();
if(!isScreenChunkLoaded())
return;
TileEntityScreen tes = getConnectedScreen();
if(tes != null) {
TileEntityScreen.Screen scr = tes.getScreen(screenSide);
boolean ok;
if(tes != null) {
TileEntityScreen.Screen scr = tes.getScreen(screenSide);
boolean ok;
if(ent instanceof Player)
ok = (scr.rightsFor((Player) ent) & ScreenRights.INTERACT) != 0;
else
ok = (scr.otherRights & ScreenRights.INTERACT) != 0;
if(ent instanceof Player)
ok = (scr.rightsFor((Player) ent) & ScreenRights.INTERACT) != 0;
else
ok = (scr.otherRights & ScreenRights.INTERACT) != 0;
if(ok) {
char rnd = RANDOM_CHARS.charAt((int) (Math.random() * ((double) RANDOM_CHARS.length())));
tes.type(screenSide, "t" + rnd, getBlockPos());
if(ok) {
char rnd = RANDOM_CHARS.charAt((int) (Math.random() * ((double) RANDOM_CHARS.length())));
tes.type(screenSide, "t" + rnd, getBlockPos());
Player owner = level.getPlayerByUUID(scr.owner.uuid);
if(owner != null && owner instanceof ServerPlayer && ent instanceof Ocelot)
WebDisplays.INSTANCE.criterionKeyboardCat.trigger(((ServerPlayer) owner).getAdvancements());
}
Player owner = level.getPlayerByUUID(scr.owner.uuid);
if(owner != null && owner instanceof ServerPlayer && ent instanceof Ocelot)
WebDisplays.INSTANCE.criterionKeyboardCat.trigger(((ServerPlayer) owner).getAdvancements());
}
}
}

View File

@ -16,13 +16,8 @@ import net.montoyo.wd.init.TileInit;
import net.montoyo.wd.utilities.Util;
public class TileEntityRCtrl extends TileEntityPeripheralBase {
private static BlockPos blockPos;
private static BlockState blockState;
public TileEntityRCtrl(BlockPos arg2, BlockState arg3) {
super(TileInit.REMOTE_CONTROLLER.get(), arg2, arg3);
blockPos = arg2;
blockState = arg3;
}
@Override

View File

@ -24,13 +24,9 @@ public class TileEntityRedCtrl extends TileEntityPeripheralBase {
private String risingEdgeURL = "";
private String fallingEdgeURL = "";
private boolean state = false;
private static BlockState blockState;
private static BlockPos blockPos;
public TileEntityRedCtrl(BlockPos arg2, BlockState arg3) {
super(TileInit.REDSTONE_CONTROLLER.get(), arg2, arg3);
blockPos = arg2;
blockState = arg3;
}
@Override

View File

@ -8,47 +8,32 @@ 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.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.block.BlockPeripheral;
import net.montoyo.wd.data.ServerData;
import net.montoyo.wd.init.TileInit;
import net.montoyo.wd.utilities.NameUUIDPair;
import net.montoyo.wd.utilities.Util;
import javax.annotation.Nonnull;
public class TileEntityServer extends BlockEntity {
private NameUUIDPair owner;
private static BlockPos blockPos;
private static BlockState blockState;
public TileEntityServer(BlockPos arg2, BlockState arg3) {
super(TileInit.SERVER.get(), arg2, arg3);
blockPos = arg2;
blockState = arg3;
}
public static Block getBlockFromTE() {
return new TileEntityServer(blockPos, blockState).getBlockState().getBlock();
}
@Override
public void deserializeNBT(CompoundTag tag) {
super.deserializeNBT(tag);
public void load(CompoundTag tag) {
super.load(tag);
owner = Util.readOwnerFromNBT(tag);
}
@Override
@Nonnull
public CompoundTag serializeNBT() {
CompoundTag tag = new CompoundTag();
super.serializeNBT();
return Util.writeOwnerToNBT(tag, owner);
protected void saveAdditional(CompoundTag tag) {
super.saveAdditional(tag);
Util.writeOwnerToNBT(tag, owner);
}
public void setOwner(Player ep) {