-
Notifications
You must be signed in to change notification settings - Fork 756
/
ScopeModifier.java
22 lines (19 loc) · 996 Bytes
/
ScopeModifier.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package slimeknights.tconstruct.tools.modifiers.upgrades.ranged;
import net.minecraft.resources.ResourceLocation;
import slimeknights.tconstruct.TConstruct;
import slimeknights.tconstruct.library.modifiers.Modifier;
import slimeknights.tconstruct.library.tools.capability.TinkerDataKeys;
import slimeknights.tconstruct.library.tools.context.EquipmentChangeContext;
import slimeknights.tconstruct.library.tools.nbt.IToolStackView;
public class ScopeModifier extends Modifier {
public static final ResourceLocation SCOPE = TConstruct.getResource("longbow_scope");
@Override
public void onUnequip(IToolStackView tool, int level, EquipmentChangeContext context) {
if (context.getEntity().level.isClientSide) {
IToolStackView replacement = context.getReplacementTool();
if (replacement == null || replacement.getModifierLevel(this) == 0) {
context.getTinkerData().ifPresent(data -> data.computeIfAbsent(TinkerDataKeys.FOV_MODIFIER).remove(SCOPE));
}
}
}
}