Correct order of getObject arguments and add default args for at least the Kotlin callers

This commit is contained in:
Player Name 2026-07-30 14:29:43 +02:00
parent 883eac2015
commit 54b894f6e6
12 changed files with 34 additions and 38 deletions

View file

@ -19,7 +19,6 @@ import core.game.world.GameWorld;
import core.game.world.map.*;
import core.game.world.map.zone.MapZone;
import core.game.world.map.zone.ZoneBuilder;
import core.game.world.repository.Repository;
import core.game.world.update.flag.context.Animation;
import core.plugin.Initializable;
import core.plugin.Plugin;
@ -251,19 +250,19 @@ public final class BrimhavenArena extends MapZone implements Plugin<Object> {
if (GameWorld.getTicks() % ticks == 0) {
sawBladeActive = !sawBladeActive;
if (sawBladeActive) {
Scenery object = RegionManager.getObject(3, 2788, 9579);
Scenery object = RegionManager.getObject(2788, 9579, 3);
SceneryBuilder.replace(object, object.transform(3567, object.getRotation(), 10), ticks);
object = RegionManager.getObject(3, 2789, 9579);
object = RegionManager.getObject(2789, 9579, 3);
SceneryBuilder.replace(object, object.transform(0), ticks);
object = RegionManager.getObject(3, 2783, 9551);
object = RegionManager.getObject(2783, 9551, 3);
SceneryBuilder.replace(object, object.transform(3567, object.getRotation(), 10), ticks);
object = RegionManager.getObject(3, 2783, 9552);
object = RegionManager.getObject(2783, 9552, 3);
SceneryBuilder.replace(object, object.transform(0), ticks);
object = RegionManager.getObject(3, 2761, 9584);
object = RegionManager.getObject(2761, 9584, 3);
SceneryBuilder.replace(object, object.transform(3567, object.getRotation(), 10), ticks);
object = RegionManager.getObject(3, 2761, 9585);
object = RegionManager.getObject(2761, 9585, 3);
SceneryBuilder.replace(object, object.transform(0), ticks);
}
}

View file

@ -8,7 +8,6 @@ import core.game.node.entity.skill.Skills;
import core.game.interaction.NodeUsageEvent;
import core.game.interaction.UseWithHandler;
import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.audio.Audio;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
@ -60,11 +59,11 @@ public class BoneOfferPlugin extends UseWithHandler {
Scenery left = null;
Scenery right = null;
if (event.getUsedWith().asScenery().getRotation() % 2 == 0) {
left = RegionManager.getObject(event.getUsedWith().getLocation().getZ(), event.getUsedWith().getLocation().getX() + 3, event.getUsedWith().getLocation().getY());
right = RegionManager.getObject(event.getUsedWith().getLocation().getZ(), event.getUsedWith().getLocation().getX() - 2, event.getUsedWith().getLocation().getY());
left = RegionManager.getObject(event.getUsedWith().getLocation().getX() + 3, event.getUsedWith().getLocation().getY(), event.getUsedWith().getLocation().getZ());
right = RegionManager.getObject(event.getUsedWith().getLocation().getX() - 2, event.getUsedWith().getLocation().getY(), event.getUsedWith().getLocation().getZ());
} else {
left = RegionManager.getObject(event.getUsedWith().getLocation().getZ(), event.getUsedWith().getLocation().getX(), event.getUsedWith().getLocation().getY() + 3);
right = RegionManager.getObject(event.getUsedWith().getLocation().getZ(), event.getUsedWith().getLocation().getX(), event.getUsedWith().getLocation().getY() - 2);
left = RegionManager.getObject(event.getUsedWith().getLocation().getX(), event.getUsedWith().getLocation().getY() + 3, event.getUsedWith().getLocation().getZ());
right = RegionManager.getObject(event.getUsedWith().getLocation().getX(), event.getUsedWith().getLocation().getY() - 2, event.getUsedWith().getLocation().getZ());
}
Bones b = Bones.forId(event.getUsedItem().getId());
if (b != null) {

View file

@ -31,7 +31,6 @@ import core.plugin.Plugin;
import core.plugin.ClassScanner;
import core.tools.RandomFunction;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import static core.api.ContentAPIKt.clearLogoutListener;
import static core.api.ContentAPIKt.registerLogoutListener;
@ -73,7 +72,7 @@ public final class CyclopesRoom extends MapZone implements Plugin<Object> {
Pathfinder.find(p.getLocation(), Location.create(2847, 3541, 2)).walk(p);
p.lock(50);
} else {
Scenery object = RegionManager.getObject(2, 2847, 3541);
Scenery object = RegionManager.getObject(2847, 3541, 2);
if (object != null && p.getLocation().getX() == 2847 && p.getLocation().getY() == 3541) {
DoorActionHandler.handleAutowalkDoor(p, object);
leave(p);

View file

@ -200,7 +200,7 @@ public class FortressGuardDialogue extends DialoguePlugin {
break;
case 54:
end();
DoorActionHandler.handleAutowalkDoor(player, RegionManager.getObject(0, 3020, 3515));
DoorActionHandler.handleAutowalkDoor(player, RegionManager.getObject(3020, 3515, 0));
List<NPC> npcs = RegionManager.getLocalNPCs(player.getLocation());
for (NPC npc : npcs) {
if (npc.getId() == 179) {

View file

@ -83,7 +83,7 @@ public final class GodwarsEntranceHandler extends OptionHandler {
GameWorld.getPulser().submit(new Pulse(12, player) {
@Override
public boolean pulse() {
player.getPacketDispatch().sendSceneryAnimation(RegionManager.getObject(0, 2898, 3716), Animation.create(6981));
player.getPacketDispatch().sendSceneryAnimation(RegionManager.getObject(2898, 3716, 0), Animation.create(6981));
return true;
}
});

View file

@ -367,7 +367,7 @@ class TearsOfGuthixGlobalTick : TickListener {
*/
wallStates.forEachIndexed { index, state ->
val wallLocation = allWalls[index + 1]
val currentWaterfall = RegionManager.getObject(wallLocation.z, wallLocation.x, wallLocation.y, -1, 4)!!
val currentWaterfall = RegionManager.getObject(wallLocation.x, wallLocation.y, wallLocation.z, -1, 4)!!
val newWaterfallId = when (state) {
2 -> {
if (index + 1 <= 5) Scenery.GREEN_TEARS_6662 else Scenery.GREEN_TEARS_6666

View file

@ -1080,7 +1080,7 @@ fun findNPC(id: Int): NPC? {
* @param z the Z coordinate to use
*/
fun getScenery(x: Int, y: Int, z: Int): Scenery? {
return RegionManager.getObject(z, x, y)
return RegionManager.getObject(x, y, z)
}
/**

View file

@ -323,19 +323,19 @@ public class AIPlayer extends Player {
}
for (int x = 0; x < range; x++) {
for (int y = 0; y < range - x; y++) {
Node node = RegionManager.getObject(0, meX + x, meY + y);
Node node = RegionManager.getObject(meX + x, meY + y, 0);
if (node != null)
if (node.getId() == entry)
nodes.add(node);
Node node2 = RegionManager.getObject(0, meX + x, meY - y);
Node node2 = RegionManager.getObject(meX + x, meY - y, 0);
if (node2 != null)
if (node2.getId() == entry)
nodes.add(node2);
Node node3 = RegionManager.getObject(0, meX - x, meY + y);
Node node3 = RegionManager.getObject(meX - x, meY + y, 0);
if (node3 != null)
if (node3.getId() == entry)
nodes.add(node3);
Node node4 = RegionManager.getObject(0, meX - x, meY - y);
Node node4 = RegionManager.getObject(meX - x, meY - y, 0);
if (node4 != null)
if (node4.getId() == entry)
nodes.add(node4);
@ -356,19 +356,19 @@ public class AIPlayer extends Player {
}
for (int x = 0; x < range; x++) {
for (int y = 0; y < range - x; y++) {
Node node = RegionManager.getObject(0, meX + x, meY + y);
Node node = RegionManager.getObject(meX + x, meY + y, 0);
if (node != null)
if (entrys.contains(node.getId()))
nodes.add(node);
Node node2 = RegionManager.getObject(0, meX + x, meY - y);
Node node2 = RegionManager.getObject(meX + x, meY - y, 0);
if (node2 != null)
if (entrys.contains(node2.getId()))
nodes.add(node2);
Node node3 = RegionManager.getObject(0, meX - x, meY + y);
Node node3 = RegionManager.getObject(meX - x, meY + y, 0);
if (node3 != null)
if (entrys.contains(node3.getId()))
nodes.add(node3);
Node node4 = RegionManager.getObject(0, meX - x, meY - y);
Node node4 = RegionManager.getObject(meX - x, meY - y, 0);
if (node4 != null)
if (entrys.contains(node4.getId()))
nodes.add(node4);

View file

@ -491,7 +491,7 @@ public final class DoorActionHandler {
}
private static Scenery getAdjacentDoor(Location location, int type) {
return RegionManager.getObject(location.getZ(), location.getX(), location.getY(), -1, type);
return RegionManager.getObject(location.getX(), location.getY(), location.getZ(), -1, type);
}
/**

View file

@ -1,7 +1,6 @@
package core.game.system.command
import core.game.node.entity.player.Player
import core.game.system.command.CommandSet
import core.game.world.map.Location
import core.game.world.map.RegionManager
import core.plugin.Initializable
@ -34,7 +33,7 @@ class MapDumpCommand : CommandPlugin() {
for (x in 0 until xmax - 1) {
for (y in 0 until ymax - 1) {
for (z in 0 until zmax - 1) {
val temp = RegionManager.getObject(z, x, y)
val temp = RegionManager.getObject(x, y, z)
if (temp != null) {
GameObjectMap[Location(x, y, z)] = temp.id
}

View file

@ -300,32 +300,32 @@ object RegionManager {
*/
@JvmStatic
fun getObject(l: Location): Scenery? {
return getObject(l.z, l.x, l.y)
return getObject(l.x, l.y, l.z)
}
/**
* Gets the scenery on the current absolute coordinates.
* @param z The height.
* @param x The x-coordinate.
* @param y The y-coordinate.
* @param z The height.
* @return The scenery, or `null` if no object was found.
*/
@JvmStatic
fun getObject(z: Int, x: Int, y: Int): Scenery? {
return getObject(z, x, y, -1, -1)
fun getObject(x: Int, y: Int, z: Int): Scenery? {
return getObject(x, y, z, -1, -1)
}
/**
* Gets the object on the given absolute coordinates.
* @param z The height.
* @param x The x-coordinate.
* @param y The y-coordinate.
* @param z The height.
* @param objectId The object id. May be -1, which means 'any'.
* @param type The scenery type. May be -1, which means 'any'.
* @return The scenery, or `null` if no object was found.
*/
@JvmStatic
fun getObject(z: Int, x: Int, y: Int, objectId: Int, type: Int): Scenery? {
fun getObject(x: Int, y: Int, z: Int, objectId: Int = -1, type: Int = -1): Scenery? {
val loc = Location(x, y, z)
val region = forId(loc.regionId)
Region.load(region)

View file

@ -406,7 +406,7 @@ object PacketProcessor {
player = pkt.player
child = pkt.child
iface = pkt.iface
target = RegionManager.getObject(player.location.z, pkt.x, pkt.y) ?: return sendClearMinimap(player)
target = RegionManager.getObject(pkt.x, pkt.y, player.location.z) ?: return sendClearMinimap(player)
targetId = pkt.sceneryId
type = SpellListener.OBJECT
}
@ -579,7 +579,7 @@ object PacketProcessor {
}
else if (pkt is Packet.UseWithScenery) {
item = pkt.player.inventory[pkt.slot] ?: return sendClearMinimap(pkt.player)
node = RegionManager.getObject(pkt.player.location.z, pkt.x, pkt.y, pkt.sceneryId, -1) ?: return sendClearMinimap(pkt.player)
node = RegionManager.getObject(pkt.x, pkt.y, pkt.player.location.z, pkt.sceneryId, -1) ?: return sendClearMinimap(pkt.player)
childNode = node.asScenery().getChild(pkt.player)
itemId = pkt.itemId
nodeId = node.id
@ -680,7 +680,7 @@ object PacketProcessor {
private fun processSceneryAction(pkt: Packet.SceneryAction) {
val player = pkt.player
var scenery = RegionManager.getObject(player.location.z, pkt.x, pkt.y, pkt.id, -1)
var scenery = RegionManager.getObject(pkt.x, pkt.y, player.location.z, pkt.id, -1)
var objId = pkt.id
//what follows is a series of hardcoded crimes against humanity