Compare commits

..

6 Commits

Author SHA1 Message Date
Auxilor
0d533850f6 Updated to 6.48.3 2023-01-13 17:53:44 +00:00
Auxilor
569f9cfcb4 Merge remote-tracking branch 'origin/master' 2023-01-13 17:52:53 +00:00
Auxilor
f0619f2374 Updated to 6.48.2 2023-01-13 17:52:48 +00:00
Auxilor
7e8d97e11d Updated MythicMobs and ExecutableItems 2023-01-13 17:52:20 +00:00
Auxilor
8b1b15a3e4 Updated to 6.48.2 2022-12-20 15:05:30 +00:00
Auxilor
7fe330bafb Fixed 1.19.3 support 2022-12-20 15:05:21 +00:00
12 changed files with 77 additions and 14 deletions

View File

@@ -4,7 +4,6 @@ import com.willfp.eco.core.entities.ai.EntityGoal
import com.willfp.eco.core.entities.ai.TargetGoal
import com.willfp.eco.internal.spigot.proxy.common.ai.EntityGoalFactory
import com.willfp.eco.internal.spigot.proxy.common.ai.TargetGoalFactory
import net.minecraft.core.Registry
import net.minecraft.nbt.CompoundTag
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.entity.LivingEntity
@@ -48,17 +47,14 @@ private val MATERIAL_TO_ITEM = mutableMapOf<Material, Item>()
fun Material.toItem(): Item =
MATERIAL_TO_ITEM.getOrPut(this) {
Registry.ITEM.getOptional(this.key.toResourceLocation())
.orElseThrow { IllegalArgumentException("Material is not item!") }
impl.materialToItem(this)
}
private val ITEM_TO_MATERIAL = mutableMapOf<Item, Material>()
fun Item.toMaterial(): Material =
ITEM_TO_MATERIAL.getOrPut(this) {
val material = Material.getMaterial(Registry.ITEM.getKey(this).path.uppercase())
?: throw IllegalArgumentException("Invalid material!")
material
impl.itemToMaterial(this)
}
fun CompoundTag.makePdc(base: Boolean = false): PersistentDataContainer =
@@ -94,6 +90,10 @@ interface CommonsProvider {
return null
}
fun materialToItem(material: Material): Item
fun itemToMaterial(item: Item): Material
companion object {
fun setIfNeeded(provider: CommonsProvider) {
if (::impl.isInitialized) {

View File

@@ -2,11 +2,15 @@ package com.willfp.eco.internal.spigot.proxy.v1_17_R1
import com.willfp.eco.internal.spigot.proxy.CommonsInitializerProxy
import com.willfp.eco.internal.spigot.proxy.common.CommonsProvider
import com.willfp.eco.internal.spigot.proxy.common.toResourceLocation
import net.minecraft.core.Registry
import net.minecraft.nbt.CompoundTag
import net.minecraft.nbt.Tag
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.entity.PathfinderMob
import net.minecraft.world.item.Item
import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.NamespacedKey
import org.bukkit.craftbukkit.v1_17_R1.CraftServer
import org.bukkit.craftbukkit.v1_17_R1.entity.CraftEntity
@@ -131,5 +135,13 @@ class CommonsInitializer : CommonsInitializerProxy {
}
}
}
override fun materialToItem(material: Material): Item =
Registry.ITEM.getOptional(material.key.toResourceLocation())
.orElseThrow { IllegalArgumentException("Material is not item!") }
override fun itemToMaterial(item: Item) =
Material.getMaterial(Registry.ITEM.getKey(item).path.uppercase())
?: throw IllegalArgumentException("Invalid material!")
}
}

View File

