Simple, multiloader flight ring Minecraft mod
1
fork

Configure Feed

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

Update to 1.21

lesbian.skin 3d25a900 30c8fb08

verified
+66 -69
+12 -11
build.gradle.kts
··· 5 5 6 6 repositories { 7 7 cloche { 8 - mavenForge() 8 + mavenNeoforged() 9 9 mavenFabric() 10 10 mavenParchment() 11 11 librariesMinecraft() 12 12 main() 13 13 } 14 14 mavenCentral() 15 + maven("https://maven.neoforged.net/mojang-meta") 15 16 maven("https://thedarkcolour.github.io/KotlinForForge/") 16 17 maven("https://maven.theillusivec4.top/") 17 18 maven("https://maven.teamresourceful.com/repository/maven-public/") ··· 33 34 author("Naomi Roberts") 34 35 } 35 36 36 - minecraftVersion = "1.20.1" 37 + minecraftVersion = "1.21.1" 37 38 38 39 fabric { 39 40 loaderVersion = libs.versions.fabric.loader ··· 72 73 } 73 74 74 75 entrypoint("main") { 75 - value = "xyz.naomieow.angle_ring.fabric.AngleRingFabric" 76 + value = "xyz.naomieow.angle_ring.AngleRingFabric" 76 77 adapter = "kotlin" 77 78 } 78 79 } 79 80 } 80 81 81 - forge { 82 - loaderVersion = libs.versions.forge.loader 82 + neoforge { 83 + loaderVersion = libs.versions.neoforge.loader 83 84 84 85 dependencies { 85 - modImplementation(libs.forge.kotlin) 86 + modImplementation(libs.neoforge.kotlin) 86 87 87 88 // Curios 88 89 // Probably a better way to do this but appending `:api` to the version didn't 89 90 // work so we get this monstrosity 90 - compileOnly("${libs.forge.curios.get().module}:${libs.forge.curios.get().version}:api") 91 - runtimeOnly(libs.forge.curios) 91 + modCompileOnlyApi("${libs.neoforge.curios.get().module}:${libs.neoforge.curios.get().version}:api") 92 + modRuntimeOnly(libs.neoforge.curios) 92 93 } 93 94 94 95 runs { ··· 101 102 dependency { 102 103 modId = "curios" 103 104 required = true 104 - version(libs.versions.forge.curios.get()) 105 + version(libs.versions.neoforge.curios.get()) 105 106 } 106 107 dependency { 107 108 modId = "kotlinforforge" 108 109 required = true 109 - version(libs.versions.forge.kotlin.get()) 110 + version(libs.versions.neoforge.kotlin.get()) 110 111 } 111 112 } 112 113 113 - loaderVersion("4") 114 + loaderVersion("5") 114 115 modLoader = "kotlinforforge" 115 116 } 116 117 }
+11 -11
libs.versions.toml
··· 2 2 # Common 3 3 kotlin = "2.1.0" 4 4 # Fabric 5 - fabric-loader = "0.16.13" 6 - fabric-api = "0.92.5" 7 - fabric-kotlin = "1.13.2+kotlin.2.1.20" 8 - fabric-trinkets = "3.7.1" 9 - fabric-modmenu = "7.2.2" 10 - # Forge 11 - forge-loader = "47.4.0" 12 - forge-kotlin = "4.11.0" 13 - forge-curios = "5.14.1+1.20.1" 5 + fabric-loader = "0.16.14" 6 + fabric-api = "0.116.1" 7 + fabric-kotlin = "1.13.3+kotlin.2.1.21" 8 + fabric-trinkets = "3.10.0" 9 + fabric-modmenu = "11.0.3" 10 + # Neoforge 11 + neoforge-loader = "21.1.176" 12 + neoforge-kotlin = "5.8.0" 13 + neoforge-curios = "9.2.0+1.21.1" 14 14 15 15 [libraries] 16 16 # Fabric ··· 18 18 fabric-modmenu = { module = "com.terraformersmc:modmenu", version.ref = "fabric-modmenu" } 19 19 fabric-trinkets = { module = "dev.emi:trinkets", version.ref = "fabric-trinkets" } 20 20 # Forge 21 - forge-kotlin = { module = "thedarkcolour:kotlinforforge", version.ref = "forge-kotlin" } 22 - forge-curios = { module = "top.theillusivec4.curios:curios-forge", version.ref = "forge-curios" } 21 + neoforge-kotlin = { module = "thedarkcolour:kotlinforforge-neoforge", version.ref = "neoforge-kotlin" } 22 + neoforge-curios = { module = "top.theillusivec4.curios:curios-neoforge", version.ref = "neoforge-curios" } 23 23 24 24 [plugins] 25 25 cloche = { id = "earth.terrarium.cloche", version = "0.9.24" }
+2 -1
src/common/main/kotlin/xyz/naomieow/angle_ring/AngleRing.kt
··· 5 5 6 6 object AngleRing { 7 7 const val MOD_ID: String = "angle_ring" 8 + 8 9 @JvmStatic 9 10 val LOGGER: Logger = Logger.getLogger(MOD_ID) 10 11 11 12 fun id(id: String): ResourceLocation { 12 - return ResourceLocation(MOD_ID, id) 13 + return ResourceLocation.tryBuild(MOD_ID, id)!! 13 14 } 14 15 } 15 16
src/common/main/resources/data/curios/tags/items/ring.json src/common/main/resources/data/curios/tags/item/ring.json
src/common/main/resources/data/trinkets/tags/items/hand/ring.json src/common/main/resources/data/trinkets/tags/item/hand/ring.json
src/common/main/resources/data/trinkets/tags/items/offhand/ring.json src/common/main/resources/data/trinkets/tags/item/offhand/ring.json
+2 -3
src/fabric/main/kotlin/xyz/naomieow/angle_ring/fabric/AngleRingFabric.kt src/fabric/main/kotlin/xyz/naomieow/angle_ring/AngleRingFabric.kt
··· 1 - package xyz.naomieow.angle_ring.fabric 1 + package xyz.naomieow.angle_ring 2 2 3 3 import net.fabricmc.api.ModInitializer 4 - import xyz.naomieow.angle_ring.AngleRing 5 - import xyz.naomieow.angle_ring.fabric.registry.AngleRingItems 4 + import xyz.naomieow.angle_ring.registry.AngleRingItems 6 5 7 6 class AngleRingFabric: ModInitializer { 8 7 override fun onInitialize() {
+1 -2
src/fabric/main/kotlin/xyz/naomieow/angle_ring/fabric/item/AngleRingItem.kt src/fabric/main/kotlin/xyz/naomieow/angle_ring/item/AngleRingItem.kt
··· 1 - package xyz.naomieow.angle_ring.fabric.item 1 + package xyz.naomieow.angle_ring.item 2 2 3 3 import dev.emi.trinkets.api.SlotReference 4 4 import dev.emi.trinkets.api.TrinketItem 5 5 import net.minecraft.world.entity.LivingEntity 6 6 import net.minecraft.world.item.ItemStack 7 - import xyz.naomieow.angle_ring.item.IAngleRingItem 8 7 9 8 class AngleRingItem(properties: Properties): TrinketItem(properties), IAngleRingItem { 10 9 override fun onEquip(stack: ItemStack?, slot: SlotReference?, entity: LivingEntity?) {
+3 -3
src/fabric/main/kotlin/xyz/naomieow/angle_ring/fabric/registry/AngleRingItems.kt src/fabric/main/kotlin/xyz/naomieow/angle_ring/registry/AngleRingItems.kt
··· 1 - package xyz.naomieow.angle_ring.fabric.registry 1 + package xyz.naomieow.angle_ring.registry 2 2 3 3 import net.minecraft.core.Registry 4 4 import net.minecraft.core.registries.BuiltInRegistries 5 5 import net.minecraft.world.item.Item 6 6 import net.minecraft.world.item.Rarity 7 7 import xyz.naomieow.angle_ring.AngleRing 8 - import xyz.naomieow.angle_ring.fabric.item.AngleRingItem 8 + import xyz.naomieow.angle_ring.item.AngleRingItem 9 9 10 10 object AngleRingItems { 11 11 fun registerAll() { ··· 14 14 .stacksTo(1) 15 15 .rarity(Rarity.EPIC) 16 16 .fireResistant() 17 - ) 17 + ) 18 18 ) 19 19 } 20 20
-13
src/forge/main/kotlin/xyz/naomieow/angle_ring/forge/AngleRingForge.kt
··· 1 - package xyz.naomieow.angle_ring.forge 2 - 3 - import net.minecraftforge.fml.common.Mod 4 - import thedarkcolour.kotlinforforge.forge.MOD_BUS 5 - import xyz.naomieow.angle_ring.AngleRing 6 - import xyz.naomieow.angle_ring.forge.registry.AngleRingItems 7 - 8 - @Mod(AngleRing.MOD_ID) 9 - class AngleRingForge { 10 - init { 11 - AngleRingItems.ITEMS.register(MOD_BUS) 12 - } 13 - }
+1 -2
src/forge/main/kotlin/xyz/naomieow/angle_ring/forge/item/AngleRingItem.kt src/neoforge/main/kotlin/xyz/naomieow/angle_ring/item/AngleRingItem.kt
··· 1 - package xyz.naomieow.angle_ring.forge.item 1 + package xyz.naomieow.angle_ring.item 2 2 3 3 import net.minecraft.world.item.Item 4 4 import net.minecraft.world.item.ItemStack 5 5 import top.theillusivec4.curios.api.SlotContext 6 6 import top.theillusivec4.curios.api.type.capability.ICurioItem 7 - import xyz.naomieow.angle_ring.item.IAngleRingItem 8 7 9 8 class AngleRingItem(properties: Properties): Item(properties), ICurioItem, IAngleRingItem { 10 9 override fun onEquip(slotContext: SlotContext?, prevStack: ItemStack?, stack: ItemStack?) {
-23
src/forge/main/kotlin/xyz/naomieow/angle_ring/forge/registry/AngleRingItems.kt
··· 1 - package xyz.naomieow.angle_ring.forge.registry 2 - 3 - import net.minecraft.world.item.Item 4 - import net.minecraft.world.item.Rarity 5 - import net.minecraftforge.registries.DeferredRegister 6 - import net.minecraftforge.registries.ForgeRegistries 7 - import net.minecraftforge.registries.RegistryObject 8 - import xyz.naomieow.angle_ring.AngleRing 9 - import xyz.naomieow.angle_ring.forge.item.AngleRingItem 10 - 11 - object AngleRingItems { 12 - @JvmStatic 13 - var ITEMS: DeferredRegister<Item> = DeferredRegister.create(ForgeRegistries.ITEMS, AngleRing.MOD_ID) 14 - @JvmStatic 15 - var ANGLE_RING: RegistryObject<Item> = ITEMS.register("angle_ring") { 16 - AngleRingItem( 17 - Item.Properties() 18 - .stacksTo(1) 19 - .rarity(Rarity.EPIC) 20 - .fireResistant() 21 - ) 22 - } 23 - }
+12
src/neoforge/main/kotlin/xyz/naomieow/angle_ring/AngleRingNeoforge.kt
··· 1 + package xyz.naomieow.angle_ring 2 + 3 + import net.neoforged.fml.common.Mod 4 + import thedarkcolour.kotlinforforge.neoforge.forge.MOD_BUS 5 + import xyz.naomieow.angle_ring.registry.AngleRingItems 6 + 7 + @Mod(AngleRing.MOD_ID) 8 + class AngleRingNeoforge { 9 + init { 10 + AngleRingItems.REGISTRY.register(MOD_BUS) 11 + } 12 + }
+22
src/neoforge/main/kotlin/xyz/naomieow/angle_ring/registry/AngleRingItems.kt
··· 1 + package xyz.naomieow.angle_ring.registry 2 + 3 + import net.minecraft.world.item.Item 4 + import net.minecraft.world.item.Rarity 5 + import net.neoforged.neoforge.registries.DeferredItem 6 + import net.neoforged.neoforge.registries.DeferredRegister 7 + import xyz.naomieow.angle_ring.AngleRing 8 + import xyz.naomieow.angle_ring.item.AngleRingItem 9 + 10 + object AngleRingItems { 11 + @JvmStatic 12 + val REGISTRY: DeferredRegister.Items = DeferredRegister.createItems(AngleRing.MOD_ID) 13 + @JvmStatic 14 + var ANGLE_RING: DeferredItem<Item> = REGISTRY.register("angle_ring") { -> 15 + AngleRingItem(Item.Properties() 16 + .stacksTo(1) 17 + .rarity(Rarity.EPIC) 18 + .fireResistant() 19 + ) 20 + 21 + } 22 + }