FakeMerchant.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package me.km.snuviscript;
  2. import me.km.entities.ModEntities;
  3. import net.minecraft.entity.Entity;
  4. import net.minecraft.entity.merchant.IMerchant;
  5. import net.minecraft.entity.player.PlayerEntity;
  6. import net.minecraft.item.ItemStack;
  7. import net.minecraft.item.MerchantOffer;
  8. import net.minecraft.item.MerchantOffers;
  9. import net.minecraft.nbt.CompoundNBT;
  10. import net.minecraft.network.IPacket;
  11. import net.minecraft.util.SoundEvent;
  12. import net.minecraft.util.SoundEvents;
  13. import net.minecraft.world.World;
  14. import net.minecraftforge.api.distmarker.Dist;
  15. import net.minecraftforge.api.distmarker.OnlyIn;
  16. public class FakeMerchant extends Entity implements IMerchant {
  17. private PlayerEntity customer = null;
  18. private final MerchantOffers offers = new MerchantOffers();
  19. public FakeMerchant() {
  20. super(ModEntities.NOBODY, null);
  21. }
  22. @Override
  23. public PlayerEntity getCustomer() {
  24. return this.customer;
  25. }
  26. @Override
  27. public void setCustomer(PlayerEntity p) {
  28. if(p != null) {
  29. world = p.world;
  30. setPosition(p.getPosX(), p.getPosY(), p.getPosZ());
  31. }
  32. this.customer = p;
  33. }
  34. @Override
  35. public MerchantOffers getOffers() {
  36. return this.offers;
  37. }
  38. @OnlyIn(Dist.CLIENT)
  39. @Override
  40. public void setClientSideOffers(MerchantOffers offers) {
  41. }
  42. @Override
  43. public void onTrade(MerchantOffer offer) {
  44. offer.increaseUses();
  45. }
  46. @Override
  47. public void verifySellingItem(ItemStack stack) {
  48. }
  49. @Override
  50. public World getWorld() {
  51. return world;
  52. }
  53. @Override
  54. public int getXp() {
  55. return 0;
  56. }
  57. @Override
  58. public void setXP(int xp) {
  59. }
  60. @Override
  61. public SoundEvent getYesSound() {
  62. return SoundEvents.ENTITY_VILLAGER_YES;
  63. }
  64. @Override
  65. protected void registerData() {
  66. }
  67. @Override
  68. protected void readAdditional(CompoundNBT cnbt) {
  69. }
  70. @Override
  71. protected void writeAdditional(CompoundNBT cnbt) {
  72. }
  73. @Override
  74. public IPacket<?> createSpawnPacket() {
  75. return null;
  76. }
  77. @Override
  78. public boolean hasXPBar() {
  79. return false;
  80. }
  81. }