From dc1a2e84a7cdd233f098a3fdfea0ebee3a86579b Mon Sep 17 00:00:00 2001 From: Cervator Date: Sat, 10 Aug 2019 18:56:09 -0400 Subject: [PATCH] A variety of fixes for upstream issues - https://github.com/MovingBlocks/Terasology/pull/3535 - new serialization - https://github.com/Terasology/Tasks/pull/12 - goes with the new serialization - https://github.com/MovingBlocks/Terasology/pull/3716 - updated world gen --- assets/prefabs/quests/card.prefab | 8 ++-- .../actions/ShowDialogActionTypeHandler.java | 48 ------------------- .../ShowMarketScreenActionTypeHandler.java | 48 ------------------- .../ShowTradingScreenActionTypeHandler.java | 45 ----------------- .../quests/FetchQuestSystem.java | 4 +- .../world/dynamic/DynamicWorldGenerator.java | 4 +- 6 files changed, 8 insertions(+), 149 deletions(-) delete mode 100644 src/main/java/org/terasology/metalrenegades/economy/actions/ShowDialogActionTypeHandler.java delete mode 100644 src/main/java/org/terasology/metalrenegades/economy/actions/ShowMarketScreenActionTypeHandler.java delete mode 100644 src/main/java/org/terasology/metalrenegades/economy/actions/ShowTradingScreenActionTypeHandler.java diff --git a/assets/prefabs/quests/card.prefab b/assets/prefabs/quests/card.prefab index 0a2498da..d565043d 100644 --- a/assets/prefabs/quests/card.prefab +++ b/assets/prefabs/quests/card.prefab @@ -13,18 +13,18 @@ "tasks" : [ { "id" : "collectMeat", - "type" : "CollectBlocksTask", + "class" : "CollectBlocksTask", "data" : { "itemId" : "WildAnimals:Meat", - "amount" : 2 + "targetAmount" : 2 } }, { "id" : "returnHome", - "type" : "GoToBeaconTask", + "class" : "GoToBeaconTask", "dependsOn" : "collectMeat", "data" : { - "beaconId" : "homeBeacon" + "targetBeaconId" : "homeBeacon" } } ] diff --git a/src/main/java/org/terasology/metalrenegades/economy/actions/ShowDialogActionTypeHandler.java b/src/main/java/org/terasology/metalrenegades/economy/actions/ShowDialogActionTypeHandler.java deleted file mode 100644 index b8e87d85..00000000 --- a/src/main/java/org/terasology/metalrenegades/economy/actions/ShowDialogActionTypeHandler.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2019 MovingBlocks - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.terasology.metalrenegades.economy.actions; - -import com.google.common.collect.ImmutableMap; -import org.terasology.persistence.typeHandling.DeserializationContext; -import org.terasology.persistence.typeHandling.PersistedData; -import org.terasology.persistence.typeHandling.PersistedDataMap; -import org.terasology.persistence.typeHandling.RegisterTypeHandler; -import org.terasology.persistence.typeHandling.SerializationContext; -import org.terasology.persistence.typeHandling.SimpleTypeHandler; - -import java.util.Map; - -@RegisterTypeHandler -public class ShowDialogActionTypeHandler extends SimpleTypeHandler { - - @Override - public PersistedData serialize(ShowDialogAction action, SerializationContext context) { - Map data = ImmutableMap.of( - "type", context.create(action.getClass().getSimpleName()), - "page", context.create(action.getPage())); - - return context.create(data); - } - - @Override - public ShowDialogAction deserialize(PersistedData data, DeserializationContext context) { - PersistedDataMap root = data.getAsValueMap(); - String page = root.get("page").getAsString(); - return new ShowDialogAction(page); - } - -} diff --git a/src/main/java/org/terasology/metalrenegades/economy/actions/ShowMarketScreenActionTypeHandler.java b/src/main/java/org/terasology/metalrenegades/economy/actions/ShowMarketScreenActionTypeHandler.java deleted file mode 100644 index 9eef902f..00000000 --- a/src/main/java/org/terasology/metalrenegades/economy/actions/ShowMarketScreenActionTypeHandler.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2019 MovingBlocks - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.terasology.metalrenegades.economy.actions; - -import com.google.common.collect.ImmutableMap; -import org.terasology.persistence.typeHandling.DeserializationContext; -import org.terasology.persistence.typeHandling.PersistedData; -import org.terasology.persistence.typeHandling.PersistedDataMap; -import org.terasology.persistence.typeHandling.RegisterTypeHandler; -import org.terasology.persistence.typeHandling.SerializationContext; -import org.terasology.persistence.typeHandling.SimpleTypeHandler; - -import java.util.Map; - -@RegisterTypeHandler -public class ShowMarketScreenActionTypeHandler extends SimpleTypeHandler { - - @Override - public PersistedData serialize(ShowMarketScreenAction action, SerializationContext context) { - Map data = ImmutableMap.of( - "type", context.create(action.getClass().getSimpleName()), - "market", context.create(action.getMarketID())); - - return context.create(data); - } - - @Override - public ShowMarketScreenAction deserialize(PersistedData data, DeserializationContext context) { - PersistedDataMap root = data.getAsValueMap(); - long marketID = root.get("market").getAsLong(); - return new ShowMarketScreenAction(marketID); - } - -} diff --git a/src/main/java/org/terasology/metalrenegades/economy/actions/ShowTradingScreenActionTypeHandler.java b/src/main/java/org/terasology/metalrenegades/economy/actions/ShowTradingScreenActionTypeHandler.java deleted file mode 100644 index e4daa4ad..00000000 --- a/src/main/java/org/terasology/metalrenegades/economy/actions/ShowTradingScreenActionTypeHandler.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2019 MovingBlocks - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.terasology.metalrenegades.economy.actions; - -import com.google.common.collect.ImmutableMap; -import org.terasology.persistence.typeHandling.DeserializationContext; -import org.terasology.persistence.typeHandling.PersistedData; -import org.terasology.persistence.typeHandling.PersistedDataMap; -import org.terasology.persistence.typeHandling.RegisterTypeHandler; -import org.terasology.persistence.typeHandling.SerializationContext; -import org.terasology.persistence.typeHandling.SimpleTypeHandler; - -import java.util.Map; - -@RegisterTypeHandler -public class ShowTradingScreenActionTypeHandler extends SimpleTypeHandler { - - @Override - public PersistedData serialize(ShowTradingScreenAction action, SerializationContext context) { - Map data = ImmutableMap.of( - "type", context.create(action.getClass().getSimpleName())); - - return context.create(data); - } - - @Override - public ShowTradingScreenAction deserialize(PersistedData data, DeserializationContext context) { - return new ShowTradingScreenAction(); - } - -} diff --git a/src/main/java/org/terasology/metalrenegades/quests/FetchQuestSystem.java b/src/main/java/org/terasology/metalrenegades/quests/FetchQuestSystem.java index 2ec23ddb..b5bd8d91 100644 --- a/src/main/java/org/terasology/metalrenegades/quests/FetchQuestSystem.java +++ b/src/main/java/org/terasology/metalrenegades/quests/FetchQuestSystem.java @@ -39,6 +39,7 @@ import org.terasology.rendering.nui.Color; import org.terasology.tasks.CollectBlocksTask; import org.terasology.tasks.Task; +import org.terasology.tasks.TaskGraph; import org.terasology.tasks.components.QuestComponent; import org.terasology.tasks.components.QuestListComponent; import org.terasology.tasks.components.QuestSourceComponent; @@ -50,7 +51,6 @@ import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -132,7 +132,7 @@ public void onQuestActivated(BeforeQuestEvent event, EntityRef questItem) { activeQuestEntity = questItem.getComponent(QuestSourceComponent.class).source; QuestComponent questComponent = questItem.getComponent(QuestComponent.class); - List tasks = questComponent.tasks; + TaskGraph tasks = questComponent.tasks; for (Task t : tasks) { if (t instanceof CollectBlocksTask) { amounts.put(((CollectBlocksTask) t).getItemId(), ((CollectBlocksTask) t).getTargetAmount()); diff --git a/src/main/java/org/terasology/metalrenegades/world/dynamic/DynamicWorldGenerator.java b/src/main/java/org/terasology/metalrenegades/world/dynamic/DynamicWorldGenerator.java index beb0d355..d88f0fdf 100644 --- a/src/main/java/org/terasology/metalrenegades/world/dynamic/DynamicWorldGenerator.java +++ b/src/main/java/org/terasology/metalrenegades/world/dynamic/DynamicWorldGenerator.java @@ -17,7 +17,7 @@ import org.terasology.core.world.generator.facetProviders.BiomeProvider; import org.terasology.core.world.generator.facetProviders.DefaultFloraProvider; -import org.terasology.core.world.generator.facetProviders.PerlinHillsAndMountainsProvider; +import org.terasology.core.world.generator.facetProviders.SimplexHillsAndMountainsProvider; import org.terasology.core.world.generator.facetProviders.SeaLevelProvider; import org.terasology.core.world.generator.facetProviders.SurfaceToDensityProvider; import org.terasology.core.world.generator.rasterizers.FloraRasterizer; @@ -56,7 +56,7 @@ protected WorldBuilder createWorld() { .addProvider(new HumidityProvider()) .addProvider(new TemperatureProvider()) .addProvider(new SurfaceToDensityProvider()) - .addProvider(new PerlinHillsAndMountainsProvider()) + .addProvider(new SimplexHillsAndMountainsProvider()) .addProvider(new BiomeProvider()) .addProvider(new DefaultFloraProvider()) .addProvider(new DefaultTreeProvider())