chore: refactor everything, the second; now Xplat

This commit is contained in:
Ampflower 🌺 2025-03-12 06:11:01 -07:00
parent 3e779b8794
commit bdca92e997
No known key found for this signature in database
GPG Key ID: FC0397C90D508D7F
802 changed files with 5717 additions and 9619 deletions

2
.gitignore vendored
View File

@ -41,5 +41,5 @@ replay_*.log
# custom
src/main/generated
generated/
.local/

View File

@ -11,91 +11,118 @@ plugins {
val id: String by project
loom {
splitEnvironmentSourceSets()
}
val excluded = setOf(rootProject, project(":xplat"))
fabricApi {
configureDataGeneration {
createSourceSet = true
strictValidation = true
modId = id
client = true
}
}
allprojects {
apply(plugin = "java")
apply(plugin = rootProject.libs.plugins.loom.get().pluginId)
apply(plugin = rootProject.libs.plugins.minotaur.get().pluginId)
java {
withSourcesJar()
val libs = rootProject.libs
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
repositories {
mavenCentral()
maven("https://maven.neoforged.net/releases") { name = "Neoforged" }
maven("https://files.minecraftforge.net/maven/") { name = "Forge" }
maven("https://maven.quiltmc.org/repository/release") { name = "Quilt" }
maven("https://repo.sleeping.town") {
name = "Sleeping Town"
content {
includeGroup("com.unascribed")
base {
if (project != rootProject) {
archivesName.set(rootProject.name + '-' + project.name)
}
}
maven("https://api.modrinth.com/maven") { name = "Modrinth" }
maven("https://maven.terraformersmc.com") { name = "TerraformersMC" }
maven("https://maven.ladysnake.org/releases") { name = "Ladysnake Libs" }
maven("https://maven.theillusivec4.top/") { name = "TheIllusiveC4" }
maven("https://maven.bawnorton.com/releases") { name = "Bawnorton" }
}
dependencies {
minecraft(libs.minecraft)
mappings(variantOf(libs.yarn) { classifier("v2") })
modImplementation(libs.bundles.fabric)
loom {
mixin {
defaultRefmapName = "joy.refmap.json"
}
annotationProcessor(libs.mixin.squared)
splitEnvironmentSourceSets()
runs {
named("client") {
client()
configName = "${project.name.replaceFirstChar(Char::uppercase)} Client"
ideConfigGenerated(project !in excluded)
runDir(rootProject.relativePath("run"))
}
named("server") {
server()
configName = "${project.name.replaceFirstChar(Char::uppercase)} Server"
ideConfigGenerated(project !in excluded)
runDir(rootProject.relativePath("run"))
}
}
}
include(libs.bundles.fabric.bundle)
modImplementation(libs.bundles.fabric.bundle)
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
withSourcesJar()
}
modRuntimeOnly(libs.bundles.fabric.runtime)
repositories {
mavenCentral()
maven("https://maven.neoforged.net/releases") { name = "Neoforged" }
maven("https://files.minecraftforge.net/maven/") { name = "Forge" }
maven("https://maven.quiltmc.org/repository/release") { name = "Quilt" }
maven("https://repo.sleeping.town") {
name = "Sleeping Town"
content {
includeGroup("com.unascribed")
}
}
maven("https://api.modrinth.com/maven") { name = "Modrinth" }
maven("https://maven.terraformersmc.com") { name = "TerraformersMC" }
maven("https://maven.ladysnake.org/releases") { name = "Ladysnake Libs" }
maven("https://maven.theillusivec4.top/") { name = "TheIllusiveC4" }
maven("https://maven.bawnorton.com/releases") { name = "Bawnorton" }
}
dependencies {
minecraft(libs.minecraft)
mappings(variantOf(libs.yarn) { classifier("v2") })
modCompileOnly(libs.bundles.common.compile)
annotationProcessor(libs.mixin.squared)
modImplementation(libs.bundles.common.bundle)
include(libs.bundles.common.bundle)
}
tasks {
withType<ProcessResources> {
if (project !in excluded) {
project(":xplat").afterEvaluate { dependsOn(tasks.named("runDatagen")) }
}
val map = mapOf(
"id" to id,
"version" to version,
"java" to java.targetCompatibility.majorVersion,
"loader" to libs.versions.fabric.loader.get(),
"minecraftRequired" to libs.versions.minecraft.required.get(),
)
inputs.properties(map)
filesMatching(listOf("fabric.mod.json", "quilt.mod.json", "META-INF/mods.toml")) {
expand(map)
}
exclude("*/.editorconfig")
}
withType<JavaCompile> {
options.encoding = "UTF-8"
options.release = 21
}
withType<Jar> {
dependsOn("runDatagen")
from("LICENSE*") {
rename { "${project.name}-${it}" }
}
}
register("publish")
}
}
tasks {
processResources {
val map = mapOf(
"id" to id,
"version" to version,
"java" to java.targetCompatibility.majorVersion,
"loader" to libs.versions.fabric.loader.get(),
"minecraftRequired" to libs.versions.minecraft.required.get(),
)
inputs.properties(map)
filesMatching(listOf("fabric.mod.json", "quilt.mod.json", "META-INF/mods.toml")) {
expand(map)
}
exclude("*/.editorconfig")
}
withType<JavaCompile> {
options.encoding = "UTF-8"
options.release = 21
}
withType<Jar> {
from("LICENSE*") {
rename { "${project.name}-${it}" }
}
}
"sourcesJar" {
dependsOn("runDatagen")
}
register("imageCleanup") {
val prop = System.getProperties()
val cleanupSource = prop.getProperty("cleanupSource")

56
fabric/build.gradle.kts Normal file
View File

@ -0,0 +1,56 @@
val xplat = project(":xplat")
val xplatClient = xplat.sourceSets.client.get()
val xplatMain = xplat.sourceSets.main.get()
val modrinthId: String by project
/*
sourceSets {
client {
compileClasspath += xplatClient.compileClasspath;
runtimeClasspath += xplatClient.runtimeClasspath;
}
}*/
dependencies {
modImplementation(libs.bundles.fabric)
compileOnly(project(":xplat", configuration = "namedElements"))
clientCompileOnly(xplatClient.output)
modCompileOnly(variantOf(rootProject.libs.emi.fabric) { classifier("api") })
include(libs.bundles.fabric.bundle)
modImplementation(libs.bundles.fabric.bundle)
modRuntimeOnly(libs.bundles.fabric.runtime)
}
tasks {
compileClientJava {
source(xplatClient.allSource)
}
compileJava {
source(xplatMain.allSource)
}
processClientResources {
from(xplatClient.resources)
}
processResources {
from(xplatMain.resources)
}
publish {
dependsOn(modrinth)
}
}
modrinth {
token.set(System.getenv("MODRINTH_TOKEN"))
projectId.set(modrinthId)
//versionType.set(meta.releaseType)
//versionName.set("${meta.projectVersion} - Fabric ${libs.versions.minecraft.version.get()}")
versionNumber.set("${project.version}-fabric")
//changelog.set(meta.changelog)
uploadFile.set(tasks.remapJar)
dependencies {
}
//gameVersions.set(meta.minecraftCompatible)
loaders.addAll("fabric", "quilt")
}

View File

@ -1,13 +1,17 @@
package gay.pridecraft.joy;
package gay.pridecraft.joy.fabric.client;
import gay.pridecraft.joy.client.SplashUtil;
import gay.pridecraft.joy.fabric.FabricUtil;
import gay.pridecraft.joy.particle.TotemOfPrideParticle;
import gay.pridecraft.joy.registry.JoyBlockEntityTypes;
import gay.pridecraft.joy.registry.JoyBlocks;
import gay.pridecraft.joy.registry.JoyEntities;
import gay.pridecraft.joy.registry.JoyParticles;
import gay.pridecraft.joy.particle.TotemOfPrideParticle;
import gay.pridecraft.joy.render.JoyBedBlockEntityRenderer;
import gay.pridecraft.joy.render.entity.*;
import gay.pridecraft.joy.render.entity.FrogRenderer;
import gay.pridecraft.joy.render.entity.PrideSnifferRenderer;
import gay.pridecraft.joy.render.entity.SockFoxRenderer;
import gay.pridecraft.joy.render.entity.TreeRenderer;
import gay.pridecraft.joy.render.feature.CustomElytraFeatureRenderer;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
@ -16,10 +20,6 @@ import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry;
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.block.entity.BlockEntityRendererFactories;
import net.minecraft.text.Text;
@ -44,8 +44,8 @@ public class JoyClient implements ClientModInitializer {
ParticleFactoryRegistry.getInstance().register(JoyParticles.TOTEM_OF_PRIDE_PARTICLE, TotemOfPrideParticle.Factory::new);
JoyUtil.registerEnabledPack("menu", Text.of("Joy's Main Menu & HUD"));
JoyUtil.registerEnabledPack("glint", Text.of("Joy's Enchantment Glint"));
FabricUtil.registerEnabledPack("menu", Text.of("Joy's Main Menu & HUD"));
FabricUtil.registerEnabledPack("glint", Text.of("Joy's Enchantment Glint"));
SplashUtil.init();
}
@ -71,10 +71,10 @@ public class JoyClient implements ClientModInitializer {
private static void registerEntityRenderers() {
EntityRendererRegistry.register(JoyEntities.SOCK_FOX, SockFoxRenderer::new);
EntityRendererRegistry.register(JoyEntities.BII, BiiRenderer::new);
EntityRendererRegistry.register(JoyEntities.ENBEE, EnbeeRenderer::new);
EntityRendererRegistry.register(JoyEntities.TRANS_BEE, TransBeeRenderer::new);
EntityRendererRegistry.register(JoyEntities.TREE, TreeRenderer::new);
EntityRendererRegistry.register(JoyEntities.BII, TreeRenderer.factory("bii"));
EntityRendererRegistry.register(JoyEntities.ENBEE, TreeRenderer.factory("enbee"));
EntityRendererRegistry.register(JoyEntities.TRANS_BEE, TreeRenderer.factory("trans_bee"));
EntityRendererRegistry.register(JoyEntities.TREE, TreeRenderer.factory("tree"));
EntityRendererRegistry.register(JoyEntities.FROG, FrogRenderer::new);
EntityRendererRegistry.register(JoyEntities.SNIFFER, PrideSnifferRenderer::new);
}

View File

@ -28,7 +28,7 @@
* THE SOFTWARE.
*/
package gay.pridecraft.joy.mixin.client.fix.mavapi;
package gay.pridecraft.joy.fabric.client.mixin.fix.mavapi;
import io.github.akashiikun.mavapi.v1.impl.AxolotlTypeExtension;
import io.github.akashiikun.mavapi.v1.impl.MoreAxolotlVariant;

View File

@ -0,0 +1,35 @@
package gay.pridecraft.joy.fabric.client.mixin.self;
import gay.pridecraft.joy.client.SplashUtil;
import gay.pridecraft.joy.fabric.FabricUtil;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import java.util.List;
import java.util.stream.Stream;
/**
* @author Ampflower
* @since 1.0.0
**/
@Mixin(SplashUtil.class)
public class MixinSplashUtil {
/**
* @author Ampflower
* @reason Quick & dirty hack.
*/
@Overwrite(remap = false)
private static List<String> makeContributors() {
final var metadata = FabricUtil.joyContainer.getMetadata();
final var authors = metadata.getAuthors()
.stream()
.map(person -> "Joy, made by " + person.getName() + "!");
final var contributors = metadata.getContributors()
.stream()
.map(person -> "Joy, aided by " + person.getName() + "!");
return Stream.concat(authors, contributors).toList();
}
}

View File

@ -0,0 +1,12 @@
{
"required": true,
"minVersion": "0.8",
"package": "gay.pridecraft.joy.fabric.client.mixin",
"compatibilityLevel": "JAVA_21",
"client": [
"fix.mavapi.EntityBucketItemMixin"
],
"injectors": {
"defaultRequire": 1
}
}

View File

@ -1,13 +1,18 @@
package gay.pridecraft.joy; //does this file even do anything? i'm too scared to remove it and mess up the whole mod :catquake:
package gay.pridecraft.joy.fabric; //does this file even do anything? i'm too scared to remove it and mess up the whole mod :catquake:
import gay.pridecraft.joy.BlahajDataComponentTypes;
import gay.pridecraft.joy.block.BlahajBlocks;
import net.fabricmc.api.*;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.loot.v3.LootTableEvents;
import net.fabricmc.fabric.api.object.builder.v1.trade.*;
import net.minecraft.item.*;
import net.minecraft.loot.*;
import net.minecraft.loot.entry.*;
import net.minecraft.village.*;
import net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.loot.LootPool;
import net.minecraft.loot.LootTables;
import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.village.TradeOffer;
import net.minecraft.village.TradedItem;
import net.minecraft.village.VillagerProfession;
public class Blahaj implements ModInitializer {
@ -15,7 +20,7 @@ public class Blahaj implements ModInitializer {
public void onInitialize() {
BlahajDataComponentTypes.init();
BlahajBlocks.register();
BlahajBlocks.init();
registerLootTables();
registerTrades();
}

View File

@ -0,0 +1,41 @@
package gay.pridecraft.joy.fabric;
import com.mojang.logging.LogUtils;
import gay.pridecraft.joy.JoyUtil;
import gay.pridecraft.joy.Pivot;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
import net.minecraft.item.ItemGroup;
import net.minecraft.particle.SimpleParticleType;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.entry.RegistryEntry;
import org.slf4j.Logger;
/**
* @author Ampflower
* @since 0.1.0
**/
public class FabricPivot implements Pivot {
private static final Logger logger = LogUtils.getLogger();
@Override
public <V, T extends V> T register(final RegistryKey<Registry<V>> key, final String id, final T t) {
return Registry.register(Pivot.getRegistry(key), JoyUtil.id(id), t);
}
@Override
public <T> RegistryEntry.Reference<T> registerReference(final RegistryKey<Registry<T>> key, final String id, final T t) {
return Registry.registerReference(Pivot.getRegistry(key), JoyUtil.id(id), t);
}
@Override
public ItemGroup.Builder createItemGroupBuilder() {
return FabricItemGroup.builder();
}
@Override
public SimpleParticleType createSimpleParticle() {
return FabricParticleTypes.simple();
}
}

View File

@ -1,5 +1,6 @@
package gay.pridecraft.joy;
package gay.pridecraft.joy.fabric;
import gay.pridecraft.joy.JoyUtil;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import net.fabricmc.loader.api.FabricLoader;
@ -11,12 +12,13 @@ import net.minecraft.util.Identifier;
* @author Ampflower
* @since 1.0.0
**/
public final class JoyUtil {
public final class FabricUtil {
public static final ModContainer joyContainer =
FabricLoader.getInstance().getModContainer(Joy.MOD_ID).orElseThrow();
FabricLoader.getInstance().getModContainer(Joy.MOD_ID).orElseThrow();
@Deprecated(forRemoval = true)
public static Identifier id(String name) {
return Identifier.of(Joy.MOD_ID, name);
return JoyUtil.id(name);
}
public static void registerEnabledPack(String name, Text text) {

View File

@ -1,37 +1,22 @@
package gay.pridecraft.joy;
package gay.pridecraft.joy.fabric;
import gay.pridecraft.joy.block.BlahajBlocks;
import gay.pridecraft.joy.registry.*;
import gay.pridecraft.joy.Pivot;
import gay.pridecraft.joy.config.Config;
import gay.pridecraft.joy.entity.SpawnModifier;
import gay.pridecraft.joy.item.ModItemGroups;
import gay.pridecraft.joy.fabric.entity.SpawnModifier;
import gay.pridecraft.joy.registry.JoyAxolotlVariants;
import gay.pridecraft.joy.registry.JoyEntities;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.entity.mob.MobEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Joy implements ModInitializer {
public static final String MOD_ID = "joy";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
JoyParticles.registerParticles();
ModItemGroups.registerItemGroups();
JoyItems.init();
JoyBlocks.init();
JoyBlockEntityTypes.init();
BlahajDataComponentTypes.init();
BlahajBlocks.register();
JoyEntities.init();
JoySoundEvents.init();
// this is now has to be done in a mixin.
// ModPaintings.registerPaintings();
Pivot.init();
JoyAxolotlVariants.init();
if (Config.mobSpawning) SpawnModifier.modifySpawning();
@ -40,6 +25,7 @@ public class Joy implements ModInitializer {
}
private void registerEntityAttributes() {
// TODO: move to common
FabricDefaultAttributeRegistry.register(JoyEntities.SOCK_FOX, MobEntity.createMobAttributes()
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2.0)
.add(EntityAttributes.GENERIC_FOLLOW_RANGE, 32.0)

View File

@ -0,0 +1,28 @@
package gay.pridecraft.joy.fabric.entity;
import gay.pridecraft.joy.config.Config;
import gay.pridecraft.joy.registry.JoyEntities;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
import net.minecraft.world.biome.BiomeKeys;
public final class SpawnModifier {
public static void modifySpawning() {
if (!Config.foxNaturalSpawn) return;
BiomeModifications.addSpawn(
BiomeSelectors.includeByKey(
BiomeKeys.GROVE,
BiomeKeys.TAIGA,
BiomeKeys.SNOWY_TAIGA,
BiomeKeys.OLD_GROWTH_PINE_TAIGA,
BiomeKeys.OLD_GROWTH_SPRUCE_TAIGA
),
JoyEntities.SOCK_FOX.getSpawnGroup(),
JoyEntities.SOCK_FOX,
Config.foxWeight,
Config.foxMinGroupSize,
Config.foxMaxGroupSize
);
}
}

View File

@ -0,0 +1,13 @@
package gay.pridecraft.joy.fabric.mixin.self;
import gay.pridecraft.joy.item.CustomElytraItem;
import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem;
import org.spongepowered.asm.mixin.Mixin;
/**
* @author Ampflower
* @since 1.0.0
**/
@Mixin(CustomElytraItem.class)
public class MixinElytraItem implements FabricElytraItem {
}

View File

@ -0,0 +1,8 @@
package gay.pridecraft.joy.fabric.mixin.self;
/**
* @author Ampflower
* @since ${version}
**/
public class MixinSplashUtil {
}

View File

@ -0,0 +1,32 @@
package gay.pridecraft.joy.registry;
import gay.pridecraft.joy.JoyUtil;
import io.github.akashiikun.mavapi.v1.api.ModdedAxolotlVariant;
public final class JoyAxolotlVariants {
public static void init() {
// Joy.LOGGER.info("Registering Axolotl Variants for {} via MoreAxolotlVariantsAPI", Joy.MOD_ID);
register("bi");
register("ace");
register("aro");
register("lesbian");
register("mlm");
register("progress");
register("trans");
register("aroace");
register("pan");
}
private static void register(String name) {
register(name, true);
}
private static void register(String name, boolean natural) {
ModdedAxolotlVariant.Builder builder = ModdedAxolotlVariant.register(JoyUtil.id(name));
if (natural) {
builder.natural();
}
builder.build();
}
}

View File

@ -0,0 +1 @@
gay.pridecraft.joy.fabric.FabricPivot

View File

@ -38,13 +38,10 @@
"environment": "*",
"entrypoints": {
"client": [
"gay.pridecraft.joy.JoyClient"
],
"fabric-datagen": [
"gay.pridecraft.joy.datagen.JoyDataGenerator"
"gay.pridecraft.joy.fabric.client.JoyClient"
],
"main": [
"gay.pridecraft.joy.Joy"
"gay.pridecraft.joy.fabric.Joy"
],
"mixinsquared": [
"gay.pridecraft.joy.mixin.JoyMixinCanceller"
@ -52,9 +49,14 @@
},
"mixins": [
"joy.mixins.json",
"joy.fabric.mixins.json",
{
"config": "joy.client.mixins.json",
"environment": "client"
},
{
"config": "joy.client.fabric.mixins.json",
"environment": "client"
}
],
"depends": {

View File

@ -0,0 +1,9 @@
{
"required": true,
"minVersion": "0.8",
"package": "gay.pridecraft.joy.fabric.client.mixin",
"compatibilityLevel": "JAVA_21",
"injectors": {
"defaultRequire": 1
}
}

View File

@ -1,8 +1,10 @@
org.gradle.jvmargs=-Xmx2G
org.gradle.parallel=true
version = 1.0.0-alpha.1
group = gay.pridecraft
id = joy
version=1.0.0-alpha.1
group=gay.pridecraft
id=joy
deps.midnightlib=1.5.7-fabric
modrinthId=joy

View File

@ -82,15 +82,18 @@ testng = { module = "org.testng:testng", version.ref = "testng" }
[bundles]
fabric = ["fabric-loader", "fabric-api", "trinkets", "mavapi", "midnight-fabric"]
fabric-bundle = ["mixin-squared", "modmenu-badges"]
fabric-bundle = ["modmenu-badges"]
fabric-runtime = ["emi-fabric", "modmenu"]
forge = ["curios"]
forge-runtime = []
neoforge = []
neoforge = ["midnight-neoforge"]
neoforge-runtime = ["emi-neoforge"]
common-compile = ["midnight-fabric"]
common-bundle = ["mixin-squared"]
compile-only = ["annotations"]
[plugins]

View File

@ -18,3 +18,5 @@ pluginManagement {
}
rootProject.name = "joy"
include("xplat")
include("fabric")

View File

@ -1,28 +0,0 @@
package gay.pridecraft.joy.render.entity;
import gay.pridecraft.joy.Joy;
import gay.pridecraft.joy.entity.CustomBeeEntity;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.MobEntityRenderer;
import net.minecraft.client.render.entity.model.BeeEntityModel;
import net.minecraft.client.render.entity.model.EntityModelLayers;
import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT)
public class BiiRenderer extends MobEntityRenderer<CustomBeeEntity.BiiEntity, BeeEntityModel<CustomBeeEntity.BiiEntity>> {
private static final Identifier ANGRY_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii.png");
private static final Identifier NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii_nectar.png");
public BiiRenderer(EntityRendererFactory.Context context) {
super(context, new BeeEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);
}
@Override
public Identifier getTexture(CustomBeeEntity.BiiEntity entity) {
return entity.hasAngerTime() ? entity.hasNectar() ? ANGRY_NECTAR_TEXTURE : ANGRY_TEXTURE : entity.hasNectar() ? NECTAR_TEXTURE : PASSIVE_TEXTURE;
}
}

View File

@ -1,32 +0,0 @@
package gay.pridecraft.joy.render.entity;
import gay.pridecraft.joy.Joy;
import gay.pridecraft.joy.entity.CustomBeeEntity;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.MobEntityRenderer;
import net.minecraft.client.render.entity.model.BeeEntityModel;
import net.minecraft.client.render.entity.model.EntityModelLayers;
import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT)
public class EnbeeRenderer extends MobEntityRenderer<CustomBeeEntity.EnbeeEntity, BeeEntityModel<CustomBeeEntity.EnbeeEntity>> {
private static final Identifier ANGRY_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee.png");
private static final Identifier NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee_nectar.png");
public EnbeeRenderer(EntityRendererFactory.Context context) {
super(context, new BeeEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);
}
@Override
public Identifier getTexture(CustomBeeEntity.EnbeeEntity entity) {
if (entity.hasAngerTime()) {
return entity.hasNectar() ? ANGRY_NECTAR_TEXTURE : ANGRY_TEXTURE;
} else {
return entity.hasNectar() ? NECTAR_TEXTURE : PASSIVE_TEXTURE;
}
}
}

View File

@ -1,32 +0,0 @@
package gay.pridecraft.joy.render.entity;
import gay.pridecraft.joy.Joy;
import gay.pridecraft.joy.entity.CustomBeeEntity;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.MobEntityRenderer;
import net.minecraft.client.render.entity.model.BeeEntityModel;
import net.minecraft.client.render.entity.model.EntityModelLayers;
import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT)
public class TransBeeRenderer extends MobEntityRenderer<CustomBeeEntity.TransBeeEntity, BeeEntityModel<CustomBeeEntity.TransBeeEntity>> {
private static final Identifier ANGRY_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/trans_bee_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/trans_bee_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/trans_bee.png");
private static final Identifier NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/trans_bee_nectar.png");
public TransBeeRenderer(EntityRendererFactory.Context context) {
super(context, new BeeEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);
}
@Override
public Identifier getTexture(CustomBeeEntity.TransBeeEntity entity) {
if (entity.hasAngerTime()) {
return entity.hasNectar() ? ANGRY_NECTAR_TEXTURE : ANGRY_TEXTURE;
} else {
return entity.hasNectar() ? NECTAR_TEXTURE : PASSIVE_TEXTURE;
}
}
}

View File

@ -1,32 +0,0 @@
package gay.pridecraft.joy.render.entity;
import gay.pridecraft.joy.Joy;
import gay.pridecraft.joy.entity.CustomBeeEntity;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.MobEntityRenderer;
import net.minecraft.client.render.entity.model.BeeEntityModel;
import net.minecraft.client.render.entity.model.EntityModelLayers;
import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT)
public class TreeRenderer extends MobEntityRenderer<CustomBeeEntity.TreeEntity, BeeEntityModel<CustomBeeEntity.TreeEntity>> {
private static final Identifier ANGRY_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/tree_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/tree_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/tree.png");
private static final Identifier NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/tree_nectar.png");
public TreeRenderer(EntityRendererFactory.Context context) {
super(context, new BeeEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);
}
@Override
public Identifier getTexture(CustomBeeEntity.TreeEntity entity) {
if (entity.hasAngerTime()) {
return entity.hasNectar() ? ANGRY_NECTAR_TEXTURE : ANGRY_TEXTURE;
} else {
return entity.hasNectar() ? NECTAR_TEXTURE : PASSIVE_TEXTURE;
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/ace_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/ace_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/ace_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/ace_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/ace_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/ace_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/ace_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/ace_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/ace_candle_cake"
},
"lit=true": {
"model": "joy:block/ace_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/agender_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/agender_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/agender_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/agender_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/agender_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/agender_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/agender_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/agender_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/agender_candle_cake"
},
"lit=true": {
"model": "joy:block/agender_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/aplatonic_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/aplatonic_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/aplatonic_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/aplatonic_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/aplatonic_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/aplatonic_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/aplatonic_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/aplatonic_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/aplatonic_candle_cake"
},
"lit=true": {
"model": "joy:block/aplatonic_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/aro_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/aro_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/aro_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/aro_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/aro_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/aro_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/aro_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/aro_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/aro_candle_cake"
},
"lit=true": {
"model": "joy:block/aro_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/aroace_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/aroace_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/aroace_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/aroace_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/aroace_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/aroace_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/aroace_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/aroace_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/aroace_candle_cake"
},
"lit=true": {
"model": "joy:block/aroace_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/bigender_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/bigender_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/bigender_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/bigender_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/bigender_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/bigender_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/bigender_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/bigender_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/bigender_candle_cake"
},
"lit=true": {
"model": "joy:block/bigender_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/bisexual_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/bisexual_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/bisexual_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/bisexual_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/bisexual_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/bisexual_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/bisexual_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/bisexual_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/bisexual_candle_cake"
},
"lit=true": {
"model": "joy:block/bisexual_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/enby_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/enby_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/enby_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/enby_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/enby_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/enby_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/enby_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/enby_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/enby_candle_cake"
},
"lit=true": {
"model": "joy:block/enby_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/gay_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/gay_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/gay_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/gay_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/gay_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/gay_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/gay_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/gay_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/gay_candle_cake"
},
"lit=true": {
"model": "joy:block/gay_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/gender_fluid_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/gender_fluid_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/gender_fluid_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/gender_fluid_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/gender_fluid_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/gender_fluid_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/gender_fluid_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/gender_fluid_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/gender_fluid_candle_cake"
},
"lit=true": {
"model": "joy:block/gender_fluid_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/intersex_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/intersex_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/intersex_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/intersex_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/intersex_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/intersex_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/intersex_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/intersex_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/intersex_candle_cake"
},
"lit=true": {
"model": "joy:block/intersex_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/lesbian_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/lesbian_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/lesbian_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/lesbian_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/lesbian_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/lesbian_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/lesbian_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/lesbian_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/lesbian_candle_cake"
},
"lit=true": {
"model": "joy:block/lesbian_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/mlm_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/mlm_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/mlm_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/mlm_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/mlm_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/mlm_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/mlm_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/mlm_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/mlm_candle_cake"
},
"lit=true": {
"model": "joy:block/mlm_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/pan_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/pan_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/pan_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/pan_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/pan_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/pan_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/pan_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/pan_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/pan_candle_cake"
},
"lit=true": {
"model": "joy:block/pan_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/progress_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/progress_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/progress_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/progress_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/progress_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/progress_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/progress_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/progress_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/progress_candle_cake"
},
"lit=true": {
"model": "joy:block/progress_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/queer_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/queer_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/queer_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/queer_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/queer_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/queer_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/queer_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/queer_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/queer_candle_cake"
},
"lit=true": {
"model": "joy:block/queer_candle_cake_lit"
}
}
}

View File

@ -1,28 +0,0 @@
{
"variants": {
"candles=1,lit=false": {
"model": "joy:block/trans_candle_one_candle"
},
"candles=1,lit=true": {
"model": "joy:block/trans_candle_one_candle_lit"
},
"candles=2,lit=false": {
"model": "joy:block/trans_candle_two_candles"
},
"candles=2,lit=true": {
"model": "joy:block/trans_candle_two_candles_lit"
},
"candles=3,lit=false": {
"model": "joy:block/trans_candle_three_candles"
},
"candles=3,lit=true": {
"model": "joy:block/trans_candle_three_candles_lit"
},
"candles=4,lit=false": {
"model": "joy:block/trans_candle_four_candles"
},
"candles=4,lit=true": {
"model": "joy:block/trans_candle_four_candles_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"variants": {
"lit=false": {
"model": "joy:block/trans_candle_cake"
},
"lit=true": {
"model": "joy:block/trans_candle_cake_lit"
}
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/ace_candle",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/ace_candle_lit",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/ace_candle",
"particle": "joy:block/ace_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/ace_candle_lit",
"particle": "joy:block/ace_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/ace_candle",
"particle": "joy:block/ace_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/ace_candle_lit",
"particle": "joy:block/ace_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/ace_candle",
"particle": "joy:block/ace_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/ace_candle_lit",
"particle": "joy:block/ace_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/ace_candle",
"particle": "joy:block/ace_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/ace_candle_lit",
"particle": "joy:block/ace_candle_lit"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/agender_candle",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/agender_candle_lit",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/agender_candle",
"particle": "joy:block/agender_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/agender_candle_lit",
"particle": "joy:block/agender_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/agender_candle",
"particle": "joy:block/agender_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/agender_candle_lit",
"particle": "joy:block/agender_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/agender_candle",
"particle": "joy:block/agender_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/agender_candle_lit",
"particle": "joy:block/agender_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/agender_candle",
"particle": "joy:block/agender_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/agender_candle_lit",
"particle": "joy:block/agender_candle_lit"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/aplatonic_candle",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/aplatonic_candle_lit",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/aplatonic_candle",
"particle": "joy:block/aplatonic_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/aplatonic_candle_lit",
"particle": "joy:block/aplatonic_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/aplatonic_candle",
"particle": "joy:block/aplatonic_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/aplatonic_candle_lit",
"particle": "joy:block/aplatonic_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/aplatonic_candle",
"particle": "joy:block/aplatonic_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/aplatonic_candle_lit",
"particle": "joy:block/aplatonic_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/aplatonic_candle",
"particle": "joy:block/aplatonic_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/aplatonic_candle_lit",
"particle": "joy:block/aplatonic_candle_lit"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/aro_candle",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/aro_candle_lit",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/aro_candle",
"particle": "joy:block/aro_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_four_candles",
"textures": {
"all": "joy:block/aro_candle_lit",
"particle": "joy:block/aro_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/aro_candle",
"particle": "joy:block/aro_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_candle",
"textures": {
"all": "joy:block/aro_candle_lit",
"particle": "joy:block/aro_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/aro_candle",
"particle": "joy:block/aro_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_three_candles",
"textures": {
"all": "joy:block/aro_candle_lit",
"particle": "joy:block/aro_candle_lit"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/aro_candle",
"particle": "joy:block/aro_candle"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "minecraft:block/template_two_candles",
"textures": {
"all": "joy:block/aro_candle_lit",
"particle": "joy:block/aro_candle_lit"
}
}

View File

@ -1,10 +0,0 @@
{
"parent": "minecraft:block/template_cake_with_candle",
"textures": {
"bottom": "minecraft:block/cake_bottom",
"candle": "joy:block/aroace_candle",
"particle": "minecraft:block/cake_side",
"side": "minecraft:block/cake_side",
"top": "minecraft:block/cake_top"
}
}

Some files were not shown because too many files have changed in this diff Show More