diff --git a/gradle.properties b/gradle.properties
index 4e3c5ea..d7ce4af 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -4,9 +4,9 @@ org.gradle.parallel=true
# Fabric Properties
# check these on https://fabricmc.net/develop
-minecraft_version=1.21
-yarn_mappings=1.21+build.7
-loader_version=0.16.0
+minecraft_version=1.21.1
+yarn_mappings=1.21.1+build.3
+loader_version=0.16.5
# Mod Properties
mod_version=1.5.1
@@ -14,11 +14,11 @@ maven_group=com.github.shap_po.shappoli
archives_base_name=shappoli
# Dependencies
-fabric_version=0.100.5+1.21
-apoli_version=2.12.0-alpha.11+mc.1.21.x
+fabric_version=0.105.0+1.21.1
+apoli_version=2.12.0-alpha.12+mc.1.21.x
# Optional Dependencies
-origins_version=1.13.0-alpha.8+mc.1.21.x
+origins_version=1.13.0-alpha.9+mc.1.21.x
trinkets_version=3.10.0
wildfire_gender_version=3.2.1+1.21
woodwalkers_version=1.21-fabric-5.2
diff --git a/src/main/java/com/github/shap_po/shappoli/access/SuppressiblePower.java b/src/main/java/com/github/shap_po/shappoli/access/SuppressiblePower.java
index 7817f75..18ccefc 100644
--- a/src/main/java/com/github/shap_po/shappoli/access/SuppressiblePower.java
+++ b/src/main/java/com/github/shap_po/shappoli/access/SuppressiblePower.java
@@ -10,7 +10,7 @@ public interface SuppressiblePower {
boolean shappoli$hasConditions();
- void shappoli$setHasConditions(boolean hasConditions);
+ void shappoli$setHasConditions(boolean hasConditionTypes);
@SuppressWarnings({"unused"})
@Nullable
diff --git a/src/main/java/com/github/shap_po/shappoli/action/factory/BiEntityActions.java b/src/main/java/com/github/shap_po/shappoli/action/factory/BiEntityActionTypes.java
similarity index 90%
rename from src/main/java/com/github/shap_po/shappoli/action/factory/BiEntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/action/factory/BiEntityActionTypes.java
index 76101ee..d77b420 100644
--- a/src/main/java/com/github/shap_po/shappoli/action/factory/BiEntityActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/action/factory/BiEntityActionTypes.java
@@ -10,7 +10,7 @@
import net.minecraft.registry.Registry;
import net.minecraft.util.Pair;
-public class BiEntityActions {
+public class BiEntityActionTypes {
public static void register() {
register(SuppressPowerActionType.getFactory());
register(TeleportActionType.getFactory());
@@ -19,7 +19,7 @@ public static void register() {
SendActionActionType.getFactory(
Pair::getLeft,
ReceiveActionPowerType::receiveBientityAction,
- io.github.apace100.apoli.action.factory.BiEntityActions.ALIASES
+ io.github.apace100.apoli.action.type.BiEntityActionTypes.ALIASES
)
);
}
diff --git a/src/main/java/com/github/shap_po/shappoli/action/factory/BlockActions.java b/src/main/java/com/github/shap_po/shappoli/action/factory/BlockActionTypes.java
similarity index 95%
rename from src/main/java/com/github/shap_po/shappoli/action/factory/BlockActions.java
rename to src/main/java/com/github/shap_po/shappoli/action/factory/BlockActionTypes.java
index 4ec1893..8740963 100644
--- a/src/main/java/com/github/shap_po/shappoli/action/factory/BlockActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/action/factory/BlockActionTypes.java
@@ -8,7 +8,7 @@
import net.minecraft.world.World;
import org.apache.commons.lang3.tuple.Triple;
-public class BlockActions {
+public class BlockActionTypes {
public static void register() {
}
diff --git a/src/main/java/com/github/shap_po/shappoli/action/factory/EntityActions.java b/src/main/java/com/github/shap_po/shappoli/action/factory/EntityActionTypes.java
similarity index 89%
rename from src/main/java/com/github/shap_po/shappoli/action/factory/EntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/action/factory/EntityActionTypes.java
index 5ded196..62e890d 100644
--- a/src/main/java/com/github/shap_po/shappoli/action/factory/EntityActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/action/factory/EntityActionTypes.java
@@ -1,14 +1,14 @@
package com.github.shap_po.shappoli.action.factory;
-import com.github.shap_po.shappoli.power.type.ReceiveActionPowerType;
import com.github.shap_po.shappoli.action.type.entity.SelfBientityActionActionType;
import com.github.shap_po.shappoli.action.type.meta.SendActionActionType;
+import com.github.shap_po.shappoli.power.type.ReceiveActionPowerType;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
import io.github.apace100.apoli.registry.ApoliRegistries;
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
-public class EntityActions {
+public class EntityActionTypes {
public static void register() {
register(SelfBientityActionActionType.getFactory());
@@ -16,7 +16,7 @@ public static void register() {
SendActionActionType.getFactory(
entity -> entity,
ReceiveActionPowerType::receiveEntityAction,
- io.github.apace100.apoli.action.factory.EntityActions.ALIASES
+ io.github.apace100.apoli.action.type.EntityActionTypes.ALIASES
)
);
}
diff --git a/src/main/java/com/github/shap_po/shappoli/action/factory/ItemActions.java b/src/main/java/com/github/shap_po/shappoli/action/factory/ItemActionTypes.java
similarity index 90%
rename from src/main/java/com/github/shap_po/shappoli/action/factory/ItemActions.java
rename to src/main/java/com/github/shap_po/shappoli/action/factory/ItemActionTypes.java
index cc64f40..77251b1 100644
--- a/src/main/java/com/github/shap_po/shappoli/action/factory/ItemActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/action/factory/ItemActionTypes.java
@@ -1,7 +1,7 @@
package com.github.shap_po.shappoli.action.factory;
-import com.github.shap_po.shappoli.power.type.ReceiveActionPowerType;
import com.github.shap_po.shappoli.action.type.meta.SendActionActionType;
+import com.github.shap_po.shappoli.power.type.ReceiveActionPowerType;
import com.github.shap_po.shappoli.util.InventoryUtil;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
import io.github.apace100.apoli.registry.ApoliRegistries;
@@ -10,13 +10,13 @@
import net.minecraft.util.Pair;
import net.minecraft.world.World;
-public class ItemActions {
+public class ItemActionTypes {
public static void register() {
register(
SendActionActionType.getFactory(
worldAndStack -> InventoryUtil.getHolder(worldAndStack.getRight().get()),
ReceiveActionPowerType::receiveItemAction,
- io.github.apace100.apoli.action.factory.ItemActions.ALIASES
+ io.github.apace100.apoli.action.type.ItemActionTypes.ALIASES
)
);
}
diff --git a/src/main/java/com/github/shap_po/shappoli/action/type/bientity/SuppressPowerActionType.java b/src/main/java/com/github/shap_po/shappoli/action/type/bientity/SuppressPowerActionType.java
index 47c6e53..34f3ff8 100644
--- a/src/main/java/com/github/shap_po/shappoli/action/type/bientity/SuppressPowerActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/action/type/bientity/SuppressPowerActionType.java
@@ -116,7 +116,7 @@ private static
boolean suppressPower(
if (!suppressiblePower.shappoli$hasConditions() && !ignoreNoConditionWarning) {
Shappoli.LOGGER.warn(
- "Suppressed power \"{}\" of type \"{}\" that does not support conditions. This probably would not work. If you want to ignore this message, set the \"ignore_no_condition_warning\" parameter to \"true\"",
+ "Suppressed power \"{}\" of type \"{}\" that does not support ConditionTypes. This probably would not work. If you want to ignore this message, set the \"ignore_no_condition_warning\" parameter to \"true\"",
powerType.getPowerId(),
powerType.getPower().getFactoryInstance().getSerializerId()
);
@@ -130,16 +130,16 @@ public static ActionTypeFactory> getFactory() {
Shappoli.identifier("suppress_power"),
new SerializableData()
.add("power", ApoliDataTypes.POWER_REFERENCE, null) // power reference, example: my_namespace:my_power
- .add("powers", ApoliDataTypes.POWER_REFERENCE.listOf(), null)
+ .add("powers", ApoliDataTypes.POWER_REFERENCE.list(), null)
.add("power_type", ApoliDataTypes.POWER_TYPE_FACTORY, null) // power type, example: apoli:action_on_hit
- .add("power_types", ApoliDataTypes.POWER_TYPE_FACTORY.listOf(), null)
+ .add("power_types", ApoliDataTypes.POWER_TYPE_FACTORY.list(), null)
.add("power_source", SerializableDataTypes.IDENTIFIER, null) // power source identifier, example: apoli:command
.add("power_sources", SerializableDataTypes.IDENTIFIERS, null)
.add("ignored_power", ApoliDataTypes.POWER_REFERENCE, null) // power reference to ignore
- .add("ignored_powers", ApoliDataTypes.POWER_REFERENCE.listOf(), null)
+ .add("ignored_powers", ApoliDataTypes.POWER_REFERENCE.list(), null)
.add("duration", SerializableDataTypes.POSITIVE_INT)
.add("bientity_action", ApoliDataTypes.BIENTITY_ACTION, null)
@@ -147,7 +147,7 @@ public static ActionTypeFactory> getFactory() {
.add("ignore_no_condition_warning", SerializableDataTypes.BOOLEAN, false)
.add("ignore_multiple_power_warning", SerializableDataTypes.BOOLEAN, false)
- .postProcessor(data -> MiscUtil.checkHasAtLeastOneField(data, "power", "powers", "power_type", "power_types", "power_source", "power_sources"))
+ .validate(data -> MiscUtil.checkAtLeastOneFieldExists(data, "power", "powers", "power_type", "power_types", "power_source", "power_sources"))
,
(data, actorAndTarget) -> action(
actorAndTarget.getLeft(), actorAndTarget.getRight(),
diff --git a/src/main/java/com/github/shap_po/shappoli/action/type/bientity/TeleportActionType.java b/src/main/java/com/github/shap_po/shappoli/action/type/bientity/TeleportActionType.java
index 1b690fd..d0d928b 100644
--- a/src/main/java/com/github/shap_po/shappoli/action/type/bientity/TeleportActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/action/type/bientity/TeleportActionType.java
@@ -1,6 +1,7 @@
package com.github.shap_po.shappoli.action.type.bientity;
import com.github.shap_po.shappoli.Shappoli;
+import com.github.shap_po.shappoli.util.MiscUtil;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
import io.github.apace100.calio.data.SerializableData;
import io.github.apace100.calio.data.SerializableDataTypes;
@@ -65,11 +66,7 @@ public static ActionTypeFactory> getFactory() {
.add("teleport_actor", SerializableDataTypes.BOOLEAN, false)
.add("teleport_target", SerializableDataTypes.BOOLEAN, true)
.add("rotate", SerializableDataTypes.BOOLEAN, false)
- .postProcessor(data -> {
- if (!data.getBoolean("teleport_actor") && !data.getBoolean("teleport_target")) {
- throw new IllegalStateException("Any of 'teleport_actor' or 'teleport_target' fields must to true!");
- }
- })
+ .validate(MiscUtil::checkAtLeastOneFieldIsTrue)
,
(data, actorAndTarget) -> action(
actorAndTarget.getLeft(), actorAndTarget.getRight(),
diff --git a/src/main/java/com/github/shap_po/shappoli/action/type/entity/SelfBientityActionActionType.java b/src/main/java/com/github/shap_po/shappoli/action/type/entity/SelfBientityActionActionType.java
index 92f5b1d..98c605b 100644
--- a/src/main/java/com/github/shap_po/shappoli/action/type/entity/SelfBientityActionActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/action/type/entity/SelfBientityActionActionType.java
@@ -2,7 +2,7 @@
import com.github.shap_po.shappoli.Shappoli;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
-import io.github.apace100.apoli.action.factory.EntityActions;
+import io.github.apace100.apoli.action.type.EntityActionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.Entity;
@@ -25,8 +25,8 @@ public static ActionTypeFactory getFactory() {
(data, entity) -> action(entity, data.get("action"))
);
- EntityActions.ALIASES.addPathAlias("self_bientity", factory.getSerializerId().getPath());
- EntityActions.ALIASES.addPathAlias("bientity_action", factory.getSerializerId().getPath());
+ EntityActionTypes.ALIASES.addPathAlias("self_bientity", factory.getSerializerId().getPath());
+ EntityActionTypes.ALIASES.addPathAlias("bientity_action", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/condition/factory/BiEntityConditions.java b/src/main/java/com/github/shap_po/shappoli/condition/factory/BiEntityConditionTypes.java
similarity index 87%
rename from src/main/java/com/github/shap_po/shappoli/condition/factory/BiEntityConditions.java
rename to src/main/java/com/github/shap_po/shappoli/condition/factory/BiEntityConditionTypes.java
index 9ca5208..ae83007 100644
--- a/src/main/java/com/github/shap_po/shappoli/condition/factory/BiEntityConditions.java
+++ b/src/main/java/com/github/shap_po/shappoli/condition/factory/BiEntityConditionTypes.java
@@ -1,19 +1,19 @@
package com.github.shap_po.shappoli.condition.factory;
-import com.github.shap_po.shappoli.power.type.ReceiveConditionPowerType;
import com.github.shap_po.shappoli.condition.type.meta.SendConditionConditionType;
+import com.github.shap_po.shappoli.power.type.ReceiveConditionPowerType;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
import io.github.apace100.apoli.registry.ApoliRegistries;
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
import net.minecraft.util.Pair;
-public class BiEntityConditions {
+public class BiEntityConditionTypes {
public static void register() {
register(SendConditionConditionType.getFactory(
Pair::getLeft,
ReceiveConditionPowerType::receiveBientity,
- io.github.apace100.apoli.condition.factory.BiEntityConditions.ALIASES
+ io.github.apace100.apoli.condition.type.BiEntityConditionTypes.ALIASES
));
}
diff --git a/src/main/java/com/github/shap_po/shappoli/condition/factory/EntityConditions.java b/src/main/java/com/github/shap_po/shappoli/condition/factory/EntityConditionTypes.java
similarity index 87%
rename from src/main/java/com/github/shap_po/shappoli/condition/factory/EntityConditions.java
rename to src/main/java/com/github/shap_po/shappoli/condition/factory/EntityConditionTypes.java
index 47e20de..6b8a950 100644
--- a/src/main/java/com/github/shap_po/shappoli/condition/factory/EntityConditions.java
+++ b/src/main/java/com/github/shap_po/shappoli/condition/factory/EntityConditionTypes.java
@@ -1,18 +1,18 @@
package com.github.shap_po.shappoli.condition.factory;
-import com.github.shap_po.shappoli.power.type.ReceiveConditionPowerType;
import com.github.shap_po.shappoli.condition.type.meta.SendConditionConditionType;
+import com.github.shap_po.shappoli.power.type.ReceiveConditionPowerType;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
import io.github.apace100.apoli.registry.ApoliRegistries;
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
-public class EntityConditions {
+public class EntityConditionTypes {
public static void register() {
register(SendConditionConditionType.getFactory(
entity -> entity,
ReceiveConditionPowerType::receiveEntity,
- io.github.apace100.apoli.condition.factory.EntityConditions.ALIASES
+ io.github.apace100.apoli.condition.type.EntityConditionTypes.ALIASES
));
}
diff --git a/src/main/java/com/github/shap_po/shappoli/condition/factory/ItemConditions.java b/src/main/java/com/github/shap_po/shappoli/condition/factory/ItemConditionTypes.java
similarity index 91%
rename from src/main/java/com/github/shap_po/shappoli/condition/factory/ItemConditions.java
rename to src/main/java/com/github/shap_po/shappoli/condition/factory/ItemConditionTypes.java
index 91a6194..9feb3e9 100644
--- a/src/main/java/com/github/shap_po/shappoli/condition/factory/ItemConditions.java
+++ b/src/main/java/com/github/shap_po/shappoli/condition/factory/ItemConditionTypes.java
@@ -1,9 +1,9 @@
package com.github.shap_po.shappoli.condition.factory;
-import com.github.shap_po.shappoli.power.type.ReceiveConditionPowerType;
import com.github.shap_po.shappoli.condition.type.item.BlockConditionType;
import com.github.shap_po.shappoli.condition.type.item.HolderConditionType;
import com.github.shap_po.shappoli.condition.type.meta.SendConditionConditionType;
+import com.github.shap_po.shappoli.power.type.ReceiveConditionPowerType;
import com.github.shap_po.shappoli.util.InventoryUtil;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
import io.github.apace100.apoli.registry.ApoliRegistries;
@@ -12,7 +12,7 @@
import net.minecraft.util.Pair;
import net.minecraft.world.World;
-public class ItemConditions {
+public class ItemConditionTypes {
public static void register() {
register(BlockConditionType.getFactory());
register(HolderConditionType.getFactory());
@@ -21,7 +21,7 @@ public static void register() {
SendConditionConditionType.getFactory(
worldAndStack -> InventoryUtil.getHolder(worldAndStack.getRight()),
ReceiveConditionPowerType::receiveItem,
- io.github.apace100.apoli.condition.factory.ItemConditions.ALIASES
+ io.github.apace100.apoli.condition.type.ItemConditionTypes.ALIASES
)
);
}
diff --git a/src/main/java/com/github/shap_po/shappoli/condition/type/item/BlockConditionType.java b/src/main/java/com/github/shap_po/shappoli/condition/type/item/BlockConditionType.java
index 733d4b2..2ea6c51 100644
--- a/src/main/java/com/github/shap_po/shappoli/condition/type/item/BlockConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/condition/type/item/BlockConditionType.java
@@ -2,7 +2,7 @@
import com.github.shap_po.shappoli.Shappoli;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.ItemConditions;
+import io.github.apace100.apoli.condition.type.ItemConditionTypes;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
@@ -21,7 +21,7 @@ public static ConditionTypeFactory> getFactory() {
(data, worldAndStack) -> condition(worldAndStack.getRight())
);
- ItemConditions.ALIASES.addPathAlias("block", factory.getSerializerId().getPath());
+ ItemConditionTypes.ALIASES.addPathAlias("block", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/condition/type/item/HolderConditionType.java b/src/main/java/com/github/shap_po/shappoli/condition/type/item/HolderConditionType.java
index 4a20ec0..7b5b73e 100644
--- a/src/main/java/com/github/shap_po/shappoli/condition/type/item/HolderConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/condition/type/item/HolderConditionType.java
@@ -3,7 +3,7 @@
import com.github.shap_po.shappoli.Shappoli;
import com.github.shap_po.shappoli.util.InventoryUtil;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.ItemConditions;
+import io.github.apace100.apoli.condition.type.ItemConditionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.Entity;
@@ -29,7 +29,7 @@ public static ConditionTypeFactory> getFactory() {
(data, worldAndStack) -> condition(worldAndStack.getRight(), data.get("condition"))
);
- ItemConditions.ALIASES.addPathAlias("holder", factory.getSerializerId().getPath());
+ ItemConditionTypes.ALIASES.addPathAlias("holder", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/origins/OriginsIntegration.java b/src/main/java/com/github/shap_po/shappoli/integration/origins/OriginsIntegration.java
index 3da2a7c..b3b3506 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/origins/OriginsIntegration.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/origins/OriginsIntegration.java
@@ -1,11 +1,11 @@
package com.github.shap_po.shappoli.integration.origins;
-import com.github.shap_po.shappoli.integration.origins.action.factory.BiEntityActions;
-import com.github.shap_po.shappoli.integration.origins.action.factory.EntityActions;
+import com.github.shap_po.shappoli.integration.origins.action.factory.BiEntityActionTypes;
+import com.github.shap_po.shappoli.integration.origins.action.factory.EntityActionTypes;
public class OriginsIntegration {
public static void register() {
- BiEntityActions.register();
- EntityActions.register();
+ BiEntityActionTypes.register();
+ EntityActionTypes.register();
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/BiEntityActions.java b/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/BiEntityActionTypes.java
similarity index 95%
rename from src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/BiEntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/BiEntityActionTypes.java
index cd913fb..e802bf2 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/BiEntityActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/BiEntityActionTypes.java
@@ -7,7 +7,7 @@
import net.minecraft.registry.Registry;
import net.minecraft.util.Pair;
-public class BiEntityActions {
+public class BiEntityActionTypes {
public static void register() {
register(CopyOriginActionType.getFactory());
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/EntityActions.java b/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/EntityActionTypes.java
similarity index 95%
rename from src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/EntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/EntityActionTypes.java
index 1de4e38..ea1354b 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/EntityActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/origins/action/factory/EntityActionTypes.java
@@ -6,7 +6,7 @@
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
-public class EntityActions {
+public class EntityActionTypes {
public static void register() {
register(SetOriginActionType.getFactory());
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/origins/action/type/bientity/CopyOriginActionType.java b/src/main/java/com/github/shap_po/shappoli/integration/origins/action/type/bientity/CopyOriginActionType.java
index f365cf8..0bb8e27 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/origins/action/type/bientity/CopyOriginActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/origins/action/type/bientity/CopyOriginActionType.java
@@ -2,8 +2,9 @@
import com.github.shap_po.shappoli.Shappoli;
import com.github.shap_po.shappoli.integration.origins.util.OriginsUtil;
+import com.github.shap_po.shappoli.util.MiscUtil;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
-import io.github.apace100.apoli.action.factory.BiEntityActions;
+import io.github.apace100.apoli.action.type.BiEntityActionTypes;
import io.github.apace100.calio.data.SerializableData;
import io.github.apace100.calio.data.SerializableDataTypes;
import io.github.apace100.origins.origin.Origin;
@@ -39,11 +40,7 @@ public static ActionTypeFactory> getFactory() {
.add("layer", SerializableDataTypes.IDENTIFIER, OriginsUtil.ORIGIN_LAYER_ID)
.add("modify_actor", SerializableDataTypes.BOOLEAN, false)
.add("modify_target", SerializableDataTypes.BOOLEAN, true)
- .postProcessor(data -> {
- if (!data.getBoolean("modify_actor") && !data.getBoolean("modify_target")) {
- throw new IllegalStateException("Any of 'modify_actor' and 'modify_target' fields must be true.");
- }
- })
+ .validate(MiscUtil::checkAtLeastOneFieldIsTrue)
,
(data, actorAndTarget) -> action(
actorAndTarget.getLeft(), actorAndTarget.getRight(),
@@ -52,7 +49,7 @@ public static ActionTypeFactory> getFactory() {
)
);
- BiEntityActions.ALIASES.addPathAlias("transfer_origin", factory.getSerializerId().getPath());
+ BiEntityActionTypes.ALIASES.addPathAlias("transfer_origin", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/origins/util/OriginsUtil.java b/src/main/java/com/github/shap_po/shappoli/integration/origins/util/OriginsUtil.java
index 4dc5b84..3db3e3d 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/origins/util/OriginsUtil.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/origins/util/OriginsUtil.java
@@ -5,7 +5,7 @@
import io.github.apace100.origins.origin.Origin;
import io.github.apace100.origins.origin.OriginLayer;
import io.github.apace100.origins.origin.OriginLayerManager;
-import io.github.apace100.origins.origin.OriginRegistry;
+import io.github.apace100.origins.origin.OriginManager;
import io.github.apace100.origins.registry.ModComponents;
import net.minecraft.entity.Entity;
import net.minecraft.util.Identifier;
@@ -41,7 +41,7 @@ public static boolean setOrigin(Entity entity, @Nullable OriginLayer layer, @Nul
public static @Nullable Origin getOrigin(Identifier id) {
try {
- return OriginRegistry.get(id);
+ return OriginManager.get(id);
} catch (IllegalArgumentException e) {
return null;
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/TrinketsIntegration.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/TrinketsIntegration.java
index c48f751..276015c 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/TrinketsIntegration.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/TrinketsIntegration.java
@@ -2,16 +2,16 @@
import com.github.shap_po.shappoli.integration.trinkets.command.TrinketsCommand;
import com.github.shap_po.shappoli.integration.trinkets.power.factory.PowerTypes;
-import com.github.shap_po.shappoli.integration.trinkets.action.factory.EntityActions;
-import com.github.shap_po.shappoli.integration.trinkets.condition.factory.EntityConditions;
-import com.github.shap_po.shappoli.integration.trinkets.condition.factory.ItemConditions;
+import com.github.shap_po.shappoli.integration.trinkets.action.factory.EntityActionTypes;
+import com.github.shap_po.shappoli.integration.trinkets.condition.factory.EntityConditionTypes;
+import com.github.shap_po.shappoli.integration.trinkets.condition.factory.ItemConditionTypes;
public class TrinketsIntegration {
public static void register() {
PowerTypes.register();
- EntityActions.register();
- EntityConditions.register();
- ItemConditions.register();
+ EntityActionTypes.register();
+ EntityConditionTypes.register();
+ ItemConditionTypes.register();
TrinketsCommand.register();
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/factory/EntityActions.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/factory/EntityActionTypes.java
similarity index 95%
rename from src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/factory/EntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/factory/EntityActionTypes.java
index cb7dbbe..c4d7383 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/factory/EntityActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/factory/EntityActionTypes.java
@@ -6,7 +6,7 @@
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
-public class EntityActions {
+public class EntityActionTypes {
public static void register() {
register(ModifyTrinketActionType.getFactory());
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/type/entity/ModifyTrinketActionType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/type/entity/ModifyTrinketActionType.java
index 4a7a9f0..6840a67 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/type/entity/ModifyTrinketActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/action/type/entity/ModifyTrinketActionType.java
@@ -6,7 +6,7 @@
import com.github.shap_po.shappoli.integration.trinkets.util.TrinketsUtil;
import dev.emi.trinkets.api.SlotReference;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
-import io.github.apace100.apoli.action.factory.EntityActions;
+import io.github.apace100.apoli.action.type.EntityActionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.apoli.util.InventoryUtil;
import io.github.apace100.calio.data.SerializableData;
@@ -83,7 +83,7 @@ public static ActionTypeFactory getFactory() {
)
);
- EntityActions.ALIASES.addPathAlias("modify_trinkets", factory.getSerializerId().getPath());
+ EntityActionTypes.ALIASES.addPathAlias("modify_trinkets", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/EntityConditions.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/EntityConditionTypes.java
similarity index 96%
rename from src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/EntityConditions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/EntityConditionTypes.java
index f6a3e73..08f42eb 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/EntityConditions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/EntityConditionTypes.java
@@ -7,7 +7,7 @@
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
-public class EntityConditions {
+public class EntityConditionTypes {
public static void register() {
register(EquippedTrinketCountConditionType.getFactory());
register(TrinketSlotCountConditionType.getFactory());
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/ItemConditions.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/ItemConditionTypes.java
similarity index 97%
rename from src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/ItemConditions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/ItemConditionTypes.java
index 16431ab..cea26d2 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/ItemConditions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/factory/ItemConditionTypes.java
@@ -10,7 +10,7 @@
import net.minecraft.util.Pair;
import net.minecraft.world.World;
-public class ItemConditions {
+public class ItemConditionTypes {
public static void register() {
register(EquippableTrinketConditionType.getFactory());
register(EquippedTrinketCountConditionType.getFactory());
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/EquippedTrinketCountConditionType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/EquippedTrinketCountConditionType.java
index 43a9098..b6e6140 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/EquippedTrinketCountConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/EquippedTrinketCountConditionType.java
@@ -5,7 +5,7 @@
import com.github.shap_po.shappoli.integration.trinkets.data.TrinketSlotData;
import com.github.shap_po.shappoli.integration.trinkets.util.TrinketsUtil;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.EntityConditions;
+import io.github.apace100.apoli.condition.type.EntityConditionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.apoli.util.Comparison;
import io.github.apace100.calio.data.SerializableData;
@@ -55,7 +55,7 @@ public static ConditionTypeFactory getFactory() {
)
);
- EntityConditions.ALIASES.addPathAlias("equipped_trinket", factory.getSerializerId().getPath());
+ EntityConditionTypes.ALIASES.addPathAlias("equipped_trinket", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/TrinketSlotCountConditionType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/TrinketSlotCountConditionType.java
index 6ccf42c..afb0eaa 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/TrinketSlotCountConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/entity/TrinketSlotCountConditionType.java
@@ -5,7 +5,7 @@
import com.github.shap_po.shappoli.integration.trinkets.data.TrinketSlotData;
import com.github.shap_po.shappoli.integration.trinkets.util.TrinketsUtil;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.EntityConditions;
+import io.github.apace100.apoli.condition.type.EntityConditionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.apoli.util.Comparison;
import io.github.apace100.calio.data.SerializableData;
@@ -46,7 +46,7 @@ public static ConditionTypeFactory getFactory() {
)
);
- EntityConditions.ALIASES.addPathAlias("trinket_slots_count", factory.getSerializerId().getPath());
+ EntityConditionTypes.ALIASES.addPathAlias("trinket_slots_count", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippableTrinketConditionType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippableTrinketConditionType.java
index a1c170f..75e2888 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippableTrinketConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippableTrinketConditionType.java
@@ -7,7 +7,7 @@
import com.github.shap_po.shappoli.util.InventoryUtil;
import dev.emi.trinkets.TrinketSlot;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.ItemConditions;
+import io.github.apace100.apoli.condition.type.ItemConditionTypes;
import io.github.apace100.calio.data.SerializableData;
import io.github.apace100.calio.data.SerializableDataTypes;
import net.minecraft.entity.Entity;
@@ -52,7 +52,7 @@ public static ConditionTypeFactory> getFactory() {
)
);
- ItemConditions.ALIASES.addPathAlias("is_equippable_trinket", factory.getSerializerId().getPath());
+ ItemConditionTypes.ALIASES.addPathAlias("is_equippable_trinket", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippedTrinketCountConditionType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippedTrinketCountConditionType.java
index a88adbe..d9ffbee 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippedTrinketCountConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/EquippedTrinketCountConditionType.java
@@ -6,7 +6,7 @@
import com.github.shap_po.shappoli.integration.trinkets.util.TrinketsUtil;
import com.github.shap_po.shappoli.util.InventoryUtil;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.ItemConditions;
+import io.github.apace100.apoli.condition.type.ItemConditionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.apoli.util.Comparison;
import io.github.apace100.calio.data.SerializableData;
@@ -53,7 +53,7 @@ public static ConditionTypeFactory> getFactory() {
)
);
- ItemConditions.ALIASES.addPathAlias("equipped_trinket", factory.getSerializerId().getPath());
+ ItemConditionTypes.ALIASES.addPathAlias("equipped_trinket", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/TrinketConditionType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/TrinketConditionType.java
index 55aacf7..88226f3 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/TrinketConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/condition/type/item/TrinketConditionType.java
@@ -3,7 +3,7 @@
import com.github.shap_po.shappoli.Shappoli;
import dev.emi.trinkets.api.TrinketsApi;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.ItemConditions;
+import io.github.apace100.apoli.condition.type.ItemConditionTypes;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Pair;
@@ -21,7 +21,7 @@ public static ConditionTypeFactory> getFactory() {
(data, worldAndStack) -> condition(worldAndStack.getRight())
);
- ItemConditions.ALIASES.addPathAlias("trinket", factory.getSerializerId().getPath());
+ ItemConditionTypes.ALIASES.addPathAlias("trinket", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/ShappoliTrinketsDataTypes.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/ShappoliTrinketsDataTypes.java
index 696634a..d9de90a 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/ShappoliTrinketsDataTypes.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/ShappoliTrinketsDataTypes.java
@@ -5,9 +5,9 @@
import java.util.List;
public class ShappoliTrinketsDataTypes {
- public static final SerializableDataType TRINKET_SLOT = SerializableDataType.compound(TrinketSlotData.class, TrinketSlotData.DATA, TrinketSlotData::fromData, TrinketSlotData::toData);
+ public static final SerializableDataType TRINKET_SLOT = SerializableDataType.compound(TrinketSlotData.DATA, TrinketSlotData::fromData, TrinketSlotData::toData);
public static final SerializableDataType> TRINKET_SLOTS = SerializableDataType.list(TRINKET_SLOT);
- public static final SerializableDataType SLOT_ENTITY_ATTRIBUTE_MODIFIER = SerializableDataType.compound(SlotEntityAttributeModifier.class, SlotEntityAttributeModifier.DATA, SlotEntityAttributeModifier::fromData, SlotEntityAttributeModifier::toData);
+ public static final SerializableDataType SLOT_ENTITY_ATTRIBUTE_MODIFIER = SerializableDataType.compound(SlotEntityAttributeModifier.DATA, SlotEntityAttributeModifier::fromData, SlotEntityAttributeModifier::toData);
public static final SerializableDataType> SLOT_ENTITY_ATTRIBUTE_MODIFIERS = SerializableDataType.list(SLOT_ENTITY_ATTRIBUTE_MODIFIER);
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/SlotEntityAttributeModifier.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/SlotEntityAttributeModifier.java
index bda2c79..b888302 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/SlotEntityAttributeModifier.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/SlotEntityAttributeModifier.java
@@ -39,7 +39,7 @@ public static SlotEntityAttributeModifier fromData(SerializableData.Instance dat
return new SlotEntityAttributeModifier(attribute, modifier);
}
- public static SerializableData.Instance toData(SerializableData data, SlotEntityAttributeModifier instance) {
+ public static SerializableData.Instance toData(SlotEntityAttributeModifier instance,SerializableData data) {
SerializableData.Instance dataInstance = data.new Instance();
dataInstance.set("slot", instance.attribute.slot);
dataInstance.set("id", instance.getModifier().id());
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/TrinketSlotData.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/TrinketSlotData.java
index e7620e0..621647f 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/TrinketSlotData.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/data/TrinketSlotData.java
@@ -55,7 +55,7 @@ public static TrinketSlotData fromData(SerializableData.Instance dataInstance) {
);
}
- public static SerializableData.Instance toData(SerializableData data, TrinketSlotData slot) {
+ public static SerializableData.Instance toData(TrinketSlotData slot,SerializableData data) {
SerializableData.Instance dataInstance = data.new Instance();
dataInstance.set("name", slot.name);
dataInstance.set("group", slot.group);
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ActionOnTrinketChangePowerType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ActionOnTrinketChangePowerType.java
index 3257e5c..2b2d39b 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ActionOnTrinketChangePowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ActionOnTrinketChangePowerType.java
@@ -12,7 +12,7 @@
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.apoli.power.Power;
import io.github.apace100.apoli.power.factory.PowerTypeFactory;
-import io.github.apace100.apoli.power.factory.PowerTypes;
+import io.github.apace100.apoli.power.type.PowerTypes;
import io.github.apace100.apoli.power.type.PowerType;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.Entity;
@@ -101,7 +101,7 @@ public static PowerTypeFactory getFactory() {
.add("item_condition", ApoliDataTypes.ITEM_CONDITION)
.add("slot", ShappoliTrinketsDataTypes.TRINKET_SLOT, null)
.add("slots", ShappoliTrinketsDataTypes.TRINKET_SLOTS, null)
- .postProcessor(data -> MiscUtil.checkHasAtLeastOneField(data, "entity_action_on_equip", "item_action_on_equip", "entity_action_on_unequip", "item_action_on_unequip"))
+ .validate(data -> MiscUtil.checkAtLeastOneFieldExists(data, "entity_action_on_equip", "item_action_on_equip", "entity_action_on_unequip", "item_action_on_unequip"))
,
data -> (type, player) -> new ActionOnTrinketChangePowerType(
type,
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ConditionedModifyTrinketSlotPowerType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ConditionedModifyTrinketSlotPowerType.java
index 2265a97..cb0da2b 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ConditionedModifyTrinketSlotPowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ConditionedModifyTrinketSlotPowerType.java
@@ -6,7 +6,7 @@
import com.github.shap_po.shappoli.util.MiscUtil;
import io.github.apace100.apoli.power.Power;
import io.github.apace100.apoli.power.factory.PowerTypeFactory;
-import io.github.apace100.apoli.power.factory.PowerTypes;
+import io.github.apace100.apoli.power.type.PowerTypes;
import io.github.apace100.calio.data.SerializableData;
import io.github.apace100.calio.data.SerializableDataTypes;
import net.minecraft.entity.LivingEntity;
@@ -55,7 +55,7 @@ public static PowerTypeFactory getFactory() {
.add("modifiers", ShappoliTrinketsDataTypes.SLOT_ENTITY_ATTRIBUTE_MODIFIERS, null)
.add("tick_rate", SerializableDataTypes.POSITIVE_INT, 20)
.add("apply_on_added", SerializableDataTypes.BOOLEAN, true)
- .postProcessor(data -> MiscUtil.checkHasAtLeastOneField(data, "modifier", "modifiers"))
+ .validate(data -> MiscUtil.checkAtLeastOneFieldExists(data, "modifier", "modifiers"))
,
data -> (type, player) -> {
ConditionedModifyTrinketSlotPowerType power = new ConditionedModifyTrinketSlotPowerType(type, player, data.getInt("tick_rate"), data.getBoolean("apply_on_added"));
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ModifyTrinketSlotPowerType.java b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ModifyTrinketSlotPowerType.java
index 93e90d2..dc1aa94 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ModifyTrinketSlotPowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/trinkets/power/type/ModifyTrinketSlotPowerType.java
@@ -10,7 +10,7 @@
import dev.emi.trinkets.api.TrinketsApi;
import io.github.apace100.apoli.power.Power;
import io.github.apace100.apoli.power.factory.PowerTypeFactory;
-import io.github.apace100.apoli.power.factory.PowerTypes;
+import io.github.apace100.apoli.power.type.PowerTypes;
import io.github.apace100.apoli.power.type.PowerType;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.LivingEntity;
@@ -91,7 +91,7 @@ public static PowerTypeFactory getFactory() {
new SerializableData()
.add("modifier", ShappoliTrinketsDataTypes.SLOT_ENTITY_ATTRIBUTE_MODIFIER, null)
.add("modifiers", ShappoliTrinketsDataTypes.SLOT_ENTITY_ATTRIBUTE_MODIFIERS, null)
- .postProcessor(data -> MiscUtil.checkHasAtLeastOneField(data, "modifier", "modifiers"))
+ .validate(data -> MiscUtil.checkAtLeastOneFieldExists(data, "modifier", "modifiers"))
,
data -> (type, player) -> {
ModifyTrinketSlotPowerType power = new ModifyTrinketSlotPowerType(type, player);
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/WalkersIntegration.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/WalkersIntegration.java
index a9c3595..0933eff 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/WalkersIntegration.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/WalkersIntegration.java
@@ -1,15 +1,15 @@
package com.github.shap_po.shappoli.integration.walkers;
import com.github.shap_po.shappoli.integration.walkers.power.factory.PowerTypes;
-import com.github.shap_po.shappoli.integration.walkers.action.factory.BiEntityActions;
-import com.github.shap_po.shappoli.integration.walkers.action.factory.EntityActions;
-import com.github.shap_po.shappoli.integration.walkers.condition.factory.EntityConditions;
+import com.github.shap_po.shappoli.integration.walkers.action.factory.BiEntityActionTypes;
+import com.github.shap_po.shappoli.integration.walkers.action.factory.EntityActionTypes;
+import com.github.shap_po.shappoli.integration.walkers.condition.factory.EntityConditionTypes;
public class WalkersIntegration {
public static void register() {
PowerTypes.register();
- BiEntityActions.register();
- EntityActions.register();
- EntityConditions.register();
+ BiEntityActionTypes.register();
+ EntityActionTypes.register();
+ EntityConditionTypes.register();
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/BiEntityActions.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/BiEntityActionTypes.java
similarity index 95%
rename from src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/BiEntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/BiEntityActionTypes.java
index 38875c2..f0f5abc 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/BiEntityActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/BiEntityActionTypes.java
@@ -7,7 +7,7 @@
import net.minecraft.registry.Registry;
import net.minecraft.util.Pair;
-public class BiEntityActions {
+public class BiEntityActionTypes {
public static void register() {
register(SwitchShapeActionType.getFactory());
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/EntityActions.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/EntityActionTypes.java
similarity index 97%
rename from src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/EntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/EntityActionTypes.java
index 7d82f61..61067bb 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/EntityActions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/factory/EntityActionTypes.java
@@ -9,7 +9,7 @@
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
-public class EntityActions {
+public class EntityActionTypes {
public static void register() {
register(ChangeShapeAbilityCooldownActionType.getFactory());
register(ShapeActionActionType.getFactory());
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/bientity/SwitchShapeActionType.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/bientity/SwitchShapeActionType.java
index 68e8e02..3db54c5 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/bientity/SwitchShapeActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/bientity/SwitchShapeActionType.java
@@ -3,7 +3,7 @@
import com.github.shap_po.shappoli.Shappoli;
import com.github.shap_po.shappoli.integration.walkers.util.WalkersUtil;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
-import io.github.apace100.apoli.action.factory.BiEntityActions;
+import io.github.apace100.apoli.action.type.BiEntityActionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.calio.data.SerializableData;
import io.github.apace100.calio.data.SerializableDataTypes;
@@ -49,8 +49,8 @@ public static ActionTypeFactory> getFactory() {
)
);
- BiEntityActions.ALIASES.addPathAlias("change_shape", factory.getSerializerId().getPath());
- BiEntityActions.ALIASES.addPathAlias("morph", factory.getSerializerId().getPath());
+ BiEntityActionTypes.ALIASES.addPathAlias("change_shape", factory.getSerializerId().getPath());
+ BiEntityActionTypes.ALIASES.addPathAlias("morph", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/ShapeActionActionType.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/ShapeActionActionType.java
index 894a4b7..792e5e2 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/ShapeActionActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/ShapeActionActionType.java
@@ -3,7 +3,7 @@
import com.github.shap_po.shappoli.Shappoli;
import com.github.shap_po.shappoli.integration.walkers.util.WalkersUtil;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
-import io.github.apace100.apoli.action.factory.EntityActions;
+import io.github.apace100.apoli.action.type.EntityActionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.Entity;
@@ -30,7 +30,7 @@ public static ActionTypeFactory getFactory() {
(data, entity) -> action(entity, data.get("bientity_action"))
);
- EntityActions.ALIASES.addPathAlias("action_on_shape", factory.getSerializerId().getPath());
+ EntityActionTypes.ALIASES.addPathAlias("action_on_shape", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/SwitchShapeActionType.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/SwitchShapeActionType.java
index 355e46a..ea1b779 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/SwitchShapeActionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/action/type/entity/SwitchShapeActionType.java
@@ -3,7 +3,7 @@
import com.github.shap_po.shappoli.Shappoli;
import com.github.shap_po.shappoli.integration.walkers.util.WalkersUtil;
import io.github.apace100.apoli.action.factory.ActionTypeFactory;
-import io.github.apace100.apoli.action.factory.EntityActions;
+import io.github.apace100.apoli.action.type.EntityActionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.calio.data.SerializableData;
import io.github.apace100.calio.data.SerializableDataTypes;
@@ -47,8 +47,8 @@ public static ActionTypeFactory getFactory() {
)
);
- EntityActions.ALIASES.addPathAlias("change_shape", factory.getSerializerId().getPath());
- EntityActions.ALIASES.addPathAlias("morph", factory.getSerializerId().getPath());
+ EntityActionTypes.ALIASES.addPathAlias("change_shape", factory.getSerializerId().getPath());
+ EntityActionTypes.ALIASES.addPathAlias("morph", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/factory/EntityConditions.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/factory/EntityConditionTypes.java
similarity index 97%
rename from src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/factory/EntityConditions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/factory/EntityConditionTypes.java
index 708d8f9..fba7cb8 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/factory/EntityConditions.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/factory/EntityConditionTypes.java
@@ -9,7 +9,7 @@
import net.minecraft.entity.Entity;
import net.minecraft.registry.Registry;
-public class EntityConditions {
+public class EntityConditionTypes {
public static void register() {
register(CanUseShapeAbilityConditionType.getFactory());
register(HasShapeAbilityConditionType.getFactory());
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/type/entity/ShapeConditionType.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/type/entity/ShapeConditionType.java
index 8e3b324..6a69514 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/type/entity/ShapeConditionType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/condition/type/entity/ShapeConditionType.java
@@ -3,7 +3,7 @@
import com.github.shap_po.shappoli.Shappoli;
import com.github.shap_po.shappoli.integration.walkers.util.WalkersUtil;
import io.github.apace100.apoli.condition.factory.ConditionTypeFactory;
-import io.github.apace100.apoli.condition.factory.EntityConditions;
+import io.github.apace100.apoli.condition.type.EntityConditionTypes;
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.Entity;
@@ -29,7 +29,7 @@ public static ConditionTypeFactory getFactory() {
(data, entity) -> condition(entity, data.get("bientity_condition"))
);
- EntityConditions.ALIASES.addPathAlias("shape", factory.getSerializerId().getPath());
+ EntityConditionTypes.ALIASES.addPathAlias("shape", factory.getSerializerId().getPath());
return factory;
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/factory/action/EntityActions.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/factory/action/EntityActionTypes.java
similarity index 100%
rename from src/main/java/com/github/shap_po/shappoli/integration/walkers/power/factory/action/EntityActions.java
rename to src/main/java/com/github/shap_po/shappoli/integration/walkers/power/factory/action/EntityActionTypes.java
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/ActionOnShapeChangePowerType.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/ActionOnShapeChangePowerType.java
index e016a61..ee76c7f 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/ActionOnShapeChangePowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/ActionOnShapeChangePowerType.java
@@ -4,7 +4,7 @@
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.apoli.power.Power;
import io.github.apace100.apoli.power.factory.PowerTypeFactory;
-import io.github.apace100.apoli.power.factory.PowerTypes;
+import io.github.apace100.apoli.power.type.PowerTypes;
import io.github.apace100.apoli.power.type.PowerType;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.Entity;
diff --git a/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/PreventShapeChangePowerType.java b/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/PreventShapeChangePowerType.java
index ee49415..c9b8106 100644
--- a/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/PreventShapeChangePowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/integration/walkers/power/type/PreventShapeChangePowerType.java
@@ -4,7 +4,7 @@
import io.github.apace100.apoli.data.ApoliDataTypes;
import io.github.apace100.apoli.power.Power;
import io.github.apace100.apoli.power.factory.PowerTypeFactory;
-import io.github.apace100.apoli.power.factory.PowerTypes;
+import io.github.apace100.apoli.power.type.PowerTypes;
import io.github.apace100.apoli.power.type.PowerType;
import io.github.apace100.calio.data.SerializableData;
import net.minecraft.entity.Entity;
diff --git a/src/main/java/com/github/shap_po/shappoli/mixin/PowerTypeMixin.java b/src/main/java/com/github/shap_po/shappoli/mixin/PowerTypeMixin.java
index 79a14e2..112d1db 100644
--- a/src/main/java/com/github/shap_po/shappoli/mixin/PowerTypeMixin.java
+++ b/src/main/java/com/github/shap_po/shappoli/mixin/PowerTypeMixin.java
@@ -35,8 +35,8 @@ public class PowerTypeMixin implements SuppressiblePower {
}
@Override
- public void shappoli$setHasConditions(boolean hasConditions) {
- shappoli$hasConditions = hasConditions;
+ public void shappoli$setHasConditions(boolean hasConditionTypes) {
+ shappoli$hasConditions = hasConditionTypes;
}
@Override
diff --git a/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveActionPowerType.java b/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveActionPowerType.java
index e73af8d..4119aa7 100644
--- a/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveActionPowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveActionPowerType.java
@@ -91,7 +91,7 @@ public static PowerTypeFactory getFactory() {
.add("entity_condition", ApoliDataTypes.ENTITY_CONDITION, null)
.add("item_action", ApoliDataTypes.ITEM_ACTION, null)
.add("item_condition", ApoliDataTypes.ITEM_CONDITION, null)
- .postProcessor(data -> MiscUtil.checkHasAtLeastOneField(data, "action", "bientity_action", "entity_action", "item_action"))
+ .validate(data -> MiscUtil.checkAtLeastOneFieldExists(data, "action", "bientity_action", "entity_action", "item_action"))
,
data -> (type, entity) -> new ReceiveActionPowerType(type, entity,
data.get("action"),
diff --git a/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveConditionPowerType.java b/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveConditionPowerType.java
index 57124c0..ca6d403 100644
--- a/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveConditionPowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/power/type/ReceiveConditionPowerType.java
@@ -56,7 +56,7 @@ public static PowerTypeFactory getFactory() {
.add("bientity_condition", ApoliDataTypes.BIENTITY_CONDITION, null)
.add("entity_condition", ApoliDataTypes.ENTITY_CONDITION, null)
.add("item_condition", ApoliDataTypes.ITEM_CONDITION, null)
- .postProcessor(data -> MiscUtil.checkHasAtLeastOneField(data, "bientity_condition", "entity_condition", "item_condition"))
+ .validate(data -> MiscUtil.checkAtLeastOneFieldExists(data, "bientity_condition", "entity_condition", "item_condition"))
,
data -> (type, entity) -> new ReceiveConditionPowerType(
type, entity,
diff --git a/src/main/java/com/github/shap_po/shappoli/power/type/SuppressPowerPowerType.java b/src/main/java/com/github/shap_po/shappoli/power/type/SuppressPowerPowerType.java
index 5d39202..ac37a37 100644
--- a/src/main/java/com/github/shap_po/shappoli/power/type/SuppressPowerPowerType.java
+++ b/src/main/java/com/github/shap_po/shappoli/power/type/SuppressPowerPowerType.java
@@ -36,8 +36,8 @@ public static PowerTypeFactory getFactory() {
Shappoli.identifier("suppress_power"),
new SerializableData()
.add("power", ApoliDataTypes.POWER_REFERENCE, null)
- .add("powers", ApoliDataTypes.POWER_REFERENCE.listOf(), null)
- .postProcessor(data -> MiscUtil.checkHasAtLeastOneField(data, "power", "powers"))
+ .add("powers", ApoliDataTypes.POWER_REFERENCE.list(), null)
+ .validate(data -> MiscUtil.checkAtLeastOneFieldExists(data, "power", "powers"))
,
data -> (type, entity) -> new SuppressPowerPowerType(
type, entity,
diff --git a/src/main/java/com/github/shap_po/shappoli/registry/ModPowers.java b/src/main/java/com/github/shap_po/shappoli/registry/ModPowers.java
index 26d20aa..2d66633 100644
--- a/src/main/java/com/github/shap_po/shappoli/registry/ModPowers.java
+++ b/src/main/java/com/github/shap_po/shappoli/registry/ModPowers.java
@@ -1,25 +1,25 @@
package com.github.shap_po.shappoli.registry;
import com.github.shap_po.shappoli.power.factory.PowerTypes;
-import com.github.shap_po.shappoli.action.factory.BiEntityActions;
-import com.github.shap_po.shappoli.action.factory.BlockActions;
-import com.github.shap_po.shappoli.action.factory.EntityActions;
-import com.github.shap_po.shappoli.action.factory.ItemActions;
-import com.github.shap_po.shappoli.condition.factory.BiEntityConditions;
-import com.github.shap_po.shappoli.condition.factory.EntityConditions;
-import com.github.shap_po.shappoli.condition.factory.ItemConditions;
+import com.github.shap_po.shappoli.action.factory.BiEntityActionTypes;
+import com.github.shap_po.shappoli.action.factory.BlockActionTypes;
+import com.github.shap_po.shappoli.action.factory.EntityActionTypes;
+import com.github.shap_po.shappoli.action.factory.ItemActionTypes;
+import com.github.shap_po.shappoli.condition.factory.BiEntityConditionTypes;
+import com.github.shap_po.shappoli.condition.factory.EntityConditionTypes;
+import com.github.shap_po.shappoli.condition.factory.ItemConditionTypes;
public class ModPowers {
public static void register() {
PowerTypes.register();
- BiEntityConditions.register();
- EntityConditions.register();
- ItemConditions.register();
+ BiEntityConditionTypes.register();
+ EntityConditionTypes.register();
+ ItemConditionTypes.register();
- BiEntityActions.register();
- BlockActions.register();
- EntityActions.register();
- ItemActions.register();
+ BiEntityActionTypes.register();
+ BlockActionTypes.register();
+ EntityActionTypes.register();
+ ItemActionTypes.register();
}
}
diff --git a/src/main/java/com/github/shap_po/shappoli/util/InventoryUtil.java b/src/main/java/com/github/shap_po/shappoli/util/InventoryUtil.java
index 7d02d86..b87d413 100644
--- a/src/main/java/com/github/shap_po/shappoli/util/InventoryUtil.java
+++ b/src/main/java/com/github/shap_po/shappoli/util/InventoryUtil.java
@@ -6,12 +6,12 @@
@SuppressWarnings({"UnusedReturnValue"})
public class InventoryUtil {
- @SuppressWarnings({"ConstantConditions"})
+ @SuppressWarnings({"ConstantConditionTypes"})
public static Entity getHolder(ItemStack stack) {
return ((EntityLinkedItemStack) (Object) stack).apoli$getEntity();
}
- @SuppressWarnings({"ConstantConditions"})
+ @SuppressWarnings({"ConstantConditionTypes"})
public static ItemStack setHolder(ItemStack stack, Entity holder) {
((EntityLinkedItemStack) (Object) stack).apoli$setEntity(holder);
return stack;
diff --git a/src/main/java/com/github/shap_po/shappoli/util/MiscUtil.java b/src/main/java/com/github/shap_po/shappoli/util/MiscUtil.java
index 2332209..84e2f97 100644
--- a/src/main/java/com/github/shap_po/shappoli/util/MiscUtil.java
+++ b/src/main/java/com/github/shap_po/shappoli/util/MiscUtil.java
@@ -1,5 +1,6 @@
package com.github.shap_po.shappoli.util;
+import com.mojang.serialization.DataResult;
import io.github.apace100.calio.data.SerializableData;
import org.jetbrains.annotations.Nullable;
@@ -18,15 +19,20 @@ public static List listFromData(SerializableData.Instance data, @Nullable
return list;
}
- /**
- * @throws IllegalArgumentException If none of the fields are present
- */
- public static void checkHasAtLeastOneField(SerializableData.Instance data, String... fields) {
+ public static DataResult checkAtLeastOneFieldExists(SerializableData.Instance data, String... fields) {
for (String field : fields) {
if (data.isPresent(field)) {
- return;
+ return DataResult.success(data);
}
}
- throw new IllegalArgumentException("Any of the following fields must be defied: " + String.join(", ", fields));
+ return DataResult.error(() -> "Any of the following fields must be defied: " + String.join(", ", fields));
+ }
+ public static DataResult checkAtLeastOneFieldIsTrue(SerializableData.Instance data, String... fields) {
+ for (String field : fields) {
+ if (data.isPresent(field) && data.getBoolean(field)) {
+ return DataResult.success(data);
+ }
+ }
+ return DataResult.error(() -> "Any of the following fields must be true: " + String.join(", ", fields));
}
}