Rename and enhance AttributeModifier
Renamed AttributeModifier to EntityAttributeModifier for clarity. Added Main dependency and improved attribute setting logic with namespaced keys for better error handling and debugging. Updated MobTypes to pass Main instance accordingly.
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
package com.alttd.custommobs.config;
|
||||
|
||||
import com.alttd.custommobs.Main;
|
||||
import com.alttd.custommobs.abilities.Ability;
|
||||
import com.alttd.custommobs.abilities.modifiers.AttributeModifier;
|
||||
import com.alttd.custommobs.abilities.modifiers.EntityAttributeModifier;
|
||||
import com.alttd.custommobs.abilities.EntityModifier;
|
||||
import com.alttd.custommobs.abilities.MobType;
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
||||
@@ -16,19 +17,21 @@ import java.util.*;
|
||||
@Slf4j
|
||||
public class MobTypes extends AbstractConfig {
|
||||
static MobTypes config;
|
||||
private final Main main;
|
||||
|
||||
MobTypes() {
|
||||
MobTypes(Main main) {
|
||||
super(
|
||||
new File(File.separator
|
||||
+ "mnt" + File.separator
|
||||
+ "configs" + File.separator
|
||||
+ "custommobs"),
|
||||
"mob-types.yml");
|
||||
this.main = main;
|
||||
}
|
||||
|
||||
public static void reload() {
|
||||
public static void reload(Main main) {
|
||||
log.info("Reloading mob types");
|
||||
config = new MobTypes();
|
||||
config = new MobTypes(main);
|
||||
config.readConfig(MobTypes.class, null);
|
||||
}
|
||||
|
||||
@@ -80,7 +83,7 @@ public class MobTypes extends AbstractConfig {
|
||||
private static EntityModifier getAttribute(String attributeName, double value) {
|
||||
try {
|
||||
Attribute attribute = Attribute.valueOf(attributeName);
|
||||
return new AttributeModifier(attribute, value);
|
||||
return new EntityAttributeModifier(config.main, attribute, value);
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.error("Invalid attribute {}", attributeName, e);
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user