From 667ad983b1b21e34c0d61862925674aef3823129 Mon Sep 17 00:00:00 2001 From: Robotgiggle Date: Sat, 12 Sep 2026 23:08:12 -0400 Subject: [PATCH 1/6] Remove unused tag-name constants --- .../hexcasting/common/items/magic/ItemAncientCypher.java | 2 -- .../hexcasting/common/items/magic/ItemCreativeUnlocker.java | 3 --- .../hexcasting/common/items/magic/ItemMediaHolder.java | 3 --- .../hexcasting/common/items/magic/ItemPackagedHex.java | 5 ----- 4 files changed, 13 deletions(-) diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemAncientCypher.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemAncientCypher.java index bcc242ddae..71237464a8 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemAncientCypher.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemAncientCypher.java @@ -9,8 +9,6 @@ import java.util.List; public class ItemAncientCypher extends ItemCypher { - public static final String TAG_HEX_NAME = "hex_name"; - public ItemAncientCypher(Properties pProperties) { super(pProperties); } diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCreativeUnlocker.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCreativeUnlocker.java index f6615573d7..d417ac4a39 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCreativeUnlocker.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCreativeUnlocker.java @@ -96,9 +96,6 @@ public static Component infiniteMedia(Level level) { return emphasized; } - public static final String TAG_EXTRACTIONS = "extractions"; - public static final String TAG_INSERTIONS = "insertions"; - public ItemCreativeUnlocker(Properties properties) { super(properties); } diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java index b895b928d4..63d9513b7a 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java @@ -16,9 +16,6 @@ import java.util.List; public abstract class ItemMediaHolder extends Item implements MediaHolderItem { - public static final String TAG_MEDIA = "hexcasting:media"; - public static final String TAG_MAX_MEDIA = "hexcasting:start_media"; - public static final TextColor HEX_COLOR = TextColor.fromRgb(0xb38ef3); private static final DecimalFormat PERCENTAGE = new DecimalFormat("####"); diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java index 535e7937ae..9ff857624b 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java @@ -4,12 +4,9 @@ import at.petrak.hexcasting.api.casting.eval.env.PackagedItemCastEnv; import at.petrak.hexcasting.api.casting.eval.vm.CastingVM; import at.petrak.hexcasting.api.casting.iota.Iota; -import at.petrak.hexcasting.api.casting.iota.PatternIota; import at.petrak.hexcasting.api.item.HexHolderItem; import at.petrak.hexcasting.api.pigment.FrozenPigment; import at.petrak.hexcasting.common.lib.HexDataComponents; -import at.petrak.hexcasting.common.msgs.MsgNewSpiralPatternsS2C; -import at.petrak.hexcasting.xplat.IXplatAbstractions; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; @@ -34,8 +31,6 @@ * Item that holds a list of patterns in it ready to be cast */ public abstract class ItemPackagedHex extends ItemMediaHolder implements HexHolderItem { - public static final String TAG_PROGRAM = "patterns"; - public static final String TAG_PIGMENT = "pigment"; public static final ResourceLocation HAS_PATTERNS_PRED = modLoc("has_patterns"); public ItemPackagedHex(Properties pProperties) { From 31e7b8cbe6cc970e09e3974aaeac500eb58c4c34 Mon Sep 17 00:00:00 2001 From: Robotgiggle Date: Sat, 12 Sep 2026 23:08:33 -0400 Subject: [PATCH 2/6] Fix typo when setting MEDIA_MAX component --- .../petrak/hexcasting/common/items/magic/ItemMediaHolder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java index 63d9513b7a..5dc58387b5 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemMediaHolder.java @@ -34,7 +34,7 @@ public static ItemStack withMedia(ItemStack stack, long media, long maxMedia) { Item item = stack.getItem(); if (item instanceof ItemMediaHolder) { stack.set(HexDataComponents.MEDIA.get(), media); - stack.set(HexDataComponents.MEDIA_MAX.get(), media); + stack.set(HexDataComponents.MEDIA_MAX.get(), maxMedia); } return stack; From c6721249e6b7294017fca52f523c5a8557bdb6a8 Mon Sep 17 00:00:00 2001 From: Robotgiggle Date: Sat, 12 Sep 2026 23:09:50 -0400 Subject: [PATCH 3/6] Fix scroll autoload safety check --- .../petrak/hexcasting/common/items/storage/ItemScroll.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java index 7da53d57d1..d68bd33d97 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java @@ -10,6 +10,7 @@ import at.petrak.hexcasting.common.lib.HexDataComponents; import at.petrak.hexcasting.common.misc.PatternTooltip; import at.petrak.hexcasting.interop.inline.InlinePatternData; +import at.petrak.hexcasting.xplat.IXplatAbstractions; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -153,8 +154,8 @@ public void inventoryTick(ItemStack pStack, Level pLevel, Entity pEntity, int pS // if op_id is set but there's no stored pattern, attempt to load the pattern on inv tick if (pStack.has(HexDataComponents.ACTION.get()) && !pStack.has(HexDataComponents.PATTERN.get()) && pEntity.getServer() != null) { var action = pStack.get(HexDataComponents.ACTION.get()); - if (action == null) { - // if the provided op_id is invalid, remove it so we don't keep trying every tick + if (!IXplatAbstractions.INSTANCE.getActionRegistry().containsKey(action)) { + // if the specified Action doesn't actually exist, remove the component so we don't keep trying every tick pStack.remove(HexDataComponents.ACTION.get()); return; } @@ -175,7 +176,7 @@ public void appendHoverText(ItemStack stack, TooltipContext context, List Date: Sat, 12 Sep 2026 23:11:46 -0400 Subject: [PATCH 4/6] Add/update a bunch of comments --- .../common/items/storage/ItemScroll.java | 14 ++-- .../common/items/storage/ItemSpellbook.java | 10 +++ .../common/lib/HexDataComponents.java | 67 ++++++++++++------- 3 files changed, 59 insertions(+), 32 deletions(-) diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java index d68bd33d97..f7e87c2621 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemScroll.java @@ -37,11 +37,11 @@ import static at.petrak.hexcasting.api.HexAPI.modLoc; /** - * TAG_OP_ID and TAG_PATTERN: "Ancient Scroll of %s" (per-world pattern preloaded) + * ACTION and PATTERN components: "Ancient Scroll of %s" (per-world pattern preloaded) *
- * TAG_OP_ID: "Ancient Scroll of %s" (per-world pattern loaded on inv tick) + * Only ACTION component: "Ancient Scroll of %s" (per-world pattern loaded on inv tick) *
- * TAG_PATTERN: "Scroll" (custom) + * Only PATTERN component: "Scroll" (custom) *
* (none): "Empty Scroll" */ @@ -147,11 +147,11 @@ public Component getName(ItemStack pStack) { @Override public void inventoryTick(ItemStack pStack, Level pLevel, Entity pEntity, int pSlotId, boolean pIsSelected) { - // the needs_purchase tag is used so you can't see the pattern on scrolls sold by a wandering trader - // once you put the scroll into your inventory, this removes the tag to reveal the pattern + // the NEEDS_PURCHASE component is used so you can't see the pattern on scrolls sold by a wandering trader + // once you put the scroll into your inventory, this removes the component to reveal the pattern if(pStack.has(HexDataComponents.NEEDS_PURCHASE.get())) pStack.remove(HexDataComponents.NEEDS_PURCHASE.get()); - // if op_id is set but there's no stored pattern, attempt to load the pattern on inv tick + // if ACTION is present but PATTERN is not present, attempt to load the pattern on inv tick if (pStack.has(HexDataComponents.ACTION.get()) && !pStack.has(HexDataComponents.PATTERN.get()) && pEntity.getServer() != null) { var action = pStack.get(HexDataComponents.ACTION.get()); if (!IXplatAbstractions.INSTANCE.getActionRegistry().containsKey(action)) { @@ -161,7 +161,7 @@ public void inventoryTick(ItemStack pStack, Level pLevel, Entity pEntity, int pS } var pat = PatternRegistryManifest.getCanonicalStrokesPerWorld(action, pEntity.getServer().overworld()); if (pat == null) { - // if pat is null, the per-world order hasn't been registered; remove the op_id and warn the player + // if pat is null, the per-world order hasn't been registered; remove the ACTION component and warn the player pStack.set(HexDataComponents.RECALC_WARNING.get(), action); pStack.remove(HexDataComponents.ACTION.get()); return; diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java index 8331572f82..fda0ca7123 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java @@ -90,8 +90,10 @@ public void inventoryTick(ItemStack stack, Level level, Entity pEntity, int pSlo var savedNames = stack.get(HexDataComponents.SPELLBOOK_PAGE_NAMES.get()); if(customName != null) { + // the stack has been given a custom name (ie via anvil) if(savedNames != null) { if(!savedNames.containsKey(nameKey) || !savedNames.get(nameKey).equals(customName)) { + // if this page doesn' have a name mapping, or it doesn't match, create/update the name mapping var mutNames = new HashMap<>(savedNames); mutNames.put(nameKey, customName); stack.set(HexDataComponents.SPELLBOOK_PAGE_NAMES.get(), mutNames); @@ -99,9 +101,11 @@ public void inventoryTick(ItemStack stack, Level level, Entity pEntity, int pSlo } else { var mutNames = new HashMap(); mutNames.put(nameKey, customName); + // if the savedNames map doesn't exist at all, create it and map the stack's current name to this page stack.set(HexDataComponents.SPELLBOOK_PAGE_NAMES.get(), mutNames); } } else if(savedNames != null) { + // the stack does not have a custom name, or it has been removed var mutNames = new HashMap<>(savedNames); mutNames.remove(nameKey); if(mutNames.isEmpty()) { @@ -151,10 +155,12 @@ public void writeDatum(ItemStack stack, Iota datum) { var pages = stack.get(HexDataComponents.SPELLBOOK_PAGES.get()); if (pages != null) { + // if the pages map exists, modify it accordingly var pagesMut = new HashMap<>(pages); if (datum == null) { pagesMut.remove(key); + // erasing the current page (needs to unseal as well, if possible) var seals = stack.get(HexDataComponents.SPELLBOOK_PAGE_SEALS.get()); if(seals != null) { var sealsMut = new HashMap<>(seals); @@ -169,6 +175,7 @@ public void writeDatum(ItemStack stack, Iota datum) { } } else { pagesMut.put(key, datum); + // updating the current page } if (pagesMut.isEmpty()) { @@ -179,8 +186,11 @@ public void writeDatum(ItemStack stack, Iota datum) { } else if (datum != null) { var map = new HashMap(); map.put(key, datum); + // if the pages map doesn't exist and you're trying to update a page, create the map first stack.set(HexDataComponents.SPELLBOOK_PAGES.get(), map); } else { + // if the pages map doesn't exist and you're trying to erase a page, check for a seal to remove + // this can happen if somebody seals an empty book for some reason var seals = stack.get(HexDataComponents.SPELLBOOK_PAGE_SEALS.get()); if(seals != null) { var sealsMut = new HashMap<>(seals); diff --git a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexDataComponents.java b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexDataComponents.java index f09596afae..d15cf1bea2 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexDataComponents.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexDataComponents.java @@ -27,6 +27,8 @@ public static void register() { REGISTER.registerAll(); } + // ==== SCROLLS ==== + public static final Supplier> PATTERN = REGISTER.register("pattern", () -> DataComponentType.builder() .persistent(HexPattern.CODEC) @@ -46,38 +48,41 @@ public static void register() { DataComponentType.builder() .networkSynchronized(StreamCodec.unit(Unit.INSTANCE)) .build()); - /** - * If this datacomponent is set on the item, we ignore the rest of the item and render this as if it were of the - * {@link at.petrak.hexcasting.api.casting.iota.IotaType IotaType} given by the resource location. - *

- * This is not useful to the player at all. - */ - public static final Supplier>>> VISUAL_OVERRIDE = REGISTER.register("visual_override", () -> - DataComponentType.>>builder() - .networkSynchronized(ByteBufCodecs.optional(ByteBufCodecs.registry(HexRegistries.IOTA_TYPE))) - .build()); + + // ==== ANYTHING WITH TEXTURE VARIANTS ==== + public static final Supplier> ITEM_VARIANT = REGISTER.register("variant", () -> DataComponentType.builder() .persistent(Codec.intRange(0, Integer.MAX_VALUE)) .networkSynchronized(ByteBufCodecs.VAR_INT) .build()); + + // ==== IOTA HOLDERS ==== + public static final Supplier> SEALED_IOTA_HOLDER = REGISTER.register("sealed", () -> DataComponentType.builder() .persistent(Codec.unit(Unit.INSTANCE)) .networkSynchronized(StreamCodec.unit(Unit.INSTANCE)) .build()); - // TODO port: Data components must implement equals and hashCode. Keep in mind they must also be immutable + // TODO port: Data components are supposed to be immutable - is EntityIota.isPlayer a problem here? public static final Supplier> IOTA_HOLDER_IOTA = REGISTER.register("iota", () -> DataComponentType.builder() .persistent(IotaType.TYPED_CODEC) .networkSynchronized(IotaType.TYPED_STREAM_CODEC) .build()); - - public static final Supplier>> HEX_HOLDER_PATTERNS = REGISTER.register("patterns", () -> - DataComponentType.>builder() - .persistent(IotaType.TYPED_CODEC.listOf()) - .networkSynchronized(IotaType.TYPED_STREAM_CODEC.apply(ByteBufCodecs.list())) + /** + * If this datacomponent is set on the item, we ignore the rest of the item and render this as if it were of the + * {@link at.petrak.hexcasting.api.casting.iota.IotaType IotaType} given by the resource location. + *

+ * This is not useful to the player at all. + */ + public static final Supplier>>> VISUAL_OVERRIDE = REGISTER.register("visual_override", () -> + DataComponentType.>>builder() + .networkSynchronized(ByteBufCodecs.optional(ByteBufCodecs.registry(HexRegistries.IOTA_TYPE))) .build()); + + // ==== MEDIA HOLDERS ==== + public static final Supplier> MEDIA = REGISTER.register("media", () -> DataComponentType.builder() .persistent(Codec.LONG) @@ -88,30 +93,43 @@ public static void register() { .persistent(Codec.LONG) .networkSynchronized(ByteBufCodecs.VAR_LONG) .build()); - public static final Supplier> HEX_NAME = REGISTER.register("hex_name", () -> - DataComponentType.builder() - .persistent(Codec.STRING) - .networkSynchronized(ByteBufCodecs.STRING_UTF8) - .build()); + // ==== CASTING ITEMS ==== + + public static final Supplier>> HEX_HOLDER_PATTERNS = REGISTER.register("patterns", () -> + DataComponentType.>builder() + .persistent(IotaType.TYPED_CODEC.listOf()) + .networkSynchronized(IotaType.TYPED_STREAM_CODEC.apply(ByteBufCodecs.list())) + .build()); public static final Supplier> PIGMENT = REGISTER.register("pigment", () -> DataComponentType.builder() .persistent(FrozenPigment.CODEC) .networkSynchronized(FrozenPigment.STREAM_CODEC) .build()); + // ==== ANCIENT CYPHERS ==== + + public static final Supplier> HEX_NAME = REGISTER.register("hex_name", () -> + DataComponentType.builder() + .persistent(Codec.STRING) + .networkSynchronized(ByteBufCodecs.STRING_UTF8) + .build()); + + // ==== ABACUS ==== + public static final Supplier> ABACUS_VALUE = REGISTER.register("abacus_value", () -> DataComponentType.builder() .persistent(Codec.DOUBLE) .networkSynchronized(ByteBufCodecs.DOUBLE) .build()); + // ==== SPELLBOOKS ==== + public static final Supplier> SELECTED_SPELLBOOK_PAGE = REGISTER.register("page_idx", () -> DataComponentType.builder() .persistent(Codec.INT) .networkSynchronized(ByteBufCodecs.INT) .build()); - public static final Supplier>> SPELLBOOK_PAGES = REGISTER.register("pages", () -> DataComponentType.>builder() .persistent(Codec.unboundedMap(Codec.STRING, IotaType.TYPED_CODEC)) @@ -121,7 +139,6 @@ public static void register() { IotaType.TYPED_STREAM_CODEC )) .build()); - public static final Supplier>> SPELLBOOK_PAGE_NAMES = REGISTER.register("page_names", () -> DataComponentType.>builder() .persistent(Codec.unboundedMap(Codec.STRING, ComponentSerialization.CODEC)) @@ -131,7 +148,6 @@ public static void register() { ComponentSerialization.STREAM_CODEC )) .build()); - public static final Supplier>> SPELLBOOK_PAGE_SEALS = REGISTER.register("sealed_pages", () -> DataComponentType.>builder() .persistent(Codec.unboundedMap(Codec.STRING, Codec.BOOL)) @@ -142,12 +158,13 @@ public static void register() { )) .build()); + // ==== MEDIA CUBE ==== + public static final Supplier>> MEDIA_EXTRACTIONS = REGISTER.register("media_extractions", () -> DataComponentType.>builder() .persistent(Codec.LONG.listOf()) .networkSynchronized(ByteBufCodecs.VAR_LONG.apply(ByteBufCodecs.list())) .build()); - public static final Supplier>> MEDIA_INSERTIONS = REGISTER.register("media_insertions", () -> DataComponentType.>builder() .persistent(Codec.LONG.listOf()) From 69c52b6c9387519e89cb6a134792d715f53cfa14 Mon Sep 17 00:00:00 2001 From: Robotgiggle Date: Sat, 12 Sep 2026 23:12:37 -0400 Subject: [PATCH 5/6] Put ancient pigment back into ancient cyphers --- .../hexcasting/common/loot/AddHexToAncientCypherFunc.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Common/src/main/java/at/petrak/hexcasting/common/loot/AddHexToAncientCypherFunc.java b/Common/src/main/java/at/petrak/hexcasting/common/loot/AddHexToAncientCypherFunc.java index f922ead847..c12c3bb10d 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/loot/AddHexToAncientCypherFunc.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/loot/AddHexToAncientCypherFunc.java @@ -4,6 +4,7 @@ import at.petrak.hexcasting.api.casting.math.HexDir; import at.petrak.hexcasting.api.casting.math.HexPattern; import at.petrak.hexcasting.api.misc.MediaConstants; +import at.petrak.hexcasting.api.pigment.FrozenPigment; import at.petrak.hexcasting.common.lib.HexDataComponents; import at.petrak.hexcasting.common.lib.HexLootFunctions; import com.mojang.datafixers.util.Pair; @@ -40,13 +41,14 @@ public AddHexToAncientCypherFunc(List lootItemConditions) { * This doesn't actually have any params so extract behaviour out for the benefit of forge */ public static ItemStack doStatic(ItemStack stack, RandomSource rand) { - var hex = LOOT_HEXES.get(rand.nextInt(LOOT_HEXES.size())); + var hexAndName = LOOT_HEXES.get(rand.nextInt(LOOT_HEXES.size())); - stack.set(HexDataComponents.HEX_NAME.get(), hex.getFirst()); + stack.set(HexDataComponents.HEX_NAME.get(), hexAndName.getFirst()); stack.set(HexDataComponents.MEDIA.get(), 32 * MediaConstants.SHARD_UNIT); stack.set(HexDataComponents.MEDIA_MAX.get(), 32 * MediaConstants.SHARD_UNIT); stack.set(HexDataComponents.ITEM_VARIANT.get(), rand.nextInt(8)); - stack.set(HexDataComponents.HEX_HOLDER_PATTERNS.get(), Arrays.stream(hex.getSecond()).map(el -> { + stack.set(HexDataComponents.PIGMENT.get(), FrozenPigment.ANCIENT.get()); + stack.set(HexDataComponents.HEX_HOLDER_PATTERNS.get(), Arrays.stream(hexAndName.getSecond()).map(el -> { var pieces = el.split(" "); return new PatternIota(HexPattern.fromAngles(pieces[1],HexDir.fromString(pieces[0]))); }).collect(Collectors.toList())); From 5f347e629fc3d2ff702f49f9554d3931985875ec Mon Sep 17 00:00:00 2001 From: Robotgiggle Date: Sat, 12 Sep 2026 23:13:32 -0400 Subject: [PATCH 6/6] Remove nullable annotation from FrozenPigment in loads of places --- .../java/at/petrak/hexcasting/api/addldata/ADHexHolder.java | 2 +- .../hexcasting/api/casting/eval/CastingEnvironment.java | 2 +- .../hexcasting/api/casting/eval/env/CircleCastEnv.java | 2 +- .../hexcasting/api/casting/eval/env/PlayerBasedCastEnv.java | 2 +- .../java/at/petrak/hexcasting/api/item/HexHolderItem.java | 2 +- .../hexcasting/common/items/magic/ItemPackagedHex.java | 5 ++--- .../java/at/petrak/hexcasting/xplat/IXplatAbstractions.java | 2 +- .../at/petrak/hexcasting/fabric/cc/adimpl/CCHexHolder.java | 4 ++-- .../at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java | 2 +- .../petrak/hexcasting/forge/cap/adimpl/CapItemHexHolder.java | 2 +- .../at/petrak/hexcasting/forge/xplat/ForgeXplatImpl.java | 2 +- 11 files changed, 13 insertions(+), 14 deletions(-) diff --git a/Common/src/main/java/at/petrak/hexcasting/api/addldata/ADHexHolder.java b/Common/src/main/java/at/petrak/hexcasting/api/addldata/ADHexHolder.java index 15defd673b..1363b721c6 100644 --- a/Common/src/main/java/at/petrak/hexcasting/api/addldata/ADHexHolder.java +++ b/Common/src/main/java/at/petrak/hexcasting/api/addldata/ADHexHolder.java @@ -16,7 +16,7 @@ public interface ADHexHolder { @Nullable List getHex(ServerLevel level); - void writeHex(List patterns, @Nullable FrozenPigment pigment, long media); + void writeHex(List patterns, FrozenPigment pigment, long media); void clearHex(); diff --git a/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/CastingEnvironment.java b/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/CastingEnvironment.java index c47b742c62..f7da049cef 100644 --- a/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/CastingEnvironment.java +++ b/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/CastingEnvironment.java @@ -622,7 +622,7 @@ public enum StackDiscoveryMode { public abstract FrozenPigment getPigment(); - public abstract @Nullable FrozenPigment setPigment(@Nullable FrozenPigment pigment); + public abstract FrozenPigment setPigment(FrozenPigment pigment); public abstract void produceParticles(ParticleSpray particles, FrozenPigment colorizer); diff --git a/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/CircleCastEnv.java b/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/CircleCastEnv.java index 6c6b363928..020002c00f 100644 --- a/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/CircleCastEnv.java +++ b/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/CircleCastEnv.java @@ -200,7 +200,7 @@ public FrozenPigment getPigment() { } @Override - public @Nullable FrozenPigment setPigment(@Nullable FrozenPigment pigment) { + public FrozenPigment setPigment(FrozenPigment pigment) { var impetus = this.getImpetus(); if (impetus == null) return null; diff --git a/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/PlayerBasedCastEnv.java b/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/PlayerBasedCastEnv.java index d6a82de01a..f4da434a7a 100644 --- a/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/PlayerBasedCastEnv.java +++ b/Common/src/main/java/at/petrak/hexcasting/api/casting/eval/env/PlayerBasedCastEnv.java @@ -201,7 +201,7 @@ protected boolean canOvercast() { } @Override - public @Nullable FrozenPigment setPigment(@Nullable FrozenPigment pigment) { + public FrozenPigment setPigment(FrozenPigment pigment) { return IXplatAbstractions.INSTANCE.setPigment(caster, pigment); } diff --git a/Common/src/main/java/at/petrak/hexcasting/api/item/HexHolderItem.java b/Common/src/main/java/at/petrak/hexcasting/api/item/HexHolderItem.java index a27ef900f1..907bfe058d 100644 --- a/Common/src/main/java/at/petrak/hexcasting/api/item/HexHolderItem.java +++ b/Common/src/main/java/at/petrak/hexcasting/api/item/HexHolderItem.java @@ -25,7 +25,7 @@ public interface HexHolderItem extends MediaHolderItem { @Nullable List getHex(ItemStack stack, ServerLevel level); - void writeHex(ItemStack stack, List program, @Nullable FrozenPigment pigment, long media); + void writeHex(ItemStack stack, List program, FrozenPigment pigment, long media); void clearHex(ItemStack stack); diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java index 9ff857624b..53fd347def 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemPackagedHex.java @@ -62,10 +62,9 @@ public boolean hasHex(ItemStack stack) { } @Override - public void writeHex(ItemStack stack, List program, @Nullable FrozenPigment pigment, long media) { + public void writeHex(ItemStack stack, List program, FrozenPigment pigment, long media) { stack.set(HexDataComponents.HEX_HOLDER_PATTERNS.get(), program); - if (pigment != null) - stack.set(HexDataComponents.PIGMENT.get(), pigment); + stack.set(HexDataComponents.PIGMENT.get(), pigment); withMedia(stack, media, media); } diff --git a/Common/src/main/java/at/petrak/hexcasting/xplat/IXplatAbstractions.java b/Common/src/main/java/at/petrak/hexcasting/xplat/IXplatAbstractions.java index 125479390d..84231c0292 100644 --- a/Common/src/main/java/at/petrak/hexcasting/xplat/IXplatAbstractions.java +++ b/Common/src/main/java/at/petrak/hexcasting/xplat/IXplatAbstractions.java @@ -90,7 +90,7 @@ public interface IXplatAbstractions { boolean isBrainswept(Mob mob); - @Nullable FrozenPigment setPigment(Player target, @Nullable FrozenPigment colorizer); + FrozenPigment setPigment(Player target, FrozenPigment colorizer); void setSentinel(Player target, @Nullable Sentinel sentinel); diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/cc/adimpl/CCHexHolder.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/cc/adimpl/CCHexHolder.java index d155ed9446..c019ab7901 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/cc/adimpl/CCHexHolder.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/cc/adimpl/CCHexHolder.java @@ -48,7 +48,7 @@ public boolean hasHex() { } @Override - public void writeHex(List patterns, @Nullable FrozenPigment pigment, long media) { + public void writeHex(List patterns, FrozenPigment pigment, long media) { this.hexHolder.writeHex(this.stack, patterns, pigment, media); } @@ -58,7 +58,7 @@ public void clearHex() { } @Override - public @Nullable FrozenPigment getPigment() { + public FrozenPigment getPigment() { return this.hexHolder.getPigment(this.stack); } diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java index fbad939683..38f49e7e92 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java @@ -154,7 +154,7 @@ public void setBrainsweepAddlData(Mob mob) { } @Override - public @Nullable FrozenPigment setPigment(Player target, @Nullable FrozenPigment pigment) { + public FrozenPigment setPigment(Player target, FrozenPigment pigment) { var cc = HexCardinalComponents.FAVORED_PIGMENT.get(target); var old = cc.getPigment(); cc.setPigment(pigment); diff --git a/Neoforge/src/main/java/at/petrak/hexcasting/forge/cap/adimpl/CapItemHexHolder.java b/Neoforge/src/main/java/at/petrak/hexcasting/forge/cap/adimpl/CapItemHexHolder.java index 5e246d01f9..c9b1da1182 100644 --- a/Neoforge/src/main/java/at/petrak/hexcasting/forge/cap/adimpl/CapItemHexHolder.java +++ b/Neoforge/src/main/java/at/petrak/hexcasting/forge/cap/adimpl/CapItemHexHolder.java @@ -29,7 +29,7 @@ public boolean hasHex() { } @Override - public void writeHex(List patterns, @Nullable FrozenPigment pigment, long media) { + public void writeHex(List patterns, FrozenPigment pigment, long media) { holder.writeHex(stack, patterns, pigment, media); } diff --git a/Neoforge/src/main/java/at/petrak/hexcasting/forge/xplat/ForgeXplatImpl.java b/Neoforge/src/main/java/at/petrak/hexcasting/forge/xplat/ForgeXplatImpl.java index 65d77b6329..a270d6466d 100644 --- a/Neoforge/src/main/java/at/petrak/hexcasting/forge/xplat/ForgeXplatImpl.java +++ b/Neoforge/src/main/java/at/petrak/hexcasting/forge/xplat/ForgeXplatImpl.java @@ -187,7 +187,7 @@ public void setAltiora(Player player, @Nullable AltioraAbility altiora) { } @Override - public @Nullable FrozenPigment setPigment(Player player, @Nullable FrozenPigment pigment) { + public FrozenPigment setPigment(Player player, FrozenPigment pigment) { var old = getPigment(player); CompoundTag tag = player.getPersistentData();