@@ -2,11 +2,15 @@ package com.willfp.eco.internal.spigot.proxy.v1_18_R1
import com.willfp.eco.internal.spigot.proxy.CommonsInitializerProxy
import com.willfp.eco.internal.spigot.proxy.common.CommonsProvider
import com.willfp.eco.internal.spigot.proxy.common.toResourceLocation
import net.minecraft.core.Registry
import net.minecraft.nbt.CompoundTag
import net.minecraft.nbt.Tag
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.entity.PathfinderMob
import net.minecraft.world.item.Item
import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.NamespacedKey
import org.bukkit.craftbukkit.v1_18_R1.CraftServer
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftEntity
@@ -131,5 +135,13 @@ class CommonsInitializer : CommonsInitializerProxy {
}
}
}
override fun materialToItem(material: Material): Item =
Registry.ITEM.getOptional(material.key.toResourceLocation())
.orElseThrow { IllegalArgumentException("Material is not item!") }
override fun itemToMaterial(item: Item) =
Material.getMaterial(Registry.ITEM.getKey(item).path.uppercase())
?: throw IllegalArgumentException("Invalid material!")
}
}

View File

@@ -2,11 +2,15 @@ package com.willfp.eco.internal.spigot.proxy.v1_18_R2
import com.willfp.eco.internal.spigot.proxy.CommonsInitializerProxy
import com.willfp.eco.internal.spigot.proxy.common.CommonsProvider
import com.willfp.eco.internal.spigot.proxy.common.toResourceLocation
import net.minecraft.core.Registry
import net.minecraft.nbt.CompoundTag
import net.minecraft.nbt.Tag
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.entity.PathfinderMob
import net.minecraft.world.item.Item
import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.NamespacedKey
import org.bukkit.craftbukkit.v1_18_R2.CraftServer
import org.bukkit.craftbukkit.v1_18_R2.entity.CraftEntity
@@ -131,5 +135,13 @@ class CommonsInitializer : CommonsInitializerProxy {
}
}
}
override fun materialToItem(material: Material): Item =
Registry.ITEM.getOptional(material.key.toResourceLocation())
.orElseThrow { IllegalArgumentException("Material is not item!") }
override fun itemToMaterial(item: Item) =
Material.getMaterial(Registry.ITEM.getKey(item).path.uppercase())
?: throw IllegalArgumentException("Invalid material!")
}
}

View File

@@ -2,11 +2,15 @@ package com.willfp.eco.internal.spigot.proxy.v1_19_R1
import com.willfp.eco.internal.spigot.proxy.CommonsInitializerProxy
import com.willfp.eco.internal.spigot.proxy.common.CommonsProvider
import com.willfp.eco.internal.spigot.proxy.common.toResourceLocation
import net.minecraft.core.Registry
import net.minecraft.nbt.CompoundTag
import net.minecraft.nbt.Tag
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.entity.PathfinderMob
import net.minecraft.world.item.Item
import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.NamespacedKey
import org.bukkit.craftbukkit.v1_19_R1.CraftServer
import org.bukkit.craftbukkit.v1_19_R1.entity.CraftEntity
@@ -131,5 +135,13 @@ class CommonsInitializer : CommonsInitializerProxy {
}
}
}
override fun materialToItem(material: Material): Item =
Registry.ITEM.getOptional(material.key.toResourceLocation())
.orElseThrow { IllegalArgumentException("Material is not item!") }
override fun itemToMaterial(item: Item) =
Material.getMaterial(Registry.ITEM.getKey(item).path.uppercase())
?: throw IllegalArgumentException("Invalid material!")
}
}

View File

