Skip to content

Commit 1a9319d

Browse files
committed
1.2.0 beta for 1.16.4
1 parent 173145c commit 1a9319d

38 files changed

+236
-179
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Tiered is entirely data-driven, which means you can add, modify, and remove modi
2626
},
2727
"attributes": [
2828
{
29-
"type": "generic.digSpeed",
29+
"type": "generic.dig_speed",
3030
"modifier": {
3131
"name": "tiered:hasteful",
3232
"operation": "MULTIPLY_TOTAL",

build.gradle

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
plugins {
2-
id 'fabric-loom' version '0.2.7-SNAPSHOT'
2+
id 'fabric-loom' version '0.5-SNAPSHOT'
33
id 'maven-publish'
44
}
55

66
sourceCompatibility = JavaVersion.VERSION_1_8
77
targetCompatibility = JavaVersion.VERSION_1_8
88

99
archivesBaseName = project.archives_base_name
10-
version = project.mod_version
10+
version = project.mod_version + "-" + project.minecraft_version
1111
group = project.maven_group
1212

1313
minecraft {
1414
}
1515

1616
repositories {
17-
maven {url "https://maven.jamieswhiteshirt.com/libs-release/"}
17+
maven { url 'https://jitpack.io' }
18+
maven { url 'https://jitpack.io' }
1819
maven { url 'https://jitpack.io' }
1920
}
2021

@@ -26,11 +27,11 @@ dependencies {
2627

2728
modCompile "io.github.prospector:modmenu:${project.mod_menu_version}"
2829

29-
modImplementation ("com.jamieswhiteshirt:reach-entity-attributes:${project.reach_entity_attributes_version}") {
30+
modCompile ("com.github.Draylar:reach-entity-attributes:1.0.2") {
3031
exclude group: "net.fabricmc.fabric-api"
3132
}
3233

33-
include ("com.jamieswhiteshirt:reach-entity-attributes:${project.reach_entity_attributes_version}") {
34+
include ("com.github.Draylar:reach-entity-attributes:1.0.2") {
3435
exclude group: "net.fabricmc.fabric-api"
3536
}
3637
}

gradle.properties

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
org.gradle.jvmargs=-Xmx1G
33

44
# Fabric Properties
5-
minecraft_version=1.15.2
6-
yarn_mappings=1.15.2+build.15
7-
loader_version=0.8.2+build.194
5+
minecraft_version=1.16.4
6+
yarn_mappings=1.16.4+build.7
7+
loader_version=0.10.8
88

99
# Mod Properties
10-
mod_version=1.0.3-beta
10+
mod_version=1.2.0-beta
1111
maven_group=draylar
1212
archives_base_name=tiered
1313

1414
# Dependencies
15-
fabric_version=0.7.1+build.301-1.15
16-
cardinal_version=2.3.4
17-
reach_entity_attributes_version=1.0.0
18-
mod_menu_version=1.8.5+build.23
15+
fabric_version=0.27.1+1.16
16+
cardinal_version=2.7.4
17+
reach_entity_attributes_version=1.0.1
18+
mod_menu_version=1.14+

src/main/java/draylar/tiered/Tiered.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@
44
import draylar.tiered.api.FabricArmorTags;
55
import draylar.tiered.api.PotentialAttribute;
66
import draylar.tiered.data.AttributeDataLoader;
7+
import draylar.tiered.mixin.ServerResourceManagerMixin;
78
import net.fabricmc.api.EnvType;
89
import net.fabricmc.api.ModInitializer;
910
import net.fabricmc.fabric.api.event.client.ItemTooltipCallback;
11+
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
1012
import net.fabricmc.loader.api.FabricLoader;
13+
import net.minecraft.entity.EquipmentSlot;
14+
import net.minecraft.item.ArmorItem;
15+
import net.minecraft.item.ItemStack;
1116
import net.minecraft.text.TranslatableText;
1217
import net.minecraft.util.Identifier;
1318
import org.apache.logging.log4j.LogManager;
@@ -19,7 +24,7 @@ public class Tiered implements ModInitializer {
1924

2025
/**
2126
* Attribute Data Loader instance which handles loading attribute .json files from "data/modid/item_attributes".
22-
* <p> This field is registered to the server's data manager in {@link draylar.tiered.mixin.MinecraftServerMixin}
27+
* <p> This field is registered to the server's data manager in {@link ServerResourceManagerMixin}
2328
*/
2429
public static final AttributeDataLoader ATTRIBUTE_DATA_LOADER = new AttributeDataLoader();
2530

@@ -43,7 +48,7 @@ public void onInitialize() {
4348
CustomEntityAttributes.init();
4449

4550
if(FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {
46-
setupModifierLabel();
51+
// setupModifierLabel();
4752
}
4853
}
4954

@@ -77,4 +82,13 @@ private void setupModifierLabel() {
7782
}
7883
});
7984
}
85+
86+
public static boolean isPreferredEquipmentSlot(ItemStack stack, EquipmentSlot slot) {
87+
if(stack.getItem() instanceof ArmorItem) {
88+
ArmorItem item = (ArmorItem) stack.getItem();
89+
return item.getSlotType().equals(slot);
90+
}
91+
92+
return slot == EquipmentSlot.MAINHAND;
93+
}
8094
}

src/main/java/draylar/tiered/api/AttributeTemplate.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
import com.google.gson.annotations.SerializedName;
55
import draylar.tiered.Tiered;
66
import net.minecraft.entity.EquipmentSlot;
7+
import net.minecraft.entity.attribute.ClampedEntityAttribute;
8+
import net.minecraft.entity.attribute.EntityAttribute;
79
import net.minecraft.entity.attribute.EntityAttributeModifier;
10+
import net.minecraft.util.Identifier;
11+
import net.minecraft.util.registry.Registry;
812

913
/**
1014
* Stores information on an AttributeModifier template applied to an ItemStack.
@@ -54,14 +58,19 @@ public EquipmentSlot[] getOptionalEquipmentSlots() {
5458
* @param multimap map to add {@link AttributeTemplate}
5559
* @param slot
5660
*/
57-
public void realize(Multimap<String, EntityAttributeModifier> multimap, EquipmentSlot slot) {
61+
public void realize(Multimap<EntityAttribute, EntityAttributeModifier> multimap, EquipmentSlot slot) {
5862
EntityAttributeModifier cloneModifier = new EntityAttributeModifier(
5963
Tiered.MODIFIERS[slot.getArmorStandSlotId()],
6064
entityAttributeModifier.getName() + "_" + slot.getName(),
61-
entityAttributeModifier.getAmount(),
65+
entityAttributeModifier.getValue(),
6266
entityAttributeModifier.getOperation()
6367
);
6468

65-
multimap.put(this.attributeTypeID, cloneModifier);
69+
EntityAttribute key = Registry.ATTRIBUTE.get(new Identifier(attributeTypeID));
70+
if(key == null) {
71+
Tiered.LOGGER.warn(String.format("%s was referenced as an attribute type, but it does not exist! A data file in /tiered/item_attributes/ has an invalid type property.", attributeTypeID));
72+
} else {
73+
multimap.put(key, cloneModifier);
74+
}
6675
}
6776
}
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
package draylar.tiered.api;
22

3+
import draylar.tiered.Tiered;
34
import net.minecraft.entity.attribute.ClampedEntityAttribute;
45
import net.minecraft.entity.attribute.EntityAttribute;
6+
import net.minecraft.util.registry.Registry;
57

68
public class CustomEntityAttributes {
79

8-
public static final EntityAttribute DIG_SPEED = new ClampedEntityAttribute(null, "generic.digSpeed", 0.0D, 0.0D, 2048.0D).setTracked(true);
9-
public static final EntityAttribute CRIT_CHANCE = new ClampedEntityAttribute(null, "generic.critChance", 0.0D, 0.0D, 1D).setTracked(true);
10+
public static final EntityAttribute DIG_SPEED = register(new ClampedEntityAttribute("generic.dig_speed", 0.0D, 0.0D, 2048.0D).setTracked(true));
11+
public static final EntityAttribute CRIT_CHANCE = register(new ClampedEntityAttribute("generic.crit_chance", 0.0D, 0.0D, 1D).setTracked(true));
1012
// public static final EntityAttribute DURABLE = new ClampedEntityAttribute(null, "generic.durable", 0.0D, 0.0D, 1D).setTracked(true);
1113

1214
public static void init() {
1315
// NO-OP
1416
}
17+
18+
private static EntityAttribute register(EntityAttribute attribute) {
19+
return Registry.register(Registry.ATTRIBUTE, Tiered.id(attribute.getTranslationKey()), attribute);
20+
}
1521
}

src/main/java/draylar/tiered/api/ItemVerifier.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public boolean isValid(String itemID) {
3939
if(id != null) {
4040
return itemID.equals(id);
4141
} else if(tag != null) {
42-
Tag<Item> itemTag = ItemTags.getContainer().get(new Identifier(tag));
42+
Tag<Item> itemTag = ItemTags.getTagGroup().getTag(new Identifier(tag));
4343

4444
if(itemTag != null) {
4545
return itemTag.contains(Registry.ITEM.get(new Identifier(itemID)));

src/main/java/draylar/tiered/data/AttributeDataLoader.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,18 @@
22

33
import com.google.common.collect.ImmutableMap;
44
import com.google.common.collect.Maps;
5-
import com.google.gson.Gson;
6-
import com.google.gson.GsonBuilder;
7-
import com.google.gson.JsonObject;
8-
import com.google.gson.JsonParseException;
5+
import com.google.gson.*;
96
import draylar.tiered.api.PotentialAttribute;
107
import draylar.tiered.gson.EntityAttributeModifierDeserializer;
118
import draylar.tiered.gson.EquipmentSlotDeserializer;
129
import draylar.tiered.gson.FormattingDeserializer;
10+
import draylar.tiered.gson.TextColorDeserializer;
1311
import net.minecraft.entity.EquipmentSlot;
1412
import net.minecraft.entity.attribute.EntityAttributeModifier;
1513
import net.minecraft.resource.JsonDataLoader;
1614
import net.minecraft.resource.ResourceManager;
1715
import net.minecraft.text.Style;
16+
import net.minecraft.text.TextColor;
1817
import net.minecraft.util.Formatting;
1918
import net.minecraft.util.Identifier;
2019
import net.minecraft.util.profiler.Profiler;
@@ -31,7 +30,6 @@ public class AttributeDataLoader extends JsonDataLoader {
3130
.registerTypeAdapter(EntityAttributeModifier.class, new EntityAttributeModifierDeserializer())
3231
.registerTypeAdapter(EquipmentSlot.class, new EquipmentSlotDeserializer())
3332
.registerTypeHierarchyAdapter(Style.class, new Style.Serializer())
34-
.registerTypeAdapter(Formatting.class, new FormattingDeserializer())
3533
.create();
3634

3735
private static final String PARSING_ERROR_MESSAGE = "Parsing error loading recipe {}";
@@ -45,10 +43,10 @@ public AttributeDataLoader() {
4543
}
4644

4745
@Override
48-
protected void apply(Map<Identifier, JsonObject> loader, ResourceManager manager, Profiler profiler) {
46+
protected void apply(Map<Identifier, JsonElement> loader, ResourceManager manager, Profiler profiler) {
4947
Map<Identifier, PotentialAttribute> readItemAttributes = Maps.newHashMap();
5048

51-
for (Map.Entry<Identifier, JsonObject> entry : loader.entrySet()) {
49+
for (Map.Entry<Identifier, JsonElement> entry : loader.entrySet()) {
5250
Identifier identifier = entry.getKey();
5351

5452
try {
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package draylar.tiered.gson;
2+
3+
import com.google.gson.JsonDeserializationContext;
4+
import com.google.gson.JsonDeserializer;
5+
import com.google.gson.JsonElement;
6+
import com.google.gson.JsonParseException;
7+
import net.minecraft.text.TextColor;
8+
import net.minecraft.util.Formatting;
9+
10+
import java.lang.reflect.Type;
11+
12+
public class TextColorDeserializer implements JsonDeserializer<TextColor> {
13+
14+
@Override
15+
public TextColor deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
16+
return TextColor.fromFormatting(Formatting.byName(json.getAsString().toUpperCase()));
17+
}
18+
}

src/main/java/draylar/tiered/mixin/ItemMixin.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)