Skip to content

Commit

Permalink
Add XP Fluid
Browse files Browse the repository at this point in the history
  • Loading branch information
Direwolf20-MC committed Sep 13, 2024
1 parent 222f1f2 commit 02609eb
Show file tree
Hide file tree
Showing 13 changed files with 199 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21.1 2024-09-12T11:15:53.8975739 Item Models: justdirethings
// 1.21.1 2024-09-13T13:42:08.1493472 Item Models: justdirethings
c197a1b2a5ae31fcfabfe6cab9ab95a9dc0e1af6 assets/justdirethings/models/item/blazegold_axe.json
dddf215922d40d92c2d8bce4229f2e2af8b3c7ba assets/justdirethings/models/item/blazegold_axe_active.json
6396fb6e503760080534bc26337236d4d09a4cb8 assets/justdirethings/models/item/blazegold_block.json
Expand Down Expand Up @@ -368,3 +368,4 @@ a3679c6341273d0028d1f6882e467e290189eb35 assets/justdirethings/models/item/upgra
0af186d271e80543d4bc2b38307337807c61af8d assets/justdirethings/models/item/upgrade_treefeller.json
24c722112f9d85c53ea12020657451e156b57e1c assets/justdirethings/models/item/upgrade_walkspeed.json
b713dac946a919bd3c78bdd84396c681905676bb assets/justdirethings/models/item/voidshift_wand.json
a7b09b6500bbaed0170e4ebbf38cac862e0b2f20 assets/justdirethings/models/item/xp_fluid_bucket.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.21.1 2024-09-13T10:08:13.6347516 Languages: en_us for mod: justdirethings
ee74f8b060f11da4663806372cbc2ef7981fadab assets/justdirethings/lang/en_us.json
// 1.21.1 2024-09-13T13:43:18.3815776 Languages: en_us for mod: justdirethings
a4ea5c922b56481d51520c57e5bed3dc238465e4 assets/justdirethings/lang/en_us.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21.1 2024-09-07T12:06:42.2548566 Block States: justdirethings
// 1.21.1 2024-09-13T13:42:08.1573543 Block States: justdirethings
e5976480ed9485e0bae43d4edde0c8aecaabe8a5 assets/justdirethings/blockstates/blazegold_block.json
6580258682ab076313135ecb0c16dc2595a1a0df assets/justdirethings/blockstates/blockbreakert1.json
0db1a53fd80ee5aed746843da439bd30b131ac55 assets/justdirethings/blockstates/blockbreakert2.json
Expand Down Expand Up @@ -52,6 +52,7 @@ f49a72ecbf07e06b65c649abe5868d3d4ef1f311 assets/justdirethings/blockstates/unref
08ba81f3e2ae52bf1c45b64295a773b42f47d7d5 assets/justdirethings/blockstates/unrefined_t3_fluid_block.json
ee8299d78cf13542216f38b90fa292fb0d634f81 assets/justdirethings/blockstates/unrefined_t4_fluid_block.json
db57ae5afcebace0cb6847909f30fe9458feef8a assets/justdirethings/blockstates/unstable_portal_fluid_block.json
b6f1951b73ff9f551bfc1407975e4451ad9abe62 assets/justdirethings/blockstates/xp_fluid_block.json
9bd3946cfa107459786529b2af21eb125a901fb7 assets/justdirethings/models/block/blazegold_block.json
9659e3f59756a5bb95fdd0504c1bf43fe30d2724 assets/justdirethings/models/block/blockbreakert1.json
bb4a6cb7aaa1b611b9e5d16b1b02f1ec51a6c645 assets/justdirethings/models/block/blockbreakert1_active.json
Expand Down Expand Up @@ -128,3 +129,4 @@ d8845a6da5ed66f910e014c97071f8ea754df1c8 assets/justdirethings/models/block/time
4cbb3c8e0147ca797cb922394a58a3950e00ffef assets/justdirethings/models/block/unrefined_t3_fluid_block.json
4cbb3c8e0147ca797cb922394a58a3950e00ffef assets/justdirethings/models/block/unrefined_t4_fluid_block.json
4cbb3c8e0147ca797cb922394a58a3950e00ffef assets/justdirethings/models/block/unstable_portal_fluid_block.json
4cbb3c8e0147ca797cb922394a58a3950e00ffef assets/justdirethings/models/block/xp_fluid_block.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "justdirethings:block/xp_fluid_block"
}
}
}
3 changes: 3 additions & 0 deletions src/generated/resources/assets/justdirethings/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
"block.justdirethings.unrefined_t3_fluid_block": "Unrefined Voidflame Fuel",
"block.justdirethings.unrefined_t4_fluid_block": "Unrefined Eclipse Ember Fuel",
"block.justdirethings.unstable_portal_fluid_block": "Unstable Portal Fluid",
"block.justdirethings.xp_fluid_block": "XP Fluid",
"entity.justdirethings.decoy_entity": "Decoy Entity",
"entity.justdirethings.paradox_entity": "Paradox",
"entity.justdirethings.time_wand_entity": "Time Wand Entity",
Expand All @@ -81,6 +82,7 @@
"fluid_type.justdirethings.unrefined_t3_fluid_type": "Unrefined Voidflame Fuel",
"fluid_type.justdirethings.unrefined_t4_fluid_type": "Unrefined Eclipse Ember Fuel",
"fluid_type.justdirethings.unstable_portal_fluid_type": "Unstable Portal Fluid",
"fluid_type.justdirethings.xp_fluid_type": "XP Fluid",
"item.justdirethings.blazegold_axe": "Blazegold Axe",
"item.justdirethings.blazegold_boots": "Blazegold Boots",
"item.justdirethings.blazegold_chestplate": "Blazegold Chestplate",
Expand Down Expand Up @@ -208,6 +210,7 @@
"item.justdirethings.upgrade_treefeller": "Upgrade: Treefeller",
"item.justdirethings.upgrade_walkspeed": "Upgrade: Walk Speed",
"item.justdirethings.voidshift_wand": "Voidshift Wand",
"item.justdirethings.xp_fluid_bucket": "XP Fluid Bucket",
"itemGroup.DeferredHolder{ResourceKey[minecraft:creative_mode_tab / justdirethings:justdirethings]}": "Just Dire Things",
"justdirethings.ability": "Ability: %s - %s",
"justdirethings.ability.airburst": "Air Burst",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"textures": {
"particle": "justdirethings:block/fluid_source"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"parent": "neoforge:item/bucket",
"fluid": "justdirethings:xp_fluid_source",
"loader": "neoforge:fluid_container"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
package com.direwolf20.justdirethings.common.fluids.xpfluid;

import com.direwolf20.justdirethings.setup.Registration;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.material.Fluid;
import net.minecraft.world.level.material.FluidState;
import net.neoforged.neoforge.fluids.BaseFlowingFluid;

public abstract class XPFluid extends BaseFlowingFluid {
public static final Properties PROPERTIES = new Properties(
Registration.XP_FLUID_TYPE,
Registration.XP_FLUID_FLOWING,
Registration.XP_FLUID_SOURCE
).bucket(Registration.XP_FLUID_BUCKET).block(Registration.XP_FLUID_BLOCK);

protected XPFluid(Properties properties) {
super(properties);
}

@Override
public Fluid getFlowing() {
return Registration.XP_FLUID_FLOWING.get();
}

@Override
public Fluid getSource() {
return Registration.XP_FLUID_SOURCE.get();
}

@Override
public Item getBucket() {
return Registration.XP_FLUID_BUCKET.get();
}

@Override
protected boolean canConvertToSource(Level pLevel) {
return false;
}

public static class Flowing extends XPFluid {
public Flowing() {
super(PROPERTIES);
}

@Override
protected void createFluidStateDefinition(StateDefinition.Builder<Fluid, FluidState> pBuilder) {
super.createFluidStateDefinition(pBuilder);
pBuilder.add(LEVEL);
}

@Override
public int getAmount(FluidState pState) {
return pState.getValue(LEVEL);
}

@Override
public boolean isSource(FluidState pState) {
return false;
}
}

public static class Source extends XPFluid {
public Source() {
super(PROPERTIES);
}

@Override
public int getAmount(FluidState pState) {
return 8;
}

@Override
public boolean isSource(FluidState pState) {
return true;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.direwolf20.justdirethings.common.fluids.xpfluid;

import com.direwolf20.justdirethings.setup.Registration;
import net.minecraft.world.level.block.LiquidBlock;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.level.material.PushReaction;

public class XPFluidBlock extends LiquidBlock {
public XPFluidBlock() {
super(Registration.XP_FLUID_SOURCE.get(), Properties.of()
.mapColor(MapColor.COLOR_LIGHT_GREEN)
.replaceable()
.noCollission()
.strength(100.0F)
.pushReaction(PushReaction.DESTROY)
.noLootTable()
.liquid()
.sound(SoundType.EMPTY)
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.direwolf20.justdirethings.common.fluids.xpfluid;

import net.minecraft.core.BlockPos;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.material.FluidState;
import net.neoforged.neoforge.common.SoundActions;
import net.neoforged.neoforge.fluids.FluidType;

public class XPFluidType extends FluidType {
public XPFluidType() {
super(Properties.create().density(1000).viscosity(1000).temperature(300)
.sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL)
.sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY)
.sound(SoundActions.FLUID_VAPORIZE, SoundEvents.FIRE_EXTINGUISH));
}

@Override
public boolean canConvertToSource(FluidState state, LevelReader reader, BlockPos pos) {
return false;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ protected void addTranslations() {
add(Registration.TIME_FLUID_BLOCK.get(), "Time Fluid");
add(Registration.TIME_FLUID_BUCKET.get(), "Time Fluid Bucket");
add("fluid_type.justdirethings.time_fluid_type", "Time Fluid");
add(Registration.XP_FLUID_BLOCK.get(), "XP Fluid");
add(Registration.XP_FLUID_BUCKET.get(), "XP Fluid Bucket");
add("fluid_type.justdirethings.xp_fluid_type", "XP Fluid");

//Resources
add(Registration.FerricoreBlock.get(), "Ferricore Block");
Expand Down
31 changes: 31 additions & 0 deletions src/main/java/com/direwolf20/justdirethings/setup/ClientSetup.java
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,37 @@ public int getTintColor(FluidState state, BlockAndTintGetter getter, BlockPos po
return 0x7700FF00;
}
}, Registration.TIME_FLUID_TYPE.get());
event.registerFluidType(new IClientFluidTypeExtensions() {
@Override
public ResourceLocation getStillTexture() {
return WATER_STILL;
}

@Override
public ResourceLocation getFlowingTexture() {
return WATER_FLOW;
}

@Override
public ResourceLocation getOverlayTexture() {
return WATER_OVERLAY;
}

@Override
public ResourceLocation getRenderOverlayTexture(Minecraft mc) {
return UNDERWATER_LOCATION;
}

@Override
public int getTintColor() {
return 0xFF32CD32;
}

@Override
public int getTintColor(FluidState state, BlockAndTintGetter getter, BlockPos pos) {
return 0xFF32CD32;
}
}, Registration.XP_FLUID_TYPE.get());
}

@SubscribeEvent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@
import com.direwolf20.justdirethings.common.fluids.unstableportalfluid.UnstablePortalFluid;
import com.direwolf20.justdirethings.common.fluids.unstableportalfluid.UnstablePortalFluidBlock;
import com.direwolf20.justdirethings.common.fluids.unstableportalfluid.UnstablePortalFluidType;
import com.direwolf20.justdirethings.common.fluids.xpfluid.XPFluid;
import com.direwolf20.justdirethings.common.fluids.xpfluid.XPFluidBlock;
import com.direwolf20.justdirethings.common.fluids.xpfluid.XPFluidType;
import com.direwolf20.justdirethings.common.items.*;
import com.direwolf20.justdirethings.common.items.abilityupgrades.Upgrade;
import com.direwolf20.justdirethings.common.items.abilityupgrades.UpgradeBlank;
Expand Down Expand Up @@ -313,6 +316,18 @@ public static void init(IEventBus eventBus) {
public static final DeferredHolder<Item, BucketItem> REFINED_T4_FLUID_BUCKET = BUCKET_ITEMS.register("refined_t4_fluid_bucket",
() -> new BucketItem(Registration.REFINED_T4_FLUID_SOURCE.get(), new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1)));

//XP Fluid
public static final DeferredHolder<FluidType, FluidType> XP_FLUID_TYPE = FLUID_TYPES.register("xp_fluid_type",
XPFluidType::new);
public static final DeferredHolder<Fluid, XPFluid> XP_FLUID_FLOWING = FLUIDS.register("xp_fluid_flowing",
XPFluid.Flowing::new);
public static final DeferredHolder<Fluid, XPFluid> XP_FLUID_SOURCE = FLUIDS.register("xp_fluid_source",
XPFluid.Source::new);
public static final DeferredHolder<Block, LiquidBlock> XP_FLUID_BLOCK = FLUID_BLOCKS.register("xp_fluid_block",
XPFluidBlock::new);
public static final DeferredHolder<Item, BucketItem> XP_FLUID_BUCKET = BUCKET_ITEMS.register("xp_fluid_bucket",
() -> new BucketItem(Registration.XP_FLUID_SOURCE.get(), new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1)));


//Machines
public static final DeferredHolder<Block, ItemCollector> ItemCollector = BLOCKS.register("itemcollector", ItemCollector::new);
Expand Down

0 comments on commit 02609eb

Please sign in to comment.