|
13 | 13 | import org.spongepowered.api.entity.living.Living;
|
14 | 14 | import org.spongepowered.api.entity.living.player.Player;
|
15 | 15 | import org.spongepowered.api.event.Listener;
|
| 16 | +import org.spongepowered.api.event.Order; |
16 | 17 | import org.spongepowered.api.event.block.ChangeBlockEvent;
|
17 | 18 | import org.spongepowered.api.event.block.InteractBlockEvent;
|
18 | 19 | import org.spongepowered.api.event.entity.DamageEntityEvent;
|
19 | 20 | import org.spongepowered.api.event.entity.InteractEntityEvent;
|
20 | 21 | import org.spongepowered.api.event.network.ClientConnectionEvent;
|
21 | 22 | import org.spongepowered.api.event.world.ExplosionEvent;
|
| 23 | +import org.spongepowered.api.event.world.LoadWorldEvent; |
| 24 | +import org.spongepowered.api.event.world.SaveWorldEvent; |
| 25 | +import org.spongepowered.api.event.world.UnloadWorldEvent; |
22 | 26 | import org.spongepowered.api.world.Location;
|
23 | 27 | import org.spongepowered.api.world.World;
|
24 | 28 | import org.spongepowered.api.world.extent.Extent;
|
|
30 | 34 |
|
31 | 35 | public class EventListeners {
|
32 | 36 |
|
33 |
| - @Listener |
| 37 | + @Listener(order= Order.EARLY) //as kind-of protection, run early |
34 | 38 | public void onAttackEntity(DamageEntityEvent event) {
|
35 | 39 | if (event.isCancelled()) return;
|
36 | 40 | if (!(event.getTargetEntity() instanceof Living)) return;
|
@@ -132,6 +136,22 @@ public void onPlayerDisconnect(ClientConnectionEvent.Disconnect event) {
|
132 | 136 | .forEach(m->m.clearPlayerState(event.getTargetEntity().getUniqueId()));
|
133 | 137 | }
|
134 | 138 |
|
| 139 | + @Listener |
| 140 | + public void onWorldSave(SaveWorldEvent event) { |
| 141 | + VillagerShops.instance.saveShops(); |
| 142 | + } |
| 143 | + @Listener |
| 144 | + public void onWorldUnload(UnloadWorldEvent event) { |
| 145 | + if (!event.isCancelled()) { |
| 146 | + VillagerShops.instance.saveShops(); |
| 147 | + VillagerShops.instance.unloadShops(event.getTargetWorld().getUniqueId()); |
| 148 | + } |
| 149 | + } |
| 150 | + @Listener |
| 151 | + public void onWorldLoad(LoadWorldEvent event) { |
| 152 | + VillagerShops.instance.loadShops(event.getTargetWorld().getUniqueId()); |
| 153 | + } |
| 154 | + |
135 | 155 |
|
136 | 156 | // @Listener //someone that knows how to do that please :D
|
137 | 157 | // public void onAiTargetEntity(AITaskEvent event) {
|
|
0 commit comments