Pala 0.1.0: portage contenu (116 items, 38 blocs, 95 recipes, 7 filons) + atlas optionalon
This commit is contained in:
@@ -421,6 +421,19 @@
|
|||||||
"MD5": "b15fd6703384c58c19d30624923460a5"
|
"MD5": "b15fd6703384c58c19d30624923460a5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "fr.surviepote:pala:0.1.0@jar",
|
||||||
|
"name": "Pala (SurviePote)",
|
||||||
|
"type": "FabricMod",
|
||||||
|
"artifact": {
|
||||||
|
"size": 1496354,
|
||||||
|
"url": "https://git.kisakay.com/k/mc/raw/branch/main/atlas/root/servers/SurviePote-26.3/fabricmods/optionalon/pala-0.1.0.jar",
|
||||||
|
"MD5": "d06d77636129984b2f7614466273452f"
|
||||||
|
},
|
||||||
|
"required": {
|
||||||
|
"value": false
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "net.lopymine.patpat.entrypoint.impl:patpat:1.3.2+26.3+fabric@jar",
|
"id": "net.lopymine.patpat.entrypoint.impl:patpat:1.3.2+26.3+fabric@jar",
|
||||||
"name": "PatPat",
|
"name": "PatPat",
|
||||||
|
|||||||
Binary file not shown.
@@ -40,8 +40,7 @@
|
|||||||
<div id="loadingContainer">
|
<div id="loadingContainer">
|
||||||
<div id="loadingContent">
|
<div id="loadingContent">
|
||||||
<div id="loadSpinnerContainer">
|
<div id="loadSpinnerContainer">
|
||||||
<img id="loadCenterImage" src="assets/images/LoadingSeal.png">
|
<img id="loadCenterImage" src="assets/images/SealCircle.png">
|
||||||
<img id="loadSpinnerImage" class="rotating" src="assets/images/LoadingText.png">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3940,18 +3940,10 @@ input:checked + .toggleSwitchSlider:before {
|
|||||||
|
|
||||||
/* Stationary image for the spinner. */
|
/* Stationary image for the spinner. */
|
||||||
#loadCenterImage {
|
#loadCenterImage {
|
||||||
position: absolute;
|
width: 200px;
|
||||||
width: 277px;
|
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Rotating image for the spinner. */
|
|
||||||
#loadSpinnerImage {
|
|
||||||
width: 280px;
|
|
||||||
height: auto;
|
|
||||||
z-index: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Rotating animation for the spinner. */
|
/* Rotating animation for the spinner. */
|
||||||
@keyframes rotating {
|
@keyframes rotating {
|
||||||
from {
|
from {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
const loginOptionsCancelContainer = document.getElementById('loginOptionCancelContainer')
|
const loginOptionsCancelContainer = document.getElementById('loginOptionCancelContainer')
|
||||||
const loginOptionMicrosoft = document.getElementById('loginOptionMicrosoft')
|
const loginOptionMicrosoft = document.getElementById('loginOptionMicrosoft')
|
||||||
const loginOptionMojang = document.getElementById('loginOptionMojang')
|
|
||||||
const loginOptionsCancelButton = document.getElementById('loginOptionCancelButton')
|
const loginOptionsCancelButton = document.getElementById('loginOptionCancelButton')
|
||||||
|
|
||||||
let loginOptionsCancellable = false
|
let loginOptionsCancellable = false
|
||||||
@@ -28,20 +27,9 @@ loginOptionMicrosoft.onclick = (e) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
loginOptionMojang.onclick = (e) => {
|
|
||||||
switchView(getCurrentView(), VIEWS.login, 500, 500, () => {
|
|
||||||
loginViewOnSuccess = loginOptionsViewOnLoginSuccess
|
|
||||||
loginViewOnCancel = loginOptionsViewOnLoginCancel
|
|
||||||
loginCancelEnabled(true)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
loginOptionsCancelButton.onclick = (e) => {
|
loginOptionsCancelButton.onclick = (e) => {
|
||||||
switchView(getCurrentView(), loginOptionsViewOnCancel, 500, 500, () => {
|
switchView(getCurrentView(), loginOptionsViewOnCancel, 500, 500, () => {
|
||||||
// Clear login values (Mojang login)
|
|
||||||
// No cleanup needed for Microsoft.
|
// No cleanup needed for Microsoft.
|
||||||
loginUsername.value = ''
|
|
||||||
loginPassword.value = ''
|
|
||||||
if(loginOptionsViewCancelHandler != null){
|
if(loginOptionsViewCancelHandler != null){
|
||||||
loginOptionsViewCancelHandler()
|
loginOptionsViewCancelHandler()
|
||||||
loginOptionsViewCancelHandler = null
|
loginOptionsViewCancelHandler = null
|
||||||
|
|||||||
@@ -342,15 +342,6 @@ settingsNavDone.onclick = () => {
|
|||||||
const msftLoginLogger = LoggerUtil.getLogger('Microsoft Login')
|
const msftLoginLogger = LoggerUtil.getLogger('Microsoft Login')
|
||||||
const msftLogoutLogger = LoggerUtil.getLogger('Microsoft Logout')
|
const msftLogoutLogger = LoggerUtil.getLogger('Microsoft Logout')
|
||||||
|
|
||||||
// Bind the add mojang account button.
|
|
||||||
document.getElementById('settingsAddMojangAccount').onclick = (e) => {
|
|
||||||
switchView(getCurrentView(), VIEWS.login, 500, 500, () => {
|
|
||||||
loginViewOnCancel = VIEWS.settings
|
|
||||||
loginViewOnSuccess = VIEWS.settings
|
|
||||||
loginCancelEnabled(true)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// Bind the add microsoft account button.
|
// Bind the add microsoft account button.
|
||||||
document.getElementById('settingsAddMicrosoftAccount').onclick = (e) => {
|
document.getElementById('settingsAddMicrosoftAccount').onclick = (e) => {
|
||||||
switchView(getCurrentView(), VIEWS.waiting, 500, 500, () => {
|
switchView(getCurrentView(), VIEWS.waiting, 500, 500, () => {
|
||||||
@@ -619,7 +610,6 @@ function refreshAuthAccountSelected(uuid){
|
|||||||
}
|
}
|
||||||
|
|
||||||
const settingsCurrentMicrosoftAccounts = document.getElementById('settingsCurrentMicrosoftAccounts')
|
const settingsCurrentMicrosoftAccounts = document.getElementById('settingsCurrentMicrosoftAccounts')
|
||||||
const settingsCurrentMojangAccounts = document.getElementById('settingsCurrentMojangAccounts')
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add auth account elements for each one stored in the authentication database.
|
* Add auth account elements for each one stored in the authentication database.
|
||||||
@@ -633,11 +623,15 @@ function populateAuthAccounts(){
|
|||||||
const selectedUUID = ConfigManager.getSelectedAccount().uuid
|
const selectedUUID = ConfigManager.getSelectedAccount().uuid
|
||||||
|
|
||||||
let microsoftAuthAccountStr = ''
|
let microsoftAuthAccountStr = ''
|
||||||
let mojangAuthAccountStr = ''
|
|
||||||
|
|
||||||
authKeys.forEach((val) => {
|
authKeys.forEach((val) => {
|
||||||
const acc = authAccounts[val]
|
const acc = authAccounts[val]
|
||||||
|
|
||||||
|
// Les vieux comptes Mojang sont ignorés (auth Mojang supprimée).
|
||||||
|
if(acc.type !== 'microsoft') {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
const accHtml = `<div class="settingsAuthAccount" uuid="${acc.uuid}">
|
const accHtml = `<div class="settingsAuthAccount" uuid="${acc.uuid}">
|
||||||
<div class="settingsAuthAccountLeft">
|
<div class="settingsAuthAccountLeft">
|
||||||
<img class="settingsAuthAccountImage" alt="${acc.displayName}" src="https://mc-heads.net/body/${acc.uuid}/60">
|
<img class="settingsAuthAccountImage" alt="${acc.displayName}" src="https://mc-heads.net/body/${acc.uuid}/60">
|
||||||
@@ -662,16 +656,11 @@ function populateAuthAccounts(){
|
|||||||
</div>
|
</div>
|
||||||
</div>`
|
</div>`
|
||||||
|
|
||||||
if(acc.type === 'microsoft') {
|
|
||||||
microsoftAuthAccountStr += accHtml
|
microsoftAuthAccountStr += accHtml
|
||||||
} else {
|
|
||||||
mojangAuthAccountStr += accHtml
|
|
||||||
}
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
settingsCurrentMicrosoftAccounts.innerHTML = microsoftAuthAccountStr
|
settingsCurrentMicrosoftAccounts.innerHTML = microsoftAuthAccountStr
|
||||||
settingsCurrentMojangAccounts.innerHTML = mojangAuthAccountStr
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -97,9 +97,7 @@ async function showMainUI(data){
|
|||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
$('#loadingContainer').fadeOut(500, () => {
|
$('#loadingContainer').fadeOut(500)
|
||||||
$('#loadSpinnerImage').removeClass('rotating')
|
|
||||||
})
|
|
||||||
}, 250)
|
}, 250)
|
||||||
|
|
||||||
}, 750)
|
}, 750)
|
||||||
|
|||||||
@@ -14,16 +14,6 @@
|
|||||||
<span><%- lang('loginOptions.loginWithMicrosoft') %></span>
|
<span><%- lang('loginOptions.loginWithMicrosoft') %></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="loginOptionButtonContainer">
|
|
||||||
<button id="loginOptionMojang" class="loginOptionButton">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 9.677 9.667">
|
|
||||||
<path d="M-26.332-12.098h2.715c-1.357.18-2.574 1.23-2.715 2.633z" fill="#fff" />
|
|
||||||
<path d="M2.598.022h7.07L9.665 7c-.003 1.334-1.113 2.46-2.402 2.654H0V2.542C.134 1.2 1.3.195 2.598.022z" fill="#db2331" />
|
|
||||||
<path d="M1.54 2.844c.314-.76 1.31-.46 1.954-.528.785-.083 1.503.272 2.1.758l.164-.9c.327.345.587.756.964 1.052.28.254.655-.342.86-.013.42.864.408 1.86.54 2.795l-.788-.373C6.9 4.17 5.126 3.052 3.656 3.685c-1.294.592-1.156 2.65.06 3.255 1.354.703 2.953.51 4.405.292-.07.42-.34.87-.834.816l-4.95.002c-.5.055-.886-.413-.838-.89l.04-4.315z" fill="#fff" />
|
|
||||||
</svg>
|
|
||||||
<span><%- lang('loginOptions.loginWithMojang') %></span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="loginOptionCancelContainer" style="display: none;">
|
<div id="loginOptionCancelContainer" style="display: none;">
|
||||||
<button id="loginOptionCancelButton"><%- lang('loginOptions.cancelButton') %></button>
|
<button id="loginOptionCancelButton"><%- lang('loginOptions.cancelButton') %></button>
|
||||||
|
|||||||
@@ -48,26 +48,6 @@
|
|||||||
<!-- Microsoft auth accounts populated here. -->
|
<!-- Microsoft auth accounts populated here. -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="settingsAuthAccountTypeContainer">
|
|
||||||
<div class="settingsAuthAccountTypeHeader">
|
|
||||||
<div class="settingsAuthAccountTypeHeaderLeft">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 9.677 9.667">
|
|
||||||
<path d="M-26.332-12.098h2.715c-1.357.18-2.574 1.23-2.715 2.633z" fill="#fff" />
|
|
||||||
<path d="M2.598.022h7.07L9.665 7c-.003 1.334-1.113 2.46-2.402 2.654H0V2.542C.134 1.2 1.3.195 2.598.022z" fill="#db2331" />
|
|
||||||
<path d="M1.54 2.844c.314-.76 1.31-.46 1.954-.528.785-.083 1.503.272 2.1.758l.164-.9c.327.345.587.756.964 1.052.28.254.655-.342.86-.013.42.864.408 1.86.54 2.795l-.788-.373C6.9 4.17 5.126 3.052 3.656 3.685c-1.294.592-1.156 2.65.06 3.255 1.354.703 2.953.51 4.405.292-.07.42-.34.87-.834.816l-4.95.002c-.5.055-.886-.413-.838-.89l.04-4.315z" fill="#fff" />
|
|
||||||
</svg>
|
|
||||||
<span><%- lang('settings.mojangAccount') %></span>
|
|
||||||
</div>
|
|
||||||
<div class="settingsAuthAccountTypeHeaderRight">
|
|
||||||
<button class="settingsAddAuthAccount" id="settingsAddMojangAccount"><%- lang('settings.addMojangAccount') %></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="settingsCurrentAccounts" id="settingsCurrentMojangAccounts">
|
|
||||||
<!-- Mojang auth accounts populated here. -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="settingsTabMinecraft" class="settingsTab" style="display: none;">
|
<div id="settingsTabMinecraft" class="settingsTab" style="display: none;">
|
||||||
<div class="settingsTabHeader">
|
<div class="settingsTabHeader">
|
||||||
|
|||||||
@@ -10,5 +10,6 @@ public final class PalaRegistries {
|
|||||||
PalaItems.register();
|
PalaItems.register();
|
||||||
PalaBlocks.register();
|
PalaBlocks.register();
|
||||||
PalaTabs.register();
|
PalaTabs.register();
|
||||||
|
PalaWorldgen.register();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package fr.surviepote.pala;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
|
||||||
|
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.resources.Identifier;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.world.level.levelgen.GenerationStep;
|
||||||
|
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
|
||||||
|
|
||||||
|
// Worldgen des minerais Pala (MC 26.3).
|
||||||
|
//
|
||||||
|
// Approche data-driven : les filons sont décrits en JSON datapack
|
||||||
|
// (data/pala/worldgen/feature/*.json + placed_feature/*.json) et cette classe
|
||||||
|
// ne fait qu'injecter les placed features dans les biomes via
|
||||||
|
// BiomeModifications.addFeature. C'est l'approche robuste en 26.3 car :
|
||||||
|
// - ConfiguredFeature n'existe plus (vérifié au bytecode : Feature est une
|
||||||
|
// interface, OreFeature prend List<BlockReplacement>) ;
|
||||||
|
// - FEATURE/PLACED_FEATURE sont des registres datapack dynamiques, pas des
|
||||||
|
// registres statiques : tout-en-code via Registry.register est impossible.
|
||||||
|
// - Signatures vérifiées au javap contre 26.3.jar :
|
||||||
|
// BiomeModifications.addFeature(Predicate<BiomeSelectionContext>,
|
||||||
|
// GenerationStep$Decoration, ResourceKey<PlacedFeature>),
|
||||||
|
// BiomeSelectors.foundInOverworld/foundInTheEnd,
|
||||||
|
// GenerationStep$Decoration.UNDERGROUND_ORES,
|
||||||
|
// ResourceKey.create(ResourceKey<Registry<T>>, Identifier),
|
||||||
|
// Identifier.fromNamespaceAndPath(String, String).
|
||||||
|
public final class PalaWorldgen {
|
||||||
|
|
||||||
|
private PalaWorldgen() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ResourceKey<PlacedFeature> key(String path) {
|
||||||
|
return ResourceKey.create(Registries.PLACED_FEATURE, Identifier.fromNamespaceAndPath("pala", path));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void addOverworld(String path) {
|
||||||
|
BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(),
|
||||||
|
GenerationStep.Decoration.UNDERGROUND_ORES, key(path));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
addOverworld("amethyst_ore");
|
||||||
|
addOverworld("findium_ore");
|
||||||
|
addOverworld("kisakay_ore");
|
||||||
|
addOverworld("paladium_ore");
|
||||||
|
addOverworld("paladium_green_ore");
|
||||||
|
// Titane : Surface + End (spawnWorldTypes ["End","Surface"]).
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.foundInOverworld().or(BiomeSelectors.foundInTheEnd()),
|
||||||
|
GenerationStep.Decoration.UNDERGROUND_ORES, key("titane_ore"));
|
||||||
|
addOverworld("trixium_ore");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"size": 5,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"state": "pala:amethyst_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:amethyst_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:deepslate_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:amethyst_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:amethyst_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:gravel"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"size": 3,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"state": "pala:findium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:findium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:deepslate_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:findium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:findium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:gravel"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"size": 1,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"state": "pala:kisakay_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:kisakay_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:deepslate_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:kisakay_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:kisakay_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:gravel"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"size": 4,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_green_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_green_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:deepslate_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_green_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_green_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:gravel"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"size": 4,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:deepslate_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:paladium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:gravel"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"size": 4,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"state": "pala:titane_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:titane_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:deepslate_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:titane_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:titane_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:gravel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:titane_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:end_stone"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"size": 8,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"state": "pala:trixium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:trixium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:deepslate_ore_replaceables"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:trixium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state": "pala:trixium_ore",
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:block_match",
|
||||||
|
"block": "minecraft:gravel"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "pala:amethyst_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 1
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 25
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "pala:findium_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 1
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 33
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "pala:kisakay_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 1
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 16
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "pala:paladium_green_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 1
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 18
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "pala:paladium_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 1
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 18
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "pala:titane_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 1
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 19
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "pala:trixium_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 1
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 25
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user