Compare commits

...

73 Commits

Author SHA1 Message Date
Will FP
36195e16ce libreforge-updater 2025-03-29 14:22:31 +00:00
Will FP
bae0ab6150 libreforge-updater 2025-01-31 11:55:07 +00:00
Will FP
4445c7f681 libreforge-updater 2025-01-25 13:50:11 +00:00
Will FP
8285613d15 Fix 2025-01-25 13:48:01 +00:00
Will FP
855aa29e4b libreforge-updater 2025-01-25 13:46:06 +00:00
Will FP
92f47d1c87 libreforge-updater 2024-11-06 18:33:33 +00:00
Will FP
5b817fed20 libreforge-updater 2024-10-22 12:14:43 +01:00
Will FP
b6b523b1f8 libreforge-updater 2024-09-22 17:01:04 +01:00
Auxilor
8c016b94ef libreforge-updater 2024-09-02 11:30:08 +01:00
Auxilor
9c87498045 libreforge-updater 2024-08-30 17:25:07 +01:00
Auxilor
cbb48fa888 libreforge-updater 2024-08-29 12:09:17 +01:00
Auxilor
58ecfbe112 libreforge-updater 2024-08-23 15:35:23 +01:00
Auxilor
93e24a6f25 libreforge-updater 2024-08-21 18:58:20 +01:00
Auxilor
d8dfe6fd7c libreforge-updater 2024-08-15 15:07:35 +01:00
Auxilor
4551ddad08 libreforge-updater 2024-08-03 13:41:26 +01:00
Auxilor
e47533f03c libreforge-updater 2024-07-25 10:04:33 +01:00
Auxilor
5c9f792780 libreforge-updater 2024-07-21 12:19:17 +01:00
Auxilor
bde074bd7c libreforge-updater 2024-07-19 20:28:38 +01:00
Auxilor
5d143f6dec libreforge-updater 2024-07-18 13:24:13 +01:00
Auxilor
8abdcd6d33 libreforge-updater 2024-07-16 17:13:42 +01:00
Auxilor
210f618dc9 libreforge-updater 2024-07-13 20:45:18 +01:00
Auxilor
0514220390 libreforge-updater 2024-07-08 15:58:28 +01:00
Auxilor
2135293799 libreforge-updater 2024-07-05 13:02:45 +01:00
Auxilor
14e3d8fdf5 libreforge-updater 2024-07-03 17:43:57 +01:00
Auxilor
db4fb84160 libreforge-updater 2024-06-29 16:44:01 +01:00
Auxilor
6b0541646f libreforge-updater 2024-06-28 15:56:24 +01:00
Auxilor
72f826a57c libreforge-updater 2024-06-27 18:54:28 +01:00
Auxilor
04b0816e72 libreforge-updater 2024-06-26 16:52:20 +01:00
Auxilor
09980fc895 libreforge-updater 2024-06-25 15:13:59 +01:00
Auxilor
c737256349 libreforge-updater 2024-06-24 15:06:34 +01:00
Auxilor
ff4900da4d Updated to Java 21 2024-06-24 13:59:14 +01:00
Auxilor
570f1b1213 libreforge-updater 2024-06-23 17:26:31 +01:00
Auxilor
1f8714bb57 libreforge-updater 2024-06-23 13:19:01 +01:00
Will FP
08e964986b libreforge-updater 2024-05-31 20:37:57 +01:00
Will FP
2dcf954101 libreforge-updater 2024-05-11 18:21:22 +01:00
Will FP
d3d25290fd libreforge-updater 2024-04-17 20:35:06 +01:00
Auxilor
b9939057a0 libreforge-updater 2024-04-15 18:19:43 +01:00
Auxilor
26624faf98 libreforge-updater 2024-04-11 13:17:39 +01:00
Auxilor
23997922ed libreforge-updater 2024-03-29 16:08:46 +00:00
Will FP
b2120c59e3 libreforge-updater 2024-03-11 17:38:12 +00:00
Will FP
c04d6eca01 libreforge-updater 2024-03-10 20:09:43 +00:00
Will FP
5d18b5953a libreforge-updater 2024-03-02 15:20:58 +00:00
Will FP
5345394d14 libreforge-updater 2024-02-22 13:18:28 +00:00
Will FP
0c765272df libreforge-updater 2024-02-15 13:02:42 +00:00
Will FP
f17d4af664 libreforge-updater 2024-02-08 19:50:03 +00:00
Will FP
f57db1cd74 libreforge-updater 2024-01-30 11:27:47 +00:00
Will FP
188cac252f libreforge-updater 2024-01-18 17:03:28 +00:00
Will FP
8fd8f6237e libreforge-updater 2024-01-16 13:29:25 +00:00
Will FP
6abf50b009 libreforge-updater 2024-01-13 14:24:11 +00:00
Will FP
8a750b5824 libreforge-updater 2024-01-07 13:52:05 +00:00
Will FP
1fd45ccd75 libreforge-updater 2024-01-06 09:20:23 +00:00
Auxilor
1fdb3f65df libreforge-updater 2024-01-04 17:25:31 +00:00
Auxilor
a6fe3b095c libreforge-updater 2024-01-01 20:02:32 +00:00
Will FP
86c0c4d391 libreforge-updater 2023-12-27 14:17:52 +01:00
Will FP
b42dfe9be2 libreforge-updater 2023-12-24 14:55:01 +01:00
Auxilor
ea66d98df8 libreforge-updater 2023-12-20 15:57:14 +00:00
Will FP
2cc0d6b3c2 libreforge-updater 2023-12-14 16:13:55 +00:00
Will FP
8e2006fa2c libreforge-updater 2023-12-11 12:13:10 +00:00
Will FP
e8c387e85c libreforge-updater 2023-12-07 17:26:10 +00:00
Will FP
7a82b73b96 Updated to use ModelEngineBridge 2023-12-03 16:07:31 +00:00
Will FP
4049a429d6 libreforge-updater 2023-12-03 15:59:57 +00:00
Will FP
5895c12c6b libreforge-updater 2023-11-30 14:27:51 +00:00
Will FP
0b6112408f libreforge-updater 2023-11-26 23:24:54 +00:00
Will FP
8ee3852ad8 libreforge-updater 2023-11-23 13:21:50 +00:00
Auxilor
5aab3af9ea libreforge-updater 2023-11-21 22:41:48 +00:00
Auxilor
e83d8d4b14 libreforge-updater 2023-11-19 14:14:31 +00:00
Auxilor
0241b2fb2a libreforge-updater 2023-11-17 19:02:39 +00:00
Auxilor
ac9147463a libreforge-updater 2023-11-11 17:59:04 +00:00
Auxilor
d2928ee59f libreforge-updater 2023-11-10 13:59:34 +00:00
Auxilor
315d8f0954 libreforge-updater 2023-11-05 13:42:13 +00:00
Auxilor
7f616da0ce libreforge-updater 2023-10-30 13:31:12 +00:00
Auxilor
eeada10ef8 libreforge-updater 2023-10-28 14:15:39 +01:00
Auxilor
230eb9b87f libreforge-updater 2023-10-24 15:39:40 +01:00
19 changed files with 74 additions and 142 deletions

