Skip to content

Commit 9645f9e

Browse files
authored
Merge branch 'gecolay:main' into main
2 parents cdbedb7 + efb19a4 commit 9645f9e

File tree

18 files changed

+54
-54
lines changed

18 files changed

+54
-54
lines changed

core/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies {
1111
}
1212
compileOnly("me.clip:placeholderapi:2.11.6")
1313
compileOnly("com.github.GriefPrevention:GriefPrevention:16.18.4")
14-
compileOnly("com.intellectualsites.plotsquared:plotsquared-core:7.5.1")
14+
compileOnly("com.intellectualsites.plotsquared:plotsquared-core:7.5.2")
1515
}
1616

1717
java {

core/src/main/java/dev/geco/gsit/GSitMain.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ private void loadFeatures() {
264264
} catch(ClassNotFoundException e) { supportsPaperFeature = false; }
265265

266266
try {
267-
Class.forName("io.papermc.paper.threadedregions.scheduler.GlobalRegionScheduler");
267+
Class.forName("io.papermc.paper.threadedregions.RegionizedServer");
268268
supportsTaskFeature = true;
269269
} catch(ClassNotFoundException e) { supportsTaskFeature = false; }
270270

core/src/main/java/dev/geco/gsit/event/PlayerEventHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void playerQuitEvent(PlayerQuitEvent event) {
4848
public void playerTeleportEvent(PlayerTeleportEvent event) { stopActions(event.getPlayer(), GStopReason.TELEPORT, false); }
4949

5050
@EventHandler(priority = EventPriority.LOWEST)
51-
public void playerDeathEvent(PlayerDeathEvent event) { stopActions(event.getPlayer(), GStopReason.DEATH, false); }
51+
public void playerDeathEvent(PlayerDeathEvent event) { stopActions(event.getEntity(), GStopReason.DEATH, false); }
5252

5353
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
5454
public void entityDamageEvent(EntityDamageEvent event) {

core/src/main/java/dev/geco/gsit/service/PlayerSitService.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,11 @@ public boolean stopPlayerSit(Player source, GStopReason stopReason, boolean remo
8787
topToBottomStacks.remove(passengers.getKey());
8888
for(UUID passenger : passengers.getValue()) {
8989
Entity passengerEntity = Bukkit.getEntity(passenger);
90-
if(passengerEntity != null) {
91-
gSitMain.getTaskService().run(() -> {
92-
if(passengerEntity.isValid()) passengerEntity.remove();
93-
}, passengerEntity.getLocation());
90+
if(passengerEntity == null) continue;
91+
try {
92+
passengerEntity.remove();
93+
} catch(Throwable e) {
94+
gSitMain.getTaskService().run(passengerEntity::remove, passengerEntity);
9495
}
9596
}
9697
String key = source.getUniqueId().toString() + passengers.getKey();
@@ -106,10 +107,11 @@ public boolean stopPlayerSit(Player source, GStopReason stopReason, boolean remo
106107
bottomToTopStacks.remove(vehicles.getKey());
107108
for(UUID vehicle : vehicles.getValue()) {
108109
Entity vehicleEntity = Bukkit.getEntity(vehicle);
109-
if(vehicleEntity != null) {
110-
gSitMain.getTaskService().run(() -> {
111-
if(vehicleEntity.isValid()) vehicleEntity.remove();
112-
}, vehicleEntity.getLocation());
110+
if(vehicleEntity == null) continue;
111+
try {
112+
vehicleEntity.remove();
113+
} catch(Throwable e) {
114+
gSitMain.getTaskService().run(vehicleEntity::remove, vehicleEntity);
113115
}
114116
}
115117
String key = vehicles.getKey().toString() + source.getUniqueId();

core/src/main/java/dev/geco/gsit/service/SitService.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,10 @@ public void moveSeat(GSeat seat, BlockFace blockDirection) {
117117
if(playerMoveEvent.isCancelled()) return;
118118
}
119119

120-
Set<GSeat> seats = blockSeats.get(seat.getBlock());
121-
if(seats != null) seats.remove(seat);
120+
Set<GSeat> blockSeatList = blockSeats.get(seat.getBlock());
121+
if(blockSeatList != null) blockSeatList.remove(seat);
122122
seat.setBlock(seat.getBlock().getRelative(blockDirection));
123-
seats = blockSeats.get(seat.getBlock());
124-
if(seats != null) seats.add(seat);
123+
blockSeats.computeIfAbsent(seat.getBlock(), k -> new HashSet<>()).add(seat);
125124
seat.setLocation(seat.getLocation().add(blockDirection.getModX(), blockDirection.getModY(), blockDirection.getModZ()));
126125
gSitMain.getEntityUtil().setEntityLocation(seat.getSeatEntity(), seat.getLocation());
127126
}
@@ -136,7 +135,11 @@ public boolean removeSeat(GSeat seat, GStopReason stopReason, boolean useSafeDis
136135
Entity entity = seat.getEntity();
137136
if(useSafeDismount) handleSafeSeatDismount(seat);
138137

139-
blockSeats.remove(seat.getBlock());
138+
Set<GSeat> blockSeatList = blockSeats.remove(seat.getBlock());
139+
if(blockSeatList != null) {
140+
blockSeatList.remove(seat);
141+
if(blockSeatList.isEmpty()) blockSeats.remove(seat.getBlock());
142+
}
140143
seats.remove(entity.getUniqueId());
141144
seat.getSeatEntity().remove();
142145
Bukkit.getPluginManager().callEvent(new EntityStopSitEvent(seat, stopReason));
@@ -155,12 +158,15 @@ public void handleSafeSeatDismount(GSeat seat) {
155158

156159
if(entity.isValid()) entityBlocked.add(entity.getUniqueId());
157160

158-
gSitMain.getTaskService().runDelayed(() -> {
159-
Location entityLocation = entity.getLocation();
161+
Location entityLocation = entity.getLocation();
160162

161-
returnLocation.setYaw(entityLocation.getYaw());
162-
returnLocation.setPitch(entityLocation.getPitch());
163+
returnLocation.setYaw(entityLocation.getYaw());
164+
returnLocation.setPitch(entityLocation.getPitch());
163165

166+
if(seat.getSeatEntity().isValid()) gSitMain.getEntityUtil().setEntityLocation(seat.getSeatEntity(), returnLocation);
167+
if(entity.isValid()) gSitMain.getEntityUtil().setEntityLocation(entity, returnLocation);
168+
169+
gSitMain.getTaskService().runDelayed(() -> {
164170
if(seat.getSeatEntity().isValid()) gSitMain.getEntityUtil().setEntityLocation(seat.getSeatEntity(), returnLocation);
165171
if(entity.isValid()) gSitMain.getEntityUtil().setEntityLocation(entity, returnLocation);
166172

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version=2.3.0
1+
version=2.3.2
22
group=dev.geco.gsit
33
description=Relax with other players on nice seats!
44

mcv/v1_19_3/src/main/java/dev/geco/gsit/mcv/v1_19_3/util/EntityUtil.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public EntityUtil(GSitMain gSitMain) {
3737
if(gSitMain.supportsPaperFeature()) return;
3838
List<Field> entityManagerFieldList = new ArrayList<>();
3939
for(Field field : ServerLevel.class.getDeclaredFields()) if(field.getType().equals(PersistentEntitySectionManager.class)) entityManagerFieldList.add(field);
40+
if(entityManagerFieldList.isEmpty()) return;
4041
entityManager = entityManagerFieldList.get(0);
4142
entityManager.setAccessible(true);
4243
}

mcv/v1_19_4/src/main/java/dev/geco/gsit/mcv/v1_19_4/util/EntityUtil.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public EntityUtil(GSitMain gSitMain) {
3737
if(gSitMain.supportsPaperFeature()) return;
3838
List<Field> entityManagerFieldList = new ArrayList<>();
3939
for(Field field : ServerLevel.class.getDeclaredFields()) if(field.getType().equals(PersistentEntitySectionManager.class)) entityManagerFieldList.add(field);
40+
if(entityManagerFieldList.isEmpty()) return;
4041
entityManager = entityManagerFieldList.get(0);
4142
entityManager.setAccessible(true);
4243
}

mcv/v1_20/src/main/java/dev/geco/gsit/mcv/v1_20/util/EntityUtil.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public EntityUtil(GSitMain gSitMain) {
3737
if(gSitMain.supportsPaperFeature()) return;
3838
List<Field> entityManagerFieldList = new ArrayList<>();
3939
for(Field field : ServerLevel.class.getDeclaredFields()) if(field.getType().equals(PersistentEntitySectionManager.class)) entityManagerFieldList.add(field);
40+
if(entityManagerFieldList.isEmpty()) return;
4041
entityManager = entityManagerFieldList.get(0);
4142
entityManager.setAccessible(true);
4243
}

mcv/v1_20_2/src/main/java/dev/geco/gsit/mcv/v1_20_2/util/EntityUtil.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public EntityUtil(GSitMain gSitMain) {
3737
if(gSitMain.supportsPaperFeature()) return;
3838
List<Field> entityManagerFieldList = new ArrayList<>();
3939
for(Field field : ServerLevel.class.getDeclaredFields()) if(field.getType().equals(PersistentEntitySectionManager.class)) entityManagerFieldList.add(field);
40+
if(entityManagerFieldList.isEmpty()) return;
4041
entityManager = entityManagerFieldList.get(0);
4142
entityManager.setAccessible(true);
4243
}

0 commit comments

Comments
 (0)