145 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.world;
 | |
| 
 | |
| import com.mojang.serialization.Codec;
 | |
| import java.util.UUID;
 | |
| import net.minecraft.ChatFormatting;
 | |
| import net.minecraft.network.chat.Component;
 | |
| import net.minecraft.util.StringRepresentable;
 | |
| 
 | |
| public abstract class BossEvent {
 | |
| 	private final UUID id;
 | |
| 	protected Component name;
 | |
| 	protected float progress;
 | |
| 	protected BossEvent.BossBarColor color;
 | |
| 	protected BossEvent.BossBarOverlay overlay;
 | |
| 	protected boolean darkenScreen;
 | |
| 	protected boolean playBossMusic;
 | |
| 	protected boolean createWorldFog;
 | |
| 
 | |
| 	public BossEvent(UUID id, Component name, BossEvent.BossBarColor color, BossEvent.BossBarOverlay overlay) {
 | |
| 		this.id = id;
 | |
| 		this.name = name;
 | |
| 		this.color = color;
 | |
| 		this.overlay = overlay;
 | |
| 		this.progress = 1.0F;
 | |
| 	}
 | |
| 
 | |
| 	public UUID getId() {
 | |
| 		return this.id;
 | |
| 	}
 | |
| 
 | |
| 	public Component getName() {
 | |
| 		return this.name;
 | |
| 	}
 | |
| 
 | |
| 	public void setName(Component name) {
 | |
| 		this.name = name;
 | |
| 	}
 | |
| 
 | |
| 	public float getProgress() {
 | |
| 		return this.progress;
 | |
| 	}
 | |
| 
 | |
| 	public void setProgress(float progress) {
 | |
| 		this.progress = progress;
 | |
| 	}
 | |
| 
 | |
| 	public BossEvent.BossBarColor getColor() {
 | |
| 		return this.color;
 | |
| 	}
 | |
| 
 | |
| 	public void setColor(BossEvent.BossBarColor color) {
 | |
| 		this.color = color;
 | |
| 	}
 | |
| 
 | |
| 	public BossEvent.BossBarOverlay getOverlay() {
 | |
| 		return this.overlay;
 | |
| 	}
 | |
| 
 | |
| 	public void setOverlay(BossEvent.BossBarOverlay overlay) {
 | |
| 		this.overlay = overlay;
 | |
| 	}
 | |
| 
 | |
| 	public boolean shouldDarkenScreen() {
 | |
| 		return this.darkenScreen;
 | |
| 	}
 | |
| 
 | |
| 	public BossEvent setDarkenScreen(boolean darkenSky) {
 | |
| 		this.darkenScreen = darkenSky;
 | |
| 		return this;
 | |
| 	}
 | |
| 
 | |
| 	public boolean shouldPlayBossMusic() {
 | |
| 		return this.playBossMusic;
 | |
| 	}
 | |
| 
 | |
| 	public BossEvent setPlayBossMusic(boolean playEndBossMusic) {
 | |
| 		this.playBossMusic = playEndBossMusic;
 | |
| 		return this;
 | |
| 	}
 | |
| 
 | |
| 	public BossEvent setCreateWorldFog(boolean createFog) {
 | |
| 		this.createWorldFog = createFog;
 | |
| 		return this;
 | |
| 	}
 | |
| 
 | |
| 	public boolean shouldCreateWorldFog() {
 | |
| 		return this.createWorldFog;
 | |
| 	}
 | |
| 
 | |
| 	public static enum BossBarColor implements StringRepresentable {
 | |
| 		PINK("pink", ChatFormatting.RED),
 | |
| 		BLUE("blue", ChatFormatting.BLUE),
 | |
| 		RED("red", ChatFormatting.DARK_RED),
 | |
| 		GREEN("green", ChatFormatting.GREEN),
 | |
| 		YELLOW("yellow", ChatFormatting.YELLOW),
 | |
| 		PURPLE("purple", ChatFormatting.DARK_BLUE),
 | |
| 		WHITE("white", ChatFormatting.WHITE);
 | |
| 
 | |
| 		public static final Codec<BossEvent.BossBarColor> CODEC = StringRepresentable.fromEnum(BossEvent.BossBarColor::values);
 | |
| 		private final String name;
 | |
| 		private final ChatFormatting formatting;
 | |
| 
 | |
| 		private BossBarColor(final String name, final ChatFormatting formatting) {
 | |
| 			this.name = name;
 | |
| 			this.formatting = formatting;
 | |
| 		}
 | |
| 
 | |
| 		public ChatFormatting getFormatting() {
 | |
| 			return this.formatting;
 | |
| 		}
 | |
| 
 | |
| 		public String getName() {
 | |
| 			return this.name;
 | |
| 		}
 | |
| 
 | |
| 		@Override
 | |
| 		public String getSerializedName() {
 | |
| 			return this.name;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public static enum BossBarOverlay implements StringRepresentable {
 | |
| 		PROGRESS("progress"),
 | |
| 		NOTCHED_6("notched_6"),
 | |
| 		NOTCHED_10("notched_10"),
 | |
| 		NOTCHED_12("notched_12"),
 | |
| 		NOTCHED_20("notched_20");
 | |
| 
 | |
| 		public static final Codec<BossEvent.BossBarOverlay> CODEC = StringRepresentable.fromEnum(BossEvent.BossBarOverlay::values);
 | |
| 		private final String name;
 | |
| 
 | |
| 		private BossBarOverlay(final String name) {
 | |
| 			this.name = name;
 | |
| 		}
 | |
| 
 | |
| 		public String getName() {
 | |
| 			return this.name;
 | |
| 		}
 | |
| 
 | |
| 		@Override
 | |
| 		public String getSerializedName() {
 | |
| 			return this.name;
 | |
| 		}
 | |
| 	}
 | |
| }
 |