# -*- mode: org; mode: visual-line -*- #+TITLE: Hex Addon Planning #+AUTHOR: poolcritter #+CATEGORY: hex-addons #+OPTIONS: \n:t * Projects ** [[https://modrinth.com/mod/hexic][Hexic]] :PROPERTIES: :CATEGORY: hexic :END: the misc stuff addon for doing misc addon things ** Chiseled amethyst *** TODO give chisels a texture *** TODO give tables a model in-inventory *** TODO tripwires deleted code: #+BEGIN_SRC scala hexXplat.getContinuationTypeRegistry("tripwire") = TripwireIota.Frame Patterns.register("tripwire", w"edewqwaqede"): Patterns.mkLiteral(TripwireIota) #+END_SRC #+BEGIN_SRC scala object TripwireIota extends Iota(new IotaType[TripwireIota.type]: override def deserialize(tag: NbtElement, world: ServerWorld): TripwireIota.type = TripwireIota override def color: Int = 0xba4216 override def display(tag: NbtElement): Text = typeName , Object()): override def isTruthy: Boolean = true override def toleratesOther(that: Iota): Boolean = eq(that) override def serialize(): NbtElement = NbtCompound() class Frame(mishap: Mishap) extends ContinuationFrame: override def breakDownwards(x: ju.List[? <: Iota]): Pair[java.lang.Boolean, ju.List[Iota]] = ??? override def evaluate(cont: SpellContinuation, world: ServerWorld, vm: CastingVM): CastResult = throw mishap override def getType: Type[?] = Frame override def serializeToNBT(): NbtCompound = val c = NbtCompound() val codec = mishap.getCodec c.putString("Class", mishap.getClass.getName) c.put("Data", codec.encodeStart(NbtOps.INSTANCE, mishap.asInstanceOf).getOrThrow(false, _ => {})) c override def size: Int = 1 object Frame extends ContinuationFrame.Type[Frame]: override def deserializeFromNBT(c: NbtCompound, world: ServerWorld): Frame = val klass = classNamed(c.getString("Class")) val codec = klass.get.runtimeClass.getMethod("getCodec").invoke(null).asInstanceOf[Codec[? <: Mishap]] Frame(codec.decode(NbtOps.INSTANCE, c.get("Data")).getOrThrow(false, _ => {}).getFirst) #+END_SRC *** TODO crafted amethyst created by a table; worth a shard need to implement texture generation can be charmed; breaks if discharmed *** TODO document undocumented patterns - [X] demiplane patterns - [ ] pseudothoth ** Demiplanes *** TODO special demiplane NG handling when entering, always enter at the center when exiting, exit where you last entered from or get sent to the deep noo ** [[https://modrinth.com/mod/phlib][PHLib]] *** TODO [#A] make a mod icon probably my player head holding a quenched amethyst *** TODO reimplement Flock Decomp on maps *** TODO phlib ↔ [[https://modrinth.com/mod/hexthings][hexthings]] map conversion *** TODO dialect conversion in general, actually ** [[https://modrinth.com/mod/iotaworks][Iotaworks]] *** TODO finish implementing subscripts *** TODO implement patchwork subscripts *** TODO steal labels and annotations from hex\mu probably blocked on [[IoticIotas]] ** IoticIotas *** TODO revisit does this still exist? is it still worth it? ** [[https://modrinth.com/mod/ducky-periphs][Ducky Peripherals]] (external) *** TODO iota type support - [ ] maps - [ ] hexthings maps - [ ] tripwires ** [[https://modrinth.com/mod/ioticblocks][IoticBlocks]] (external) *** TODO Erase Block ** [[https://modrinth.com/mod/hexweb][HexWeb]] (external) *** TODO get Gradle dependency working techtastic mentioned 'weird scala stuff' which might be my fault it's probably my fault it's always my fault anyways it needs to be fixed ** [[https://modrinth.com/mod/hexical][Hexical]] (external) :PROPERTIES: :CATEGORY: hexical :END: *** TODO wait for reply wrt Apply Pigment **** TODO ping Miyu about [[https://discord.com/channels/936370934292549712/1011455473528098857/1459290686841946153][message]] SCHEDULED: <2026-01-10 12:00:00> * Ideas ** TODO Spellminds effectively cross-server cross-instance iota transfer bound permanenently to one specific player might have special behavior for some iota types; other types of iotas are either unmodified or blacklisted we need iota fmapping though ** TODO Liquidification greatspell [[./.project.org.assets/liquidify-spell.png]] * Bugs ** TODO see if latest VS2 is still incompatible ** TODO fix Windows compatibility with Bind Demiplane