Remap CraftBukkit to Mojang+Yarn Mappings
By: Initial Source <noreply+automated@papermc.io>
This commit is contained in:
@@ -4,16 +4,15 @@ import com.google.common.base.Preconditions;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiFunction;
|
||||
import net.minecraft.core.IRegistry;
|
||||
import net.minecraft.core.particles.BlockParticleOption;
|
||||
import net.minecraft.core.particles.ColorParticleOption;
|
||||
import net.minecraft.core.particles.DustColorTransitionOptions;
|
||||
import net.minecraft.core.particles.ParticleParam;
|
||||
import net.minecraft.core.particles.ParticleParamBlock;
|
||||
import net.minecraft.core.particles.ParticleParamItem;
|
||||
import net.minecraft.core.particles.ParticleParamRedstone;
|
||||
import net.minecraft.core.particles.ParticleType;
|
||||
import net.minecraft.core.particles.DustParticleOptions;
|
||||
import net.minecraft.core.particles.ItemParticleOption;
|
||||
import net.minecraft.core.particles.ParticleOptions;
|
||||
import net.minecraft.core.particles.SculkChargeParticleOptions;
|
||||
import net.minecraft.core.particles.ShriekParticleOption;
|
||||
import net.minecraft.core.particles.SimpleParticleType;
|
||||
import net.minecraft.core.particles.TrailParticleOption;
|
||||
import net.minecraft.core.particles.VibrationParticleOption;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
@@ -43,10 +42,10 @@ public abstract class CraftParticle<D> implements Keyed {
|
||||
|
||||
private static final Registry<CraftParticle<?>> CRAFT_PARTICLE_REGISTRY = new CraftParticleRegistry(CraftRegistry.getMinecraftRegistry(Registries.PARTICLE_TYPE));
|
||||
|
||||
public static Particle minecraftToBukkit(net.minecraft.core.particles.Particle<?> minecraft) {
|
||||
public static Particle minecraftToBukkit(net.minecraft.core.particles.ParticleType<?> minecraft) {
|
||||
Preconditions.checkArgument(minecraft != null);
|
||||
|
||||
IRegistry<net.minecraft.core.particles.Particle<?>> registry = CraftRegistry.getMinecraftRegistry(Registries.PARTICLE_TYPE);
|
||||
net.minecraft.core.Registry<net.minecraft.core.particles.ParticleType<?>> registry = CraftRegistry.getMinecraftRegistry(Registries.PARTICLE_TYPE);
|
||||
Particle bukkit = Registry.PARTICLE_TYPE.get(CraftNamespacedKey.fromMinecraft(registry.getResourceKey(minecraft).orElseThrow().location()));
|
||||
|
||||
Preconditions.checkArgument(bukkit != null);
|
||||
@@ -54,14 +53,14 @@ public abstract class CraftParticle<D> implements Keyed {
|
||||
return bukkit;
|
||||
}
|
||||
|
||||
public static net.minecraft.core.particles.Particle<?> bukkitToMinecraft(Particle bukkit) {
|
||||
public static net.minecraft.core.particles.ParticleType<?> bukkitToMinecraft(Particle bukkit) {
|
||||
Preconditions.checkArgument(bukkit != null);
|
||||
|
||||
return CraftRegistry.getMinecraftRegistry(Registries.PARTICLE_TYPE)
|
||||
.getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow();
|
||||
}
|
||||
|
||||
public static <D> ParticleParam createParticleParam(Particle particle, D data) {
|
||||
public static <D> ParticleOptions createParticleParam(Particle particle, D data) {
|
||||
Preconditions.checkArgument(particle != null, "particle cannot be null");
|
||||
|
||||
data = CraftParticle.convertLegacy(data);
|
||||
@@ -72,7 +71,7 @@ public abstract class CraftParticle<D> implements Keyed {
|
||||
Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType());
|
||||
}
|
||||
|
||||
CraftParticle<D> craftParticle = (CraftParticle<D>) CRAFT_PARTICLE_REGISTRY.get(particle.getKey());
|
||||
CraftParticle<D> craftParticle = (CraftParticle<D>) CraftParticle.CRAFT_PARTICLE_REGISTRY.get(particle.getKey());
|
||||
|
||||
Preconditions.checkArgument(craftParticle != null);
|
||||
|
||||
@@ -88,72 +87,72 @@ public abstract class CraftParticle<D> implements Keyed {
|
||||
}
|
||||
|
||||
private final NamespacedKey key;
|
||||
private final net.minecraft.core.particles.Particle<?> particle;
|
||||
private final net.minecraft.core.particles.ParticleType<?> particle;
|
||||
private final Class<D> clazz;
|
||||
|
||||
public CraftParticle(NamespacedKey key, net.minecraft.core.particles.Particle<?> particle, Class<D> clazz) {
|
||||
public CraftParticle(NamespacedKey key, net.minecraft.core.particles.ParticleType<?> particle, Class<D> clazz) {
|
||||
this.key = key;
|
||||
this.particle = particle;
|
||||
this.clazz = clazz;
|
||||
}
|
||||
|
||||
public net.minecraft.core.particles.Particle<?> getHandle() {
|
||||
return particle;
|
||||
public net.minecraft.core.particles.ParticleType<?> getHandle() {
|
||||
return this.particle;
|
||||
}
|
||||
|
||||
public abstract ParticleParam createParticleParam(D data);
|
||||
public abstract ParticleOptions createParticleParam(D data);
|
||||
|
||||
@Override
|
||||
public NamespacedKey getKey() {
|
||||
return key;
|
||||
return this.key;
|
||||
}
|
||||
|
||||
public static class CraftParticleRegistry extends CraftRegistry<CraftParticle<?>, net.minecraft.core.particles.Particle<?>> {
|
||||
public static class CraftParticleRegistry extends CraftRegistry<CraftParticle<?>, net.minecraft.core.particles.ParticleType<?>> {
|
||||
|
||||
private static final Map<NamespacedKey, BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>>> PARTICLE_MAP = new HashMap<>();
|
||||
private static final Map<NamespacedKey, BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>>> PARTICLE_MAP = new HashMap<>();
|
||||
|
||||
private static final BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> VOID_FUNCTION = (name, particle) -> new CraftParticle<>(name, particle, Void.class) {
|
||||
private static final BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> VOID_FUNCTION = (name, particle) -> new CraftParticle<>(name, particle, Void.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Void data) {
|
||||
return (ParticleType) getHandle();
|
||||
public ParticleOptions createParticleParam(Void data) {
|
||||
return (SimpleParticleType) this.getHandle();
|
||||
}
|
||||
};
|
||||
|
||||
static {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> dustOptionsFunction = (name, particle) -> new CraftParticle<>(name, particle, Particle.DustOptions.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> dustOptionsFunction = (name, particle) -> new CraftParticle<>(name, particle, Particle.DustOptions.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Particle.DustOptions data) {
|
||||
public ParticleOptions createParticleParam(Particle.DustOptions data) {
|
||||
Color color = data.getColor();
|
||||
return new ParticleParamRedstone(color.asRGB(), data.getSize());
|
||||
return new DustParticleOptions(color.asRGB(), data.getSize());
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> itemStackFunction = (name, particle) -> new CraftParticle<>(name, particle, ItemStack.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> itemStackFunction = (name, particle) -> new CraftParticle<>(name, particle, ItemStack.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(ItemStack data) {
|
||||
return new ParticleParamItem((net.minecraft.core.particles.Particle<ParticleParamItem>) getHandle(), CraftItemStack.asNMSCopy(data));
|
||||
public ParticleOptions createParticleParam(ItemStack data) {
|
||||
return new ItemParticleOption((net.minecraft.core.particles.ParticleType<ItemParticleOption>) this.getHandle(), CraftItemStack.asNMSCopy(data));
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> blockDataFunction = (name, particle) -> new CraftParticle<>(name, particle, BlockData.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> blockDataFunction = (name, particle) -> new CraftParticle<>(name, particle, BlockData.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(BlockData data) {
|
||||
return new ParticleParamBlock((net.minecraft.core.particles.Particle<ParticleParamBlock>) getHandle(), ((CraftBlockData) data).getState());
|
||||
public ParticleOptions createParticleParam(BlockData data) {
|
||||
return new BlockParticleOption((net.minecraft.core.particles.ParticleType<BlockParticleOption>) this.getHandle(), ((CraftBlockData) data).getState());
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> dustTransitionFunction = (name, particle) -> new CraftParticle<>(name, particle, Particle.DustTransition.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> dustTransitionFunction = (name, particle) -> new CraftParticle<>(name, particle, Particle.DustTransition.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Particle.DustTransition data) {
|
||||
public ParticleOptions createParticleParam(Particle.DustTransition data) {
|
||||
Color from = data.getColor();
|
||||
Color to = data.getToColor();
|
||||
return new DustColorTransitionOptions(from.asRGB(), to.asRGB(), data.getSize());
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> vibrationFunction = (name, particle) -> new CraftParticle<>(name, particle, Vibration.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> vibrationFunction = (name, particle) -> new CraftParticle<>(name, particle, Vibration.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Vibration data) {
|
||||
public ParticleOptions createParticleParam(Vibration data) {
|
||||
PositionSource source;
|
||||
if (data.getDestination() instanceof Vibration.Destination.BlockDestination) {
|
||||
Location destination = ((Vibration.Destination.BlockDestination) data.getDestination()).getLocation();
|
||||
@@ -169,30 +168,30 @@ public abstract class CraftParticle<D> implements Keyed {
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> floatFunction = (name, particle) -> new CraftParticle<>(name, particle, Float.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> floatFunction = (name, particle) -> new CraftParticle<>(name, particle, Float.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Float data) {
|
||||
public ParticleOptions createParticleParam(Float data) {
|
||||
return new SculkChargeParticleOptions(data);
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> integerFunction = (name, particle) -> new CraftParticle<>(name, particle, Integer.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> integerFunction = (name, particle) -> new CraftParticle<>(name, particle, Integer.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Integer data) {
|
||||
public ParticleOptions createParticleParam(Integer data) {
|
||||
return new ShriekParticleOption(data);
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> colorFunction = (name, particle) -> new CraftParticle<>(name, particle, Color.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> colorFunction = (name, particle) -> new CraftParticle<>(name, particle, Color.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Color color) {
|
||||
return ColorParticleOption.create((net.minecraft.core.particles.Particle<ColorParticleOption>) particle, color.asARGB());
|
||||
public ParticleOptions createParticleParam(Color color) {
|
||||
return ColorParticleOption.create((net.minecraft.core.particles.ParticleType<ColorParticleOption>) particle, color.asARGB());
|
||||
}
|
||||
};
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> trailFunction = (name, particle) -> new CraftParticle<>(name, particle, Particle.Trail.class) {
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> trailFunction = (name, particle) -> new CraftParticle<>(name, particle, Particle.Trail.class) {
|
||||
@Override
|
||||
public ParticleParam createParticleParam(Particle.Trail data) {
|
||||
public ParticleOptions createParticleParam(Particle.Trail data) {
|
||||
return new TrailParticleOption(CraftLocation.toVec3D(data.getTarget()), data.getColor().asRGB(), data.getDuration());
|
||||
}
|
||||
};
|
||||
@@ -212,21 +211,21 @@ public abstract class CraftParticle<D> implements Keyed {
|
||||
add("trail", trailFunction);
|
||||
}
|
||||
|
||||
private static void add(String name, BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> function) {
|
||||
PARTICLE_MAP.put(NamespacedKey.fromString(name), function);
|
||||
private static void add(String name, BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> function) {
|
||||
CraftParticleRegistry.PARTICLE_MAP.put(NamespacedKey.fromString(name), function);
|
||||
}
|
||||
|
||||
public CraftParticleRegistry(IRegistry<net.minecraft.core.particles.Particle<?>> minecraftRegistry) {
|
||||
public CraftParticleRegistry(net.minecraft.core.Registry<net.minecraft.core.particles.ParticleType<?>> minecraftRegistry) {
|
||||
super(CraftParticle.class, minecraftRegistry, null, FieldRename.PARTICLE_TYPE_RENAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CraftParticle<?> createBukkit(NamespacedKey namespacedKey, net.minecraft.core.particles.Particle<?> particle) {
|
||||
public CraftParticle<?> createBukkit(NamespacedKey namespacedKey, net.minecraft.core.particles.ParticleType<?> particle) {
|
||||
if (particle == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.Particle<?>, CraftParticle<?>> function = PARTICLE_MAP.getOrDefault(namespacedKey, VOID_FUNCTION);
|
||||
BiFunction<NamespacedKey, net.minecraft.core.particles.ParticleType<?>, CraftParticle<?>> function = CraftParticleRegistry.PARTICLE_MAP.getOrDefault(namespacedKey, CraftParticleRegistry.VOID_FUNCTION);
|
||||
|
||||
return function.apply(namespacedKey, particle);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user