mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-25 18:09:27 +00:00
优化non-italic-tag处理
This commit is contained in:
@@ -2441,8 +2441,8 @@ public class PacketConsumers {
|
||||
user.addResourcePackUUID(data.uuid());
|
||||
}
|
||||
FastNMS.INSTANCE.method$ServerConfigurationPacketListenerImpl$returnToWorld(packetListener);
|
||||
}).exceptionally(throwable -> {
|
||||
CraftEngine.instance().logger().warn("Failed to handle ClientboundFinishConfigurationPacket", throwable);
|
||||
}).exceptionally(t -> {
|
||||
CraftEngine.instance().logger().warn("Failed to handle ClientboundFinishConfigurationPacket", t);
|
||||
FastNMS.INSTANCE.method$ServerConfigurationPacketListenerImpl$returnToWorld(packetListener);
|
||||
return null;
|
||||
});
|
||||
|
||||
@@ -140,6 +140,8 @@ resource-pack:
|
||||
item:
|
||||
# Make custom-model-data and item-model clientside by default
|
||||
client-bound-model: false
|
||||
# Add a <!i> tag on custom name and lore
|
||||
non-italic-tag: false
|
||||
|
||||
equipment:
|
||||
# The sacrificed-vanilla-armor argument determines which vanilla armor gets completely removed (loses all its trims)
|
||||
|
||||
@@ -509,14 +509,21 @@ public abstract class AbstractItemManager<I> extends AbstractModelGenerator impl
|
||||
ExternalItemProvider<I> provider = AbstractItemManager.this.getExternalItemProvider(plugin);
|
||||
return new ExternalModifier<>(id, Objects.requireNonNull(provider, "Item provider " + plugin + " not found"));
|
||||
}, "external");
|
||||
registerDataType((obj) -> {
|
||||
String name = obj.toString();
|
||||
return new CustomNameModifier<>(name);
|
||||
}, "custom-name");
|
||||
registerDataType((obj) -> {
|
||||
String name = obj.toString();
|
||||
return new ItemNameModifier<>(name);
|
||||
}, "item-name", "display-name");
|
||||
if (VersionHelper.isOrAbove1_20_5()) {
|
||||
registerDataType((obj) -> {
|
||||
String name = obj.toString();
|
||||
return new CustomNameModifier<>(name);
|
||||
}, "custom-name");
|
||||
registerDataType((obj) -> {
|
||||
String name = obj.toString();
|
||||
return new ItemNameModifier<>(name);
|
||||
}, "item-name", "display-name");
|
||||
} else {
|
||||
registerDataType((obj) -> {
|
||||
String name = obj.toString();
|
||||
return new CustomNameModifier<>(name);
|
||||
}, "custom-name", "item-name", "display-name");
|
||||
}
|
||||
registerDataType((obj) -> {
|
||||
List<String> lore = MiscUtils.getAsStringList(obj);
|
||||
return new LoreModifier<>(lore);
|
||||
|
||||
@@ -4,6 +4,7 @@ import net.momirealms.craftengine.core.item.ComponentKeys;
|
||||
import net.momirealms.craftengine.core.item.Item;
|
||||
import net.momirealms.craftengine.core.item.ItemBuildContext;
|
||||
import net.momirealms.craftengine.core.item.NetworkItemHandler;
|
||||
import net.momirealms.craftengine.core.plugin.config.Config;
|
||||
import net.momirealms.craftengine.core.util.AdventureHelper;
|
||||
import net.momirealms.craftengine.core.util.VersionHelper;
|
||||
import net.momirealms.sparrow.nbt.CompoundTag;
|
||||
@@ -13,7 +14,15 @@ public class CustomNameModifier<I> implements ItemDataModifier<I> {
|
||||
private final String argument;
|
||||
|
||||
public CustomNameModifier(String argument) {
|
||||
this.argument = argument;
|
||||
if (Config.addNonItalicTag()) {
|
||||
if (argument.startsWith("<!i>")) {
|
||||
this.argument = argument;
|
||||
} else {
|
||||
this.argument = "<!i>" + argument;
|
||||
}
|
||||
} else {
|
||||
this.argument = argument;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,18 +4,32 @@ import net.momirealms.craftengine.core.item.ComponentKeys;
|
||||
import net.momirealms.craftengine.core.item.Item;
|
||||
import net.momirealms.craftengine.core.item.ItemBuildContext;
|
||||
import net.momirealms.craftengine.core.item.NetworkItemHandler;
|
||||
import net.momirealms.craftengine.core.plugin.config.Config;
|
||||
import net.momirealms.craftengine.core.util.AdventureHelper;
|
||||
import net.momirealms.craftengine.core.util.VersionHelper;
|
||||
import net.momirealms.sparrow.nbt.CompoundTag;
|
||||
import net.momirealms.sparrow.nbt.Tag;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class LoreModifier<I> implements ItemDataModifier<I> {
|
||||
private final List<String> argument;
|
||||
|
||||
public LoreModifier(List<String> argument) {
|
||||
this.argument = argument;
|
||||
if (Config.addNonItalicTag()) {
|
||||
List<String> processed = new ArrayList<>(argument.size());
|
||||
for (String arg : argument) {
|
||||
if (arg.startsWith("<!i>")) {
|
||||
processed.add(arg);
|
||||
} else {
|
||||
processed.add("<!i>" + arg);
|
||||
}
|
||||
}
|
||||
this.argument = processed;
|
||||
} else {
|
||||
this.argument = argument;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -146,6 +146,7 @@ public class Config {
|
||||
protected boolean image$intercept_packets$item;
|
||||
|
||||
protected boolean item$client_bound_model;
|
||||
protected boolean item$non_italic_tag;
|
||||
|
||||
protected String equipment$sacrificed_vanilla_armor$type;
|
||||
protected Key equipment$sacrificed_vanilla_armor$asset_id;
|
||||
@@ -344,6 +345,7 @@ public class Config {
|
||||
|
||||
// item
|
||||
item$client_bound_model = config.getBoolean("item.client-bound-model", false);
|
||||
item$non_italic_tag = config.getBoolean("item.non-italic-tag", false);
|
||||
|
||||
// block
|
||||
block$sound_system$enable = config.getBoolean("block.sound-system.enable", true);
|
||||
@@ -747,6 +749,10 @@ public class Config {
|
||||
return instance.chunk_system$cache_system;
|
||||
}
|
||||
|
||||
public static boolean addNonItalicTag() {
|
||||
return instance.item$non_italic_tag;
|
||||
}
|
||||
|
||||
public static boolean fastInjection() {
|
||||
return instance.chunk_system$injection$use_fast_method;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user