flidiii

Untitled

Mar 18th, 2025
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. package stellarcore.mixin;
  2.  
  3. import net.minecraft.entity.ItemEntity;
  4. import net.minecraft.entity.player.PlayerEntity;
  5. import net.minecraft.item.Item;
  6. import net.minecraft.item.ItemStack;
  7. import net.minecraft.stat.Stats;
  8. import org.jetbrains.annotations.Nullable;
  9. import org.spongepowered.asm.mixin.Mixin;
  10. import org.spongepowered.asm.mixin.Shadow;
  11. import org.spongepowered.asm.mixin.Unique;
  12. import org.spongepowered.asm.mixin.injection.At;
  13. import org.spongepowered.asm.mixin.injection.Inject;
  14. import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
  15. import stellarcore.ItemPickupEvent;
  16. import stellarcore.ModularInventory;
  17.  
  18. import java.util.UUID;
  19.  
  20. @Mixin(ItemEntity.class)
  21. public abstract class ItemPickUpMixin implements ItemPickupEvent{
  22.  
  23. @Shadow private int pickupDelay;
  24.  
  25. @Shadow @Nullable private UUID owner;
  26. @Unique
  27. @Nullable private PlayerEntity player;
  28.  
  29. @Inject(at = @At("HEAD"), method = "onPlayerCollision")
  30. private void tick(CallbackInfo info) {
  31. if(1 == 0) {
  32.  
  33. }else{
  34. ItemStack itemStack = this.getStack();
  35. Item item = itemStack.getItem();
  36. int i = itemStack.getCount();
  37. ModularInventory modularInventory = new ModularInventory(10);
  38.  
  39. if (this.pickupDelay == 0 && (this.owner == null || this.owner.equals(player.getUuid())) && modularInventory.addItem(itemStack)) {
  40. player.sendPickup(this.getItem(), i);
  41. if (itemStack.isEmpty()) {
  42. this.getItem();
  43. itemStack.setCount(i);
  44. }
  45.  
  46. player.increaseStat(Stats.PICKED_UP.getOrCreateStat(item), i);
  47. player.triggerItemPickedUpByEntityCriteria(this.getItem());
  48. }
  49.  
  50. }
  51. }
  52.  
  53. @Override
  54. public void setItem(Item item) {
  55. this.setItem(item);
  56. }
  57.  
  58. @Override
  59. public ItemEntity getItem() {
  60. return this.getItem();
  61. }
  62.  
  63. @Override
  64. public PlayerEntity getPlayer() {
  65. return this.getPlayer();
  66. }
  67.  
  68. @Override
  69. public ItemStack getStack(){
  70. return this.getStack();
  71. }
  72. }
  73.  
Add Comment
Please, Sign In to add comment