mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-29 19:59:08 +00:00
Configure items that can that drop from explosions
This commit is contained in:
@@ -23,6 +23,7 @@ import org.spongepowered.configurate.objectmapping.meta.Setting;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@SuppressWarnings({"FieldCanBeLocal", "FieldMayBeFinal", "NotNullFieldNotInitialized", "InnerClassMayBeStatic", "RedundantSuppression"})
|
||||
public final class WorldConfiguration extends ConfigurationPart {
|
||||
@@ -191,7 +192,17 @@ public final class WorldConfiguration extends ConfigurationPart {
|
||||
public Items items = new Items();
|
||||
public class Items extends ConfigurationPart {
|
||||
public boolean useWhitelistForExplosionResistantItems = true;
|
||||
public List<Item> explosionResistantItems = List.of();
|
||||
public BlastResistant blastResistant = new BlastResistant();
|
||||
public class BlastResistant extends ConfigurationPart {
|
||||
public Set<Item> items = Set.of();
|
||||
public boolean whitelistOverBlacklist = true;
|
||||
}
|
||||
|
||||
public ExplosionItemDrops explosionItemDrops = new ExplosionItemDrops();
|
||||
public class ExplosionItemDrops extends ConfigurationPart {
|
||||
public Set<Item> items = Set.of();
|
||||
public boolean whitelistOverBlacklist = false;
|
||||
}
|
||||
}
|
||||
|
||||
@Comment("Entity travel distance limits")
|
||||
|
||||
@@ -25,6 +25,7 @@ public final class ConfigurationTransformations {
|
||||
V5_CombineLoadChunksOptions.apply(versionedBuilder);
|
||||
V6_FixIncorrectExtraKnockback.apply(versionedBuilder);
|
||||
V7_FixTntDuplicationName.apply(versionedBuilder);
|
||||
V8_RenameExplosionResistantItems.apply(versionedBuilder);
|
||||
// ADD FUTURE VERSIONED TRANSFORMS TO versionedBuilder HERE
|
||||
versionedBuilder.build().apply(node);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package me.samsuik.sakura.configuration.transformation.world;
|
||||
|
||||
import org.spongepowered.configurate.NodePath;
|
||||
import org.spongepowered.configurate.transformation.ConfigurationTransformation;
|
||||
import org.spongepowered.configurate.transformation.TransformAction;
|
||||
|
||||
import static org.spongepowered.configurate.NodePath.path;
|
||||
|
||||
public final class V8_RenameExplosionResistantItems {
|
||||
private static final int VERSION = 8;
|
||||
private static final NodePath BASE_PATH = path("entity", "items");
|
||||
private static final NodePath OLD_WHITELIST_PATH = BASE_PATH.plus(path("use-whitelist-for-explosion-resistant-items"));
|
||||
private static final NodePath NEW_WHITELIST_PATH = BASE_PATH.plus(path("blast-resistant", "whitelist-over-blacklist"));
|
||||
private static final NodePath OLD_ITEMS_PATH = BASE_PATH.plus(path("explosion-resistant-items"));
|
||||
private static final NodePath NEW_ITEMS_PATH = BASE_PATH.plus(path("blast-resistant", "items"));
|
||||
|
||||
public static void apply(ConfigurationTransformation.VersionedBuilder builder) {
|
||||
builder.addVersion(VERSION, ConfigurationTransformation.builder()
|
||||
.addAction(OLD_WHITELIST_PATH, TransformAction.rename(NEW_WHITELIST_PATH))
|
||||
.addAction(OLD_ITEMS_PATH, TransformAction.rename(NEW_ITEMS_PATH))
|
||||
.build());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user