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

View File

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

View File

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

View File

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