View File

@@ -15,11 +15,11 @@ jobs:
- name: Checkout latest code
uses: actions/checkout@v2
- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17
java-version: 21
- name: Change wrapper permissions
run: chmod +x ./gradlew

View File

@@ -1,9 +1,11 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
java
`java-library`
`maven-publish`
kotlin("jvm") version "1.7.10"
id("com.github.johnrengelman.shadow") version "8.0.0"
kotlin("jvm") version "2.1.0"
id("com.gradleup.shadow") version "8.3.0"
id("com.willfp.libreforge-gradle-plugin") version "1.0.0"
}
@@ -25,7 +27,7 @@ allprojects {
apply(plugin = "java")
apply(plugin = "kotlin")
apply(plugin = "maven-publish")
apply(plugin = "com.github.johnrengelman.shadow")
apply(plugin = "com.gradleup.shadow")
repositories {
mavenLocal()
@@ -40,7 +42,7 @@ allprojects {
dependencies {
compileOnly("com.willfp:eco:6.55.0")
compileOnly("org.jetbrains:annotations:23.0.0")
compileOnly("org.jetbrains.kotlin:kotlin-stdlib:1.7.10")
compileOnly("org.jetbrains.kotlin:kotlin-stdlib:2.1.0")
}
java {
@@ -52,11 +54,12 @@ allprojects {
shadowJar {
relocate("com.willfp.libreforge.loader", "com.willfp.ecopets.libreforge.loader")
relocate("com.willfp.ecomponent", "com.willfp.ecopets.ecomponent")
relocate("com.willfp.modelenginebridge", "com.willfp.ecopets.modelenginebridge")
}
compileKotlin {
kotlinOptions {
jvmTarget = "17"
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}

View File

@@ -3,10 +3,10 @@ version = rootProject.version
dependencies {
compileOnly("io.papermc.paper:paper-api:1.19.3-R0.1-SNAPSHOT")
compileOnly("com.ticxo.modelengine:api:R3.1.8")
compileOnly("com.github.ben-manes.caffeine:caffeine:3.0.2")
implementation("com.willfp:ecomponent:1.3.0")
implementation("com.willfp:ModelEngineBridge:1.2.0")
}
publishing {

View File

@@ -30,7 +30,9 @@ import com.willfp.libreforge.filters.Filters
import com.willfp.libreforge.loader.LibreforgePlugin
import com.willfp.libreforge.loader.configs.ConfigCategory
import com.willfp.libreforge.registerHolderProvider
import com.willfp.libreforge.registerSpecificHolderProvider
import com.willfp.libreforge.triggers.Triggers
import org.bukkit.entity.Player
import org.bukkit.event.Listener
class EcoPetsPlugin : LibreforgePlugin() {
@@ -55,10 +57,10 @@ class EcoPetsPlugin : LibreforgePlugin() {
Triggers.register(TriggerGainPetXp)
Triggers.register(TriggerLevelUpPet)
Filters.register(FilterPet)
registerHolderProvider {
it.activePetLevel?.let { l ->
listOf(SimpleProvidedHolder(l))
registerSpecificHolderProvider<Player> {
it.activePetLevel?.let { p ->
listOf(SimpleProvidedHolder(p))
} ?: emptyList()
}

View File

@@ -3,9 +3,12 @@ package com.willfp.ecopets.libreforge
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecopets.api.EcoPetsAPI
import com.willfp.ecopets.pets.Pets
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import org.bukkit.entity.Player
object ConditionHasActivePet : Condition<NoCompileData>("has_active_pet") {
@@ -13,11 +16,14 @@ object ConditionHasActivePet : Condition<NoCompileData>("has_active_pet") {
require("pet", "You must specify the pet!")
}
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
override fun isMet(
dispatcher: Dispatcher<*>,
config: Config,
holder: ProvidedHolder,
compileData: NoCompileData
): Boolean {
val player = dispatcher.get<Player>() ?: return false
return EcoPetsAPI.instance.getActivePet(player) == Pets.getByID(config.getString("pet").lowercase())
// return EcoPetsAPI.instance.hasPet(
// player,
// Pets.getByID(config.getString("pet").lowercase()) ?: return false
// )
}
}

View File

@@ -3,12 +3,22 @@ package com.willfp.ecopets.libreforge
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecopets.api.EcoPetsAPI
import com.willfp.ecopets.pets.Pets
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import org.bukkit.entity.Player
object ConditionHasPet : Condition<NoCompileData>("has_pet") {
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
override fun isMet(
dispatcher: Dispatcher<*>,
config: Config,
holder: ProvidedHolder,
compileData: NoCompileData
): Boolean {
val player = dispatcher.get<Player>() ?: return false
return EcoPetsAPI.instance.hasPet(
player,
Pets.getByID(config.getString("pet").lowercase()) ?: return false

View File

@@ -4,9 +4,13 @@ import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecopets.api.EcoPetsAPI
import com.willfp.ecopets.api.event.PlayerPetLevelUpEvent
import com.willfp.ecopets.pets.Pets
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.updateEffects
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler
@@ -20,10 +24,17 @@ object ConditionHasPetLevel : Condition<NoCompileData>("has_pet_level") {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
fun handle(event: PlayerPetLevelUpEvent) {
event.player.updateEffects()
event.player.toDispatcher().updateEffects()
}
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
override fun isMet(
dispatcher: Dispatcher<*>,
config: Config,
holder: ProvidedHolder,
compileData: NoCompileData
): Boolean {
val player = dispatcher.get<Player>() ?: return false
return EcoPetsAPI.instance.getPetLevel(
player,
Pets.getByID(config.getString("pet").lowercase()) ?: return false

View File

@@ -4,6 +4,7 @@ import com.willfp.ecopets.api.event.PlayerPetExpGainEvent
import com.willfp.ecopets.pets.Pet
import com.willfp.ecopets.pets.Pets
import com.willfp.libreforge.effects.templates.MultiMultiplierEffect
import com.willfp.libreforge.toDispatcher
import org.bukkit.event.EventHandler
object EffectPetXpMultiplier : MultiMultiplierEffect<Pet>("pet_xp_multiplier") {
@@ -21,6 +22,6 @@ object EffectPetXpMultiplier : MultiMultiplierEffect<Pet>("pet_xp_multiplier") {
fun handle(event: PlayerPetExpGainEvent) {
val player = event.player
event.amount *= getMultiplier(player, event.pet)
event.amount *= getMultiplier(player.toDispatcher(), event.pet)
}
}

View File

@@ -1,6 +1,7 @@
package com.willfp.ecopets.libreforge
import com.willfp.ecopets.api.event.PlayerPetExpGainEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter
@@ -18,7 +19,7 @@ object TriggerGainPetXp : Trigger("gain_pet_xp") {
val player = event.player
this.dispatch(
player,
player.toDispatcher(),
TriggerData(
player = player,
location = player.location,

View File

@@ -1,6 +1,7 @@
package com.willfp.ecopets.libreforge
import com.willfp.ecopets.api.event.PlayerPetLevelUpEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter
@@ -18,7 +19,7 @@ object TriggerLevelUpPet : Trigger("level_up_pet") {
val player = event.player
this.dispatch(
player,
player.toDispatcher(),
TriggerData(
player = player,
location = player.location,

View File

@@ -114,7 +114,6 @@ class Pet(
}
val entityTexture = config.getString("entity-texture")
val modelEngineAnimation = config.getStringOrNull("modelengine-animation")
private val levelXpRequirements = listOf(0) + config.getInts("level-xp-requirements")

View File

@@ -1,8 +1,8 @@
package com.willfp.ecopets.pets.entity
import com.ticxo.modelengine.api.ModelEngineAPI
import com.willfp.ecopets.EcoPetsPlugin
import com.willfp.ecopets.pets.Pet
import com.willfp.modelenginebridge.ModelEngineBridge
import org.bukkit.Location
import org.bukkit.entity.ArmorStand
@@ -13,29 +13,11 @@ class ModelEnginePetEntity(
) : PetEntity(pet) {
override fun spawn(location: Location): ArmorStand {
val stand = emptyArmorStandAt(location, pet)
val meAnimation = pet.modelEngineAnimation
val model = ModelEngineAPI.createActiveModel(modelID)
val model = ModelEngineBridge.instance.createActiveModel(modelID) ?: return stand
if (meAnimation != null) {
val animationHandler = model.animationHandler
val animationProperty = animationHandler.getAnimation(meAnimation)
if (animationProperty != null) {
animationHandler.playAnimation(animationProperty, true)
} else {
plugin.logger.warning("Animation $meAnimation not found in model $modelID, defaulting to walk!")
val animationPropertyWalk = animationHandler.getAnimation("walk")
if (animationPropertyWalk != null) {
animationHandler.playAnimation(animationPropertyWalk, true)
} else {
plugin.logger.warning("Walk animation not found in $modelID!")
}
}
}
val modelled = ModelEngineAPI.createModeledEntity(stand)
modelled.addModel(model, true)
val modelled = ModelEngineBridge.instance.createModeledEntity(stand)
modelled.addModel(model)
return stand
}

View File

@@ -1,83 +0,0 @@
name: ${pluginName}
version: ${version}
main: com.willfp.ecopets.EcoPetsPlugin
api-version: 1.19
dependencies:
- name: eco
required: true
bootstrap: false
- name: libreforge
required: false
bootstrap: false
load-after:
- name: eco
bootstrap: false
permissions:
ecopets.*:
description: All ecopets permissions
default: op
children:
ecopets.command.*: true
ecopets.command.*:
description: All commands
default: op
children:
ecopets.command.ecopets: true
ecopets.command.reload: true
ecopets.command.pets: true
ecopets.command.give: true
ecopets.command.giveegg: true
ecopets.command.givexp: true
ecopets.command.givecurrentxp: true
ecopets.command.reset: true
ecopets.command.activate: true
ecopets.command.deactivate: true
ecopets.command.reload:
description: Allows reloading the config
default: op
ecopets.command.ecopets:
description: Allows the use of /ecopets.
default: true
ecopets.command.pets:
description: Allows the use of /pets.
default: true
ecopets.command.give:
description: Allows the use of /ecopets give.
default: op
ecopets.command.giveegg:
description: Allows the use of /ecopets giveegg.
default: op
ecopets.command.givexp:
description: Allows the use of /ecopets givexp.
default: op
ecopets.command.givecurrentxp:
description: Allows the use of /ecopets givecurrentxp.
default: op
ecopets.command.reset:
description: Allows the use of /ecopets reset.
default: op
ecopets.command.activate:
description: Allows the use of /pets activate.
default: true
ecopets.command.deactivate:
description: Allows the use of /pets deactivate.
default: true
ecopets.xpmultiplier.50percent:
description: Gives the player 50% more skill experience
default: false
ecopets.xpmultiplier.double:
description: Gives the player 2x skill experience
default: false
ecopets.xpmultiplier.triple:
description: Gives the player 3x skill experience
default: false
ecopets.xpmultiplier.quadruple:
description: Gives the player 4x skill experience
default: false

View File

@@ -116,7 +116,6 @@ conditions: [ ]
# The texture of the pet entity in game
# If you're using modelengine, use modelengine:id as the texture
entity-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA5NWZjYzFlM2Q3Y2JkMzUwZjE5YjM4OTQ5OGFiOGJiOTZjNjVhZDE4NWQzNDU5MjA2N2E3ZDAzM2FjNDhkZSJ9fX0="
modelengine-animation: "fly" # If you're using ModelEngine, you can specify an animation here
# The icon in GUIs
icon: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA5NWZjYzFlM2Q3Y2JkMzUwZjE5YjM4OTQ5OGFiOGJiOTZjNjVhZDE4NWQzNDU5MjA2N2E3ZDAzM2FjNDhkZSJ9fX0=

View File

@@ -1,5 +1,5 @@
#libreforge-updater
#Thu Oct 19 12:52:41 BST 2023
#Sat Mar 29 14:22:31 GMT 2025
kotlin.code.style=official
libreforge-version=4.37.1
version=2.37.1
libreforge-version=4.75.0
version=2.74.0

Binary file not shown.

View File

@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -1,6 +0,0 @@
jdk: openjdk17
before_install:
- source "$HOME/.sdkman/bin/sdkman-init.sh"
- sdk update
- sdk install java 17.0.1-tem
- sdk use java 17.0.1-tem

View File

@@ -2,11 +2,15 @@ pluginManagement {
repositories {
gradlePluginPortal()
mavenLocal()
maven("https://repo.jpenilla.xyz/snapshots/")
maven("https://repo.auxilor.io/repository/maven-public/")
maven("https://repo.papermc.io/repository/maven-public/")
}
}
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
}
rootProject.name = "EcoPets"
// Core