Skip to content

Commit 4302b25

Browse files
Reverting c6edb92 in order to fix beans 🫘
1 parent 20d4a06 commit 4302b25

File tree

2 files changed

+56
-66
lines changed

2 files changed

+56
-66
lines changed

‎src/main/java/dev/latvian/mods/kubejs/component/AttributeModifierFunctions.java‎

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,28 +45,28 @@ public interface AttributeModifierFunctions {
4545
}
4646

4747
@HideFromJS
48-
AttributeModifierFunctions kjs$setAttributeModifiers(ItemAttributeModifiers modifiers);
48+
void kjs$setAttributeModifiers(ItemAttributeModifiers modifiers);
4949

50-
default AttributeModifierFunctions kjs$addAttributeModifier(Holder<Attribute> attribute, AttributeModifier mod, EquipmentSlotGroup slot) {
51-
return kjs$setAttributeModifiers(kjs$getAttributeModifiers().withModifierAdded(attribute, mod, slot));
50+
default void kjs$addAttributeModifier(Holder<Attribute> attribute, AttributeModifier mod, EquipmentSlotGroup slot) {
51+
kjs$setAttributeModifiers(kjs$getAttributeModifiers().withModifierAdded(attribute, mod, slot));
5252
}
5353

5454
@ApiStatus.NonExtendable
55-
default AttributeModifierFunctions kjs$setAttributeModifiers(List<ItemAttributeModifiers.Entry> modifiers) {
56-
return kjs$setAttributeModifiers(new ItemAttributeModifiers(modifiers, false));
55+
default void kjs$setAttributeModifiers(List<ItemAttributeModifiers.Entry> modifiers) {
56+
kjs$setAttributeModifiers(new ItemAttributeModifiers(modifiers, false));
5757
}
5858

5959
@ApiStatus.NonExtendable
60-
default AttributeModifierFunctions kjs$setAttributeModifiersWithTooltip(List<ItemAttributeModifiers.Entry> modifiers) {
61-
return kjs$setAttributeModifiers(new ItemAttributeModifiers(modifiers, true));
60+
default void kjs$setAttributeModifiersWithTooltip(List<ItemAttributeModifiers.Entry> modifiers) {
61+
kjs$setAttributeModifiers(new ItemAttributeModifiers(modifiers, true));
6262
}
6363

6464
@Info("""
6565
Sets the attack speed of this item to the given value, **removing** all other modifiers to attack speed.
6666
Note that players have a default attack speed of 4.0, so this modifier is added on top of that.
6767
(Example: Swords have an attack speed of -2.4, leading to a total value of 1.6 without any other changes.)
6868
""")
69-
default AttributeModifierFunctions kjs$setAttackSpeed(double speed) {
69+
default void kjs$setAttackSpeed(double speed) {
7070
var oldMods = kjs$getAttributeModifiers();
7171

7272
var list = new ArrayList<ItemAttributeModifiers.Entry>(oldMods.modifiers().size());
@@ -81,15 +81,15 @@ public interface AttributeModifierFunctions {
8181
new AttributeModifier(BASE_ATTACK_SPEED_ID, speed, AttributeModifier.Operation.ADD_VALUE),
8282
EquipmentSlotGroup.MAINHAND));
8383

84-
return kjs$setAttributeModifiers(new ItemAttributeModifiers(list, oldMods.showInTooltip()));
84+
kjs$setAttributeModifiers(new ItemAttributeModifiers(list, oldMods.showInTooltip()));
8585
}
8686

8787
@Info("""
8888
Sets the attack damage of this item to the given value, **removing** all other modifiers to attack damage.
8989
Note that since players have a default attack damage of 1.0, total damage will be (dmg + 1.0) before other modifiers.
9090
(In practice, this simply means that most weapons have this value set to 1 less than what you might think.)
9191
""")
92-
default AttributeModifierFunctions kjs$setAttackDamage(double dmg) {
92+
default void kjs$setAttackDamage(double dmg) {
9393
var oldMods = kjs$getAttributeModifiers();
9494

9595
var list = new ArrayList<ItemAttributeModifiers.Entry>(oldMods.modifiers().size());
@@ -104,7 +104,7 @@ public interface AttributeModifierFunctions {
104104
new AttributeModifier(BASE_ATTACK_DAMAGE_ID, dmg, AttributeModifier.Operation.ADD_VALUE),
105105
EquipmentSlotGroup.MAINHAND));
106106

107-
return kjs$setAttributeModifiers(new ItemAttributeModifiers(list, oldMods.showInTooltip()));
107+
kjs$setAttributeModifiers(new ItemAttributeModifiers(list, oldMods.showInTooltip()));
108108
}
109109

110110
default double kjs$getAttackDamage() {
@@ -153,8 +153,8 @@ public interface AttributeModifierFunctions {
153153
Overrides the *base* attack speed of this item to be the given value, keeping other modifiers intact.
154154
Note that players have a default attack speed of 4.0, so this modifier is added on top of that.
155155
""")
156-
default AttributeModifierFunctions kjs$setBaseAttackSpeed(double speed) {
157-
return kjs$addAttributeModifier(Attributes.ATTACK_SPEED,
156+
default void kjs$setBaseAttackSpeed(double speed) {
157+
kjs$addAttributeModifier(Attributes.ATTACK_SPEED,
158158
new AttributeModifier(BASE_ATTACK_SPEED_ID, speed, AttributeModifier.Operation.ADD_VALUE),
159159
EquipmentSlotGroup.MAINHAND);
160160
}
@@ -163,8 +163,8 @@ public interface AttributeModifierFunctions {
163163
Overrides the *base* attack damage of this item to be the given value, keeping other modifiers intact.
164164
Note that since players have a default attack damage of 1.0, total damage will be (dmg + 1.0) before other modifiers.
165165
""")
166-
default AttributeModifierFunctions kjs$setBaseAttackDamage(double dmg) {
167-
return kjs$addAttributeModifier(Attributes.ATTACK_DAMAGE,
166+
default void kjs$setBaseAttackDamage(double dmg) {
167+
kjs$addAttributeModifier(Attributes.ATTACK_DAMAGE,
168168
new AttributeModifier(BASE_ATTACK_DAMAGE_ID, dmg, AttributeModifier.Operation.ADD_VALUE),
169169
EquipmentSlotGroup.MAINHAND);
170170
}
Lines changed: 41 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package dev.latvian.mods.kubejs.component;
22

33
import dev.latvian.mods.kubejs.color.KubeColor;
4-
import dev.latvian.mods.rhino.util.HideFromJS;
54
import dev.latvian.mods.rhino.util.RemapPrefixForJS;
65
import dev.latvian.mods.rhino.util.ReturnsSelf;
76
import net.minecraft.core.Holder;
8-
import net.minecraft.core.component.DataComponentType;
97
import net.minecraft.core.component.DataComponents;
108
import net.minecraft.nbt.CompoundTag;
119
import net.minecraft.network.chat.Component;
@@ -22,98 +20,90 @@
2220
import net.minecraft.world.item.component.MapItemColor;
2321
import net.minecraft.world.item.component.Tool;
2422
import net.minecraft.world.item.component.Unbreakable;
25-
import org.jetbrains.annotations.Nullable;
2623

2724
import java.util.List;
2825

2926
@RemapPrefixForJS("kjs$")
3027
@ReturnsSelf
3128
public interface ItemComponentFunctions extends ComponentFunctions, AttributeModifierFunctions {
32-
@HideFromJS
33-
default <T> ItemComponentFunctions kjs$overrideItem(DataComponentType<T> type, @Nullable T value) {
34-
kjs$override(type, value);
35-
return this;
29+
default void kjs$setMaxStackSize(int size) {
30+
kjs$override(DataComponents.MAX_STACK_SIZE, size);
3631
}
3732

38-
default ItemComponentFunctions kjs$setMaxStackSize(int size) {
39-
return kjs$overrideItem(DataComponents.MAX_STACK_SIZE, size);
33+
default void kjs$setMaxDamage(int maxDamage) {
34+
kjs$override(DataComponents.MAX_DAMAGE, maxDamage);
4035
}
4136

42-
default ItemComponentFunctions kjs$setMaxDamage(int maxDamage) {
43-
return kjs$overrideItem(DataComponents.MAX_DAMAGE, maxDamage);
37+
default void kjs$setDamage(int damage) {
38+
kjs$override(DataComponents.DAMAGE, damage);
4439
}
4540

46-
default ItemComponentFunctions kjs$setDamage(int damage) {
47-
return kjs$overrideItem(DataComponents.DAMAGE, damage);
41+
default void kjs$setUnbreakable() {
42+
kjs$override(DataComponents.UNBREAKABLE, new Unbreakable(false));
4843
}
4944

50-
default ItemComponentFunctions kjs$setUnbreakable() {
51-
return kjs$overrideItem(DataComponents.UNBREAKABLE, new Unbreakable(false));
45+
default void kjs$setUnbreakableWithTooltip() {
46+
kjs$override(DataComponents.UNBREAKABLE, new Unbreakable(true));
5247
}
5348

54-
default ItemComponentFunctions kjs$setUnbreakableWithTooltip() {
55-
return kjs$overrideItem(DataComponents.UNBREAKABLE, new Unbreakable(true));
49+
default void kjs$setItemName(Component component) {
50+
kjs$override(DataComponents.ITEM_NAME, component);
5651
}
5752

58-
default ItemComponentFunctions kjs$setItemName(Component component) {
59-
return kjs$overrideItem(DataComponents.ITEM_NAME, component);
53+
default void kjs$setRepairCost(int repairCost) {
54+
kjs$override(DataComponents.REPAIR_COST, repairCost);
6055
}
6156

62-
default ItemComponentFunctions kjs$setRepairCost(int repairCost) {
63-
return kjs$overrideItem(DataComponents.REPAIR_COST, repairCost);
57+
default void kjs$setFood(FoodProperties foodProperties) {
58+
kjs$override(DataComponents.FOOD, foodProperties);
6459
}
6560

66-
default ItemComponentFunctions kjs$setFood(FoodProperties foodProperties) {
67-
return kjs$overrideItem(DataComponents.FOOD, foodProperties);
61+
default void kjs$setFood(int nutrition, float saturation) {
62+
kjs$setFood(new FoodProperties.Builder().nutrition(nutrition).saturationModifier(saturation).build());
6863
}
6964

70-
default ItemComponentFunctions kjs$setFood(int nutrition, float saturation) {
71-
return kjs$setFood(new FoodProperties.Builder().nutrition(nutrition).saturationModifier(saturation).build());
72-
}
73-
74-
default ItemComponentFunctions kjs$setFireResistant() {
65+
default void kjs$setFireResistant() {
7566
kjs$setUnit(DataComponents.FIRE_RESISTANT);
76-
return this;
7767
}
7868

79-
default ItemComponentFunctions kjs$setTool(Tool tool) {
80-
return kjs$overrideItem(DataComponents.TOOL, tool);
69+
default void kjs$setTool(Tool tool) {
70+
kjs$override(DataComponents.TOOL, tool);
8171
}
8272

83-
default ItemComponentFunctions kjs$setMapItemColor(KubeColor color) {
84-
return kjs$overrideItem(DataComponents.MAP_COLOR, new MapItemColor(color.kjs$getRGB()));
73+
default void kjs$setMapItemColor(KubeColor color) {
74+
kjs$override(DataComponents.MAP_COLOR, new MapItemColor(color.kjs$getRGB()));
8575
}
8676

87-
default ItemComponentFunctions kjs$setChargedProjectiles(List<ItemStack> items) {
88-
return kjs$overrideItem(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.of(items));
77+
default void kjs$setChargedProjectiles(List<ItemStack> items) {
78+
kjs$override(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.of(items));
8979
}
9080

91-
default ItemComponentFunctions kjs$setBundleContents(List<ItemStack> items) {
92-
return kjs$overrideItem(DataComponents.BUNDLE_CONTENTS, new BundleContents(items));
81+
default void kjs$setBundleContents(List<ItemStack> items) {
82+
kjs$override(DataComponents.BUNDLE_CONTENTS, new BundleContents(items));
9383
}
9484

95-
default ItemComponentFunctions kjs$setBucketEntityData(CompoundTag tag) {
96-
return kjs$overrideItem(DataComponents.BUCKET_ENTITY_DATA, CustomData.of(tag));
85+
default void kjs$setBucketEntityData(CompoundTag tag) {
86+
kjs$override(DataComponents.BUCKET_ENTITY_DATA, CustomData.of(tag));
9787
}
9888

99-
default ItemComponentFunctions kjs$setBlockEntityData(CompoundTag tag) {
100-
return kjs$overrideItem(DataComponents.BLOCK_ENTITY_DATA, CustomData.of(tag));
89+
default void kjs$setBlockEntityData(CompoundTag tag) {
90+
kjs$override(DataComponents.BLOCK_ENTITY_DATA, CustomData.of(tag));
10191
}
10292

103-
default ItemComponentFunctions kjs$setInstrument(Holder<Instrument> instrument) {
104-
return kjs$overrideItem(DataComponents.INSTRUMENT, instrument);
93+
default void kjs$setInstrument(Holder<Instrument> instrument) {
94+
kjs$override(DataComponents.INSTRUMENT, instrument);
10595
}
10696

107-
default ItemComponentFunctions kjs$setFireworkExplosion(FireworkExplosion explosion) {
108-
return kjs$overrideItem(DataComponents.FIREWORK_EXPLOSION, explosion);
97+
default void kjs$setFireworkExplosion(FireworkExplosion explosion) {
98+
kjs$override(DataComponents.FIREWORK_EXPLOSION, explosion);
10999
}
110100

111-
default ItemComponentFunctions kjs$setFireworks(Fireworks fireworks) {
112-
return kjs$overrideItem(DataComponents.FIREWORKS, fireworks);
101+
default void kjs$setFireworks(Fireworks fireworks) {
102+
kjs$override(DataComponents.FIREWORKS, fireworks);
113103
}
114104

115-
default ItemComponentFunctions kjs$setNoteBlockSound(ResourceLocation id) {
116-
return kjs$overrideItem(DataComponents.NOTE_BLOCK_SOUND, id);
105+
default void kjs$setNoteBlockSound(ResourceLocation id) {
106+
kjs$override(DataComponents.NOTE_BLOCK_SOUND, id);
117107
}
118108

119109
@Override
@@ -123,7 +113,7 @@ public interface ItemComponentFunctions extends ComponentFunctions, AttributeMod
123113
}
124114

125115
@Override
126-
default ItemComponentFunctions kjs$setAttributeModifiers(ItemAttributeModifiers modifiers) {
127-
return kjs$overrideItem(DataComponents.ATTRIBUTE_MODIFIERS, modifiers);
116+
default void kjs$setAttributeModifiers(ItemAttributeModifiers modifiers) {
117+
kjs$override(DataComponents.ATTRIBUTE_MODIFIERS, modifiers);
128118
}
129119
}

0 commit comments

Comments
 (0)