Config fixes
This commit is contained in:
@@ -6,7 +6,7 @@ minecraft_version=1.21.8
|
|||||||
yarn_mappings=1.21.8+build.1
|
yarn_mappings=1.21.8+build.1
|
||||||
loader_version=0.17.2
|
loader_version=0.17.2
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=1.0
|
mod_version=1.1
|
||||||
maven_group=com.kasetoatz
|
maven_group=com.kasetoatz
|
||||||
archives_base_name=SuperEnchants
|
archives_base_name=SuperEnchants
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ public class Config
|
|||||||
public static boolean ARMOR_ENCHANTS_UNNERF = true;
|
public static boolean ARMOR_ENCHANTS_UNNERF = true;
|
||||||
public static boolean TOOL_ENCHANTS_UNNERF = true;
|
public static boolean TOOL_ENCHANTS_UNNERF = true;
|
||||||
public static boolean ENABLE_CHANNELING_2 = true;
|
public static boolean ENABLE_CHANNELING_2 = true;
|
||||||
public static boolean ENABLE_LOYALTY_VOID_PROTECTION = true; // todo
|
public static boolean LOYALTY_VOID_PROTECTION = true;
|
||||||
public static boolean DISABLE_SOUL_SPEED_DAMAGE = true;
|
public static boolean DISABLE_SOUL_SPEED_DAMAGE = true;
|
||||||
public static boolean DISABLE_THORNS_DAMAGE = true;
|
public static boolean DISABLE_THORNS_DAMAGE = true;
|
||||||
public static boolean ENABLE_INFINITY_WITHOUT_ARROW = true;
|
public static boolean ENABLE_INFINITY_WITHOUT_ARROW = true;
|
||||||
public static boolean ENABLE_CROSSBOW_INFINITY = true;
|
public static boolean ENABLE_CROSSBOW_INFINITY = true;
|
||||||
public static boolean LOYALTY_RETURN_TO_SAME_SLOT = true; // todo
|
public static boolean TRIDENT_RETURN_TO_SAME_SLOT = true;
|
||||||
public static boolean ENABLE_CUSTOM_ENCHANT_LEVELS = true;
|
public static boolean ENABLE_CUSTOM_ENCHANT_LEVELS = true;
|
||||||
|
|
||||||
public static Map<Identifier, Integer> LEVELS = new HashMap<>(Map.ofEntries(
|
public static Map<Identifier, Integer> LEVELS = new HashMap<>(Map.ofEntries(
|
||||||
@@ -98,9 +98,9 @@ public class Config
|
|||||||
{
|
{
|
||||||
ENABLE_CHANNELING_2 = data.get("enable-channeling-2").getAsBoolean();
|
ENABLE_CHANNELING_2 = data.get("enable-channeling-2").getAsBoolean();
|
||||||
}
|
}
|
||||||
if (data.has("enable-loyalty-void-protection"))
|
if (data.has("loyalty-void-protection"))
|
||||||
{
|
{
|
||||||
ENABLE_LOYALTY_VOID_PROTECTION = data.get("enable-loyalty-void-protection").getAsBoolean();
|
LOYALTY_VOID_PROTECTION = data.get("loyalty-void-protection").getAsBoolean();
|
||||||
}
|
}
|
||||||
if (data.has("disable-soul-speed-damage"))
|
if (data.has("disable-soul-speed-damage"))
|
||||||
{
|
{
|
||||||
@@ -118,9 +118,9 @@ public class Config
|
|||||||
{
|
{
|
||||||
ENABLE_CROSSBOW_INFINITY = data.get("enable-crossbow-infinity").getAsBoolean();
|
ENABLE_CROSSBOW_INFINITY = data.get("enable-crossbow-infinity").getAsBoolean();
|
||||||
}
|
}
|
||||||
if (data.has("loyalty-return-to-same-slot"))
|
if (data.has("trident-return-to-same-slot"))
|
||||||
{
|
{
|
||||||
LOYALTY_RETURN_TO_SAME_SLOT = data.get("loyalty-return-to-same-slot").getAsBoolean();
|
TRIDENT_RETURN_TO_SAME_SLOT = data.get("loyalty-return-to-same-slot").getAsBoolean();
|
||||||
}
|
}
|
||||||
if (data.has("enable-custom-enchant-levels"))
|
if (data.has("enable-custom-enchant-levels"))
|
||||||
{
|
{
|
||||||
@@ -149,12 +149,12 @@ public class Config
|
|||||||
data.addProperty("armor-enchants-unnerf", ARMOR_ENCHANTS_UNNERF);
|
data.addProperty("armor-enchants-unnerf", ARMOR_ENCHANTS_UNNERF);
|
||||||
data.addProperty("tool-enchants-unnerf", TOOL_ENCHANTS_UNNERF);
|
data.addProperty("tool-enchants-unnerf", TOOL_ENCHANTS_UNNERF);
|
||||||
data.addProperty("enable-channeling-2", ENABLE_CHANNELING_2);
|
data.addProperty("enable-channeling-2", ENABLE_CHANNELING_2);
|
||||||
data.addProperty("enable-loyalty-void-protection", ENABLE_LOYALTY_VOID_PROTECTION);
|
data.addProperty("loyalty-void-protection", LOYALTY_VOID_PROTECTION);
|
||||||
data.addProperty("disable-soul-speed-damage", DISABLE_SOUL_SPEED_DAMAGE);
|
data.addProperty("disable-soul-speed-damage", DISABLE_SOUL_SPEED_DAMAGE);
|
||||||
data.addProperty("disable-thorns-damage", DISABLE_THORNS_DAMAGE);
|
data.addProperty("disable-thorns-damage", DISABLE_THORNS_DAMAGE);
|
||||||
data.addProperty("enable-infinity-without-arrow", ENABLE_INFINITY_WITHOUT_ARROW);
|
data.addProperty("enable-infinity-without-arrow", ENABLE_INFINITY_WITHOUT_ARROW);
|
||||||
data.addProperty("enable-crossbow-infinity", ENABLE_CROSSBOW_INFINITY);
|
data.addProperty("enable-crossbow-infinity", ENABLE_CROSSBOW_INFINITY);
|
||||||
data.addProperty("loyalty-return-to-same-slot", LOYALTY_RETURN_TO_SAME_SLOT);
|
data.addProperty("trident-return-to-same-slot", TRIDENT_RETURN_TO_SAME_SLOT);
|
||||||
data.addProperty("enable-custom-enchant-levels", ENABLE_CUSTOM_ENCHANT_LEVELS);
|
data.addProperty("enable-custom-enchant-levels", ENABLE_CUSTOM_ENCHANT_LEVELS);
|
||||||
JsonObject levels = new JsonObject();
|
JsonObject levels = new JsonObject();
|
||||||
LEVELS.forEach((id, level) -> levels.addProperty(id.toString(), level));
|
LEVELS.forEach((id, level) -> levels.addProperty(id.toString(), level));
|
||||||
|
|||||||
@@ -9,21 +9,29 @@ import org.spongepowered.asm.mixin.Mixin;
|
|||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|
||||||
|
import static com.kasetoatz.superenchants.config.Config.TRIDENT_RETURN_TO_SAME_SLOT;
|
||||||
|
|
||||||
@Mixin(PersistentProjectileEntity.class)
|
@Mixin(PersistentProjectileEntity.class)
|
||||||
public class PersistentProjectileMixin
|
public class PersistentProjectileMixin
|
||||||
{
|
{
|
||||||
@Redirect(method="tryPickup", at= @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerInventory;insertStack(Lnet/minecraft/item/ItemStack;)Z"))
|
@Redirect(method="tryPickup", at= @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerInventory;insertStack(Lnet/minecraft/item/ItemStack;)Z"))
|
||||||
public boolean tryPickup(PlayerInventory inventory, ItemStack stack)
|
public boolean tryPickup(PlayerInventory inventory, ItemStack stack)
|
||||||
{
|
{
|
||||||
if ((Object)this instanceof TridentEntity trident)
|
if (TRIDENT_RETURN_TO_SAME_SLOT)
|
||||||
{
|
{
|
||||||
int slot = trident.get(DataComponentTypes.CUSTOM_DATA).copyNbt().getInt("slot", -1);
|
if ((Object)this instanceof TridentEntity trident)
|
||||||
if (slot == PlayerInventory.OFF_HAND_SLOT)
|
|
||||||
{
|
{
|
||||||
inventory.setStack(slot, stack);
|
int slot = trident.get(DataComponentTypes.CUSTOM_DATA).copyNbt().getInt("slot", -1);
|
||||||
return true;
|
if (slot != -1 && inventory.getStack(slot).isEmpty())
|
||||||
|
{
|
||||||
|
if (slot == PlayerInventory.OFF_HAND_SLOT)
|
||||||
|
{
|
||||||
|
inventory.setStack(slot, stack);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return inventory.insertStack(slot, stack);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return inventory.insertStack(slot, stack);
|
|
||||||
}
|
}
|
||||||
return inventory.insertStack(stack);
|
return inventory.insertStack(stack);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.At;
|
|||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
import static com.kasetoatz.superenchants.config.Config.ENABLE_LOYALTY_VOID_PROTECTION;
|
import static com.kasetoatz.superenchants.config.Config.LOYALTY_VOID_PROTECTION;
|
||||||
|
|
||||||
@Mixin(TridentEntity.class)
|
@Mixin(TridentEntity.class)
|
||||||
public abstract class TridentEntityMixin
|
public abstract class TridentEntityMixin
|
||||||
@@ -21,7 +21,7 @@ public abstract class TridentEntityMixin
|
|||||||
public void tick(CallbackInfo ci)
|
public void tick(CallbackInfo ci)
|
||||||
{
|
{
|
||||||
TridentEntity trident = ((TridentEntity)(Object)this);
|
TridentEntity trident = ((TridentEntity)(Object)this);
|
||||||
if (ENABLE_LOYALTY_VOID_PROTECTION && trident.getDataTracker().get(LOYALTY) > 0 && trident.getY() <= trident.getWorld().getBottomY())
|
if (LOYALTY_VOID_PROTECTION && trident.getDataTracker().get(LOYALTY) > 0 && trident.getY() <= trident.getWorld().getBottomY())
|
||||||
{
|
{
|
||||||
dealtDamage = true;
|
dealtDamage = true;
|
||||||
trident.setVelocity(0, 0, 0);
|
trident.setVelocity(0, 0, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user