aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev/mayaqq/ygasi/mixin
diff options
context:
space:
mode:
authorMaximusbarcz <maxim.baranek@gmail.com>2023-01-20 23:06:47 +0100
committerMaximusbarcz <maxim.baranek@gmail.com>2023-01-20 23:06:47 +0100
commitadaecef7df47ccdbfbda6f438c28696ff1ce8822 (patch)
tree46397c9d175ca67a69b7033189fec26dd6c6b4ae /src/main/java/dev/mayaqq/ygasi/mixin
parent531bb27e7eb07e08e1e423d0cf01c297fef890f6 (diff)
downloadygasi-adaecef7df47ccdbfbda6f438c28696ff1ce8822.tar.gz
ygasi-adaecef7df47ccdbfbda6f438c28696ff1ce8822.tar.bz2
ygasi-adaecef7df47ccdbfbda6f438c28696ff1ce8822.zip
I redid all the advancements and also started work on the second Offence2 ability
Diffstat (limited to 'src/main/java/dev/mayaqq/ygasi/mixin')
-rw-r--r--src/main/java/dev/mayaqq/ygasi/mixin/ItemMixin.java27
-rw-r--r--src/main/java/dev/mayaqq/ygasi/mixin/PlayerEntityMixin.java2
-rw-r--r--src/main/java/dev/mayaqq/ygasi/mixin/StatusEffectMixin.java4
3 files changed, 29 insertions, 4 deletions
diff --git a/src/main/java/dev/mayaqq/ygasi/mixin/ItemMixin.java b/src/main/java/dev/mayaqq/ygasi/mixin/ItemMixin.java
new file mode 100644
index 0000000..f89d7c6
--- /dev/null
+++ b/src/main/java/dev/mayaqq/ygasi/mixin/ItemMixin.java
@@ -0,0 +1,27 @@
+package dev.mayaqq.ygasi.mixin;
+
+import dev.mayaqq.ygasi.events.ClickEvent;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.SwordItem;
+import net.minecraft.util.Hand;
+import net.minecraft.util.TypedActionResult;
+import net.minecraft.world.World;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+
+import static dev.mayaqq.ygasi.Ygasi.LOGGER;
+
+@Mixin(Item.class)
+public class ItemMixin {
+ @Inject(method = "use", at = @At("HEAD"))
+ private void injectRightClickBehavior(World world, PlayerEntity user, Hand hand, CallbackInfoReturnable<TypedActionResult<ItemStack>> cir) {
+ if (user.getMainHandStack().getItem() instanceof SwordItem && ClickEvent.swords.getOrDefault(user.getUuidAsString(), 0) >= 1) {
+ LOGGER.info("Player " + user.getEntityName() + " launched " + ClickEvent.swords.get(user.getUuidAsString()) + " swords!");
+ ClickEvent.swords.remove(user.getUuidAsString());
+ }
+ }
+}
diff --git a/src/main/java/dev/mayaqq/ygasi/mixin/PlayerEntityMixin.java b/src/main/java/dev/mayaqq/ygasi/mixin/PlayerEntityMixin.java
index 5eeea63..a9687b1 100644
--- a/src/main/java/dev/mayaqq/ygasi/mixin/PlayerEntityMixin.java
+++ b/src/main/java/dev/mayaqq/ygasi/mixin/PlayerEntityMixin.java
@@ -22,7 +22,7 @@ public abstract class PlayerEntityMixin {
public void onAttack(Entity target, CallbackInfo ci) {
if (this.isPlayer()) {
ServerPlayerEntity player = (ServerPlayerEntity) (Object) this;
- if (!attackList.containsKey(player.getUuidAsString() + target.getUuidAsString()) && AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/offence1")) {
+ if (!attackList.containsKey(player.getUuidAsString() + target.getUuidAsString()) && AdvUtils.getAdvancementProgress(player, "ygasi", "mercenary/offence1")) {
attackList.put(player.getUuidAsString() + target.getUuidAsString(), true);
StatusEffectInstance currentEffect = player.getStatusEffect(StatusEffects.STRENGTH);
int currentLevel = currentEffect != null ? currentEffect.getAmplifier() : 0;
diff --git a/src/main/java/dev/mayaqq/ygasi/mixin/StatusEffectMixin.java b/src/main/java/dev/mayaqq/ygasi/mixin/StatusEffectMixin.java
index e2df799..a70d16a 100644
--- a/src/main/java/dev/mayaqq/ygasi/mixin/StatusEffectMixin.java
+++ b/src/main/java/dev/mayaqq/ygasi/mixin/StatusEffectMixin.java
@@ -19,7 +19,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.concurrent.TimeUnit;
-import static dev.mayaqq.ygasi.Ygasi.LOGGER;
import static dev.mayaqq.ygasi.abilities.mercenary.Offence1.attackList;
@Mixin(StatusEffect.class)
@@ -29,10 +28,9 @@ public abstract class StatusEffectMixin {
@Inject(method = "onRemoved", at = @At("HEAD"))
public void onUpdateStatusEffect(LivingEntity entity, AttributeContainer attributes, int amplifier, CallbackInfo ci) {
- LOGGER.info("onRemovedTick");
if (entity.isPlayer()) {
ServerPlayerEntity player = (ServerPlayerEntity) entity;
- if (this.getName() != null && this.getName().equals(StatusEffects.STRENGTH.getName()) && AdvUtils.getAdvancementProgress(player, "minecraft", "ygasi/offence1")) {
+ if (this.getName() != null && this.getName().equals(StatusEffects.STRENGTH.getName()) && AdvUtils.getAdvancementProgress(player, "ygasi", "mercenary/offence1")) {
Multithreading.schedule(() -> {
attackList.entrySet().removeIf(entry -> entry.getKey().startsWith(player.getUuidAsString()));
},4, TimeUnit.SECONDS);