35 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.util.datafix.fixes;
 | |
| 
 | |
| import com.mojang.datafixers.Typed;
 | |
| import com.mojang.datafixers.schemas.Schema;
 | |
| import com.mojang.serialization.Dynamic;
 | |
| import java.util.Optional;
 | |
| import net.minecraft.Util;
 | |
| 
 | |
| public class OminousBannerRenameFix extends ItemStackTagFix {
 | |
| 	public OminousBannerRenameFix(Schema schema) {
 | |
| 		super(schema, "OminousBannerRenameFix", string -> string.equals("minecraft:white_banner"));
 | |
| 	}
 | |
| 
 | |
| 	private <T> Dynamic<T> fixItemStackTag(Dynamic<T> data) {
 | |
| 		return data.update(
 | |
| 			"display",
 | |
| 			dynamic -> dynamic.update(
 | |
| 				"Name",
 | |
| 				dynamicx -> {
 | |
| 					Optional<String> optional = dynamicx.asString().result();
 | |
| 					return optional.isPresent()
 | |
| 						? dynamicx.createString(
 | |
| 							((String)optional.get()).replace("\"translate\":\"block.minecraft.illager_banner\"", "\"translate\":\"block.minecraft.ominous_banner\"")
 | |
| 						)
 | |
| 						: dynamicx;
 | |
| 				}
 | |
| 			)
 | |
| 		);
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	protected Typed<?> fixItemStackTag(Typed<?> data) {
 | |
| 		return Util.writeAndReadTypedOrThrow(data, data.getType(), this::fixItemStackTag);
 | |
| 	}
 | |
| }
 |