V3
-- Comment
+ Small Code Clean Up ; mostly Deprecation issues
-- File Update
+ Fmpp.kt
+ FMPPCommand.kt
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package org.fmpp.fmpp
|
||||
|
||||
import org.bukkit.ChatColor
|
||||
@@ -47,17 +49,16 @@ class FMPPCommand(private val plugin: Fmpp) : CommandExecutor {
|
||||
|
||||
if (vehicle is Minecart) {
|
||||
// Get powered minecart if this is a linked regular minecart
|
||||
val poweredMinecart = if (vehicle is PoweredMinecart) {
|
||||
vehicle
|
||||
} else if (vehicle.hasMetadata("fmpp_linked")) {
|
||||
// Find linked powered minecart
|
||||
vehicle.getNearbyEntities(5.0, 5.0, 5.0)
|
||||
.filterIsInstance<PoweredMinecart>()
|
||||
.firstOrNull { it.hasMetadata("fmpp_linked_to") &&
|
||||
it.getMetadata("fmpp_linked_to").firstOrNull()?.asString() == vehicle.uniqueId.toString() }
|
||||
} else {
|
||||
null
|
||||
}
|
||||
val poweredMinecart = vehicle as? PoweredMinecart
|
||||
?: if (vehicle.hasMetadata("fmpp_linked")) {
|
||||
// Find linked powered minecart
|
||||
vehicle.getNearbyEntities(5.0, 5.0, 5.0)
|
||||
.filterIsInstance<PoweredMinecart>()
|
||||
.firstOrNull { it.hasMetadata("fmpp_linked_to") &&
|
||||
it.getMetadata("fmpp_linked_to").firstOrNull()?.asString() == vehicle.uniqueId.toString() }
|
||||
} else {
|
||||
null
|
||||
}
|
||||
|
||||
if (poweredMinecart != null) {
|
||||
// Boost the powered minecart in the direction it's facing
|
||||
@@ -83,17 +84,16 @@ class FMPPCommand(private val plugin: Fmpp) : CommandExecutor {
|
||||
|
||||
if (vehicle is Minecart) {
|
||||
// Get powered minecart if this is a linked regular minecart
|
||||
val poweredMinecart = if (vehicle is PoweredMinecart) {
|
||||
vehicle
|
||||
} else if (vehicle.hasMetadata("fmpp_linked")) {
|
||||
// Find linked powered minecart
|
||||
vehicle.getNearbyEntities(5.0, 5.0, 5.0)
|
||||
.filterIsInstance<PoweredMinecart>()
|
||||
.firstOrNull { it.hasMetadata("fmpp_linked_to") &&
|
||||
it.getMetadata("fmpp_linked_to").firstOrNull()?.asString() == vehicle.uniqueId.toString() }
|
||||
} else {
|
||||
null
|
||||
}
|
||||
val poweredMinecart = vehicle as? PoweredMinecart
|
||||
?: if (vehicle.hasMetadata("fmpp_linked")) {
|
||||
// Find linked powered minecart
|
||||
vehicle.getNearbyEntities(5.0, 5.0, 5.0)
|
||||
.filterIsInstance<PoweredMinecart>()
|
||||
.firstOrNull { it.hasMetadata("fmpp_linked_to") &&
|
||||
it.getMetadata("fmpp_linked_to").firstOrNull()?.asString() == vehicle.uniqueId.toString() }
|
||||
} else {
|
||||
null
|
||||
}
|
||||
|
||||
if (poweredMinecart != null) {
|
||||
// Set fuel via metadata as backup
|
||||
@@ -122,17 +122,16 @@ class FMPPCommand(private val plugin: Fmpp) : CommandExecutor {
|
||||
|
||||
if (vehicle is Minecart) {
|
||||
// Get powered minecart if this is a linked regular minecart
|
||||
val poweredMinecart = if (vehicle is PoweredMinecart) {
|
||||
vehicle
|
||||
} else if (vehicle.hasMetadata("fmpp_linked")) {
|
||||
// Find linked powered minecart
|
||||
vehicle.getNearbyEntities(5.0, 5.0, 5.0)
|
||||
.filterIsInstance<PoweredMinecart>()
|
||||
.firstOrNull { it.hasMetadata("fmpp_linked_to") &&
|
||||
it.getMetadata("fmpp_linked_to").firstOrNull()?.asString() == vehicle.uniqueId.toString() }
|
||||
} else {
|
||||
null
|
||||
}
|
||||
val poweredMinecart = vehicle as? PoweredMinecart
|
||||
?: if (vehicle.hasMetadata("fmpp_linked")) {
|
||||
// Find linked powered minecart
|
||||
vehicle.getNearbyEntities(5.0, 5.0, 5.0)
|
||||
.filterIsInstance<PoweredMinecart>()
|
||||
.firstOrNull { it.hasMetadata("fmpp_linked_to") &&
|
||||
it.getMetadata("fmpp_linked_to").firstOrNull()?.asString() == vehicle.uniqueId.toString() }
|
||||
} else {
|
||||
null
|
||||
}
|
||||
|
||||
if (poweredMinecart != null) {
|
||||
poweredMinecart.velocity = Vector(0, 0, 0)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package org.fmpp.fmpp
|
||||
|
||||
import org.bukkit.ChatColor
|
||||
@@ -13,11 +15,11 @@ import org.bukkit.event.vehicle.VehicleMoveEvent
|
||||
import org.bukkit.plugin.java.JavaPlugin
|
||||
import org.bukkit.util.Vector
|
||||
import kotlin.math.abs
|
||||
import org.bukkit.entity.Entity
|
||||
import org.bukkit.event.player.PlayerInteractEntityEvent
|
||||
import org.bukkit.inventory.ItemStack
|
||||
import org.bukkit.metadata.FixedMetadataValue
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
class Fmpp : JavaPlugin() {
|
||||
|
||||
override fun onEnable() {
|
||||
@@ -92,7 +94,6 @@ class Fmpp : JavaPlugin() {
|
||||
if (entity is Minecart && entity !is PoweredMinecart && linkedMinecarts.containsKey(entity)) {
|
||||
if (player.inventory.itemInMainHand.type == Material.SHEARS) {
|
||||
// Unlink the minecarts
|
||||
val poweredMinecart = linkedMinecarts[entity]
|
||||
unlinkMinecarts(entity)
|
||||
|
||||
player.sendMessage("${ChatColor.YELLOW}Unlinked minecart from powered minecart.")
|
||||
@@ -181,7 +182,9 @@ class Fmpp : JavaPlugin() {
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
// Fallback if reflection doesn't work - store fuel in metadata
|
||||
if (!vehicle.hasMetadata("fmpp_fuel") || vehicle.getMetadata("fmpp_fuel").firstOrNull()?.asInt() ?: 0 < 100) {
|
||||
if (!vehicle.hasMetadata("fmpp_fuel") || (vehicle.getMetadata("fmpp_fuel").firstOrNull()?.asInt()
|
||||
?: 0) < 100
|
||||
) {
|
||||
vehicle.setMetadata("fmpp_fuel", FixedMetadataValue(plugin, 3600))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user