Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "galacticraft:block/cheese_whiz"
}
}
}
7 changes: 7 additions & 0 deletions src/main/generated/assets/galacticraft/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
"advancement.galacticraft.cheese_and_crackers.title": "It's Like No Cheese I've Ever Tasted...",
"advancement.galacticraft.cheese_tax.description": "Give Cheese to a pet Wolf",
"advancement.galacticraft.cheese_tax.title": "Cheese Tax",
"advancement.galacticraft.cheese_whiz.description": "Milk a cheese cow",
"advancement.galacticraft.cheese_whiz.title": "Is this cheese?",
"advancement.galacticraft.circuit_fabricator.description": "Craft a Circuit Fabricator to make Wafers",
"advancement.galacticraft.circuit_fabricator.title": "Fabricated",
"advancement.galacticraft.coal_generator.description": "Craft a Coal Generator",
Expand Down Expand Up @@ -126,6 +128,7 @@
"block.galacticraft.canned_food": "Canned Food",
"block.galacticraft.cavernous_vines": "Cavernous Vines",
"block.galacticraft.cavernous_vines_plant": "Cavernous Vines Plant",
"block.galacticraft.cheese_whiz": "Cheese Whiz",
"block.galacticraft.chiseled_moon_rock_brick": "Chiseled Moon Rock Brick",
"block.galacticraft.circuit_fabricator": "Circuit Fabricator",
"block.galacticraft.circuit_fabricator.description": "Circuit Fabricator will process basic materials into silicon wafers, used for advanced machines.",
Expand Down Expand Up @@ -497,6 +500,7 @@
"entity.galacticraft.arch_grey": "Arch Grey",
"entity.galacticraft.bubble": "Bubble",
"entity.galacticraft.buggy": "Buggy",
"entity.galacticraft.cheese_cow": "Cheese Cow",
"entity.galacticraft.comet_cube": "Comet Cube",
"entity.galacticraft.evolved_creeper": "Evolved Creeper",
"entity.galacticraft.evolved_enderman": "Evolved Enderman",
Expand Down Expand Up @@ -572,7 +576,9 @@
"item.galacticraft.canvas": "Canvas",
"item.galacticraft.carbon_fragments": "Carbon Fragments",
"item.galacticraft.cargo_rocket_schematic": "Cargo Rocket Schematic",
"item.galacticraft.cheese_cow_egg": "Cheese Cow Spawn Egg",
"item.galacticraft.cheese_cracker": "Cracker with Moon Cheese",
"item.galacticraft.cheese_whiz_bucket": "Cheese Whiz Bucket",
"item.galacticraft.cheeseburger": "Cheeseburger",
"item.galacticraft.comet_cube_spawn_egg": "Comet Cube Spawn Egg",
"item.galacticraft.compressed_aluminum": "Compressed Aluminum",
Expand Down Expand Up @@ -782,6 +788,7 @@
"stat.galacticraft.safe_landing": "Safe Landings",
"subtitles.galacticraft.entity.throwable_meteor_chunk.throw": "Meteor Chunk flies",
"tag.item.c.batteries": "Batteries",
"tag.item.c.buckets.cheese_whiz": "Cheese Whiz Buckets",
"tag.item.c.buckets.fuel": "Fuel Buckets",
"tag.item.c.buckets.oil": "Oil Buckets",
"tag.item.c.buckets.sulfuric_acid": "Sulfuric Acid Buckets",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "minecraft:item/template_spawn_egg"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "galacticraft:item/cheese_whiz_bucket"
}
}
3 changes: 2 additions & 1 deletion src/main/generated/data/c/tags/item/buckets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"values": [
"#c:buckets/oil",
"#c:buckets/fuel",
"#c:buckets/sulfuric_acid"
"#c:sulfuric_acid",
"#c:buckets/cheese_whiz"
]
}
5 changes: 5 additions & 0 deletions src/main/generated/data/c/tags/item/buckets/cheese_whiz.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"galacticraft:cheese_whiz_bucket"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_cheese_whiz_bucket": {
"conditions": {
"items": [
{
"items": "galacticraft:cheese_whiz_bucket"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "galacticraft:moon_cheese_wheel"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_cheese_whiz_bucket"
]
],
"rewards": {
"recipes": [
"galacticraft:moon_cheese_wheel"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"type": "minecraft:entity",
"pools": [
{
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 3.0,
"min": 0.0
},
"function": "minecraft:set_count"
},
{
"count": {
"type": "minecraft:uniform",
"max": 6.0,
"min": 0.0
},
"enchantment": "minecraft:looting",
"function": "minecraft:enchanted_count_increase"
}
],
"name": "galacticraft:moon_cheese_curd"
}
],
"rolls": 1.0
}
],
"random_sequence": "galacticraft:entities/cheese_cow"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"type": "galacticraft:compressing_shapeless",
"ingredients": [
{
"item": "galacticraft:cheese_whiz_bucket"
}
],
"result": {
"count": 1,
"id": "galacticraft:moon_cheese_wheel"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"parent": "minecraft:galacticraft/eat_moon_cheese_curd",
"criteria": {
"milk_cheese_cow": {
"conditions": {
"entity": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"type": "galacticraft:cheese_cow"
}
}
],
"item": {
"items": "minecraft:bucket"
}
},
"trigger": "minecraft:player_interacted_with_entity"
}
},
"display": {
"description": {
"translate": "advancement.galacticraft.cheese_whiz.description"
},
"icon": {
"count": 1,
"id": "galacticraft:moon_cheese_wheel"
},
"title": {
"translate": "advancement.galacticraft.cheese_whiz.title"
}
},
"requirements": [
[
"milk_cheese_cow"
]
],
"sends_telemetry_event": true
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"values": [
"galacticraft:crude_oil",
"galacticraft:fuel",
"galacticraft:sulfuric_acid"
"galacticraft:sulfuric_acid",
"galacticraft:cheese_whiz"
]
}
9 changes: 9 additions & 0 deletions src/main/java/dev/galacticraft/mod/Constant.java
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,7 @@ interface Block {
String FUEL = "fuel";
String CRUDE_OIL = "crude_oil";
String SULFURIC_ACID = "sulfuric_acid";
String CHEESE_WHIZ = "cheese_whiz";

// Machines
String CIRCUIT_FABRICATOR = "circuit_fabricator";
Expand Down Expand Up @@ -397,6 +398,8 @@ interface Fluid {
String SULFURIC_ACID_STILL = "sulfuric_acid_still";
String OXYGEN_GAS = "oxygen_gas";
String LIQUID_OXYGEN = "liquid_oxygen";
String CHEESE_WHIZ_STILL = "cheese_whiz_still";
String CHEESE_WHIZ_FLOWING = "cheese_whiz_flowing";

static ResourceLocation fluidId(String s) {
return Constant.id("block/fluid/" + s);
Expand Down Expand Up @@ -527,6 +530,7 @@ interface Item {
String CRUDE_OIL_BUCKET = "crude_oil_bucket";
String FUEL_BUCKET = "fuel_bucket";
String SULFURIC_ACID_BUCKET = "sulfuric_acid_bucket";
String CHEESE_WHIZ_BUCKET = "cheese_whiz_bucket";

//GC INVENTORY
String PARACHUTE = "parachute";
Expand Down Expand Up @@ -591,6 +595,8 @@ interface Particle {
String FALLING_FUEL = "falling_fuel";
String DRIPPING_SULFURIC_ACID = "dripping_sulfuric_acid";
String FALLING_SULFURIC_ACID = "falling_sulfuric_acid";
String DRIPPING_CHEESE_WHIZ = "dripping_cheese_whiz";
String FALLING_CHEESE_WHIZ = "falling_cheese_whiz";

String CRYOGENIC_PARTICLE = "cryogenic_particle";
String LANDER_FLAME = "lander_flame_particle";
Expand Down Expand Up @@ -880,6 +886,7 @@ interface Entity {
String GAZER = "gazer";
String FALLING_METEOR = "falling_meteor";
String EVOLVED_SKELETON_BOSS = "evolved_skeleton_boss";
String CHEESE_COW = "cheese_cow";
}

interface SpawnEgg {
Expand All @@ -899,6 +906,7 @@ interface SpawnEgg {
String OLI_GRUB = "oli_grub_spawn_egg";
String COMET_CUBE = "comet_cube_spawn_egg";
String GAZER = "gazer_spawn_egg";
String CHEESE_COW = "cheese_cow_egg";
}

interface EntityTexture {
Expand All @@ -913,6 +921,7 @@ interface EntityTexture {
String GAZER = "textures/entity/gazer.png";
String LANDER = "textures/entity/lander.png";
String SKELETON_BOSS = "textures/entity/skeletonboss.png";
String CHEESE_COW = "textures/entity/cheese_cow/cheese_cow.png";
}

interface GearTexture {
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/dev/galacticraft/mod/GalacticraftClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ public void onInitializeClient() {
EntityRendererRegistry.register(GCEntityTypes.PARACHEST, ParachestRenderer::new);
EntityRendererRegistry.register(GCEntityTypes.THROWABLE_METEOR_CHUNK, ThrownItemRenderer::new);
EntityRendererRegistry.register(GCEntityTypes.SKELETON_BOSS, EvolvedSkeletonBossRenderer::new);
EntityRendererRegistry.register(GCEntityTypes.CHEES_COW, CheeseCowEntityRender :: new);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be an extra E in GCEntityTypes.CHEES_COW, also I would suggest renaming the CheeseCowEntityRender class to be more consistent with the other renderer classes.

Suggested change
EntityRendererRegistry.register(GCEntityTypes.CHEES_COW, CheeseCowEntityRender :: new);
EntityRendererRegistry.register(GCEntityTypes.CHEESE_COW, CheeseCowEntityRenderer::new);


GCBlockEntityRenderer.register();
GCClientPacketReceiver.register();
Expand Down Expand Up @@ -193,6 +194,8 @@ public void onInitializeClient() {
ParticleFactoryRegistry.getInstance().register(GCParticleTypes.FALLING_FUEL, FallingFuelProvider::new);
ParticleFactoryRegistry.getInstance().register(GCParticleTypes.DRIPPING_SULFURIC_ACID, DrippingSulfuricAcidProvider::new);
ParticleFactoryRegistry.getInstance().register(GCParticleTypes.FALLING_SULFURIC_ACID, FallingSulfuricAcidProvider::new);
ParticleFactoryRegistry.getInstance().register(GCParticleTypes.DRIPPING_CHEESE_WHIZ, DrippingCheeseWhizProvider:: new);
ParticleFactoryRegistry.getInstance().register(GCParticleTypes.FALLING_CHEESE_WHIZ, FallingCheeseWhizProvider:: new);
Comment on lines +197 to +198
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The spacing is a bit inconsistent with a space after the double colon ::

ParticleFactoryRegistry.getInstance().register(GCParticleTypes.CRYOGENIC_PARTICLE, CryoFreezeParticle.Provider::new);
ParticleFactoryRegistry.getInstance().register(GCParticleTypes.LANDER_FLAME_PARTICLE, LanderParticle.Provider::new);
ParticleFactoryRegistry.getInstance().register(GCParticleTypes.SPARK_PARTICLE, SparksParticle.Provider::new);
Expand All @@ -216,10 +219,15 @@ public void onInitializeClient() {
Constant.Fluid.fluidId(Constant.Fluid.SULFURIC_ACID_STILL),
Constant.Fluid.fluidId(Constant.Fluid.SULFURIC_ACID_FLOWING)
);
FluidRenderHandler cheesewhiz = new SimpleFluidRenderHandler(
Constant.Fluid.fluidId(Constant.Fluid.CHEESE_WHIZ_STILL),
Constant.Fluid.fluidId(Constant.Fluid.CHEESE_WHIZ_FLOWING)
);

FluidRenderHandlerRegistry.INSTANCE.register(GCFluids.CRUDE_OIL, GCFluids.FLOWING_CRUDE_OIL, oil);
FluidRenderHandlerRegistry.INSTANCE.register(GCFluids.FUEL, GCFluids.FLOWING_FUEL, fuel);
FluidRenderHandlerRegistry.INSTANCE.register(GCFluids.SULFURIC_ACID, GCFluids.FLOWING_SULFURIC_ACID, sulfuricAcid);
FluidRenderHandlerRegistry.INSTANCE.register(GCFluids.CHEESE_WHIZ, GCFluids.FLOWING_CHEESE_WHIZ, cheesewhiz);

BlockRenderLayerMap.INSTANCE.putFluids(RenderType.translucent(), GCFluids.FUEL, GCFluids.FLOWING_FUEL);
BlockRenderLayerMap.INSTANCE.putFluids(RenderType.translucent(), GCFluids.SULFURIC_ACID, GCFluids.FLOWING_SULFURIC_ACID);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Copyright (c) 2019-2025 Team Galacticraft
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

package dev.galacticraft.mod.client.particle;


import dev.galacticraft.mod.content.GCFluids;
import dev.galacticraft.mod.particle.GCParticleTypes;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.DripParticle;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.ParticleProvider;
import net.minecraft.client.particle.SpriteSet;
import net.minecraft.core.particles.SimpleParticleType;
import org.jetbrains.annotations.Nullable;

@Environment(EnvType.CLIENT)
public record DrippingCheeseWhizProvider(SpriteSet spriteProvider) implements ParticleProvider<SimpleParticleType> {
@Override
@Nullable
public Particle createParticle(SimpleParticleType particleOptions, ClientLevel clientLevel, double x, double y, double z, double velocityX, double velocityY, double velocityZ) {
var particle = new DripParticle.DripHangParticle(clientLevel, x, y, z, GCFluids.CHEESE_WHIZ, GCParticleTypes.FALLING_CHEESE_WHIZ);
particle.setColor(151f / 255f, 245f / 255f, 70f / 255f);
particle.pickSprite(this.spriteProvider);
return particle;
}
}
Loading