Compare commits

...

27 Commits

Author SHA1 Message Date
Auxilor
7da97170cf libreforge-updater 2023-02-09 14:13:23 +00:00
Auxilor
0f8e9b07e7 Updated to 1.69.0 2023-02-08 17:35:03 +00:00
Auxilor
bb411f6b9d Updated ME API 2023-02-08 17:34:56 +00:00
Auxilor
dff4bdc24f Added PetEvent 2023-02-08 17:34:09 +00:00
Auxilor
b05fef4dc3 libreforge-updater 2023-02-07 14:47:32 +00:00
Auxilor
05a45739e3 libreforge-updater 2023-02-04 15:37:40 +00:00
Auxilor
edc98b1300 libreforge-updater 2023-01-24 10:10:11 +00:00
Auxilor
a08286cd39 libreforge-updater 2023-01-17 16:49:23 +00:00
Auxilor
6f370657c4 libreforge-updater 2023-01-13 18:09:30 +00:00
Auxilor
8d28445639 libreforge-updater 2023-01-07 12:18:35 +00:00
Auxilor
5ca0cb4f82 libreforge-updater 2023-01-02 15:59:15 +00:00
Auxilor
c2f2088986 libreforge-updater 2022-12-26 14:02:32 +01:00
Auxilor
02c120fc0a Updated model engine 2022-12-20 15:21:13 +00:00
Auxilor
404d908efe libreforge-updater 2022-12-20 15:16:19 +00:00
Auxilor
b430dcaf5b libreforge-updater 2022-12-12 14:02:12 +00:00
Auxilor
84acf13c8d libreforge-updater 2022-12-09 17:02:31 +00:00
Auxilor
5465a7412f libreforge-updater 2022-12-05 10:51:52 +00:00
Auxilor
4a8ea43b5b Merge remote-tracking branch 'origin/master' 2022-12-04 15:05:48 +00:00
Auxilor
a2d147e54c Updated to 1.64.2 2022-12-04 15:05:42 +00:00
Will FP
2ceb670999 Merge pull request #34
Fix bugs
2022-12-04 15:05:24 +00:00
TomTom
a4cef52d5c Merge branch 'Auxilor:master' into fixes 2022-11-30 18:54:38 +01:00
Auxilor
b653d97794 libreforge-updater 2022-11-30 17:39:35 +00:00
TomTom
f44ca8a7e3 Fix bald 2022-11-29 16:35:29 +01:00
TomTom
56ddfeca39 Add being able to disable pet entities 2022-11-29 16:11:04 +01:00
TomTom
332fd55f0b Fix stuff 2022-11-28 16:04:50 +01:00
Auxilor
452c20f534 libreforge-updater 2022-11-27 21:45:42 +00:00
Auxilor
6002bc0b47 libreforge-updater 2022-11-26 19:21:36 +00:00
10 changed files with 45 additions and 29 deletions

View File

