aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKhafra <maitken033380023@gmail.com>2024-11-25 22:49:43 -0500
committerGitHub <noreply@github.com>2024-11-25 22:49:43 -0500
commit8d986df7fc39dac8a39426e80b277cc731c8dcc0 (patch)
treeba176948251f3aaa21c4ca57e470f4f32f7267bb /src
parentb64ad459921d1710ac9eb8022ccc3cad36745523 (diff)
downloadSkyblocker-8d986df7fc39dac8a39426e80b277cc731c8dcc0.tar.gz
Skyblocker-8d986df7fc39dac8a39426e80b277cc731c8dcc0.tar.bz2
Skyblocker-8d986df7fc39dac8a39426e80b277cc731c8dcc0.zip
add old mushroom hitbox (#1051)
* add old mushroom hitbox * fixup
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/MushroomPlantBlockMixin.java34
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json1
-rw-r--r--src/main/resources/skyblocker.mixins.json1
5 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
index 58abfa90..7b26793a 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -380,6 +380,13 @@ public class GeneralCategory {
newValue -> config.general.hitbox.oldLeverHitbox = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.config.general.hitbox.oldMushroomHitbox"))
+ .binding(defaults.general.hitbox.oldMushroomHitbox,
+ () -> config.general.hitbox.oldMushroomHitbox,
+ newValue -> config.general.hitbox.oldMushroomHitbox = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
.build())
.build();
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java
index ccf181eb..1c845287 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java
@@ -249,6 +249,9 @@ public class GeneralConfig {
@SerialEntry
public boolean oldLeverHitbox = false;
+
+ @SerialEntry
+ public boolean oldMushroomHitbox = false;
}
}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/MushroomPlantBlockMixin.java b/src/main/java/de/hysky/skyblocker/mixins/MushroomPlantBlockMixin.java
new file mode 100644
index 00000000..7e0f5b39
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixins/MushroomPlantBlockMixin.java
@@ -0,0 +1,34 @@
+package de.hysky.skyblocker.mixins;
+
+import com.llamalad7.mixinextras.injector.ModifyReturnValue;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.block.*;
+import net.minecraft.util.shape.VoxelShape;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.Unique;
+import org.spongepowered.asm.mixin.injection.At;
+
+@Mixin(MushroomPlantBlock.class)
+public abstract class MushroomPlantBlockMixin extends Block {
+ @Shadow
+ protected static VoxelShape SHAPE;
+
+ @Unique
+ private static final VoxelShape OLD_SHAPE = Block.createCuboidShape(4.8, 0.0, 4.8, 11.2, 6.4, 11.2);
+
+ public MushroomPlantBlockMixin(Settings settings) {
+ super(settings);
+ }
+
+ @ModifyReturnValue(method = "getOutlineShape", at = @At("RETURN"))
+ private VoxelShape skyblocker$getOldMushroomOutline(VoxelShape original) {
+ return Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.hitbox.oldMushroomHitbox ? OLD_SHAPE : original;
+ }
+
+ @Override
+ public VoxelShape getCullingShape(BlockState state) {
+ return SHAPE;
+ }
+}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index a75dced1..a76ec97a 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -252,6 +252,7 @@
"skyblocker.config.general.hitbox": "Hitboxes",
"skyblocker.config.general.hitbox.oldFarmlandHitbox": "Enable 1.8 farmland hitbox",
"skyblocker.config.general.hitbox.oldLeverHitbox": "Enable 1.8 lever hitbox",
+ "skyblocker.config.general.hitbox.oldMushroomHitbox": "Enable 1.8 mushroom hitbox",
"skyblocker.config.general.itemInfoDisplay": "Item Info Display",
"skyblocker.config.general.itemInfoDisplay.attributeShardInfo": "Attribute Shard Info",
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index b011be6d..8c5f7738 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -28,6 +28,7 @@
"LeverBlockMixin",
"MinecraftClientMixin",
"MouseMixin",
+ "MushroomPlantBlockMixin",
"PingMeasurerMixin",
"PlayerInventoryMixin",
"PlayerListHudMixin",