@@ -2,11 +2,16 @@ package com.willfp.eco.internal.spigot.proxy.v1_19_R2
import com.willfp.eco.internal.spigot.proxy.CommonsInitializerProxy
import com.willfp.eco.internal.spigot.proxy.common.CommonsProvider
import com.willfp.eco.internal.spigot.proxy.common.toResourceLocation
import net.minecraft.core.registries.BuiltInRegistries
import net.minecraft.core.registries.Registries
import net.minecraft.nbt.CompoundTag
import net.minecraft.nbt.Tag
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.entity.PathfinderMob
import net.minecraft.world.item.Item
import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.NamespacedKey
import org.bukkit.craftbukkit.v1_19_R2.CraftServer
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity
@@ -131,5 +136,13 @@ class CommonsInitializer : CommonsInitializerProxy {
}
}
}
override fun materialToItem(material: Material): Item =
BuiltInRegistries.ITEM.getOptional(material.key.toResourceLocation())
.orElseThrow { IllegalArgumentException("Material is not item!") }
override fun itemToMaterial(item: Item) =
Material.getMaterial(BuiltInRegistries.ITEM.getKey(item).path.uppercase())
?: throw IllegalArgumentException("Invalid material!")
}
}

View File

@@ -51,10 +51,11 @@ dependencies {
compileOnly 'com.github.N0RSKA:ScytherAPI:55a'
compileOnly 'com.ticxo.modelengine:api:R3.0.1'
compileOnly 'me.TechsCode:UltraEconomyAPI:1.0.0'
compileOnly 'com.github.Ssomar-Developement:SCore:3.4.7'
// MythicMobs
compileOnly 'io.lumine:Mythic:5.0.1'
compileOnly 'io.lumine:LumineUtils:1.16.1-SNAPSHOT'
compileOnly 'io.lumine:Mythic:5.2.1'
compileOnly 'io.lumine:LumineUtils:1.19-SNAPSHOT'
// CombatLogX V10 + NewbieHelper Expansion
compileOnly 'com.SirBlobman.combatlogx:CombatLogX-API:10.0.0.0-SNAPSHOT'

View File

@@ -17,7 +17,7 @@ class CustomEntitiesMythicMobs : CustomEntitiesIntegration {
CustomEntity(
key,
{
val entityId = api.getMythicMobInstance(it)?.type?.entityType ?: return@CustomEntity false
val entityId = api.getMythicMobInstance(it)?.type?.entityType?.name ?: return@CustomEntity false
entityId.equals(id, ignoreCase = true)
},
{

View File

@@ -1,6 +1,6 @@
package com.willfp.eco.internal.spigot.integrations.customitems
import com.ssomar.executableitems.api.ExecutableItemsAPI
import com.ssomar.score.api.executableitems.ExecutableItemsAPI
import com.willfp.eco.core.integrations.customitems.CustomItemsIntegration
import com.willfp.eco.core.items.CustomItem
import com.willfp.eco.core.items.Items
@@ -8,6 +8,7 @@ import com.willfp.eco.core.items.TestableItem
import com.willfp.eco.core.items.provider.ItemProvider
import com.willfp.eco.util.NamespacedKeyUtils
import org.bukkit.inventory.ItemStack
import java.util.Optional
import java.util.function.Predicate
class CustomItemsExecutableItems : CustomItemsIntegration {
@@ -21,15 +22,15 @@ class CustomItemsExecutableItems : CustomItemsIntegration {
private class ExecutableItemsProvider : ItemProvider("executableitems") {
override fun provideForKey(key: String): TestableItem? {
val item = ExecutableItemsAPI.getExecutableItem(key) ?: return null
val item = ExecutableItemsAPI.getExecutableItemsManager().getExecutableItem(key).orElse(null) ?: return null
val namespacedKey = NamespacedKeyUtils.create("executableitems", key)
return CustomItem(
namespacedKey,
Predicate { test: ItemStack ->
val customStack = ExecutableItemsAPI.getExecutableItemConfig(test) ?: return@Predicate false
val customStack = ExecutableItemsAPI.getExecutableItemsManager().getExecutableItem(test).orElse(null) ?: return@Predicate false
customStack.id.equals(key, ignoreCase = true)
},
item
item.buildItem(1, Optional.empty())
)
}
}

View File

@@ -1,3 +1,3 @@
version = 6.48.1
version = 6.48.3
plugin-name = eco
kotlin.code.style = official

Binary file not shown.

Binary file not shown.