aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2020-04-25 00:51:27 +0200
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2020-04-25 00:51:27 +0200
commit29c1ec8dcb776cac7ed285940236ad79dd282cdb (patch)
tree16225174db08c4c8ea46b6f34a1765db103116ad
parenta02cfdd8bb53181b1b49b990ad58ed1d51a44ebb (diff)
downloadparquet-29c1ec8dcb776cac7ed285940236ad79dd282cdb.tar.gz
Added fix for MC-111534
-rw-r--r--Readme.md6
-rw-r--r--src/main/java/re/jag/parquet/mixin/FireWorkItemMixin.java33
-rw-r--r--src/main/resources/parquet.mixins.json3
3 files changed, 41 insertions, 1 deletions
diff --git a/Readme.md b/Readme.md
index 25ba606..e8d8c8a 100644
--- a/Readme.md
+++ b/Readme.md
@@ -44,3 +44,9 @@ A dispenser pointing into a cauldron can:
#### ShulkerBoxes
A dispenser pointing into an undyed Shulker Box can apply a color.
+
+## Fixes
+
+### [MC-111534](https://bugs.mojang.com/browse/MC-111534)
+
+Stat `minecraft.used:minecraft.firework_rocket` is only incremented, when the rocket is used on the ground, not during elytra flight.
diff --git a/src/main/java/re/jag/parquet/mixin/FireWorkItemMixin.java b/src/main/java/re/jag/parquet/mixin/FireWorkItemMixin.java
new file mode 100644
index 0000000..cc8023b
--- /dev/null
+++ b/src/main/java/re/jag/parquet/mixin/FireWorkItemMixin.java
@@ -0,0 +1,33 @@
+package re.jag.parquet.mixin;
+
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+import org.spongepowered.asm.mixin.injection.At;
+
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.FireworkItem;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.Hand;
+import net.minecraft.util.TypedActionResult;
+import net.minecraft.world.World;
+import net.minecraft.stat.Stats;
+
+
+@Mixin(FireworkItem.class)
+public class FireWorkItemMixin extends Item{
+
+ public FireWorkItemMixin(Settings settings) {
+ super(settings);
+ }
+
+ /*
+ * minecraft.used:minecraft.firework_rocket only counts rockets fired on ground, not the ones used during flight.
+ * GG Mojang!
+ */
+ @Inject(method="use", at=@At(value = "INVOKE", target = "Lnet/minecraft/world/World;spawnEntity(Lnet/minecraft/entity/Entity;)Z"))
+ protected void onUse(World world, PlayerEntity user, Hand hand, CallbackInfoReturnable<TypedActionResult<ItemStack>> ci) {
+ user.incrementStat(Stats.USED.getOrCreateStat(this));
+ }
+}
diff --git a/src/main/resources/parquet.mixins.json b/src/main/resources/parquet.mixins.json
index 4626434..ef58fb1 100644
--- a/src/main/resources/parquet.mixins.json
+++ b/src/main/resources/parquet.mixins.json
@@ -9,7 +9,8 @@
"VanillaMixin",
"CommandManagerMixin",
"ServerPlayerEntityMixin",
- "BootstrapMixin"
+ "BootstrapMixin",
+ "FireWorkItemMixin"
],
"client": [
],