Skip to content

Commit 786bf0f

Browse files
committed
Add itemstack get potion effects & add mixin mob entity loot table
1 parent f399064 commit 786bf0f

File tree

25 files changed

+304
-11
lines changed

25 files changed

+304
-11
lines changed

iCommon-API/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import net.fabricmc.loom.task.RemapJarTask
22

33
plugins {
4-
id ("fabric-loom") version "1.3-SNAPSHOT"
4+
id ("fabric-loom") version "1.6-SNAPSHOT"
55
id ("java-library")
66
id ("maven-publish")
77
}

iCommon-API/src/main/java/me/isaiah/common/cmixin/IMixinItemStack.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package me.isaiah.common.cmixin;
22

3+
import java.util.List;
4+
35
import net.minecraft.entity.LivingEntity;
6+
import net.minecraft.entity.effect.StatusEffectInstance;
47
import net.minecraft.util.Hand;
58

69
/**
@@ -15,4 +18,8 @@ public interface IMixinItemStack {
1518
*/
1619
void IC$modify_arguments(String arguments);
1720

21+
/**
22+
*/
23+
public List<StatusEffectInstance> IC$get_potion_status_effects();
24+
1825
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package me.isaiah.common.cmixin;
2+
3+
import net.minecraft.util.Identifier;
4+
5+
public interface IMixinMobEntity {
6+
7+
/**
8+
*/
9+
void IC$set_loot_table(Identifier id);
10+
11+
/**
12+
*/
13+
Identifier IC$get_loot_table_id();
14+
15+
}

iCommon-API/src/main/java/me/isaiah/common/cmixin/MixinList.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class MixinList {
4040
" TradeOffer",
4141
" SkullBlockEntity",
4242
" BeaconBlockEntity",
43+
" MobEntity",
4344
"MCVER=1.18,1.19,1.20",
4445
" World_18"
4546
);

iCommon-Fabric-1.17/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import net.fabricmc.loom.task.RemapJarTask
22

33
plugins {
4-
id ("fabric-loom") version "1.3-SNAPSHOT"
4+
id ("fabric-loom") version "1.6-SNAPSHOT"
55
id ("maven-publish")
66
id ("java-library")
77
}

iCommon-Fabric-1.18.2/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import net.fabricmc.loom.task.RemapJarTask
22

33
plugins {
4-
id ("fabric-loom") version "1.3-SNAPSHOT"
4+
id ("fabric-loom") version "1.6-SNAPSHOT"
55
id ("maven-publish")
66
id ("java-library")
77
}

iCommon-Fabric-1.18.2/src/main/java/me/isaiah/common/mixin/R1_18/MixinItemStack.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
package me.isaiah.common.mixin.R1_18;
22

3+
import java.util.List;
4+
35
import org.spongepowered.asm.mixin.Mixin;
46

57
import com.mojang.brigadier.exceptions.CommandSyntaxException;
68

79
import me.isaiah.common.ICommonMod;
810
import me.isaiah.common.cmixin.IMixinItemStack;
911
import net.minecraft.entity.LivingEntity;
12+
import net.minecraft.entity.effect.StatusEffectInstance;
1013
import net.minecraft.item.ItemStack;
1114
import net.minecraft.nbt.NbtCompound;
1215
import net.minecraft.nbt.StringNbtReader;
16+
import net.minecraft.potion.PotionUtil;
1317
import net.minecraft.util.Hand;
1418

1519
@Mixin(ItemStack.class)
@@ -31,4 +35,9 @@ public class MixinItemStack implements IMixinItemStack {
3135
}
3236
}
3337

38+
@Override
39+
public List<StatusEffectInstance> IC$get_potion_status_effects() {
40+
return PotionUtil.getPotionEffects(((ItemStack) (Object) this));
41+
}
42+
3443
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package me.isaiah.common.mixin.R1_18;
2+
3+
import org.spongepowered.asm.mixin.Mixin;
4+
import org.spongepowered.asm.mixin.Shadow;
5+
6+
import me.isaiah.common.cmixin.IMixinMobEntity;
7+
import net.minecraft.entity.mob.MobEntity;
8+
import net.minecraft.util.Identifier;
9+
10+
@Mixin(MobEntity.class)
11+
public class MixinMobEntity implements IMixinMobEntity {
12+
13+
// <=1.20.4: Lnet/minecraft/entity/mob/MobEntity;lootTable:Lnet/minecraft/util/Identifier;
14+
// >=1.20.5: Lnet/minecraft/entity/mob/MobEntity;lootTable:Lnet/minecraft/registry/RegistryKey;
15+
16+
@Shadow
17+
public Identifier lootTable;
18+
19+
20+
@Override
21+
public void IC$set_loot_table(Identifier id) {
22+
this.lootTable = id;
23+
}
24+
25+
26+
@Override
27+
public Identifier IC$get_loot_table_id() {
28+
MobEntity e = ((MobEntity) (Object) this);
29+
30+
if (lootTable == null) {
31+
lootTable = e.getLootTable();
32+
}
33+
return lootTable;
34+
}
35+
36+
}

iCommon-Fabric-1.18/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import net.fabricmc.loom.task.RemapJarTask
22

33
plugins {
4-
id ("fabric-loom") version "1.3-SNAPSHOT"
4+
id ("fabric-loom") version "1.6-SNAPSHOT"
55
id ("maven-publish")
66
id ("java-library")
77
}

iCommon-Fabric-1.19.4/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import net.fabricmc.loom.task.RemapJarTask
22

33
plugins {
4-
id ("fabric-loom") version "1.3-SNAPSHOT"
4+
id ("fabric-loom") version "1.6-SNAPSHOT"
55
id ("maven-publish")
66
id ("java-library")
77
}

0 commit comments

Comments
 (0)