SetWeatherEffect class
Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin
Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/SetWeatherEffect.java
extends: TriggerEffect
Поля (22)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
return |
|
|
return |
|
|
return |
|
|
return |
|
|
return |
|
|
return |
|
|
return |
|
|
return |
|
|
return |
|
World |
var10 |
|
WeatherResource |
var11 |
|
World |
var12 |
|
Store |
var2 |
|
PlayerRef |
var3 |
|
WeatherTracker |
var4 |
|
int |
var4 |
|
int |
var5 |
|
TransformComponent |
var5 |
|
int |
var6 |
|
int |
var7 |
|
WeatherResource |
var8 |
|
WeatherResource |
var9 |
Методы (16)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(this.playerOnly) |
|
|
if if(var3 == null) |
|
|
if if(var4 == null) |
|
|
if if(var11 != null) |
|
|
if if(var6 != Integer.MIN_VALUE && var6 != 0) |
|
|
if if(this.weatherId == null) |
|
|
if if(var5 == Integer.MIN_VALUE) |
|
|
if if(var8 != null) |
|
|
if if(var10 != null) |
|
|
if if(this.weatherId == null) |
|
|
if if(var7 == Integer.MIN_VALUE) |
|
|
if if(var9 == null) |
|
|
if if(var12 != null) |
|
|
if if(var4 != 0) |
|
|
if if(var5 != null) |
static |
int |
resolveResetWeatherIndexint resolveResetWeatherIndex(@Nonnull Store<EntityStore> var0, @Nonnull TriggerContext var1, @Nonnull WeatherTracker var2, @Nonnull WeatherResource var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.effect.builtin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerContext;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerEventType;
class="kw">import com.hypixel.hytale.builtin.weather.components.WeatherTracker;
class="kw">import com.hypixel.hytale.builtin.weather.resources.WeatherResource;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.asset.type.weather.config.Weather;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class SetWeatherEffect class="kw">extends TriggerEffect {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<SetWeatherEffect> CODEC = BuilderCodec.builder(SetWeatherEffect.class, SetWeatherEffect::new, BASE_CODEC)
.append(new KeyedCodec<>("Weather", Codec.STRING), (var0, var1) -> var0.weatherId = var1, var0 -> var0.weatherId)
.add()
.append(new KeyedCodec<>("PlayerOnly", Codec.BOOLEAN, false), (var0, var1) -> var0.playerOnly = var1, var0 -> var0.playerOnly)
.add()
.append(new KeyedCodec<>("ResetWeather", Codec.BOOLEAN, false), (var0, var1) -> var0.resetWeather = var1, var0 -> var0.resetWeather)
.add()
.build();
@Nullable
class="kw">private String weatherId;
class="kw">private boolean playerOnly = true;
class="kw">private boolean resetWeather;
class="kw">public SetWeatherEffect() {
}
@Override
class="kw">public void execute(@Nonnull TriggerContext var1) {
Store var2 = var1.getStore();
if (this.playerOnly) {
PlayerRef var3 = var2.getComponent(var1.getEntityRef(), PlayerRef.getComponentType());
if (var3 == null) {
class="kw">return;
}
WeatherTracker var4 = var2.getComponent(var1.getEntityRef(), WeatherTracker.getComponentType());
if (var4 == null) {
class="kw">return;
}
if (var1.getEventType() == TriggerEventType.EXIT && this.resetWeather) {
var4.clearOverrideWeatherIndex();
WeatherResource var11 = var2.getResource(WeatherResource.getResourceType());
if (var11 != null) {
int var6 = resolveResetWeatherIndex(var2, var1, var4, var11);
if (var6 != Integer.MIN_VALUE && var6 != 0) {
var4.sendWeatherIndex(var3, var6, 2.0F);
}
}
class="kw">return;
}
if (this.weatherId == null) {
class="kw">return;
}
int var5 = Weather.getAssetMap().getIndex(this.weatherId);
if (var5 == Integer.MIN_VALUE) {
class="kw">return;
}
var4.setOverrideWeatherIndex(var5);
var4.sendWeatherIndex(var3, var5, 2.0F);
} else {
if (var1.getEventType() == TriggerEventType.EXIT && this.resetWeather) {
if (var1.getVolume().getTrackedEntities().isEmpty()) {
WeatherResource var8 = var2.getResource(WeatherResource.getResourceType());
if (var8 != null) {
var8.setForcedWeather(null);
World var10 = var2.getExternalData().getWorld();
if (var10 != null) {
var10.getWorldConfig().setForcedWeather(null);
var10.getWorldConfig().markChanged();
}
}
}
class="kw">return;
}
if (this.weatherId == null) {
class="kw">return;
}
int var7 = Weather.getAssetMap().getIndex(this.weatherId);
if (var7 == Integer.MIN_VALUE) {
class="kw">return;
}
WeatherResource var9 = var2.getResource(WeatherResource.getResourceType());
if (var9 == null) {
class="kw">return;
}
var9.setForcedWeather(this.weatherId);
World var12 = var2.getExternalData().getWorld();
if (var12 != null) {
var12.getWorldConfig().setForcedWeather(this.weatherId);
var12.getWorldConfig().markChanged();
}
}
}
class="kw">private class="kw">static int resolveResetWeatherIndex(
@Nonnull Store<EntityStore> var0, @Nonnull TriggerContext var1, @Nonnull WeatherTracker var2, @Nonnull WeatherResource var3
) {
int var4 = var3.getForcedWeatherIndex();
if (var4 != 0) {
class="kw">return var4;
}
TransformComponent var5 = var0.getComponent(var1.getEntityRef(), TransformComponent.getComponentType());
if (var5 != null) {
var2.updateEnvironment(var5, var0);
}
class="kw">return var3.getWeatherIndexForEnvironment(var2.getEnvironmentId());
}
}