mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-29 03:49:21 +00:00
59 lines
4.3 KiB
Diff
59 lines
4.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
|
|
Date: Sun, 9 Jul 2023 14:50:57 +0800
|
|
Subject: [PATCH] sync with Gale's Optimize-villager-data-storage.patch
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java b/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
|
index e49e6b9b7b0f1fab6a8888fcfd67d709d5a0dbd7..429dd3c399db2d327e471e3a689a45cbf3dd1e7e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
|
@@ -3,8 +3,6 @@ package net.minecraft.world.entity.ai.behavior;
|
|
import com.google.common.collect.ImmutableMap;
|
|
|
|
import java.util.Arrays;
|
|
-
|
|
-import com.google.common.collect.ImmutableSet;
|
|
import net.minecraft.server.level.ServerLevel;
|
|
import net.minecraft.world.SimpleContainer;
|
|
import net.minecraft.world.entity.EntityType;
|
|
@@ -24,6 +22,7 @@ public class TradeWithVillager extends Behavior<Villager> {
|
|
private static final float SPEED_MODIFIER = 0.5F;
|
|
// Gale start - optimize villager data storage
|
|
private static final Item[] WHEAT_SINGLETON_ARRAY = {Items.WHEAT};
|
|
+ private static final Item[] NETHER_WART_SINGLETON_ARRAY = {Items.NETHER_WART}; // Leaf - sync with Gale's Optimize-villager-data-storage.patch
|
|
private @NotNull Item @Nullable [] trades = null;
|
|
// Gale end - optimize villager data storage
|
|
|
|
@@ -64,7 +63,7 @@ public class TradeWithVillager extends Behavior<Villager> {
|
|
|
|
// Purpur start
|
|
if (world.purpurConfig.villagerClericsFarmWarts && world.purpurConfig.villagerClericFarmersThrowWarts && entity.getVillagerData().getProfession() == VillagerProfession.CLERIC && entity.getInventory().countItem(Items.NETHER_WART) > Items.NETHER_WART.getMaxStackSize() / 2) {
|
|
- throwHalfStack(entity, ImmutableSet.of(Items.NETHER_WART).toArray(new Item[0]), villager);
|
|
+ throwHalfStack(entity, NETHER_WART_SINGLETON_ARRAY, villager); // Leaf - sync with Gale's Optimize-villager-data-storage.patch
|
|
}
|
|
// Purpur end
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
|
index 3ccfac9e8ae958f3f94fe774120716e5b6293ce7..5c685a52daaf86f8df47abe6824792f87c8eb246 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
|
@@ -1,8 +1,6 @@
|
|
package net.minecraft.world.entity.npc;
|
|
|
|
import java.util.function.Predicate;
|
|
-
|
|
-import com.google.common.collect.ImmutableSet;
|
|
import net.minecraft.core.Holder;
|
|
import net.minecraft.core.Registry;
|
|
import net.minecraft.core.registries.BuiltInRegistries;
|
|
@@ -28,7 +26,7 @@ public record VillagerProfession(String name, Predicate<Holder<PoiType>> heldJob
|
|
public static final VillagerProfession ARMORER = register("armorer", PoiTypes.ARMORER, SoundEvents.VILLAGER_WORK_ARMORER);
|
|
public static final VillagerProfession BUTCHER = register("butcher", PoiTypes.BUTCHER, SoundEvents.VILLAGER_WORK_BUTCHER);
|
|
public static final VillagerProfession CARTOGRAPHER = register("cartographer", PoiTypes.CARTOGRAPHER, SoundEvents.VILLAGER_WORK_CARTOGRAPHER);
|
|
- public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, ImmutableSet.of(Items.NETHER_WART).toArray(new Item[0]), Blocks.SOUL_SAND, SoundEvents.VILLAGER_WORK_CLERIC); // Purpur
|
|
+ public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, new Item[] {Items.NETHER_WART}, Blocks.SOUL_SAND, SoundEvents.VILLAGER_WORK_CLERIC); // Purpur // Leaf - sync with Gale's Optimize-villager-data-storage.patch
|
|
public static final VillagerProfession FARMER = register("farmer", PoiTypes.FARMER, new Item[] {Items.WHEAT, Items.WHEAT_SEEDS, Items.BEETROOT_SEEDS, Items.BONE_MEAL}, Blocks.FARMLAND, SoundEvents.VILLAGER_WORK_FARMER); // Gale - optimize villager data storage
|
|
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
|
|
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
|