From 86ed50da124901c9659ca3f02d7ec73a91929c74 Mon Sep 17 00:00:00 2001 From: atomicint Date: Wed, 3 Feb 2016 18:15:37 -0500 Subject: [PATCH] Resolves issue #155, resolves issue #154, resolves issue #107 --- game/src/main/org/apollo/game/model/area/Region.java | 4 ++-- game/src/main/org/apollo/game/service/GameService.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/game/src/main/org/apollo/game/model/area/Region.java b/game/src/main/org/apollo/game/model/area/Region.java index c10c9a78..951c97b5 100644 --- a/game/src/main/org/apollo/game/model/area/Region.java +++ b/game/src/main/org/apollo/game/model/area/Region.java @@ -2,11 +2,11 @@ package org.apollo.game.model.area; import java.util.ArrayList; import java.util.Collection; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -76,7 +76,7 @@ public final class Region { /** * The Map of Positions to Entities in that Position. */ - private final Map> entities = new HashMap<>(); + private final Map> entities = new ConcurrentHashMap<>(); /** * A List of RegionListeners registered to this Region. diff --git a/game/src/main/org/apollo/game/service/GameService.java b/game/src/main/org/apollo/game/service/GameService.java index 14937a1f..0b393c6f 100644 --- a/game/src/main/org/apollo/game/service/GameService.java +++ b/game/src/main/org/apollo/game/service/GameService.java @@ -119,7 +119,7 @@ public final class GameService extends Service { * * @param player The player. */ - public void finalizePlayerRegistration(Player player) { + public synchronized void finalizePlayerRegistration(Player player) { world.register(player); Region region = world.getRegionRepository().fromPosition(player.getPosition()); region.addEntity(player); @@ -150,7 +150,7 @@ public final class GameService extends Service { /** * Called every pulse. */ - public void pulse() { + public synchronized void pulse() { finalizeRegistrations(); finalizeUnregistrations();