Skip to content

Commit

Permalink
new: mining fatigue notification
Browse files Browse the repository at this point in the history
  • Loading branch information
Wyvest committed Dec 19, 2021
1 parent ecb95ea commit b953962
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,13 @@ public class HytilitiesConfig extends Vigilant {

// General

@Property(
type = PropertyType.SWITCH, name = "Notify Mining Fatigue",
description = "Send a notification when you get mining fatigue.",
category = "General", subcategory = "Potion Effects"
)
public static boolean notifyMiningFatigue;

@Property(
type = PropertyType.SWITCH, name = "Hide NPCs in Tab",
description = "Prevent NPCs from showing up in tab.",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Hytilities Reborn - Hypixel focused Quality of Life mod.
* Copyright (C) 2021 W-OVERFLOW
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package net.wyvest.hytilities.mixin;

import gg.essential.api.EssentialAPI;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.wyvest.hytilities.config.HytilitiesConfig;
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.CallbackInfo;

@Mixin(EntityLivingBase.class)
public class EntityLivingBaseMixin {
private final EntityLivingBase $this = (EntityLivingBase) (Object) this;


@Inject(method = "addPotionEffect", at = @At("HEAD"))
private void onPotionEffect(PotionEffect potioneffectIn, CallbackInfo ci) {
if (HytilitiesConfig.notifyMiningFatigue && potioneffectIn.getPotionID() == Potion.digSlowdown.getId() && ($this instanceof EntityPlayerSP)) {
EssentialAPI.getNotifications().push("Hytilities Reborn", "You have miner fatigue!");
}
}
}
1 change: 1 addition & 0 deletions src/main/resources/mixins.hytilities.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"plugin": "net.wyvest.hytilities.forge.HytilitiesMixinPlugin",
"refmap": "mixins.hytilities.refmap.json",
"mixins": [
"EntityLivingBaseMixin",
"EntityPlayerSPMixin_MessageHandling",
"GuiChatMixin_PlayAutocomplete",
"GuiIngameForgeMixin_HideActionbar",
Expand Down

0 comments on commit b953962

Please sign in to comment.