From 4032558ef50b267bb05755cc38c3d3ebf3bd9afb Mon Sep 17 00:00:00 2001 From: P0nk Date: Thu, 9 Sep 2021 22:18:52 +0200 Subject: [PATCH] Rename and clean up MapleDoorObject --- src/main/java/client/Character.java | 12 ++-- .../server/channel/handlers/DoorHandler.java | 6 +- src/main/java/server/maps/Door.java | 16 +++--- .../{MapleDoorObject.java => DoorObject.java} | 55 +++++++++---------- src/main/java/server/maps/MapleMap.java | 2 +- src/main/java/tools/PacketCreator.java | 4 +- 6 files changed, 47 insertions(+), 48 deletions(-) rename src/main/java/server/maps/{MapleDoorObject.java => DoorObject.java} (91%) diff --git a/src/main/java/client/Character.java b/src/main/java/client/Character.java index 417533b083..5bf01051b9 100644 --- a/src/main/java/client/Character.java +++ b/src/main/java/client/Character.java @@ -1553,7 +1553,7 @@ public class Character extends AbstractCharacterObject { for (Door door : partyDoors.values()) { for (Character pchar : partyMembers) { - MapleDoorObject mdo = door.getTownDoor(); + DoorObject mdo = door.getTownDoor(); mdo.sendDestroyData(pchar.getClient(), true); pchar.removeVisibleMapObject(mdo); } @@ -1563,7 +1563,7 @@ public class Character extends AbstractCharacterObject { Collection leaverDoors = partyLeaver.getDoors(); for (Door door : leaverDoors) { for (Character pchar : partyMembers) { - MapleDoorObject mdo = door.getTownDoor(); + DoorObject mdo = door.getTownDoor(); mdo.sendDestroyData(pchar.getClient(), true); pchar.removeVisibleMapObject(mdo); } @@ -1576,7 +1576,7 @@ public class Character extends AbstractCharacterObject { if (door != null) { for (Character pchar : partyMembers) { - MapleDoorObject mdo = door.getTownDoor(); + DoorObject mdo = door.getTownDoor(); mdo.sendSpawnData(pchar.getClient()); pchar.addVisibleMapObject(mdo); } @@ -1589,14 +1589,14 @@ public class Character extends AbstractCharacterObject { if (partyDoors != null) { for (Door door : partyDoors.values()) { - MapleDoorObject mdo = door.getTownDoor(); + DoorObject mdo = door.getTownDoor(); mdo.sendDestroyData(partyLeaver.getClient(), true); partyLeaver.removeVisibleMapObject(mdo); } } for (Door door : leaverDoors) { - MapleDoorObject mdo = door.getTownDoor(); + DoorObject mdo = door.getTownDoor(); mdo.sendDestroyData(partyLeaver.getClient(), true); partyLeaver.removeVisibleMapObject(mdo); } @@ -1604,7 +1604,7 @@ public class Character extends AbstractCharacterObject { for (Door door : leaverDoors) { door.updateDoorPortal(partyLeaver); - MapleDoorObject mdo = door.getTownDoor(); + DoorObject mdo = door.getTownDoor(); mdo.sendSpawnData(partyLeaver.getClient()); partyLeaver.addVisibleMapObject(mdo); } diff --git a/src/main/java/net/server/channel/handlers/DoorHandler.java b/src/main/java/net/server/channel/handlers/DoorHandler.java index fd2015e58d..bb159ddf47 100644 --- a/src/main/java/net/server/channel/handlers/DoorHandler.java +++ b/src/main/java/net/server/channel/handlers/DoorHandler.java @@ -25,7 +25,7 @@ import client.Character; import client.Client; import net.AbstractPacketHandler; import net.packet.InPacket; -import server.maps.MapleDoorObject; +import server.maps.DoorObject; import server.maps.MapleMapObject; import tools.PacketCreator; @@ -46,8 +46,8 @@ public final class DoorHandler extends AbstractPacketHandler { } for (MapleMapObject obj : chr.getMap().getMapObjects()) { - if (obj instanceof MapleDoorObject) { - MapleDoorObject door = (MapleDoorObject) obj; + if (obj instanceof DoorObject) { + DoorObject door = (DoorObject) obj; if (door.getOwnerId() == ownerid) { door.warp(chr); return; diff --git a/src/main/java/server/maps/Door.java b/src/main/java/server/maps/Door.java index dde36668a1..f908580fd4 100644 --- a/src/main/java/server/maps/Door.java +++ b/src/main/java/server/maps/Door.java @@ -43,8 +43,8 @@ public class Door { private long deployTime; private boolean active; - private MapleDoorObject townDoor; - private MapleDoorObject areaDoor; + private DoorObject townDoor; + private DoorObject areaDoor; public Door(Character owner, Point targetPosition) { this.ownerId = owner.getId(); @@ -62,8 +62,8 @@ public class Door { this.active = true; if (townPortal != null) { - this.areaDoor = new MapleDoorObject(ownerId, town, target, townPortal.getId(), targetPosition, townPortal.getPosition()); - this.townDoor = new MapleDoorObject(ownerId, target, town, -1, townPortal.getPosition(), targetPosition); + this.areaDoor = new DoorObject(ownerId, town, target, townPortal.getId(), targetPosition, townPortal.getPosition()); + this.townDoor = new DoorObject(ownerId, target, town, -1, townPortal.getPosition(), targetPosition); this.areaDoor.setPairOid(this.townDoor.getObjectId()); this.townDoor.setPairOid(this.areaDoor.getObjectId()); @@ -89,8 +89,8 @@ public class Door { } private void broadcastRemoveDoor(Character owner) { - MapleDoorObject areaDoor = this.getAreaDoor(); - MapleDoorObject townDoor = this.getTownDoor(); + DoorObject areaDoor = this.getAreaDoor(); + DoorObject townDoor = this.getTownDoor(); MapleMap target = this.getTarget(); MapleMap town = this.getTown(); @@ -149,11 +149,11 @@ public class Door { return ownerId; } - public MapleDoorObject getTownDoor() { + public DoorObject getTownDoor() { return townDoor; } - public MapleDoorObject getAreaDoor() { + public DoorObject getAreaDoor() { return areaDoor; } diff --git a/src/main/java/server/maps/MapleDoorObject.java b/src/main/java/server/maps/DoorObject.java similarity index 91% rename from src/main/java/server/maps/MapleDoorObject.java rename to src/main/java/server/maps/DoorObject.java index 4f68ce7779..8a04f0767b 100644 --- a/src/main/java/server/maps/MapleDoorObject.java +++ b/src/main/java/server/maps/DoorObject.java @@ -33,33 +33,32 @@ import tools.PacketCreator; import java.awt.*; /** - * * @author Ronan */ -public class MapleDoorObject extends AbstractMapObject { +public class DoorObject extends AbstractMapObject { private final int ownerId; private int pairOid; - + private final MapleMap from; private final MapleMap to; private int linkedPortalId; private Point linkedPos; - + private final MonitoredReentrantReadWriteLock locks = new MonitoredReentrantReadWriteLock(MonitoredLockType.PLAYER_DOOR, true); - private MonitoredReadLock rlock = MonitoredReadLockFactory.createLock(locks); - private MonitoredWriteLock wlock = MonitoredWriteLockFactory.createLock(locks); - - public MapleDoorObject(int owner, MapleMap destination, MapleMap origin, int townPortalId, Point targetPosition, Point toPosition) { + private final MonitoredReadLock rlock = MonitoredReadLockFactory.createLock(locks); + private final MonitoredWriteLock wlock = MonitoredWriteLockFactory.createLock(locks); + + public DoorObject(int owner, MapleMap destination, MapleMap origin, int townPortalId, Point targetPosition, Point toPosition) { super(); setPosition(targetPosition); - + ownerId = owner; linkedPortalId = townPortalId; from = origin; to = destination; linkedPos = toPosition; } - + public void update(int townPortalId, Point toPosition) { wlock.lock(); try { @@ -69,7 +68,7 @@ public class MapleDoorObject extends AbstractMapObject { wlock.unlock(); } } - + private int getLinkedPortalId() { rlock.lock(); try { @@ -78,7 +77,7 @@ public class MapleDoorObject extends AbstractMapObject { rlock.unlock(); } } - + private Point getLinkedPortalPosition() { rlock.lock(); try { @@ -87,13 +86,13 @@ public class MapleDoorObject extends AbstractMapObject { rlock.unlock(); } } - + public void warp(final Character chr) { Party party = chr.getParty(); if (chr.getId() == ownerId || (party != null && party.getMemberById(ownerId) != null)) { chr.sendPacket(PacketCreator.playPortalSound()); - - if(!inTown() && party == null) { + + if (!inTown() && party == null) { chr.changeMap(to, getLinkedPortalId()); } else { chr.changeMap(to, getLinkedPortalPosition()); @@ -108,7 +107,7 @@ public class MapleDoorObject extends AbstractMapObject { public void sendSpawnData(Client client) { sendSpawnData(client, true); } - + public void sendSpawnData(Client client, boolean launched) { Character chr = client.getPlayer(); if (this.getFrom().getId() == chr.getMapId()) { @@ -134,54 +133,54 @@ public class MapleDoorObject extends AbstractMapObject { client.sendPacket(PacketCreator.removeDoor(ownerId, inTown())); } } - + public void sendDestroyData(Client client, boolean partyUpdate) { if (client != null && from.getId() == client.getPlayer().getMapId()) { client.sendPacket(PacketCreator.partyPortal(999999999, 999999999, new Point(-1, -1))); client.sendPacket(PacketCreator.removeDoor(ownerId, inTown())); } } - + public int getOwnerId() { return ownerId; } - + public void setPairOid(int oid) { this.pairOid = oid; } - + public int getPairOid() { return pairOid; } - + public boolean inTown() { return getLinkedPortalId() == -1; } - + public MapleMap getFrom() { return from; } - + public MapleMap getTo() { return to; } - + public MapleMap getTown() { return inTown() ? from : to; } - + public MapleMap getArea() { return !inTown() ? from : to; } - + public Point getAreaPosition() { return !inTown() ? getPosition() : getLinkedPortalPosition(); } - + public Point toPosition() { return getLinkedPortalPosition(); } - + @Override public MapleMapObjectType getType() { return MapleMapObjectType.DOOR; diff --git a/src/main/java/server/maps/MapleMap.java b/src/main/java/server/maps/MapleMap.java index 201acc5dab..e84059341d 100644 --- a/src/main/java/server/maps/MapleMap.java +++ b/src/main/java/server/maps/MapleMap.java @@ -2040,7 +2040,7 @@ public class MapleMap { spawnAndAddRangedMapObject(reactor, c -> c.sendPacket(reactor.makeSpawnData())); } - public void spawnDoor(final MapleDoorObject door) { + public void spawnDoor(final DoorObject door) { spawnAndAddRangedMapObject(door, c -> { Character chr = c.getPlayer(); if (chr != null) { diff --git a/src/main/java/tools/PacketCreator.java b/src/main/java/tools/PacketCreator.java index b1544036ef..f6d80cd18d 100644 --- a/src/main/java/tools/PacketCreator.java +++ b/src/main/java/tools/PacketCreator.java @@ -3692,7 +3692,7 @@ public class PacketCreator { Door door = partyDoors.get(partycharid); if (door != null) { - MapleDoorObject mdo = door.getAreaDoor(); + DoorObject mdo = door.getAreaDoor(); p.writeInt(mdo.getTo().getId()); p.writeInt(mdo.getFrom().getId()); p.writeInt(mdo.getPosition().x); @@ -3803,7 +3803,7 @@ public class PacketCreator { if (partyDoors.size() > 0) { Door door = partyDoors.get(partychar.getId()); if (door != null) { - MapleDoorObject mdo = door.getTownDoor(); + DoorObject mdo = door.getTownDoor(); p.writeInt(mdo.getTown().getId()); p.writeInt(mdo.getArea().getId()); p.writeInt(mdo.getPosition().x);