From 914a5ce0998f826cabbe142d2ff01333fad9052d Mon Sep 17 00:00:00 2001 From: zenfyr Date: Sun, 23 Nov 2025 17:52:37 +0700 Subject: [PATCH] remove bulk of commander stuff --- .../melontini/andromeda/common/Andromeda.java | 3 - .../andromeda/common/config/GameConfig.java | 3 +- .../andromeda/common/mixin/EntityMixin.java | 41 ------- .../{commander => }/CommanderSupport.java | 2 +- .../util/ConstantLootContextAccessor.java | 14 --- .../common/util/LazyLootParameterSet.java | 104 ------------------ .../util/commander/IntermediaryTypes.java | 40 ------- .../commander/bool/BooleanIntermediary.java | 20 ---- .../bool/CommanderBooleanIntermediary.java | 41 ------- .../bool/ConstantBooleanIntermediary.java | 23 ---- .../commander/number/DoubleIntermediary.java | 30 ----- .../commander/number/LongIntermediary.java | 27 ----- .../constant/ConstantDoubleIntermediary.java | 17 --- .../constant/ConstantLongIntermediary.java | 17 --- .../CommanderDoubleIntermediary.java | 33 ------ .../expression/CommanderLongIntermediary.java | 33 ------ .../modules/blocks/bed/power/Power.java | 3 +- .../blocks/bed/power/mixin/BedBlockMixin.java | 17 +-- .../blocks/bed/safe/mixin/BedBlockMixin.java | 5 +- .../bed/unsafe/mixin/BedBlockMixin.java | 21 +--- .../BetterFletchingTable.java | 3 +- .../mixin/BowItemMixin.java | 9 +- .../mixin/AbstractBlockMixin.java | 12 +- .../campfire_effects/CampfireEffects.java | 9 +- .../mixin/CampfireBlockEntityMixin.java | 13 +-- .../mixin/PropaguleBlockMixin.java | 7 +- .../blocks/guarded_loot/GuardedLoot.java | 3 +- .../modules/blocks/guarded_loot/Main.java | 9 +- .../modules/blocks/incubator/Incubator.java | 2 +- .../leaf_slowdown/mixin/EntityMixin.java | 8 +- .../BeeFlowerDuplication.java | 3 +- .../mixin/BeeEntityMixin.java | 4 +- .../mixin/BoneMealItemMixin.java | 5 +- .../entities/ghast_tweaks/GhastTweaks.java | 6 +- .../modules/entities/ghast_tweaks/Main.java | 8 +- .../MinecartSpeedControl.java | 8 +- .../mixin/AbstractMinecartEntityMixin.java | 4 +- .../mixin/FurnaceMinecartEntityMixin.java | 10 +- .../entities/AnvilMinecartEntity.java | 4 +- .../modules/entities/slimes/Slimes.java | 10 +- .../slimes/mixin/flee/MobEntityMixin.java | 7 +- .../slimes/mixin/merge/SlimeEntityMixin.java | 22 +--- .../mixin/slowness/SlimeEntityMixin.java | 8 +- .../entities/snowball_tweaks/Snowballs.java | 14 +-- .../mixin/cooldown/SnowballItemMixin.java | 10 +- .../mixin/freeze/SnowballEntityMixin.java | 10 +- .../mixin/layers/SnowballEntityMixin.java | 4 +- .../mixin/melt/SnowballEntityMixin.java | 4 +- .../put_out_fire/SnowballEntityMixin.java | 8 +- .../entities/vehicle_unentrapment/Main.java | 12 +- .../VillagerTemptGoal.java | 7 +- .../all_pick_up/mixin/ZombieEntityMixin.java | 7 +- .../clean_pickup/mixin/ZombieEntityMixin.java | 3 +- .../items/infinite_totem/InfiniteTotem.java | 3 +- .../infinite_totem/mixin/ItemEntityMixin.java | 5 +- .../mixin/LivingEntityMixin.java | 7 +- .../modules/items/lockpick/Lockpick.java | 6 +- .../modules/items/lockpick/LockpickItem.java | 11 +- .../modules/items/magnet/Magnet.java | 3 +- .../modules/items/magnet/MagnetItem.java | 9 +- .../mixin/MinecartItemMixin.java | 30 ++--- .../ThrowableItemAttackGoal.java | 6 +- .../throwable_items/ThrowableItems.java | 5 +- .../CustomTraderManager.java | 7 +- .../mechanics/trading_goat_horn/GoatHorn.java | 6 +- .../mixin/GoatHornMixin.java | 7 +- .../mixin/VillagerEntityMixin.java | 7 +- .../mixin/PlayerEntityMixin.java | 12 +- .../auto_planting/mixin/ItemEntityMixin.java | 4 +- .../crop_temperature/PlantTemperature.java | 3 +- .../PlantTemperatureData.java | 8 +- .../mixin/BoneMealItemMixin.java | 7 +- .../mixin/BeehiveBlockEntityMixin.java | 8 +- .../mixin/FallingBlockMixin.java | 8 +- .../PersistentProjectileEntityMixin.java | 8 +- .../world/moist_control/MoistControl.java | 3 +- .../moist_control/mixin/FarmlandMixin.java | 5 +- .../mixin/AbstractFireBlockMixin.java | 6 +- 78 files changed, 114 insertions(+), 817 deletions(-) delete mode 100644 src/main/java/me/melontini/andromeda/common/mixin/EntityMixin.java rename src/main/java/me/melontini/andromeda/common/util/{commander => }/CommanderSupport.java (93%) delete mode 100644 src/main/java/me/melontini/andromeda/common/util/ConstantLootContextAccessor.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/LazyLootParameterSet.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/IntermediaryTypes.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/bool/BooleanIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/bool/CommanderBooleanIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/bool/ConstantBooleanIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/number/DoubleIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/number/LongIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantDoubleIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantLongIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderDoubleIntermediary.java delete mode 100644 src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderLongIntermediary.java diff --git a/src/main/java/me/melontini/andromeda/common/Andromeda.java b/src/main/java/me/melontini/andromeda/common/Andromeda.java index ab3caaed..3868150c 100644 --- a/src/main/java/me/melontini/andromeda/common/Andromeda.java +++ b/src/main/java/me/melontini/andromeda/common/Andromeda.java @@ -15,7 +15,6 @@ import me.melontini.andromeda.common.config.handler.MultiConfigHandler; import me.melontini.andromeda.common.util.AndromedaItemGroup; import me.melontini.andromeda.common.util.GsonCodecContext; import me.melontini.andromeda.common.util.Keeper; -import me.melontini.andromeda.common.util.commander.IntermediaryTypes; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.fabricmc.fabric.api.resource.conditions.v1.ResourceConditions; @@ -122,8 +121,6 @@ public class Andromeda implements ModInitializer { } public static void appendCommonGsonTypes(GsonBuilder builder) { - IntermediaryTypes.initialize(builder); // Commander support - builder.registerTypeHierarchyAdapter( ResourceLocation.class, GsonCodecContext.of(ResourceLocation.CODEC)); builder.registerTypeHierarchyAdapter( diff --git a/src/main/java/me/melontini/andromeda/common/config/GameConfig.java b/src/main/java/me/melontini/andromeda/common/config/GameConfig.java index cadbae78..d607c12a 100644 --- a/src/main/java/me/melontini/andromeda/common/config/GameConfig.java +++ b/src/main/java/me/melontini/andromeda/common/config/GameConfig.java @@ -1,11 +1,10 @@ package me.melontini.andromeda.common.config; import me.melontini.andromeda.bootstrap.config.BaseConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; import me.shedaniel.autoconfig.annotation.ConfigEntry; public class GameConfig extends BaseConfig { @ConfigEntry.Gui.Excluded - public BooleanIntermediary available = BooleanIntermediary.of(true); + public boolean available = true; } diff --git a/src/main/java/me/melontini/andromeda/common/mixin/EntityMixin.java b/src/main/java/me/melontini/andromeda/common/mixin/EntityMixin.java deleted file mode 100644 index a87d90de..00000000 --- a/src/main/java/me/melontini/andromeda/common/mixin/EntityMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package me.melontini.andromeda.common.mixin; - -import java.util.function.Supplier; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; -import me.melontini.andromeda.common.util.LazyLootParameterSet; -import me.melontini.andromeda.common.util.LootContextBuilder; -import me.melontini.dark_matter.api.base.util.Utilities; -import me.melontini.dark_matter.api.base.util.functions.Memoize; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.storage.loot.LootContext; -import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; -import net.minecraft.world.level.storage.loot.parameters.LootContextParams; -import net.minecraft.world.phys.Vec3; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(Entity.class) -abstract class EntityMixin implements ConstantLootContextAccessor { - - @Shadow - public abstract Vec3 position(); - - @Shadow - public abstract Level level(); - - @Unique private final Supplier andromeda$context = Utilities.supply(() -> { - var c = new LazyLootParameterSet.Builder(() -> (ServerLevel) level()) - .add(LootContextParams.ORIGIN, this::position) - .add(LootContextParams.THIS_ENTITY, () -> (Entity) (Object) this) - .build(LootContextParamSets.COMMAND); - return Memoize.supplier(() -> LootContextBuilder.build(c)); - }); - - @Override - public Supplier andromeda$getLootContext() { - return andromeda$context; - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/CommanderSupport.java b/src/main/java/me/melontini/andromeda/common/util/CommanderSupport.java similarity index 93% rename from src/main/java/me/melontini/andromeda/common/util/commander/CommanderSupport.java rename to src/main/java/me/melontini/andromeda/common/util/CommanderSupport.java index 34405c9a..29545606 100644 --- a/src/main/java/me/melontini/andromeda/common/util/commander/CommanderSupport.java +++ b/src/main/java/me/melontini/andromeda/common/util/CommanderSupport.java @@ -1,4 +1,4 @@ -package me.melontini.andromeda.common.util.commander; +package me.melontini.andromeda.common.util; import me.melontini.andromeda.bootstrap.Module; import me.melontini.andromeda.bootstrap.ModuleHelper; diff --git a/src/main/java/me/melontini/andromeda/common/util/ConstantLootContextAccessor.java b/src/main/java/me/melontini/andromeda/common/util/ConstantLootContextAccessor.java deleted file mode 100644 index 031469bc..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/ConstantLootContextAccessor.java +++ /dev/null @@ -1,14 +0,0 @@ -package me.melontini.andromeda.common.util; - -import java.util.function.Supplier; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.level.storage.loot.LootContext; - -public interface ConstantLootContextAccessor { - - static Supplier get(Entity entity) { - return ((ConstantLootContextAccessor) entity).andromeda$getLootContext(); - } - - Supplier andromeda$getLootContext(); -} diff --git a/src/main/java/me/melontini/andromeda/common/util/LazyLootParameterSet.java b/src/main/java/me/melontini/andromeda/common/util/LazyLootParameterSet.java deleted file mode 100644 index 3b48e894..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/LazyLootParameterSet.java +++ /dev/null @@ -1,104 +0,0 @@ -package me.melontini.andromeda.common.util; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Set; -import java.util.function.Supplier; -import lombok.Getter; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.level.storage.loot.LootParams; -import net.minecraft.world.level.storage.loot.parameters.LootContextParam; -import net.minecraft.world.level.storage.loot.parameters.LootContextParamSet; -import org.jetbrains.annotations.Nullable; - -public class LazyLootParameterSet extends LootParams { - - private final Supplier world; - private final Map, Supplier> parameters; - - public LazyLootParameterSet( - Supplier world, - Map, Supplier> parameters, - Map dynamicDrops, - float luck) { - super(null, null, dynamicDrops, luck); - this.world = world; - this.parameters = parameters; - } - - @Override - public ServerLevel getLevel() { - return world.get(); - } - - public T getParameter(LootContextParam parameter) { - var object = this.parameters.get(parameter); - if (object == null) { - throw new NoSuchElementException(parameter.getName().toString()); - } else { - return (T) object.get(); - } - } - - @Nullable public T getOptionalParameter(LootContextParam parameter) { - var s = this.parameters.get(parameter); - return s == null ? null : (T) s.get(); - } - - @Nullable public T getParamOrNull(LootContextParam parameter) { - var s = this.parameters.get(parameter); - return s == null ? null : (T) s.get(); - } - - public static class Builder { - @Getter - private final Supplier world; - - private final Map, Supplier> parameters = Maps.newIdentityHashMap(); - private final Map dynamicDrops = Maps.newHashMap(); - private float luck; - - public Builder(Supplier world) { - this.world = world; - } - - public Builder add(LootContextParam parameter, Supplier value) { - this.parameters.put(parameter, (Supplier) value); - return this; - } - - public Builder addDynamicDrop(ResourceLocation id, DynamicDrop dynamicDrop) { - DynamicDrop dynamicDrop2 = this.dynamicDrops.put(id, dynamicDrop); - if (dynamicDrop2 != null) { - throw new IllegalStateException("Duplicated dynamic drop '" + this.dynamicDrops + "'"); - } else { - return this; - } - } - - public Builder luck(float luck) { - this.luck = luck; - return this; - } - - public LootParams build(LootContextParamSet contextType) { - Set> set = - Sets.difference(this.parameters.keySet(), contextType.getAllowed()); - if (!set.isEmpty()) { - throw new IllegalArgumentException("Parameters not allowed in this parameter set: " + set); - } else { - Set> set2 = - Sets.difference(contextType.getRequired(), this.parameters.keySet()); - if (!set2.isEmpty()) { - throw new IllegalArgumentException("Missing required parameters: " + set2); - } else { - return new LazyLootParameterSet( - this.world, this.parameters, this.dynamicDrops, this.luck); - } - } - } - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/IntermediaryTypes.java b/src/main/java/me/melontini/andromeda/common/util/commander/IntermediaryTypes.java deleted file mode 100644 index 47eae80b..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/IntermediaryTypes.java +++ /dev/null @@ -1,40 +0,0 @@ -package me.melontini.andromeda.common.util.commander; - -import com.google.gson.GsonBuilder; -import me.melontini.andromeda.common.util.GsonCodecContext; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; -import me.melontini.andromeda.common.util.commander.bool.CommanderBooleanIntermediary; -import me.melontini.andromeda.common.util.commander.bool.ConstantBooleanIntermediary; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; -import me.melontini.andromeda.common.util.commander.number.constant.ConstantDoubleIntermediary; -import me.melontini.andromeda.common.util.commander.number.constant.ConstantLongIntermediary; -import me.melontini.andromeda.common.util.commander.number.expression.CommanderDoubleIntermediary; -import me.melontini.andromeda.common.util.commander.number.expression.CommanderLongIntermediary; -import me.melontini.dark_matter.api.base.util.Support; - -public class IntermediaryTypes { - - public static void initialize(GsonBuilder builder) { - builder.registerTypeHierarchyAdapter( - DoubleIntermediary.class, - GsonCodecContext.of(Support.fallback( - "commander", - () -> CommanderDoubleIntermediary.CODEC, - () -> ConstantDoubleIntermediary.CODEC))); - - builder.registerTypeHierarchyAdapter( - LongIntermediary.class, - GsonCodecContext.of(Support.fallback( - "commander", - () -> CommanderLongIntermediary.CODEC, - () -> ConstantLongIntermediary.CODEC))); - - builder.registerTypeHierarchyAdapter( - BooleanIntermediary.class, - GsonCodecContext.of(Support.fallback( - "commander", - () -> CommanderBooleanIntermediary.CODEC, - () -> ConstantBooleanIntermediary.CODEC))); - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/bool/BooleanIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/bool/BooleanIntermediary.java deleted file mode 100644 index 0282a65f..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/bool/BooleanIntermediary.java +++ /dev/null @@ -1,20 +0,0 @@ -package me.melontini.andromeda.common.util.commander.bool; - -import java.util.function.Supplier; -import me.melontini.commander.api.expression.BooleanExpression; -import me.melontini.dark_matter.api.base.util.Support; -import net.fabricmc.fabric.api.util.BooleanFunction; -import net.minecraft.world.level.storage.loot.LootContext; - -public interface BooleanIntermediary { - BooleanFunction FACTORY = Support.support( - "commander", - () -> b -> new CommanderBooleanIntermediary(BooleanExpression.constant(b)), - () -> ConstantBooleanIntermediary::of); - - boolean asBoolean(Supplier supplier); - - static BooleanIntermediary of(boolean value) { - return FACTORY.apply(value); - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/bool/CommanderBooleanIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/bool/CommanderBooleanIntermediary.java deleted file mode 100644 index fe6c79a9..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/bool/CommanderBooleanIntermediary.java +++ /dev/null @@ -1,41 +0,0 @@ -package me.melontini.andromeda.common.util.commander.bool; - -import com.mojang.serialization.Codec; -import java.util.function.Supplier; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.ToString; -import me.melontini.commander.api.expression.BooleanExpression; -import net.minecraft.world.level.storage.loot.LootContext; - -@EqualsAndHashCode -@ToString -public final class CommanderBooleanIntermediary implements BooleanIntermediary { - - public static final CommanderBooleanIntermediary TRUE = - new CommanderBooleanIntermediary(BooleanExpression.constant(true)); - public static final CommanderBooleanIntermediary FALSE = - new CommanderBooleanIntermediary(BooleanExpression.constant(false)); - - public static final Codec CODEC = BooleanExpression.CODEC.xmap( - CommanderBooleanIntermediary::new, CommanderBooleanIntermediary::getExpression); - - public static CommanderBooleanIntermediary constant(Boolean b) { - return Boolean.TRUE.equals(b) ? TRUE : FALSE; - } - - @Getter - private final BooleanExpression expression; - - private final boolean constant; - - public CommanderBooleanIntermediary(BooleanExpression expression) { - this.expression = expression; - this.constant = expression.toSource().left().isPresent(); - } - - @Override - public boolean asBoolean(Supplier supplier) { - return this.expression.asBoolean(constant ? null : supplier.get()); - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/bool/ConstantBooleanIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/bool/ConstantBooleanIntermediary.java deleted file mode 100644 index 06652047..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/bool/ConstantBooleanIntermediary.java +++ /dev/null @@ -1,23 +0,0 @@ -package me.melontini.andromeda.common.util.commander.bool; - -import com.mojang.serialization.Codec; -import java.util.function.Supplier; -import net.minecraft.world.level.storage.loot.LootContext; - -public record ConstantBooleanIntermediary(boolean value) implements BooleanIntermediary { - - private static final ConstantBooleanIntermediary TRUE = new ConstantBooleanIntermediary(true); - private static final ConstantBooleanIntermediary FALSE = new ConstantBooleanIntermediary(true); - - public static ConstantBooleanIntermediary of(Boolean b) { - return Boolean.TRUE.equals(b) ? TRUE : FALSE; - } - - public static final Codec CODEC = - Codec.BOOL.xmap(ConstantBooleanIntermediary::new, ConstantBooleanIntermediary::value); - - @Override - public boolean asBoolean(Supplier supplier) { - return this.value; - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/number/DoubleIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/number/DoubleIntermediary.java deleted file mode 100644 index ec7776bf..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/number/DoubleIntermediary.java +++ /dev/null @@ -1,30 +0,0 @@ -package me.melontini.andromeda.common.util.commander.number; - -import java.util.function.DoubleFunction; -import java.util.function.Supplier; -import me.melontini.andromeda.common.util.commander.number.constant.ConstantDoubleIntermediary; -import me.melontini.andromeda.common.util.commander.number.expression.CommanderDoubleIntermediary; -import me.melontini.commander.api.expression.Arithmetica; -import me.melontini.dark_matter.api.base.util.Support; -import net.minecraft.world.level.storage.loot.LootContext; - -// We swap out this common interface to one of its impls. This allows us to support running with and -// without commander. -// Backends cannot be mixed as doing so will result in a ClassCastException. -public interface DoubleIntermediary { - - DoubleFunction FACTORY = Support.support( - "commander", - () -> d -> new CommanderDoubleIntermediary(Arithmetica.constant(d)), - () -> ConstantDoubleIntermediary::new); - - double asDouble(Supplier supplier); - - default float asFloat(Supplier supplier) { - return (float) this.asDouble(supplier); - } - - static DoubleIntermediary of(double value) { - return FACTORY.apply(value); - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/number/LongIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/number/LongIntermediary.java deleted file mode 100644 index a9232cb8..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/number/LongIntermediary.java +++ /dev/null @@ -1,27 +0,0 @@ -package me.melontini.andromeda.common.util.commander.number; - -import java.util.function.LongFunction; -import java.util.function.Supplier; -import me.melontini.andromeda.common.util.commander.number.constant.ConstantLongIntermediary; -import me.melontini.andromeda.common.util.commander.number.expression.CommanderLongIntermediary; -import me.melontini.commander.api.expression.LongExpression; -import me.melontini.dark_matter.api.base.util.Support; -import net.minecraft.world.level.storage.loot.LootContext; - -public interface LongIntermediary { - - LongFunction FACTORY = Support.support( - "commander", - () -> j -> new CommanderLongIntermediary(LongExpression.constant(j)), - () -> ConstantLongIntermediary::new); - - long asLong(Supplier supplier); - - default int asInt(Supplier supplier) { - return (int) this.asLong(supplier); - } - - static LongIntermediary of(long value) { - return FACTORY.apply(value); - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantDoubleIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantDoubleIntermediary.java deleted file mode 100644 index 68597694..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantDoubleIntermediary.java +++ /dev/null @@ -1,17 +0,0 @@ -package me.melontini.andromeda.common.util.commander.number.constant; - -import com.mojang.serialization.Codec; -import java.util.function.Supplier; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; -import net.minecraft.world.level.storage.loot.LootContext; - -public record ConstantDoubleIntermediary(double value) implements DoubleIntermediary { - - public static final Codec CODEC = - Codec.DOUBLE.xmap(ConstantDoubleIntermediary::new, ConstantDoubleIntermediary::value); - - @Override - public double asDouble(Supplier supplier) { - return this.value; - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantLongIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantLongIntermediary.java deleted file mode 100644 index e170496d..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/number/constant/ConstantLongIntermediary.java +++ /dev/null @@ -1,17 +0,0 @@ -package me.melontini.andromeda.common.util.commander.number.constant; - -import com.mojang.serialization.Codec; -import java.util.function.Supplier; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; -import net.minecraft.world.level.storage.loot.LootContext; - -public record ConstantLongIntermediary(long value) implements LongIntermediary { - - public static final Codec CODEC = - Codec.LONG.xmap(ConstantLongIntermediary::new, ConstantLongIntermediary::value); - - @Override - public long asLong(Supplier supplier) { - return this.value; - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderDoubleIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderDoubleIntermediary.java deleted file mode 100644 index 7f3adc52..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderDoubleIntermediary.java +++ /dev/null @@ -1,33 +0,0 @@ -package me.melontini.andromeda.common.util.commander.number.expression; - -import com.mojang.serialization.Codec; -import java.util.function.Supplier; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.ToString; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; -import me.melontini.commander.api.expression.Arithmetica; -import net.minecraft.world.level.storage.loot.LootContext; - -@EqualsAndHashCode -@ToString -public final class CommanderDoubleIntermediary implements DoubleIntermediary { - - public static final Codec CODEC = Arithmetica.CODEC.xmap( - CommanderDoubleIntermediary::new, CommanderDoubleIntermediary::getArithmetica); - - @Getter - private final Arithmetica arithmetica; - - private final boolean constant; - - public CommanderDoubleIntermediary(Arithmetica arithmetica) { - this.arithmetica = arithmetica; - this.constant = arithmetica.toSource().left().isPresent(); - } - - @Override - public double asDouble(Supplier supplier) { - return this.arithmetica.asDouble(constant ? null : supplier.get()); - } -} diff --git a/src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderLongIntermediary.java b/src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderLongIntermediary.java deleted file mode 100644 index 13e1e23d..00000000 --- a/src/main/java/me/melontini/andromeda/common/util/commander/number/expression/CommanderLongIntermediary.java +++ /dev/null @@ -1,33 +0,0 @@ -package me.melontini.andromeda.common.util.commander.number.expression; - -import com.mojang.serialization.Codec; -import java.util.function.Supplier; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.ToString; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; -import me.melontini.commander.api.expression.LongExpression; -import net.minecraft.world.level.storage.loot.LootContext; - -@EqualsAndHashCode -@ToString -public final class CommanderLongIntermediary implements LongIntermediary { - - public static final Codec CODEC = LongExpression.CODEC.xmap( - CommanderLongIntermediary::new, CommanderLongIntermediary::getArithmetica); - - @Getter - private final LongExpression arithmetica; - - private final boolean constant; - - public CommanderLongIntermediary(LongExpression arithmetica) { - this.arithmetica = arithmetica; - this.constant = arithmetica.toSource().left().isPresent(); - } - - @Override - public long asLong(Supplier supplier) { - return this.arithmetica.asLong(constant ? null : supplier.get()); - } -} diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/Power.java b/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/Power.java index 2304ce9e..72ec51b3 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/Power.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/Power.java @@ -6,7 +6,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; @ModuleInfo(name = "bed/power", category = "blocks", env = Environment.SERVER) public final class Power extends Module { @@ -18,6 +17,6 @@ public final class Power extends Module { } public static class Config extends GameConfig { - public DoubleIntermediary power = DoubleIntermediary.of(5); + public double power = 5; } } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/mixin/BedBlockMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/mixin/BedBlockMixin.java index a4be0817..26a3f9b7 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/mixin/BedBlockMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/bed/power/mixin/BedBlockMixin.java @@ -2,15 +2,10 @@ package me.melontini.andromeda.modules.blocks.bed.power.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.bed.power.Power; -import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.BedBlock; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -22,18 +17,10 @@ abstract class BedBlockMixin extends Block { } @ModifyExpressionValue(at = @At(value = "CONSTANT", args = "floatValue=5.0F"), method = "use") - public float andromeda$explosionRedirect( - float power, - @Local(argsOnly = true) Level world, - @Local(argsOnly = true) BlockPos pos, - @Local(argsOnly = true) BlockState state, - @Local(argsOnly = true) Player player, - @Local(argsOnly = true) InteractionHand hand) { + public float andromeda$explosionRedirect(float power, @Local(argsOnly = true) Level world) { if (world.isClientSide()) return power; - var supplier = LootContextBuilder.block( - world, builder -> builder.origin(pos).state(state).tool(player, hand).thisEntity(player)); var config = world.am$get(Power.CONFIG); - return config.available.asBoolean(supplier) ? config.power.asFloat(supplier) : power; + return config.available ? (float) config.power : power; } } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/bed/safe/mixin/BedBlockMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/bed/safe/mixin/BedBlockMixin.java index 6de279d0..c3b8aee1 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/bed/safe/mixin/BedBlockMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/bed/safe/mixin/BedBlockMixin.java @@ -2,7 +2,6 @@ package me.melontini.andromeda.modules.blocks.bed.safe.mixin; import static net.minecraft.world.level.block.BedBlock.canSetSpawn; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.bed.safe.Safe; import me.melontini.dark_matter.api.minecraft.util.TextUtil; import net.minecraft.core.BlockPos; @@ -39,9 +38,7 @@ abstract class BedBlockMixin extends Block { if (world.isClientSide()) return; if (!canSetSpawn(world)) { - var context = LootContextBuilder.block( - world, builder -> builder.origin(pos).state(state).tool(player, hand).thisEntity(player)); - if (world.am$get(Safe.CONFIG).available.asBoolean(context)) { + if (world.am$get(Safe.CONFIG).available) { player.displayClientMessage(TextUtil.translatable("action.andromeda.safebeds"), true); cir.setReturnValue(InteractionResult.SUCCESS); } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/bed/unsafe/mixin/BedBlockMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/bed/unsafe/mixin/BedBlockMixin.java index 28d62dd4..6fbac902 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/bed/unsafe/mixin/BedBlockMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/bed/unsafe/mixin/BedBlockMixin.java @@ -2,14 +2,9 @@ package me.melontini.andromeda.modules.blocks.bed.unsafe.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.bed.unsafe.Unsafe; -import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.BedBlock; -import net.minecraft.world.level.block.state.BlockState; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -23,21 +18,9 @@ abstract class BedBlockMixin { target = "Lnet/minecraft/world/level/block/BedBlock;canSetSpawn(Lnet/minecraft/world/level/Level;)Z"), method = "use") - private boolean andromeda$explode( - boolean original, - @Local(argsOnly = true) Level world, - @Local(argsOnly = true) BlockPos pos, - @Local(argsOnly = true) BlockState state, - @Local(argsOnly = true) Player player, - @Local(argsOnly = true) InteractionHand hand) { + private boolean andromeda$explode(boolean original, @Local(argsOnly = true) Level world) { if (world.isClientSide()) return original; - return original - && !world - .am$get(Unsafe.CONFIG) - .available - .asBoolean(LootContextBuilder.block( - world, - builder -> builder.origin(pos).state(state).tool(player, hand).thisEntity(player))); + return original && !world.am$get(Unsafe.CONFIG).available; } } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/BetterFletchingTable.java b/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/BetterFletchingTable.java index a11a4f57..2e2569c4 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/BetterFletchingTable.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/BetterFletchingTable.java @@ -7,7 +7,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; @ModuleInfo(name = "better_fletching_table", category = "blocks") public final class BetterFletchingTable extends Module implements PostBootstrapEvent { @@ -25,6 +24,6 @@ public final class BetterFletchingTable extends Module implements PostBootstrapE } public static final class Config extends BaseConfig { - public DoubleIntermediary divergenceModifier = DoubleIntermediary.of(0.2); + public float divergenceModifier = 0.2f; } } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/mixin/BowItemMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/mixin/BowItemMixin.java index 85c2fd9c..483d1bec 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/mixin/BowItemMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/mixin/BowItemMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.blocks.better_fletching_table.mixin; import com.llamalad7.mixinextras.sugar.Local; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.better_fletching_table.BetterFletchingTable; import me.melontini.dark_matter.api.data.nbt.NbtUtil; import net.minecraft.nbt.CompoundTag; @@ -34,13 +33,7 @@ abstract class BowItemMixin extends ProjectileWeaponItem { int a = NbtUtil.getInt(stackNbt, "AM-Tightened", 0); if (a > 0) { stackNbt.putInt("AM-Tightened", a - 1); - return f - * player - .level - .am$get(BetterFletchingTable.CONFIG) - .divergenceModifier - .asFloat(LootContextBuilder.fishing( - player.level, builder -> builder.origin(player).tool(stack).thisEntity(player))); + return f * player.level.am$get(BetterFletchingTable.CONFIG).divergenceModifier; } return f; } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/cactus_bottle_filling/mixin/AbstractBlockMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/cactus_bottle_filling/mixin/AbstractBlockMixin.java index 2010ec6c..ee37966e 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/cactus_bottle_filling/mixin/AbstractBlockMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/cactus_bottle_filling/mixin/AbstractBlockMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.blocks.cactus_bottle_filling.mixin; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.cactus_bottle_filling.CactusFiller; import me.melontini.andromeda.modules.blocks.cactus_bottle_filling.Main; import me.melontini.dark_matter.api.minecraft.util.ItemStackUtil; @@ -51,16 +50,7 @@ abstract class AbstractBlockMixin { } } - BlockState finalState = state; - if (!world.isClientSide() - && world - .am$get(CactusFiller.CONFIG) - .available - .asBoolean(LootContextBuilder.block(world, builder -> builder - .origin(pos) - .state(finalState) - .tool(player, hand) - .thisEntity(player)))) { + if (!world.isClientSide() && world.am$get(CactusFiller.CONFIG).available) { player.setItemInHand( hand, ItemUtils.createFilledResult( diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/CampfireEffects.java b/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/CampfireEffects.java index 03bf8db3..c923c95e 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/CampfireEffects.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/CampfireEffects.java @@ -11,9 +11,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffects; @@ -27,8 +24,8 @@ public final class CampfireEffects extends Module { } public static final class Config extends GameConfig { - public BooleanIntermediary affectsPassive = BooleanIntermediary.of(true); - public DoubleIntermediary effectsRange = DoubleIntermediary.of(10); + public boolean affectsPassive = true; + public double effectsRange = 10; public List effectList = Lists.newArrayList(new Effect()); @ToString @@ -36,7 +33,7 @@ public final class CampfireEffects extends Module { @NoArgsConstructor public static final class Effect { public MobEffect identifier = MobEffects.REGENERATION; - public LongIntermediary amplifier = LongIntermediary.of(0); + public int amplifier = 0; } } } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/mixin/CampfireBlockEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/mixin/CampfireBlockEntityMixin.java index c6b108b7..729b7cf4 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/mixin/CampfireBlockEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/campfire_effects/mixin/CampfireBlockEntityMixin.java @@ -2,7 +2,6 @@ package me.melontini.andromeda.modules.blocks.campfire_effects.mixin; import java.util.ArrayList; import java.util.List; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.campfire_effects.CampfireEffects; import net.minecraft.core.BlockPos; import net.minecraft.world.effect.MobEffectInstance; @@ -28,13 +27,11 @@ abstract class CampfireBlockEntityMixin { if (world.getGameTime() % 180 == 0) { if (state.getValue(CampfireBlock.LIT)) { var config = world.am$get(CampfireEffects.CONFIG); - var supplier = LootContextBuilder.block( - world, builder -> builder.origin(pos).state(state).blockEntity(campfire)); - if (!config.available.asBoolean(supplier)) return; + if (!config.available) return; List entities = new ArrayList<>(); - double rad = config.effectsRange.asDouble(supplier); - boolean affectsPassive = config.affectsPassive.asBoolean(supplier); + double rad = config.effectsRange; + boolean affectsPassive = config.affectsPassive; world.getEntities().get(new AABB(pos).inflate(rad), entity -> { if ((entity instanceof AgeableMob && affectsPassive) || entity instanceof Player) { entities.add((LivingEntity) entity); @@ -44,8 +41,8 @@ abstract class CampfireBlockEntityMixin { for (LivingEntity player : entities) { for (CampfireEffects.Config.Effect effect : effects) { - MobEffectInstance effectInstance = new MobEffectInstance( - effect.identifier, 200, effect.amplifier.asInt(supplier), true, false, true); + MobEffectInstance effectInstance = + new MobEffectInstance(effect.identifier, 200, effect.amplifier, true, false, true); player.addEffect(effectInstance); } } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/falling_propagule/mixin/PropaguleBlockMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/falling_propagule/mixin/PropaguleBlockMixin.java index deb9e846..01e400ea 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/falling_propagule/mixin/PropaguleBlockMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/falling_propagule/mixin/PropaguleBlockMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.blocks.falling_propagule.mixin; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.falling_propagule.FallingPropagule; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; @@ -36,11 +35,7 @@ abstract class PropaguleBlockMixin { BlockState state, ServerLevel world, BlockPos pos, RandomSource random, CallbackInfo ci) { if (isFullyGrown(state) && random.nextInt(40) == 0 - && world - .am$get(FallingPropagule.CONFIG) - .available - .asBoolean( - LootContextBuilder.block(world, builder -> builder.origin(pos).state(state)))) { + && world.am$get(FallingPropagule.CONFIG).available) { FallingBlockEntity fallingBlock = new FallingBlockEntity( world, pos.getX() + 0.5, diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/GuardedLoot.java b/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/GuardedLoot.java index 825c823e..db925b19 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/GuardedLoot.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/GuardedLoot.java @@ -10,7 +10,6 @@ import me.melontini.andromeda.bootstrap.event.DeclareApiEvent; import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; @ModuleInfo(name = "guarded_loot", category = "blocks") public final class GuardedLoot extends Module implements PostBootstrapEvent { @@ -28,7 +27,7 @@ public final class GuardedLoot extends Module implements PostBootstrapEvent { } public static class Config extends GameConfig { - public DoubleIntermediary range = DoubleIntermediary.of(4); + public double range = 4; public boolean allowLockPicking = true; public BreakingHandler breakingHandler = BreakingHandler.UNBREAKABLE; } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/Main.java b/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/Main.java index 2eb050ba..21fd5e07 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/guarded_loot/Main.java @@ -8,7 +8,6 @@ import java.util.Collections; import java.util.List; import java.util.function.BiPredicate; import me.melontini.andromeda.bootstrap.ModuleManager; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.dark_matter.api.minecraft.util.TextUtil; import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents; import net.minecraft.ChatFormatting; @@ -59,15 +58,11 @@ public final class Main { public static List checkMonsterLock( Level world, BlockState state, Player player, BlockPos pos, BlockEntity be) { var config = world.am$get(GuardedLoot.CONFIG); - var supplier = LootContextBuilder.block( - world, builder -> builder.origin(pos).state(state).thisEntity(player).blockEntity(be)); - if (!config.available.asBoolean(supplier)) return Collections.emptyList(); + if (!config.available) return Collections.emptyList(); return world .getEntitiesOfClass( - LivingEntity.class, - new AABB(pos).inflate(config.range.asDouble(supplier)), - Entity::isAlive) + LivingEntity.class, new AABB(pos).inflate(config.range), Entity::isAlive) .stream() .filter(Enemy.class::isInstance) .toList(); diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Incubator.java b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Incubator.java index af61141c..0710936c 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Incubator.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Incubator.java @@ -7,7 +7,7 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; -import me.melontini.andromeda.common.util.commander.CommanderSupport; +import me.melontini.andromeda.common.util.CommanderSupport; @ModuleInfo(name = "incubator", category = "blocks") public final class Incubator extends Module implements PostBootstrapEvent { diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/leaf_slowdown/mixin/EntityMixin.java b/src/main/java/me/melontini/andromeda/modules/blocks/leaf_slowdown/mixin/EntityMixin.java index edbc8834..6cecb865 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/leaf_slowdown/mixin/EntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/leaf_slowdown/mixin/EntityMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.blocks.leaf_slowdown.mixin; import java.util.UUID; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.leaf_slowdown.LeafSlowdown; import net.minecraft.core.BlockPos; import net.minecraft.tags.BlockTags; @@ -41,12 +40,7 @@ abstract class EntityMixin extends Entity { @Inject(at = @At("HEAD"), method = "baseTick") public void andromeda$tick(CallbackInfo ci) { - if (!this.level.isClientSide - && this.level - .am$get(LeafSlowdown.CONFIG) - .available - .asBoolean(LootContextBuilder.command( - level, builder -> builder.origin(this).thisEntity(this)))) { + if (!this.level.isClientSide && this.level.am$get(LeafSlowdown.CONFIG).available) { AttributeInstance attributeInstance = this.getAttribute(Attributes.MOVEMENT_SPEED); if (this.level.getBlockState(blockPosition().below()).is(BlockTags.LEAVES) || (this.level.getBlockState(new BlockPos(blockPosition().below(2))).is(BlockTags.LEAVES) diff --git a/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/BeeFlowerDuplication.java b/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/BeeFlowerDuplication.java index 9caa4bcf..01930f08 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/BeeFlowerDuplication.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/BeeFlowerDuplication.java @@ -6,7 +6,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; @ModuleInfo(name = "bee_flower_duplication", category = "entities", env = Environment.SERVER) public final class BeeFlowerDuplication extends Module { @@ -18,6 +17,6 @@ public final class BeeFlowerDuplication extends Module { } public static final class Config extends GameConfig { - public BooleanIntermediary tallFlowers = BooleanIntermediary.of(true); + public boolean tallFlowers = true; } } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BeeEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BeeEntityMixin.java index f94b530e..83836986 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BeeEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BeeEntityMixin.java @@ -76,7 +76,7 @@ abstract class BeeEntityMixin extends Animal { var config = level.am$get(BeeFlowerDuplication.CONFIG); var supplier = LootContextBuilder.block(level, builder -> builder.origin(position()).state(flowerState)); - if (!config.available.asBoolean(supplier)) return; + if (!config.available) return; if (flowerState.getBlock() instanceof FlowerBlock flowerBlock) { andromeda$plantingCoolDown = level.random.nextIntBetweenInclusive(3600, 6490); @@ -102,7 +102,7 @@ abstract class BeeEntityMixin extends Animal { } } } else if (flowerState.getBlock() instanceof TallFlowerBlock flowerBlock - && config.tallFlowers.asBoolean(supplier)) { + && config.tallFlowers) { andromeda$plantingCoolDown = level.random.nextIntBetweenInclusive(3600, 8000); for (int i = -1; i <= 1; i++) { for (int b = -2; b <= 2; b++) { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BoneMealItemMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BoneMealItemMixin.java index 5a617c65..87e78827 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BoneMealItemMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/bee_flower_duplication/mixin/BoneMealItemMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.entities.bee_flower_duplication.mixin; import me.melontini.andromeda.bootstrap.ModuleManager; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.entities.bee_flower_duplication.BeeFlowerDuplication; import net.minecraft.core.BlockPos; import net.minecraft.world.item.BoneMealItem; @@ -24,9 +23,7 @@ abstract class BoneMealItemMixin { BlockState blockState = world.getBlockState(pos); var config = world.am$get(BeeFlowerDuplication.CONFIG); - var supplier = LootContextBuilder.block( - world, builder -> builder.origin(pos).state(blockState).tool(stack)); - if (!config.available.asBoolean(supplier) || !config.tallFlowers.asBoolean(supplier)) return; + if (!config.available || !config.tallFlowers) return; if (blockState.getBlock() instanceof TallFlowerBlock) { if (ModuleManager.get().get("misc.unknown").isPresent() && world.random.nextInt(100) == 0) { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/GhastTweaks.java b/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/GhastTweaks.java index 4253f0ba..3915f6f6 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/GhastTweaks.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/GhastTweaks.java @@ -8,8 +8,6 @@ import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; @ModuleInfo(name = "ghast_tweaks", category = "entities", env = Environment.SERVER) public final class GhastTweaks extends Module implements PostBootstrapEvent { @@ -26,8 +24,8 @@ public final class GhastTweaks extends Module implements PostBootstrapEvent { } public static class Config extends GameConfig { - public BooleanIntermediary explodeOnDeath = BooleanIntermediary.of(false); - public DoubleIntermediary explosionPower = DoubleIntermediary.of(4); + public boolean explodeOnDeath = false; + public float explosionPower = 4; public boolean fireBallsConvertObsidian = false; } } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/Main.java b/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/Main.java index 933da480..f55c5ea1 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/ghast_tweaks/Main.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.entities.ghast_tweaks; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import net.fabricmc.fabric.api.entity.event.v1.ServerLivingEntityEvents; import net.minecraft.world.entity.monster.Ghast; import net.minecraft.world.level.Level; @@ -11,16 +10,15 @@ public final class Main { ServerLivingEntityEvents.AFTER_DEATH.register((entity, damageSource) -> { if (entity instanceof Ghast) { var c = entity.level.am$get(GhastTweaks.CONFIG); - var supplier = ConstantLootContextAccessor.get(entity); - if (!c.available.asBoolean(supplier)) return; + if (!c.available) return; - if (c.explodeOnDeath.asBoolean(supplier)) + if (c.explodeOnDeath) entity.level.explode( entity, entity.getX(), entity.getY(), entity.getZ(), - c.explosionPower.asFloat(supplier), + c.explosionPower, Level.ExplosionInteraction.MOB); } }); diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/MinecartSpeedControl.java b/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/MinecartSpeedControl.java index af112bbf..4e79469c 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/MinecartSpeedControl.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/MinecartSpeedControl.java @@ -6,8 +6,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; @ModuleInfo(name = "minecart_speed_control", category = "entities", env = Environment.SERVER) public final class MinecartSpeedControl extends Module { @@ -19,8 +17,8 @@ public final class MinecartSpeedControl extends Module { } public static class Config extends GameConfig { - public DoubleIntermediary modifier = DoubleIntermediary.of(1d); - public DoubleIntermediary furnaceModifier = DoubleIntermediary.of(1d); - public LongIntermediary additionalFurnaceFuel = LongIntermediary.of(0); + public double modifier = 1d; + public double furnaceModifier = 1d; + public int additionalFurnaceFuel = 0; } } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/AbstractMinecartEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/AbstractMinecartEntityMixin.java index 56a2d6f6..c8d945a6 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/AbstractMinecartEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/AbstractMinecartEntityMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.entities.minecart_speed_control.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import me.melontini.andromeda.modules.entities.minecart_speed_control.MinecartSpeedControl; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -21,8 +20,7 @@ abstract class AbstractMinecartEntityMixin extends Entity { private double andromeda$getMaxSpeed(double original) { if (!this.level().isClientSide()) { var c = this.level().am$get(MinecartSpeedControl.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); - return c.available.asBoolean(supplier) ? original * c.modifier.asDouble(supplier) : original; + return c.available ? original * c.modifier : original; } return original; } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/FurnaceMinecartEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/FurnaceMinecartEntityMixin.java index c6af85dc..e7cf18ea 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/FurnaceMinecartEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecart_speed_control/mixin/FurnaceMinecartEntityMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.entities.minecart_speed_control.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import me.melontini.andromeda.modules.entities.minecart_speed_control.MinecartSpeedControl; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.vehicle.AbstractMinecart; @@ -28,9 +27,7 @@ abstract class FurnaceMinecartEntityMixin extends AbstractMinecart { if (!this.level().isClientSide()) { if (fuel > 0) { var c = this.level().am$get(MinecartSpeedControl.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); - if (c.available.asBoolean(supplier)) - fuel = Math.max(fuel - c.additionalFurnaceFuel.asInt(supplier), 0); + if (c.available) fuel = Math.max(fuel - c.additionalFurnaceFuel, 0); } } } @@ -39,10 +36,7 @@ abstract class FurnaceMinecartEntityMixin extends AbstractMinecart { private double andromeda$getMaxSpeed(double original) { if (!this.level().isClientSide()) { var c = this.level().am$get(MinecartSpeedControl.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); - return c.available.asBoolean(supplier) - ? original * c.furnaceModifier.asDouble(supplier) - : original; + return c.available ? original * c.furnaceModifier : original; } return original; } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/entities/AnvilMinecartEntity.java b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/entities/AnvilMinecartEntity.java index 3d95b6a4..d0fdccd2 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/entities/AnvilMinecartEntity.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/entities/AnvilMinecartEntity.java @@ -2,7 +2,6 @@ package me.melontini.andromeda.modules.entities.minecarts.entities; import java.util.Optional; import me.melontini.andromeda.bootstrap.ModuleManager; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import me.melontini.andromeda.modules.entities.minecart_speed_control.MinecartSpeedControl; import me.melontini.andromeda.modules.entities.minecarts.MinecartEntities; import me.melontini.andromeda.modules.entities.minecarts.MinecartItems; @@ -74,8 +73,7 @@ public class AnvilMinecartEntity extends AbstractMinecart { return optional .map(ms -> { var c = level.am$get(MinecartSpeedControl.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); - return c.available.asBoolean(supplier) ? d * c.modifier.asDouble(supplier) : d; + return c.available ? d * c.modifier : d; }) .orElse(d); } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/slimes/Slimes.java b/src/main/java/me/melontini/andromeda/modules/entities/slimes/Slimes.java index 2612f27b..02e94f31 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/slimes/Slimes.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/slimes/Slimes.java @@ -6,8 +6,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; @ModuleInfo(name = "slimes", category = "entities", env = Environment.SERVER) public final class Slimes extends Module { @@ -20,12 +18,12 @@ public final class Slimes extends Module { public static final class Config extends GameConfig { - public BooleanIntermediary flee = BooleanIntermediary.of(true); + public boolean flee = true; - public BooleanIntermediary merge = BooleanIntermediary.of(true); + public boolean merge = true; - public LongIntermediary maxMerge = LongIntermediary.of(4); + public int maxMerge = 4; - public BooleanIntermediary slowness = BooleanIntermediary.of(false); + public boolean slowness = false; } } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/flee/MobEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/flee/MobEntityMixin.java index 7839af9c..6f5ef69c 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/flee/MobEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/flee/MobEntityMixin.java @@ -1,8 +1,6 @@ package me.melontini.andromeda.modules.entities.slimes.mixin.flee; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.entities.slimes.Slimes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -32,10 +30,9 @@ abstract class MobEntityMixin extends Entity { var config = level.am$get(Slimes.CONFIG); if (!slime.isTiny()) return original; - if (!config.available.asBoolean(ConstantLootContextAccessor.get(this))) return original; + if (!config.available) return original; - if (config.flee.asBoolean(LootContextBuilder.entity( - level, builder -> builder.origin(target).thisEntity(target).genericSource()))) return 270; + if (config.flee) return 270; } return original; } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/merge/SlimeEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/merge/SlimeEntityMixin.java index 0c9e45a4..182f9463 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/merge/SlimeEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/merge/SlimeEntityMixin.java @@ -1,7 +1,5 @@ package me.melontini.andromeda.modules.entities.slimes.mixin.merge; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.entities.slimes.Slimes; import me.melontini.dark_matter.api.base.util.MathUtil; import me.melontini.dark_matter.api.data.nbt.NbtUtil; @@ -37,35 +35,25 @@ abstract class SlimeEntityMixin extends Mob { @Inject(at = @At("TAIL"), method = "registerGoals") private void andromeda$newGoal(CallbackInfo ci) { var config = this.level.am$get(Slimes.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); this.targetSelector.addGoal( 2, new NearestAttackableTargetGoal<>( (Slime) (Object) this, Slime.class, 5, true, false, livingEntity -> { - if (!config.available.asBoolean(supplier)) return false; - var supplier1 = LootContextBuilder.entity(level, builder -> builder - .origin(livingEntity) - .thisEntity(livingEntity) - .killer(this) - .genericSource()); - if (!config.merge.asBoolean(supplier1)) return false; + if (!config.available) return false; + if (!config.merge) return false; if (this.andromeda$mergeCD > 0) return false; float d = livingEntity.distanceTo(this); return d <= 6 - && (getSize() <= config.maxMerge.asInt(supplier1) - && ((Slime) livingEntity).getSize() < getSize()); + && (getSize() <= config.maxMerge && ((Slime) livingEntity).getSize() < getSize()); })); } @Inject(at = @At("TAIL"), method = "push") private void andromeda$push(Entity entity, CallbackInfo ci) { var config = this.level.am$get(Slimes.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); - if (!config.available.asBoolean(supplier)) return; + if (!config.available) return; - if (!config.merge.asBoolean(LootContextBuilder.entity( - level, - builder -> builder.origin(entity).thisEntity(entity).genericSource().killer(this)))) return; + if (!config.merge) return; if (getTarget() instanceof Slime slime && slime == entity && this.andromeda$mergeCD == 0) { int size = (int) Math.round(slime.getSize() * 0.75 + getSize() * 0.75); diff --git a/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/slowness/SlimeEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/slowness/SlimeEntityMixin.java index 914ab660..dca45b03 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/slowness/SlimeEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/slimes/mixin/slowness/SlimeEntityMixin.java @@ -1,7 +1,5 @@ package me.melontini.andromeda.modules.entities.slimes.mixin.slowness; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.entities.slimes.Slimes; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.server.level.ServerLevel; @@ -40,10 +38,8 @@ abstract class SlimeEntityMixin extends Mob { method = "dealDamage") private void andromeda$onPlayerCollision(LivingEntity target, CallbackInfo ci) { var config = this.level.am$get(Slimes.CONFIG); - if (!config.available.asBoolean(ConstantLootContextAccessor.get(this))) return; - if (!config.slowness.asBoolean(LootContextBuilder.entity( - level, - builder -> builder.origin(target).thisEntity(target).genericSource().killer(this)))) return; + if (!config.available) return; + if (!config.slowness) return; MobEffectInstance effectInstance = new MobEffectInstance( MobEffects.MOVEMENT_SLOWDOWN, 20 * this.getSize(), 1, true, false, false); diff --git a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/Snowballs.java b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/Snowballs.java index 91a77fb5..01c8ec7b 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/Snowballs.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/Snowballs.java @@ -6,8 +6,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; @ModuleInfo(name = "snowball_tweaks", category = "entities", env = Environment.SERVER) public final class Snowballs extends Module { @@ -20,16 +18,16 @@ public final class Snowballs extends Module { public static final class Config extends GameConfig { - public BooleanIntermediary freeze = BooleanIntermediary.of(true); + public boolean freeze = true; - public BooleanIntermediary extinguish = BooleanIntermediary.of(true); + public boolean extinguish = true; - public BooleanIntermediary melt = BooleanIntermediary.of(true); + public boolean melt = true; - public BooleanIntermediary layers = BooleanIntermediary.of(false); + public boolean layers = false; - public BooleanIntermediary enableCooldown = BooleanIntermediary.of(true); + public boolean enableCooldown = true; - public LongIntermediary cooldown = LongIntermediary.of(10); + public int cooldown = 10; } } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/cooldown/SnowballItemMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/cooldown/SnowballItemMixin.java index 0e198c72..43229108 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/cooldown/SnowballItemMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/cooldown/SnowballItemMixin.java @@ -1,8 +1,6 @@ package me.melontini.andromeda.modules.entities.snowball_tweaks.mixin.cooldown; import com.llamalad7.mixinextras.sugar.Local; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.entities.snowball_tweaks.Snowballs; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.Entity; @@ -36,13 +34,11 @@ abstract class SnowballItemMixin extends Item { if (world.isClientSide()) return null; var config = world.am$get(Snowballs.CONFIG); - if (!config.available.asBoolean(ConstantLootContextAccessor.get(par1))) return par1; + if (!config.available) return par1; - var supplier = LootContextBuilder.fishing( - world, builder -> builder.origin(user).tool(user, hand).thisEntity(user)); - if (!config.enableCooldown.asBoolean(supplier)) return par1; + if (!config.enableCooldown) return par1; - user.getCooldowns().addCooldown(this, config.cooldown.asInt(supplier)); + user.getCooldowns().addCooldown(this, config.cooldown); return par1; } } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/freeze/SnowballEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/freeze/SnowballEntityMixin.java index c1f5228f..763cf9f9 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/freeze/SnowballEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/freeze/SnowballEntityMixin.java @@ -1,7 +1,5 @@ package me.melontini.andromeda.modules.entities.snowball_tweaks.mixin.freeze; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.entities.snowball_tweaks.Snowballs; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -28,12 +26,8 @@ abstract class SnowballEntityMixin extends ThrowableItemProjectile { if (result.getEntity().level.isClientSide()) return; var config = result.getEntity().level.am$get(Snowballs.CONFIG); - if (!config.available.asBoolean(ConstantLootContextAccessor.get(this))) return; - if (!config.freeze.asBoolean(LootContextBuilder.entity(level, builder -> builder - .origin(result.getEntity()) - .thisEntity(result.getEntity()) - .genericSource() - .killer(this)))) return; + if (!config.available) return; + if (!config.freeze) return; Entity entity = result.getEntity(); if (entity instanceof LivingEntity livingEntity) { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/layers/SnowballEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/layers/SnowballEntityMixin.java index 026e7e9a..6b76ced5 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/layers/SnowballEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/layers/SnowballEntityMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.entities.snowball_tweaks.mixin.layers; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import me.melontini.andromeda.modules.entities.snowball_tweaks.Snowballs; import me.melontini.dark_matter.api.mixin.annotations.ConstructDummy; import net.minecraft.core.BlockPos; @@ -39,8 +38,7 @@ abstract class SnowballEntityMixin extends ThrowableItemProjectile { if (level.isClientSide()) return; var config = level.am$get(Snowballs.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); - if (!config.available.asBoolean(supplier) || !config.layers.asBoolean(supplier)) return; + if (!config.available || !config.layers) return; Vec3 pos = this.position(); Vec3 vec3d = pos.add(this.getDeltaMovement()); diff --git a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/melt/SnowballEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/melt/SnowballEntityMixin.java index 3cc6b208..6ade27d9 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/melt/SnowballEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/melt/SnowballEntityMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.entities.snowball_tweaks.mixin.melt; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import me.melontini.andromeda.modules.entities.snowball_tweaks.Snowballs; import me.melontini.dark_matter.api.mixin.annotations.ConstructDummy; import net.minecraft.core.particles.ParticleTypes; @@ -30,8 +29,7 @@ abstract class SnowballEntityMixin extends ThrowableItemProjectile { if (level.isClientSide() || !this.isOnFire()) return; var config = level.am$get(Snowballs.CONFIG); - var supplier = ConstantLootContextAccessor.get(this); - if (!config.available.asBoolean(supplier) || !config.melt.asBoolean(supplier)) return; + if (!config.available || !config.melt) return; ((ServerLevel) level) .sendParticles( diff --git a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/put_out_fire/SnowballEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/put_out_fire/SnowballEntityMixin.java index 5ab92eb0..a012269e 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/put_out_fire/SnowballEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/snowball_tweaks/mixin/put_out_fire/SnowballEntityMixin.java @@ -1,7 +1,5 @@ package me.melontini.andromeda.modules.entities.snowball_tweaks.mixin.put_out_fire; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.entities.snowball_tweaks.Snowballs; import me.melontini.dark_matter.api.base.util.MathUtil; import net.minecraft.sounds.SoundEvents; @@ -29,11 +27,9 @@ abstract class SnowballEntityMixin extends ThrowableItemProjectile { if (result.getEntity().level.isClientSide()) return; var config = result.getEntity().level.am$get(Snowballs.CONFIG); - if (!config.available.asBoolean(ConstantLootContextAccessor.get(this))) return; + if (!config.available) return; Entity entity = result.getEntity(); - if (!config.extinguish.asBoolean(LootContextBuilder.entity( - level, - builder -> builder.origin(entity).thisEntity(entity).genericSource().killer(this)))) return; + if (!config.extinguish) return; if (entity.isOnFire()) { entity.clearFire(); diff --git a/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java b/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java index d331440a..11ee7cd0 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java @@ -2,8 +2,6 @@ package me.melontini.andromeda.modules.entities.vehicle_unentrapment; import static me.melontini.andromeda.common.Andromeda.id; -import java.util.Objects; -import me.melontini.andromeda.common.util.LootContextBuilder; import net.fabricmc.fabric.api.entity.event.v1.ServerLivingEntityEvents; import net.minecraft.core.registries.Registries; import net.minecraft.tags.TagKey; @@ -22,15 +20,7 @@ public final class Main { static void init() { ServerLivingEntityEvents.ALLOW_DAMAGE.register((entity, source, amount) -> { Level world = entity.level(); - if (world - .am$get(VehicleUnentrapment.CONFIG) - .available - .asBoolean(LootContextBuilder.entity(world, builder -> builder - .origin(Objects.requireNonNullElse(source.getSourcePosition(), entity.position())) - .thisEntity(entity) - .sourceOrGeneric(source) - .killer(source.getEntity()) - .directKiller(source.getDirectEntity())))) { + if (world.am$get(VehicleUnentrapment.CONFIG).available) { if (source.getEntity() == null || entity instanceof Player) return true; if (!entity.getType().is(ESCAPE_VEHICLES_ON_HIT)) return true; diff --git a/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java b/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java index 13e1cb36..e9d5f556 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java @@ -2,7 +2,6 @@ package me.melontini.andromeda.modules.entities.villagers_follow_emeralds; import static me.melontini.andromeda.common.Andromeda.id; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.ai.goal.TemptGoal; @@ -23,11 +22,7 @@ public class VillagerTemptGoal extends TemptGoal { @Override public boolean canUse() { if (this.mob.level.isClientSide()) return false; - if (!this.mob - .level - .am$get(VillagersFollowEmeralds.CONFIG) - .available - .asBoolean(ConstantLootContextAccessor.get(mob))) return false; + if (!this.mob.level.am$get(VillagersFollowEmeralds.CONFIG).available) return false; if (this.calmDown > 0) { --this.calmDown; diff --git a/src/main/java/me/melontini/andromeda/modules/entities/zombie/all_pick_up/mixin/ZombieEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/zombie/all_pick_up/mixin/ZombieEntityMixin.java index 4d2dd3f7..31cd0817 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/zombie/all_pick_up/mixin/ZombieEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/zombie/all_pick_up/mixin/ZombieEntityMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.entities.zombie.all_pick_up.mixin; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import me.melontini.andromeda.modules.entities.zombie.all_pick_up.Pickup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.DifficultyInstance; @@ -39,10 +38,6 @@ abstract class ZombieEntityMixin extends Monster { CallbackInfoReturnable cir) { if (world.isClientSide()) return; - if (world - .getLevel() - .am$get(Pickup.CONFIG) - .available - .asBoolean(ConstantLootContextAccessor.get(this))) this.setCanPickUpLoot(true); + if (world.getLevel().am$get(Pickup.CONFIG).available) this.setCanPickUpLoot(true); } } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/mixin/ZombieEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/mixin/ZombieEntityMixin.java index a920b07a..04131665 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/mixin/ZombieEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/mixin/ZombieEntityMixin.java @@ -5,7 +5,6 @@ import static me.melontini.andromeda.modules.mechanics.throwable_items.data.Item import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import me.melontini.andromeda.bootstrap.ModuleManager; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import me.melontini.andromeda.modules.entities.zombie.clean_pickup.Pickup; import me.melontini.andromeda.modules.entities.zombie.clean_pickup.PickupTag; import me.melontini.andromeda.modules.mechanics.throwable_items.ThrowableItems; @@ -33,7 +32,7 @@ abstract class ZombieEntityMixin extends Monster { "Lnet/minecraft/world/entity/monster/Monster;canHoldItem(Lnet/minecraft/world/item/ItemStack;)Z"), method = "canHoldItem") public boolean andromeda$canPickupItem(boolean original, ItemStack stack) { - if (level.am$get(Pickup.CONFIG).available.asBoolean(ConstantLootContextAccessor.get(this))) { + if (level.am$get(Pickup.CONFIG).available) { return original && (stack.is(PickupTag.ZOMBIES_PICKUP) || ModuleManager.get() diff --git a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/InfiniteTotem.java b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/InfiniteTotem.java index eaca2943..4870df6d 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/InfiniteTotem.java +++ b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/InfiniteTotem.java @@ -7,7 +7,6 @@ import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; import me.melontini.andromeda.modules.items.infinite_totem.client.Client; @ModuleInfo(name = "infinite_totem", category = "items") @@ -26,6 +25,6 @@ public final class InfiniteTotem extends Module implements PostBootstrapEvent { } public static final class Config extends GameConfig { - public BooleanIntermediary enableAscension = BooleanIntermediary.of(true); + public boolean enableAscension = true; } } diff --git a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/ItemEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/ItemEntityMixin.java index 81897e25..abc31e41 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/ItemEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/ItemEntityMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.items.infinite_totem.mixin; import java.util.Optional; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.common.util.MiscUtil; import me.melontini.andromeda.modules.items.infinite_totem.BeaconUtil; import me.melontini.andromeda.modules.items.infinite_totem.InfiniteTotem; @@ -68,9 +67,7 @@ abstract class ItemEntityMixin extends Entity { if (this.level.isClientSide()) return; if (!this.getItem().is(Items.TOTEM_OF_UNDYING)) return; var c = level.am$get(InfiniteTotem.CONFIG); - var supplier = - LootContextBuilder.fishing(level, builder -> builder.origin(position()).tool(getItem())); - if (!c.available.asBoolean(supplier) || !c.enableAscension.asBoolean(supplier)) return; + if (!c.available || !c.enableAscension) return; if (tickCount % 35 == 0 && andromeda$ascensionTicks == 0) { if (!andromeda$beaconCheck()) { diff --git a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/LivingEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/LivingEntityMixin.java index 4b3cf892..87dce6eb 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/LivingEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/mixin/LivingEntityMixin.java @@ -3,7 +3,6 @@ package me.melontini.andromeda.modules.items.infinite_totem.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.llamalad7.mixinextras.sugar.Local; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.items.infinite_totem.InfiniteTotem; import me.melontini.andromeda.modules.items.infinite_totem.Main; import me.melontini.dark_matter.api.minecraft.util.PlayerUtil; @@ -45,11 +44,7 @@ abstract class LivingEntityMixin extends Entity { private boolean andromeda$infiniteFallback( boolean original, DamageSource source, @Local(index = 3) ItemStack itemStack) { return original - || (level - .am$get(InfiniteTotem.CONFIG) - .available - .asBoolean(LootContextBuilder.fishing( - level, builder -> builder.origin(position()).tool(itemStack))) + || (level.am$get(InfiniteTotem.CONFIG).available && itemStack.is(Main.INFINITE_TOTEM.orThrow())); } diff --git a/src/main/java/me/melontini/andromeda/modules/items/lockpick/Lockpick.java b/src/main/java/me/melontini/andromeda/modules/items/lockpick/Lockpick.java index 05a2e375..f76543b7 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/lockpick/Lockpick.java +++ b/src/main/java/me/melontini/andromeda/modules/items/lockpick/Lockpick.java @@ -8,8 +8,6 @@ import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; @ModuleInfo(name = "lockpick", category = "items") public final class Lockpick extends Module implements PostBootstrapEvent { @@ -35,8 +33,8 @@ public final class Lockpick extends Module implements PostBootstrapEvent { public static class Config extends GameConfig { - public LongIntermediary chance = LongIntermediary.of(3); + public int chance = 3; - public BooleanIntermediary breakAfterUse = BooleanIntermediary.of(true); + public boolean breakAfterUse = true; } } diff --git a/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java b/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java index 8d7e17dd..36d36a02 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java +++ b/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java @@ -7,7 +7,6 @@ import me.melontini.andromeda.bootstrap.ModuleManager; import me.melontini.andromeda.common.Andromeda; import me.melontini.andromeda.common.util.AndromedaItemGroup; import me.melontini.andromeda.common.util.Keeper; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.blocks.guarded_loot.GuardedLoot; import me.melontini.dark_matter.api.base.util.MathUtil; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; @@ -35,20 +34,16 @@ public class LockpickItem extends Item { public boolean tryUse(ItemStack stack, LivingEntity user, InteractionHand hand) { var c = user.level.am$get(Lockpick.CONFIG); - var supplier = LootContextBuilder.fishing( - user.level, builder -> builder.origin(user).tool(user, hand).thisEntity(user)); - if (c.available.asBoolean(supplier) && hand == InteractionHand.MAIN_HAND) { - int chance = c.chance.asInt(supplier); - + if (c.available && hand == InteractionHand.MAIN_HAND) { if (!(user instanceof Player p && p.getAbilities().instabuild)) { - if (c.breakAfterUse.asBoolean(supplier)) { + if (c.breakAfterUse) { if (!user.level.isClientSide()) user.broadcastBreakEvent(EquipmentSlot.MAINHAND); stack.shrink(1); } } - return chance - 1 == 0 || MathUtil.threadRandom().nextInt(chance - 1) == 0; + return c.chance - 1 == 0 || MathUtil.threadRandom().nextInt(c.chance - 1) == 0; } return false; } diff --git a/src/main/java/me/melontini/andromeda/modules/items/magnet/Magnet.java b/src/main/java/me/melontini/andromeda/modules/items/magnet/Magnet.java index be882876..7d42ea51 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/magnet/Magnet.java +++ b/src/main/java/me/melontini/andromeda/modules/items/magnet/Magnet.java @@ -7,7 +7,6 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; @ModuleInfo(name = "magnet", category = "items") public final class Magnet extends Module implements PostBootstrapEvent { @@ -24,6 +23,6 @@ public final class Magnet extends Module implements PostBootstrapEvent { } public static class Config extends BaseConfig { - public DoubleIntermediary rangeMultiplier = DoubleIntermediary.of(5); + public double rangeMultiplier = 5; } } diff --git a/src/main/java/me/melontini/andromeda/modules/items/magnet/MagnetItem.java b/src/main/java/me/melontini/andromeda/modules/items/magnet/MagnetItem.java index 438343a8..7eda63f2 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/magnet/MagnetItem.java +++ b/src/main/java/me/melontini/andromeda/modules/items/magnet/MagnetItem.java @@ -12,7 +12,6 @@ import java.util.function.Consumer; import me.melontini.andromeda.bootstrap.ModuleManager; import me.melontini.andromeda.common.util.AndromedaItemGroup; import me.melontini.andromeda.common.util.Keeper; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.dark_matter.api.base.util.MathUtil; import me.melontini.dark_matter.api.base.util.Support; import me.melontini.dark_matter.api.glitter.ScreenParticleHelper; @@ -162,13 +161,7 @@ public class MagnetItem extends Item { .getEntitiesOfClass( ItemEntity.class, new AABB(entity.blockPosition()) - .inflate(level - * world - .am$get(Magnet.CONFIG) - .rangeMultiplier - .asDouble(LootContextBuilder.fishing( - world, - builder -> builder.origin(entity).tool(stack).thisEntity(entity)))), + .inflate(level * world.am$get(Magnet.CONFIG).rangeMultiplier), ie -> magnetables.contains( ie.getEntityData().get(ItemEntity.DATA_ITEM).getItem())) .forEach(ie -> { diff --git a/src/main/java/me/melontini/andromeda/modules/items/minecart_block_picking/mixin/MinecartItemMixin.java b/src/main/java/me/melontini/andromeda/modules/items/minecart_block_picking/mixin/MinecartItemMixin.java index 00b07e7a..c2b6549a 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/minecart_block_picking/mixin/MinecartItemMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/items/minecart_block_picking/mixin/MinecartItemMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.items.minecart_block_picking.mixin; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.items.minecart_block_picking.MinecartBlockPicking; import me.melontini.andromeda.modules.items.minecart_block_picking.PickUpBehaviorHandler; import me.melontini.andromeda.modules.items.minecart_block_picking.PlaceBehaviorHandler; @@ -63,25 +62,18 @@ abstract class MinecartItemMixin extends Item { if (player.isShiftKeyDown()) { if (stack.getItem() != Items.MINECART) return; - PickUpBehaviorHandler.getPickUpBehavior(state.getBlock()) - .ifPresent(b -> { - if (!world.isClientSide()) { - if (!world - .am$get(MinecartBlockPicking.CONFIG) - .available - .asBoolean(LootContextBuilder.fishing(world, builder -> builder - .origin(context.getClickLocation()) - .tool(stack) - .thisEntity(player)))) return; - ItemStack stack1 = b.pickUp(state, world, pos); - if (stack1 == null || stack1.isEmpty()) return; + PickUpBehaviorHandler.getPickUpBehavior(state.getBlock()).ifPresent(b -> { + if (!world.isClientSide()) { + if (!world.am$get(MinecartBlockPicking.CONFIG).available) return; + ItemStack stack1 = b.pickUp(state, world, pos); + if (stack1 == null || stack1.isEmpty()) return; - if (!player.isCreative()) stack.shrink(1); - player.getInventory().placeItemBackInInventory(stack1); - world.destroyBlock(pos, false); - } - cir.setReturnValue(InteractionResult.sidedSuccess(world.isClientSide())); - }); + if (!player.isCreative()) stack.shrink(1); + player.getInventory().placeItemBackInInventory(stack1); + world.destroyBlock(pos, false); + } + cir.setReturnValue(InteractionResult.sidedSuccess(world.isClientSide())); + }); } } } diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItemAttackGoal.java b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItemAttackGoal.java index a0537800..669fb1e0 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItemAttackGoal.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItemAttackGoal.java @@ -4,7 +4,6 @@ import static java.util.Objects.requireNonNull; import static me.melontini.andromeda.modules.mechanics.throwable_items.data.ItemBehaviorManager.RELOADER; import java.util.EnumSet; -import me.melontini.andromeda.common.util.ConstantLootContextAccessor; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; @@ -115,9 +114,6 @@ public class ThrowableItemAttackGoal extends Goal { } public double getInterval() { - return mob.level - .am$get(ThrowableItems.CONFIG) - .zombieThrowInterval - .asDouble(ConstantLootContextAccessor.get(mob)); + return mob.level.am$get(ThrowableItems.CONFIG).zombieThrowInterval; } } diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItems.java b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItems.java index be4f4e5b..e443221a 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItems.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/ThrowableItems.java @@ -7,8 +7,7 @@ import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; -import me.melontini.andromeda.common.util.commander.CommanderSupport; -import me.melontini.andromeda.common.util.commander.number.DoubleIntermediary; +import me.melontini.andromeda.common.util.CommanderSupport; import me.melontini.andromeda.modules.mechanics.throwable_items.client.Client; @ModuleInfo(name = "throwable_items", category = "mechanics") @@ -37,6 +36,6 @@ public final class ThrowableItems extends Module implements PostBootstrapEvent { public static class Config extends BaseConfig { public boolean canZombiesThrowItems = true; - public DoubleIntermediary zombieThrowInterval = DoubleIntermediary.of(40); + public double zombieThrowInterval = 40; } } diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java index 99f8cc42..503bee30 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java @@ -8,7 +8,6 @@ import java.util.Optional; import lombok.Getter; import lombok.NonNull; import me.melontini.andromeda.common.util.Keeper; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.dark_matter.api.base.util.MathUtil; import net.fabricmc.fabric.api.attachment.v1.AttachmentRegistry; import net.fabricmc.fabric.api.attachment.v1.AttachmentType; @@ -94,11 +93,7 @@ public class CustomTraderManager { if (wanderingTraderEntity == null) return; this.trader = wanderingTraderEntity; - var tCooldown = world - .am$get(GoatHorn.CONFIG) - .cooldown - .asInt(LootContextBuilder.fishing( - world, builder -> builder.origin(player).tool(stackInHand).thisEntity(player))); + var tCooldown = world.am$get(GoatHorn.CONFIG).cooldown; cooldown = tCooldown; for (int j = 0; j < 2; ++j) { diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/GoatHorn.java b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/GoatHorn.java index c6baf8d9..af16757b 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/GoatHorn.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/GoatHorn.java @@ -8,8 +8,6 @@ import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; import net.minecraft.resources.ResourceLocation; @ModuleInfo(name = "trading_goat_horn", category = "mechanics", env = Environment.SERVER) @@ -27,8 +25,8 @@ public final class GoatHorn extends Module implements PostBootstrapEvent { } public static class Config extends GameConfig { - public LongIntermediary cooldown = LongIntermediary.of(48000); + public int cooldown = 48000; public ResourceLocation instrumentId = ResourceLocation.tryBuild("minecraft", "sing_goat_horn"); - public BooleanIntermediary highlightTrader = BooleanIntermediary.of(false); + public boolean highlightTrader = false; } } diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/mixin/GoatHornMixin.java b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/mixin/GoatHornMixin.java index 9ecabd15..05b62792 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/mixin/GoatHornMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/mixin/GoatHornMixin.java @@ -3,7 +3,6 @@ package me.melontini.andromeda.modules.mechanics.trading_goat_horn.mixin; import com.llamalad7.mixinextras.sugar.Local; import java.util.Objects; import java.util.Optional; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.mechanics.trading_goat_horn.CustomTraderManager; import me.melontini.andromeda.modules.mechanics.trading_goat_horn.GoatHorn; import net.minecraft.core.Holder; @@ -48,9 +47,7 @@ abstract class GoatHornMixin { ServerLevel sw = (ServerLevel) world; if (!sw.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) return; var cfg = world.am$get(GoatHorn.CONFIG); - var context = LootContextBuilder.fishing( - user.level, builder -> builder.origin(user).tool(user, hand).thisEntity(user)); - if (!cfg.available.asBoolean(context)) return; + if (!cfg.available) return; sw.getAttachedOrCreate(CustomTraderManager.ATTACHMENT.get()) .trySpawn( @@ -58,6 +55,6 @@ abstract class GoatHornMixin { sw.getServer().getWorldData().overworldData(), user.getItemInHand(hand), user, - cfg.highlightTrader.asBoolean(context)); + cfg.highlightTrader); } } diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/mixin/VillagerEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/mixin/VillagerEntityMixin.java index 7aeb11c9..1be5b3f5 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/mixin/VillagerEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/mixin/VillagerEntityMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.mechanics.villager_gifting.mixin; import java.util.Map; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.mechanics.villager_gifting.GiftTags; import me.melontini.andromeda.modules.mechanics.villager_gifting.VillagerGifting; import net.minecraft.tags.TagKey; @@ -52,11 +51,7 @@ abstract class VillagerEntityMixin extends AbstractVillager { if (hand != InteractionHand.MAIN_HAND || level.isClientSide()) return; ItemStack stack = player.getItemInHand(hand); - if (!level - .am$get(VillagerGifting.CONFIG) - .available - .asBoolean(LootContextBuilder.fishing( - level, builder -> builder.origin(player).tool(stack).thisEntity(player)))) return; + if (!level.am$get(VillagerGifting.CONFIG).available) return; ItemStack gift = stack.copy(); gift.setCount(1); diff --git a/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/mixin/PlayerEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/mixin/PlayerEntityMixin.java index 928afac8..f9c78957 100644 --- a/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/mixin/PlayerEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/mixin/PlayerEntityMixin.java @@ -1,8 +1,6 @@ package me.melontini.andromeda.modules.misc.minor_inconvenience.mixin; -import java.util.Objects; import me.melontini.andromeda.common.Andromeda; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.misc.minor_inconvenience.MinorInconvenience; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; @@ -41,15 +39,7 @@ abstract class PlayerEntityMixin extends LivingEntity { DamageSource source, float amount, CallbackInfoReturnable cir) { if (!level.isClientSide && !source.is(AGONY) - && level - .am$get(MinorInconvenience.CONFIG) - .available - .asBoolean(LootContextBuilder.entity(level, builder -> builder - .origin(Objects.requireNonNullElse(source.getSourcePosition(), this.position())) - .thisEntity(this) - .sourceOrGeneric(source) - .killer(source.getEntity()) - .directKiller(source.getDirectEntity())))) { + && level.am$get(MinorInconvenience.CONFIG).available) { DamageSource damageSource = this.level().damageSources().source(AGONY, this); super.hurt(damageSource, Float.MAX_VALUE); this.level() diff --git a/src/main/java/me/melontini/andromeda/modules/world/auto_planting/mixin/ItemEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/world/auto_planting/mixin/ItemEntityMixin.java index e059120c..36edff0a 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/auto_planting/mixin/ItemEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/world/auto_planting/mixin/ItemEntityMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.world.auto_planting.mixin; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.world.auto_planting.AutoPlanting; import me.melontini.dark_matter.api.base.util.MathUtil; import net.minecraft.core.BlockPos; @@ -38,8 +37,7 @@ abstract class ItemEntityMixin { if (entity.tickCount % MathUtil.nextInt(20, 101) != 0) return; var config = world.am$get(AutoPlanting.CONFIG); - if (!config.available.asBoolean(LootContextBuilder.fishing( - world, builder -> builder.origin(entity).tool(stack).thisEntity(entity)))) return; + if (!config.available) return; if (!world.getFluidState(pos).isEmpty()) return; if (config.blacklistMode == config.idList.contains(stack.getItem())) return; diff --git a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperature.java b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperature.java index 3cea294e..bec71cd8 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperature.java +++ b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperature.java @@ -8,7 +8,6 @@ import me.melontini.andromeda.bootstrap.event.InitEvents; import me.melontini.andromeda.bootstrap.event.PostBootstrapEvent; import me.melontini.andromeda.bootstrap.util.Environment; import me.melontini.andromeda.common.config.GameConfig; -import me.melontini.andromeda.common.util.commander.bool.BooleanIntermediary; @ModuleInfo(name = "crop_temperature", category = "world", env = Environment.SERVER) public final class PlantTemperature extends Module implements PostBootstrapEvent { @@ -25,6 +24,6 @@ public final class PlantTemperature extends Module implements PostBootstrapEvent } public static class Config extends GameConfig { - public BooleanIntermediary affectBoneMeal = BooleanIntermediary.of(true); + public boolean affectBoneMeal = true; } } diff --git a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java index 7019fec0..f2610177 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java +++ b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java @@ -16,7 +16,6 @@ import java.util.function.Function; import me.melontini.andromeda.bootstrap.ModuleManager; import me.melontini.andromeda.common.Andromeda; import me.melontini.andromeda.common.util.IdentifiedJsonDataLoader; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.util.Util; import me.melontini.dark_matter.api.base.util.Mapper; import me.melontini.dark_matter.api.base.util.MathUtil; @@ -93,12 +92,7 @@ public final class PlantTemperatureData { if (isPlant(state.getBlock())) { float[] data = world.getServer().dm$getReloader(RELOADER).get(state.getBlock()); if (data != null) { - if (!world - .am$get(PlantTemperature.CONFIG) - .available - .asBoolean( - LootContextBuilder.block(world, builder -> builder.origin(pos).state(state)))) - return true; + if (!world.am$get(PlantTemperature.CONFIG).available) return true; if ((temp > data[2] && temp <= data[3]) || (temp < data[1] && temp >= data[0])) { return MathUtil.nextInt(0, 1) != 0; diff --git a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/mixin/BoneMealItemMixin.java b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/mixin/BoneMealItemMixin.java index d08b2882..47afd28a 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/mixin/BoneMealItemMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/mixin/BoneMealItemMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.world.crop_temperature.mixin; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.world.crop_temperature.PlantTemperature; import me.melontini.andromeda.modules.world.crop_temperature.PlantTemperatureData; import net.minecraft.core.BlockPos; @@ -26,11 +25,7 @@ abstract class BoneMealItemMixin { if (world.isClientSide()) return; BlockState state = world.getBlockState(pos); - if (world - .am$get(PlantTemperature.CONFIG) - .affectBoneMeal - .asBoolean( - LootContextBuilder.block(world, builder -> builder.origin(pos).state(state)))) { + if (world.am$get(PlantTemperature.CONFIG).affectBoneMeal) { if (!PlantTemperatureData.roll( pos, state, world.getBiome(pos).value().getBaseTemperature(), (ServerLevel) world)) { cir.setReturnValue(InteractionResult.FAIL); diff --git a/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/BeehiveBlockEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/BeehiveBlockEntityMixin.java index b3649689..4ff858aa 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/BeehiveBlockEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/BeehiveBlockEntityMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.world.falling_beenests.mixin; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.world.falling_beenests.BeeUtil; import me.melontini.andromeda.modules.world.falling_beenests.CanBeeNestsFall; import net.minecraft.core.BlockPos; @@ -38,12 +37,7 @@ abstract class BeehiveBlockEntityMixin extends BlockEntity { CallbackInfo ci) { if (state.getBlock() != Blocks.BEE_NEST) return; - if (world - .am$get(CanBeeNestsFall.CONFIG) - .available - .asBoolean(LootContextBuilder.block( - world, builder -> builder.origin(pos).state(state).blockEntity(beehiveBlockEntity))) - && world.random.nextInt(32000) == 0) { + if (world.am$get(CanBeeNestsFall.CONFIG).available && world.random.nextInt(32000) == 0) { if (!world.getBlockState(pos.relative(Direction.DOWN)).isAir()) return; BlockState up = world.getBlockState(pos.relative(Direction.UP)); diff --git a/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/FallingBlockMixin.java b/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/FallingBlockMixin.java index 950f604c..8c28b05d 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/FallingBlockMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/FallingBlockMixin.java @@ -1,7 +1,6 @@ package me.melontini.andromeda.modules.world.falling_beenests.mixin; import java.util.Optional; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.world.falling_beenests.BeeUtil; import me.melontini.andromeda.modules.world.falling_beenests.CanBeeNestsFall; import me.melontini.dark_matter.api.minecraft.util.ItemStackUtil; @@ -55,12 +54,7 @@ abstract class FallingBlockMixin extends Entity { if (blockEntity == null) return; if (blockEntity instanceof BeehiveBlockEntity beehiveBlockEntity - && this.level - .am$get(CanBeeNestsFall.CONFIG) - .available - .asBoolean(LootContextBuilder.block( - level, - builder -> builder.origin(this).state(blockState).blockEntity(blockEntity)))) { + && this.level.am$get(CanBeeNestsFall.CONFIG).available) { if (this.blockState.getBlock() != Blocks.BEE_NEST) return; if (blockData == null || !blockData.getBoolean("AM-FromFallenBlock")) return; diff --git a/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/PersistentProjectileEntityMixin.java b/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/PersistentProjectileEntityMixin.java index 5b4f66f2..17ae8d93 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/PersistentProjectileEntityMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/world/falling_beenests/mixin/PersistentProjectileEntityMixin.java @@ -1,6 +1,5 @@ package me.melontini.andromeda.modules.world.falling_beenests.mixin; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.world.falling_beenests.BeeUtil; import me.melontini.andromeda.modules.world.falling_beenests.CanBeeNestsFall; import net.minecraft.core.BlockPos; @@ -34,12 +33,7 @@ abstract class PersistentProjectileEntityMixin extends Projectile { BeehiveBlockEntity beehiveBlockEntity = (BeehiveBlockEntity) level.getBlockEntity(pos); if (beehiveBlockEntity == null) return; - if (!level - .am$get(CanBeeNestsFall.CONFIG) - .available - .asBoolean(LootContextBuilder.block( - level, builder -> builder.origin(pos).state(state).blockEntity(beehiveBlockEntity)))) - return; + if (!level.am$get(CanBeeNestsFall.CONFIG).available) return; if (level.getBlockState(pos.relative(Direction.DOWN)).isAir()) { BeeUtil.trySpawnFallingBeeNest(level, pos, state, beehiveBlockEntity); diff --git a/src/main/java/me/melontini/andromeda/modules/world/moist_control/MoistControl.java b/src/main/java/me/melontini/andromeda/modules/world/moist_control/MoistControl.java index 1da5a661..897cf852 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/moist_control/MoistControl.java +++ b/src/main/java/me/melontini/andromeda/modules/world/moist_control/MoistControl.java @@ -6,7 +6,6 @@ import me.melontini.andromeda.bootstrap.config.BaseConfig; import me.melontini.andromeda.bootstrap.config.ConfigDefinition; import me.melontini.andromeda.bootstrap.config.RegisterConfigEvent; import me.melontini.andromeda.bootstrap.util.Environment; -import me.melontini.andromeda.common.util.commander.number.LongIntermediary; @ModuleInfo(name = "moist_control", category = "world", env = Environment.SERVER) public final class MoistControl extends Module { @@ -18,6 +17,6 @@ public final class MoistControl extends Module { } public static class Config extends BaseConfig { - public LongIntermediary customMoisture = LongIntermediary.of(4); + public int customMoisture = 4; } } diff --git a/src/main/java/me/melontini/andromeda/modules/world/moist_control/mixin/FarmlandMixin.java b/src/main/java/me/melontini/andromeda/modules/world/moist_control/mixin/FarmlandMixin.java index 20cd6612..1953cdd0 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/moist_control/mixin/FarmlandMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/world/moist_control/mixin/FarmlandMixin.java @@ -3,7 +3,6 @@ package me.melontini.andromeda.modules.world.moist_control.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Share; import com.llamalad7.mixinextras.sugar.ref.LocalIntRef; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.world.moist_control.MoistControl; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; @@ -24,9 +23,7 @@ abstract class FarmlandMixin { CallbackInfoReturnable cir, @Share("value") LocalIntRef ref) { if (world instanceof ServerLevel sw) { - ref.set(sw.am$get(MoistControl.CONFIG) - .customMoisture - .asInt(LootContextBuilder.command(sw, builder -> builder.origin(pos)))); + ref.set(sw.am$get(MoistControl.CONFIG).customMoisture); } } diff --git a/src/main/java/me/melontini/andromeda/modules/world/quick_fire/mixin/AbstractFireBlockMixin.java b/src/main/java/me/melontini/andromeda/modules/world/quick_fire/mixin/AbstractFireBlockMixin.java index a61c65ab..96ffb24c 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/quick_fire/mixin/AbstractFireBlockMixin.java +++ b/src/main/java/me/melontini/andromeda/modules/world/quick_fire/mixin/AbstractFireBlockMixin.java @@ -2,7 +2,6 @@ package me.melontini.andromeda.modules.world.quick_fire.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.melontini.andromeda.common.util.LootContextBuilder; import me.melontini.andromeda.modules.world.quick_fire.QuickFire; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; @@ -62,10 +61,7 @@ abstract class AbstractFireBlockMixin extends BaseFireBlock { CallbackInfo ci, @Local(index = 7) int i, @Local(index = 10) int k) { - if (world - .am$get(QuickFire.CONFIG) - .available - .asBoolean(LootContextBuilder.command(world, builder -> builder.origin(pos)))) { + if (world.am$get(QuickFire.CONFIG).available) { try { LOCAL.set(Boolean.TRUE); for (int x = -3; x < 3; x++) { -- 2.51.2