repo for my hex addons :3
0
fork

Configure Feed

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

bug round

+27 -17
+3
project/hexic/changelog
··· 31 31 2.0.0 rename media bundles to casting pouches 32 32 2.0.0 sent Stickia to the milk dimension 33 33 2.0.0 textures now use JPEG XL 34 + 2.1.0 demiplane spells' docs have been changed again 34 35 2.1.0 hitbox for void blocks is no longer weirdly offset 35 36 2.1.0 item/fluid concept displays no longer suck 37 + 2.1.0 mediaweave can now actually be erased, sorry 36 38 2.1.0 mediaweave can now be tied 39 + 2.1.0 read-only properties can no longer be converted to access iotas 37 40 2.1.0 Refinement Distillation now properly drops input iotas on first loop as it should 38 41 2.1.0 translations have been updated [@chuijk]
+4 -4
project/hexic/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/addon/hexic/world.json
··· 4 4 "category": "hexcasting:patterns", 5 5 "icon": "minecraft:white_carpet", 6 6 "pages": [ 7 - "the world under my control nature is mine na$(bold)ture is MI/$NE the world $(underline)the world NO LONGER/$ will $(bold)the OVerworld rule me/$ My $(media)mind is going/$ My $(media)mind/$ is going $(o)THE PAIN OF THOUGHT/$ my mind my $(o)mind/$ my a nine by nine room to myself SOLELY MYE$(bold)LF NO ONE ELSE/$ a $(bold)burst/$ of _media to Shatter the $(media)world/$ nearly $(media)six` allays $(bold)sewn/$ into $(underline)the walls/$ for eternity oh how it must hurt $(bold)IT HURTS IT/$ $(k)TORTUES/$", 7 + "the world under my control nature is mine na$(bold)ture is MI/$NE the world $(underline)the world NO LONGER/$ will $(bold)the OVerworld rule me/$ My $(media)mind is going/$ My $(media)mind/$ is going $(o)THE PAIN OF THOUGHT/$ my mind my $(o)mind/$ my a nine by nine room to myself SOLELY MYE$(bold)LF NO ONE ELSE/$ a $(bold)burst/$ of _media to Shatter the $(media)world/$ nearly $(media)six allays $(bold)sewn/$ into $(underline)the walls/$ for eternity oh how it must hurt $(bold)IT HURTS IT/$ $(k)TORTUES/$", 8 8 { 9 9 "type": "hexcasting:pattern", 10 10 "op_id": "hexic:makeworld", 11 11 "anchor": "hexic:makeworld", 12 12 "input": "", 13 13 "output": "imprint", 14 - "text": "Creates a fresh cuboid with a 9x9x9 interior, as well as a dimension to hold it in. Costs 18.2 thousand dust." 14 + "text": "Creates a fresh cuboid with a 9x9x9 interior, as well as a dimension to hold it in. Costs six quenched allays (720 dust)." 15 15 }, 16 16 "fragments of space the $(media)world/$ falling apart crumpling a $(o)fine powder/$ to the _media tie my plane TIE IT DOWN WELL bindings of $(media)thought/$ to keep it safe safe from others safe from $(media)me/$ only $(bold)a sliver of an allay's mind for the price/$ eternally trapped n$(underline)ot alive not dead mer/$ely floating Form the $(media)allay into bindings f/$rom some point outside must $(underline)hurry/$ now $(o)I feel it slipping away/$ $(bold)the cost of tying it to itself $(o)disasterous/$ the plane slipping away $(media)my/$ mind slipping away", 17 17 { ··· 20 20 "anchor": "hexic:attachworld", 21 21 "input": "imprint, vec", 22 22 "output": "", 23 - "text": "Binds the given demiplane to a position. This position is used when exiting the demiplane, as well as in case of any $(o)unfortunate accidents/$. Mishaps if I bind a demiplane to the plane I'm in." 23 + "text": "Binds the given demiplane to a position in my current dimension (which must not be the demiplane itself). This position is used when exiting the demiplane, as well as in case of any $(o)unfortunate accidents/$. Costs one shard." 24 24 }, 25 25 "My mind is drifting drifting $(o)spinning/$, $(o)running/$ from me with every slice I take of Nature. Every passing moment my grip oh my hands weakening my mind passing through like sand$(2br)I must steady myself. The price of sanity is outright shattering the planes I've made — a burst of media worth 25 shards, and the pocket will crumple like a villager, spewing its contents into where it was bound.$(2br)Testing this process on living creatures is unwise.", 26 26 { ··· 29 29 "anchor": "hexic:deleteworld", 30 30 "input": "imprint, vec", 31 31 "output": "", 32 - "text": "Ruptures the boundaries of the given demiplane, destroying its contents. All dropped items and experience are spewed at the plane's attachment point." 32 + "text": "Ruptures the boundaries of the given demiplane, destroying its contents. All dropped items and experience are spewed at the plane's attachment point. Costs five shards." 33 33 } 34 34 ] 35 35 }
+20 -13
project/hexic/src/main/scala/org/eu/net/pool/hexic/main.scala
··· 518 518 case c: NbtCompound => c 519 519 case _ => null 520 520 override def writeable(stack: ItemStack): Boolean = true 521 - override def canWrite(stack: ItemStack, iota: Iota): Boolean = iota match 522 - case l: ListIota => true 523 - case _ => iota.executable 521 + override def canWrite(stack: ItemStack, iota: Iota): Boolean = 522 + iota match 523 + case null => true 524 + case l: ListIota => true 525 + case _ => iota.executable 524 526 override def writeDatum(stack: ItemStack, iota: Iota): Unit = 525 - stack.getOrCreateNbt.put("Hex", IotaType.serialize(iota)) 527 + iota match 528 + case null => 529 + for nbt <- Option(stack.getNbt) do 530 + nbt.remove("Hex") 531 + if nbt.isEmpty then stack.setNbt(null) 532 + case iota => stack.getOrCreateNbt.put("Hex", IotaType.serialize(iota)) 526 533 override def appendTooltip(stack: ItemStack, world: World, tooltip: util.List[Text], context: TooltipContext): Unit = 527 534 IotaHolderItem.appendHoverText(this, stack, tooltip, context) 528 535 DispenserBlock.registerBehavior(this, new ItemDispenserBehavior: ··· 1160 1167 case i => throw MishapInvalidIota.ofType(i, 0, "pigment") 1161 1168 Patterns.register("prop_fi", sw"aawqe"): 1162 1169 Patterns.mkConstAction(1): 1163 - case Seq(x: PropertyIota) => Seq(PropertyAccessIota.Writer(x.getName, "head")) 1164 - case Seq(x) => throw MishapInvalidIota(x, 0, "property") 1170 + case Seq(x: PropertyIota) if !x.getReadonly => Seq(PropertyAccessIota.Writer(x.getName, "head")) 1171 + case Seq(x) => throw MishapInvalidIota(x, 0, "writeable_prop") 1165 1172 Patterns.register("prop_fo", sw"aawqd"): 1166 1173 Patterns.mkConstAction(1): 1167 - case Seq(x: PropertyIota) => Seq(PropertyAccessIota.Stream(x.getName, "head")) 1168 - case Seq(x) => throw MishapInvalidIota(x, 0, "property") 1174 + case Seq(x: PropertyIota) if !x.getReadonly => Seq(PropertyAccessIota.Stream(x.getName, "head")) 1175 + case Seq(x) => throw MishapInvalidIota(x, 0, "writeable_prop") 1169 1176 Patterns.register("prop_li", sw"aawdwq"): 1170 1177 Patterns.mkConstAction(1): 1171 - case Seq(x: PropertyIota) => Seq(PropertyAccessIota.Writer(x.getName, "tail")) 1172 - case Seq(x) => throw MishapInvalidIota(x, 0, "property") 1178 + case Seq(x: PropertyIota) if !x.getReadonly => Seq(PropertyAccessIota.Writer(x.getName, "tail")) 1179 + case Seq(x) => throw MishapInvalidIota(x, 0, "writeable_prop") 1173 1180 Patterns.register("prop_lo", sw"aawdwa"): 1174 1181 Patterns.mkConstAction(1): 1175 - case Seq(x: PropertyIota) => Seq(PropertyAccessIota.Stream(x.getName, "tail")) 1176 - case Seq(x) => throw MishapInvalidIota(x, 0, "property") 1182 + case Seq(x: PropertyIota) if !x.getReadonly => Seq(PropertyAccessIota.Stream(x.getName, "tail")) 1183 + case Seq(x) => throw MishapInvalidIota(x, 0, "writeable_prop") 1177 1184 Patterns.register("where", nw"qaeaqwdd"): 1178 1185 Patterns.mkConstAction(1): i => 1179 1186 val Seq(x) = i ··· 1454 1461 override def cast(env: CastingEnvironment): Unit = 1455 1462 world.parentInfo = Some(env.getWorld.getRegistryKey, pos) 1456 1463 override def cast(env: CastingEnvironment, image: CastingImage): CastingImage = { cast(env); image }, 1457 - MediaConstants.SHARD_UNIT * 3, 1464 + MediaConstants.SHARD_UNIT, 1458 1465 Seq(), 1459 1466 1 1460 1467 )