fabric-resource-loader-v1-1.0.4+14959b836f.jar
Download file
package net.fabricmc.fabric.impl.resource.v1;
import net.fabricmc.fabric.impl.base.toposort.SortableNode;
import net.minecraft.class_2960;
import net.minecraft.class_3302;
import org.jetbrains.annotations.Nullable;
class ResourceReloaderPhaseData extends SortableNode<ResourceReloaderPhaseData> {
final class_2960 id;
class_3302 resourceReloader;
VanillaStatus vanillaStatus;
ResourceReloaderPhaseData(class_2960 id, @Nullable class_3302 resourceReloader) {
this.vanillaStatus = ResourceReloaderPhaseData.VanillaStatus.NONE;
this.id = id;
this.resourceReloader = resourceReloader;
}
void markBefore() {
boolean isAfter = this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.AFTER;
if (this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.NONE || isAfter) {
this.vanillaStatus = ResourceReloaderPhaseData.VanillaStatus.BEFORE;
for(ResourceReloaderPhaseData prev : this.previousNodes) {
prev.markBefore();
}
}
}
void markAfter() {
if (this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.NONE) {
this.vanillaStatus = ResourceReloaderPhaseData.VanillaStatus.AFTER;
for(ResourceReloaderPhaseData next : this.subsequentNodes) {
next.markAfter();
}
}
}
void setVanillaStatus(VanillaStatus status) {
if (this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.NONE) {
this.vanillaStatus = status;
}
}
protected String getDescription() {
return this.id.toString();
}
protected void addSubsequentNode(ResourceReloaderPhaseData phase) {
super.addSubsequentNode(phase);
if (this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.VANILLA || this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.AFTER) {
phase.markAfter();
}
}
protected void addPreviousNode(ResourceReloaderPhaseData phase) {
super.addPreviousNode(phase);
if (this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.VANILLA || this.vanillaStatus == ResourceReloaderPhaseData.VanillaStatus.BEFORE) {
phase.markBefore();
}
}
static enum VanillaStatus {
NONE,
AFTER,
BEFORE,
VANILLA;
// $FF: synthetic method
private static VanillaStatus[] $values() {
return new VanillaStatus[]{NONE, AFTER, BEFORE, VANILLA};
}
}
static class AfterVanilla extends ResourceReloaderPhaseData {
AfterVanilla(class_2960 id) {
super(id, (class_3302)null);
this.setVanillaStatus(ResourceReloaderPhaseData.VanillaStatus.VANILLA);
}
public void markBefore() {
}
public void markAfter() {
}
}
}
Download file