@@ -49,7 +49,7 @@ allprojects {
dependencies {
compileOnly 'com.willfp:eco:6.44.0'
implementation 'com.willfp:libreforge:3.122.0'
implementation 'com.willfp:libreforge:3.129.0'
implementation 'com.willfp:ecomponent:1.0.0'
implementation 'org.joml:joml:1.10.4'

View File

@@ -7,7 +7,7 @@ dependencies {
compileOnly 'net.kyori:adventure-api:4.10.1'
compileOnly 'net.essentialsx:EssentialsX:2.19.0'
compileOnly 'com.github.ben-manes.caffeine:caffeine:3.0.6'
compileOnly 'com.ticxo.modelengine:api:R3.0.0'
compileOnly 'com.ticxo.modelengine:api:R3.1.4'
}
build.dependsOn publishToMavenLocal

View File

@@ -41,6 +41,10 @@ class EcoPetsPlugin : LibReforgePlugin() {
}
override fun handleReloadAdditional() {
if (!this.configYml.getBool("pet-entity.enabled")) {
return
}
this.scheduler.runTimer(1, 1) {
petDisplay.tickAll()
}

View File

@@ -0,0 +1,7 @@
package com.willfp.ecopets.api.event
import com.willfp.ecopets.pets.Pet
interface PetEvent {
val pet: Pet
}

View File

@@ -1,18 +1,17 @@
package com.willfp.ecopets.api.event
import org.bukkit.entity.Player
import com.willfp.ecopets.pets.Pet
import org.bukkit.event.player.PlayerEvent
import org.bukkit.event.HandlerList
import com.willfp.ecopets.api.event.PlayerPetExpGainEvent
import org.bukkit.entity.Player
import org.bukkit.event.Cancellable
import org.bukkit.event.HandlerList
import org.bukkit.event.player.PlayerEvent
class PlayerPetExpGainEvent(
who: Player,
val pet: Pet,
override val pet: Pet,
var amount: Double,
val isMultiply: Boolean
) : PlayerEvent(who), Cancellable {
) : PlayerEvent(who), Cancellable, PetEvent {
private var cancelled = false
override fun setCancelled(cancel: Boolean) {

View File

@@ -1,16 +1,15 @@
package com.willfp.ecopets.api.event
import org.bukkit.entity.Player
import com.willfp.ecopets.pets.Pet
import org.bukkit.event.player.PlayerEvent
import org.bukkit.entity.Player
import org.bukkit.event.HandlerList
import com.willfp.ecopets.api.event.PlayerPetLevelUpEvent
import org.bukkit.event.player.PlayerEvent
class PlayerPetLevelUpEvent(
who: Player,
val pet: Pet,
override val pet: Pet,
val level: Int
) : PlayerEvent(who) {
) : PlayerEvent(who), PetEvent {
override fun getHandlers(): HandlerList {
return handlerList
}

View File

@@ -53,7 +53,7 @@ class CommandActivate(plugin: EcoPlugin) : Subcommand(plugin, "activate", "ecope
if (args.size == 1) {
StringUtil.copyPartialMatches(
args[1],
args[0],
Pets.values().filter { sender.hasPet(it) }.map { it.id },
completions
)

View File

@@ -9,7 +9,9 @@ import org.bukkit.entity.ArmorStand
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.player.PlayerChangedWorldEvent
import org.bukkit.event.player.PlayerQuitEvent
import org.bukkit.event.player.PlayerTeleportEvent
import java.util.UUID
import kotlin.math.PI
import kotlin.math.abs
@@ -45,17 +47,7 @@ class PetDisplay(
location.y += NumberUtils.fastSin(tick / (2 * PI) * 0.5) * 0.15
if (location.world != null) {
try {
stand.teleport(location)
} catch (_: Throwable) {
/*
For anyone reading - I KNOW TO NEVER CATCH THROWABLE
but NMS is really stupid and does this sometimes:
java.lang.Throwable: null
at net.minecraft.world.entity.Entity.teleportTo(Entity.java:3336) ~[paper-1.19.2.jar:git-Paper-186]
so I guess that's what has to be done. Not sure what the actual cause is.
*/
}
}
if (!pet.entityTexture.contains(":")) {
@@ -117,10 +109,24 @@ class PetDisplay(
trackedEntities.clear()
}
private fun remove(player: Player) {
trackedEntities[player.uniqueId]?.stand?.remove()
trackedEntities.remove(player.uniqueId)
}
@EventHandler
fun onLeave(event: PlayerQuitEvent) {
trackedEntities[event.player.uniqueId]?.stand?.remove()
trackedEntities.remove(event.player.uniqueId)
remove(event.player)
}
@EventHandler
fun onTeleport(event: PlayerTeleportEvent) {
remove(event.player)
}
@EventHandler
fun onWorldChange(event: PlayerChangedWorldEvent) {
remove(event.player)
}
private data class PetArmorStand(

View File

@@ -217,6 +217,7 @@ level-gui:
custom-slots: [ ]
pet-entity:
enabled: true # If you disable this, there will be no floating pets
name: "%player%&f's %pet%&f (Lvl. %level%)"
level-up:

View File

@@ -1,4 +1,4 @@
#libreforge-updater
#Thu Nov 24 14:31:26 GMT 2022
version=1.62.0
#Thu Feb 09 14:13:23 GMT 2023
version=1.70.0
plugin-name=EcoPets