diff --git a/src/main/java/org/terasology/hunger/component/FoodComponent.java b/src/main/java/org/terasology/hunger/component/FoodComponent.java index fce8ba3..1cfeb20 100644 --- a/src/main/java/org/terasology/hunger/component/FoodComponent.java +++ b/src/main/java/org/terasology/hunger/component/FoodComponent.java @@ -1,30 +1,25 @@ -/* - * Copyright 2014 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. - */ +// Copyright 2021 The Terasology Foundation +// SPDX-License-Identifier: Apache-2.0 package org.terasology.hunger.component; -import org.terasology.engine.entitySystem.Component; import org.terasology.engine.utilities.modifiable.ModifiableValue; +import org.terasology.gestalt.entitysystem.component.Component; /** * This component uses the ModifiableValue type Any modifications to the data members of this component must be via * ModifiableValue modifiers ModifiableValue.getValue can be used to get the value of the data members */ -public class FoodComponent implements Component { +public class FoodComponent implements Component { /** * The amount of hunger this food restores when used. */ public ModifiableValue filling; + + @Override + public void copyFrom(FoodComponent other) { + ModifiableValue newFilling = new ModifiableValue(other.filling.getBaseValue()); + newFilling.setMultiplier(other.filling.getMultiplier()); + newFilling.setPreModifier(other.filling.getPreModifier()); + newFilling.setPostModifier(other.filling.getPostModifier()); + } } diff --git a/src/main/java/org/terasology/hunger/component/HungerComponent.java b/src/main/java/org/terasology/hunger/component/HungerComponent.java index 10e1996..3396a9b 100644 --- a/src/main/java/org/terasology/hunger/component/HungerComponent.java +++ b/src/main/java/org/terasology/hunger/component/HungerComponent.java @@ -1,24 +1,11 @@ -/* - * Copyright 2013 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. - */ +// Copyright 2021 The Terasology Foundation +// SPDX-License-Identifier: Apache-2.0 package org.terasology.hunger.component; -import org.terasology.engine.entitySystem.Component; import org.terasology.engine.network.Replicate; +import org.terasology.gestalt.entitysystem.component.Component; -public class HungerComponent implements Component { +public class HungerComponent implements Component { //General Hunger Settings /** * The maximum amount of food an entity can "contain". @@ -65,4 +52,14 @@ public class HungerComponent implements Component { @Replicate public int healthDecreaseAmount = 15; + @Override + public void copyFrom(HungerComponent other) { + this.maxFoodCapacity = other.maxFoodCapacity; + this.lastCalculatedFood = other.lastCalculatedFood; + this.lastCalculationTime = other.lastCalculationTime; + this.foodDecayPerSecond = other.foodDecayPerSecond; + this.healthLossThreshold = other.healthLossThreshold; + this.healthStopRegenThreshold = other.healthStopRegenThreshold; + this.healthDecreaseAmount = other.healthDecreaseAmount; + } }