diff --git a/src/main/java/dev/xdpxi/xdlib/CooldownManagerProvider.java b/src/main/java/dev/xdpxi/xdlib/CooldownManagerProvider.java deleted file mode 100644 index c8de8be..0000000 --- a/src/main/java/dev/xdpxi/xdlib/CooldownManagerProvider.java +++ /dev/null @@ -1,5 +0,0 @@ -package dev.xdpxi.xdlib; - -public interface CooldownManagerProvider { - VaultBlockCooldownManager getCooldownManager(); -} \ No newline at end of file diff --git a/src/main/java/dev/xdpxi/xdlib/VaultBlockCooldownManager.java b/src/main/java/dev/xdpxi/xdlib/VaultBlockCooldownManager.java deleted file mode 100644 index be891a0..0000000 --- a/src/main/java/dev/xdpxi/xdlib/VaultBlockCooldownManager.java +++ /dev/null @@ -1,80 +0,0 @@ -package dev.xdpxi.xdlib; - -import com.mojang.datafixers.util.Pair; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.util.Uuids; -import net.minecraft.util.dynamic.Codecs; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -public class VaultBlockCooldownManager { - private static final Codec> PAIR_CODEC = RecordCodecBuilder.create( - instance -> instance.group( - Uuids.INT_STREAM_CODEC.fieldOf("uuid").forGetter(Pair::getFirst), - Codec.LONG.fieldOf("cooldown_ends_at").forGetter(Pair::getSecond) - ).apply(instance, Pair::of) - ); - public static final Codec codec = RecordCodecBuilder.create( - instance -> instance.group( - Codecs.NONNEGATIVE_INT.fieldOf("cooldown_length").forGetter(VaultBlockCooldownManager::getCooldownLength), - PAIR_CODEC.listOf().fieldOf("player_cooldowns").forGetter(VaultBlockCooldownManager::getPlayerCooldowns) - ).apply(instance, VaultBlockCooldownManager::new) - ); - - public int cooldownLength; - private List> playerCooldowns; - - public VaultBlockCooldownManager() { - this.playerCooldowns = new ArrayList<>(); - } - - public VaultBlockCooldownManager(int cooldownLength, List> playerCooldowns) { - this.cooldownLength = cooldownLength; - this.playerCooldowns = new ArrayList<>(playerCooldowns); - } - - public void addPlayer(UUID player, long cooldownEnd) { - this.playerCooldowns.add(new Pair<>(player, cooldownEnd)); - } - - public void removePlayer(UUID player) { - this.playerCooldowns.removeIf(pair -> pair.getFirst().equals(player)); - } - - public void setPlayerCooldownEnd(UUID player, long newCooldownEnd) { - for (int i = 0; i < playerCooldowns.size(); i++) { - Pair pair = playerCooldowns.get(i); - if (pair.getFirst().equals(player)) { - playerCooldowns.set(i, new Pair<>(player, newCooldownEnd)); - return; - } - } - } - - public int getSizeOfPlayerCooldowns() { - return this.playerCooldowns.size(); - } - - public boolean containsPlayer(UUID player) { - return this.playerCooldowns.stream().anyMatch(pair -> pair.getFirst().equals(player)); - } - - public List> getPlayerCooldowns() { - return this.playerCooldowns; - } - - public int getCooldownLength() { - return this.cooldownLength; - } - - public void setCooldownLength(int newCooldownLength) { - this.cooldownLength = newCooldownLength; - } - - public void copyFrom(VaultBlockCooldownManager data) { - this.playerCooldowns = new ArrayList<>(data.playerCooldowns); - } -} \ No newline at end of file diff --git a/src/main/java/dev/xdpxi/xdlib/mixin/BedBlockMixin.java b/src/main/java/dev/xdpxi/xdlib/mixin/BedBlockMixin.java deleted file mode 100644 index 9cc1c0d..0000000 --- a/src/main/java/dev/xdpxi/xdlib/mixin/BedBlockMixin.java +++ /dev/null @@ -1,51 +0,0 @@ -package dev.xdpxi.xdlib.mixin; - -import dev.xdpxi.xdlib.XDsLibrary; -import net.minecraft.block.BedBlock; -import net.minecraft.block.BlockState; -import net.minecraft.entity.mob.HostileEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.util.ActionResult; -import net.minecraft.util.hit.BlockHitResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Box; -import net.minecraft.util.math.Vec3d; -import net.minecraft.world.World; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.util.List; - -@Mixin(BedBlock.class) -public class BedBlockMixin { - @Unique - private static BlockPos blockPos = null; - - @Inject(method = "method_55767", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerEntity;sendMessage(Lnet/minecraft/text/Text;Z)V")) - private static void thingy(PlayerEntity player, PlayerEntity.SleepFailureReason reason, CallbackInfo info) { - if (reason != PlayerEntity.SleepFailureReason.NOT_SAFE) - return; - if (blockPos != null) { - Vec3d vec3d = Vec3d.ofBottomCenter(blockPos); - List list = player.getWorld().getEntitiesByClass( - HostileEntity.class, - new Box(vec3d.getX() - 8.0D, vec3d.getY() - 5.0D, vec3d.getZ() - 8.0D, vec3d.getX() + 8.0D, vec3d.getY() + 5.0D, - vec3d.getZ() + 8.0D), - (hostileEntity) -> hostileEntity.isAngryAt(player) - ); - if (!list.isEmpty()) { - XDsLibrary.duration = 60; - XDsLibrary.list = list; - } - } - } - - @Inject(method = "onUse", at = @At("HEAD")) - public void onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit, CallbackInfoReturnable info) { - blockPos = pos; - } -} \ No newline at end of file diff --git a/src/main/resources/xdlib.mixins.json b/src/main/resources/xdlib.mixins.json index 133c4ce..387f644 100644 --- a/src/main/resources/xdlib.mixins.json +++ b/src/main/resources/xdlib.mixins.json @@ -3,7 +3,6 @@ "package": "dev.xdpxi.xdlib.mixin", "compatibilityLevel": "JAVA_21", "mixins": [ - "BedBlockMixin", "EulaMixin" ], "injectors": {