repo for my hex addons :3
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

relocation

+23 -2
+3
.gitignore
··· 1 1 # User-specific stuff 2 2 .idea/ 3 + .bloop/ 4 + .metals/ 5 + .vscode/ 3 6 4 7 *.iml 5 8 *.ipr
+1 -1
build.gradle.kts
··· 12 12 id("maven-publish") 13 13 id("idea") 14 14 id("de.undercouch.download") version "5.6.0" 15 - id("org.eu.net.pool.mc") 15 + id("org.eu.net.pool.mc-plugin") version "0.1.0" 16 16 } 17 17 18 18 version = project.property("mod_version") as String
+4 -1
plugin/build.gradle.kts
··· 12 12 `java-gradle-plugin` 13 13 `kotlin-dsl` 14 14 kotlin("jvm") version "2.0.21" 15 + id("com.gradle.plugin-publish") version "1.2.1" 15 16 } 16 17 17 18 repositories { ··· 27 28 compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") 28 29 } 29 30 31 + group = "org.eu.net.pool" 32 + version = "0.1.0" 30 33 gradlePlugin { 31 34 val plugin by plugins.creating { 32 - id = "org.eu.net.pool.mc" 35 + id = "org.eu.net.pool.mc-plugin" 33 36 implementationClass = "org.eu.net.pool.mc_plugin.Plugin" 34 37 } 35 38 }
+1
settings.gradle.kts
··· 2 2 repositories { 3 3 maven("https://maven.fabricmc.net/") 4 4 gradlePluginPortal() 5 + mavenLocal() 5 6 } 6 7 } 7 8
+1
src/main/scala/org/net/eu/pool/mica/Defs.scala
··· 456 456 case x: R => Some(x) 457 457 case _ => None 458 458 def show(x: T): Text 459 + def replace(x: T)(action: [T: ValueType] => T => BoxedValue): BoxedValue = action(x)(using this) 459 460 def codec: Codec[T] = summon 460 461 def present(x: T): Boolean = true 461 462 def typeof(x: T): ValueType[?] = this
+13
src/main/scala/org/net/eu/pool/mica/Mica.scala
··· 910 910 m.append(" ").append(x.show) 911 911 m.append(")") 912 912 case Seq() => Text.literal("()").styled(_.withColor(color)) 913 + override def replace(x: Seq[BoxedValue])(action: [T: ValueType] => T => BoxedValue): BoxedValue = super.replace(x.map(v => v.given_ValueType_T.replace(v.value)(action)))(action) 913 914 given ValueType[(Rune, RuneRef)]: 914 915 val color = TextColor.fromRgb(0xffe46e) 915 916 override def eq[U: ValueType as v](x: (Rune, RuneRef), y: U): Boolean = v.cast[(Rune, RuneRef)](y).exists(y => x._1 eq y._1) ··· 1055 1056 override def unexecute(data: EntityRef, `return`: Double, revert: Unit)(using world: World): Unit = ??? 1056 1057 override def run(x: EntityRef): BoxedSideEffect = BoxedSideEffect(Effect, x) 1057 1058 1059 + trait RelocatableRune: 1060 + rune: Rune => 1061 + def relocate(data: rune.Data): rune.Data 1062 + 1063 + // @register("relocate") 1064 + // object RelocateRune extends UnaryRune: 1065 + // @register("relocate/0") 1066 + // object RelocateFrame0 extends ThunkFrame 1067 + // @register("relocate/1") 1068 + // object RelocateFrame1 extends ThunkFrame 1069 + 1058 1070 case class Derived[T, R](value: T): 1059 1071 private var state: Option[R] = None 1060 1072 def apply(f: T => R): R = state.getOrElse { state = Some(f(value)); state.get } ··· 1073 1085 summon[ValueType[x.T]].show(x.value) 1074 1086 override def present(x: BoxedValue): Boolean = x.given_ValueType_T.present(x.value) 1075 1087 override def typeof(x: BoxedValue): ValueType[?] = x.given_ValueType_T 1088 + override def replace(x: BoxedValue)(action: [T: ValueType] => T => BoxedValue): BoxedValue = x.given_ValueType_T.replace(x.value)(action) 1076 1089 1077 1090 @register("defer") 1078 1091 object DeferEffectRune extends SimpleRune: