Skip to content

Commit

Permalink
Need boyfriend
Browse files Browse the repository at this point in the history
  • Loading branch information
SammySemicolon committed Dec 28, 2023
1 parent 7b3e563 commit 7c1b9d0
Show file tree
Hide file tree
Showing 32 changed files with 409 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "malum:block/ritual_plinth"
}
}
}
13 changes: 11 additions & 2 deletions src/generated/resources/assets/malum/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
"block.malum.primordial_soup": "The Weeping Well",
"block.malum.revealed_runewood_log": "Revealed Runewood Log",
"block.malum.revealed_soulwood_log": "Revealed Soulwood Log",
"block.malum.ritual_plinth": "Ritual Plinth",
"block.malum.runewood": "Runewood",
"block.malum.runewood_beam": "Runewood Beam",
"block.malum.runewood_door": "Runewood Door",
Expand Down Expand Up @@ -627,8 +628,8 @@
"malum.gui.book.entry.page.text.corrupt_arcane_rite": "Now already scarred, the power bleeds from the soulwood totem, corrupting and warping the nearby area. Any nearby block placed atop that blighted substance will be altered.",
"malum.gui.book.entry.page.text.corrupt_arcane_rite.hover": "Transmutes nearby blocks placed atop blighted gunk.",
"malum.gui.book.entry.page.text.corrupt_earthen_rite": "A simple aura rite, nearby friendly beings will find their attacks deal more damage.",
"malum.gui.book.entry.page.text.corrupt_greater_aerial_rite": "An advanced rite, while active it will slowly ease the stress of time on the mind, offsetting the effects of insomnia for those around it.",
"malum.gui.book.entry.page.text.corrupt_greater_aerial_rite.hover": "Passively reduces the insomnia value of nearby players.\n - Assuming phantoms are just barely able to spawn, it will take a single totem two and two fifths of a minute to fully cleanse insomnia.",
"malum.gui.book.entry.page.text.corrupt_greater_aerial_rite": "An advanced rite, while active it will slowly ease the stress of time on the mind, offsetting the effects of insomnia for those around it over time.",
"malum.gui.book.entry.page.text.corrupt_greater_aerial_rite.hover": "Passively reduces the insomnia value of nearby players.\n - Assuming phantoms are just starting to appear, it will take a single totem executing the rite two and two fifths of a minute to fully cleanse insomnia.\n - Naturally, the totem will take longer to fully cleanse insomnia if the player has already been suffering from it for some time.",
"malum.gui.book.entry.page.text.corrupt_greater_aqueous_rite": "Zombies near this rite will find themselves choking on their own breath, drowning even on land.",
"malum.gui.book.entry.page.text.corrupt_greater_earthen_rite": "The earth coalesces, and like lava meeting water, cobblestone is created before the totem base.",
"malum.gui.book.entry.page.text.corrupt_greater_infernal_rite": "Instead of generating heat, this rite compresses it, causing furnaces to operate more quickly.",
Expand Down Expand Up @@ -827,6 +828,10 @@
"malum.gui.rite.corrupted_aqueous_rite": "Rite of the Seas",
"malum.gui.rite.corrupted_arcane_rite": "Unchained Rite",
"malum.gui.rite.corrupted_earthen_rite": "Rite of the Challenger",
"malum.gui.rite.corrupted_greater_aerial_rite": "Rite of Unwinding",
"malum.gui.rite.corrupted_greater_aqueous_rite": "Rite of ",
"malum.gui.rite.corrupted_greater_earthen_rite": "Rite of ",
"malum.gui.rite.corrupted_greater_infernal_rite": "Rite of ",
"malum.gui.rite.corrupted_greater_sacred_rite": "Rite of Lust",
"malum.gui.rite.corrupted_greater_wicked_rite": "Rite of Culling",
"malum.gui.rite.corrupted_infernal_rite": "Rite of the Extinguisher",
Expand All @@ -835,6 +840,10 @@
"malum.gui.rite.coverage": "Coverage: ",
"malum.gui.rite.earthen_rite": "Rite of Warding",
"malum.gui.rite.effect": "Effect: ",
"malum.gui.rite.greater_aerial_rite": "Rite of Gravity",
"malum.gui.rite.greater_aqueous_rite": "Rite of ",
"malum.gui.rite.greater_earthen_rite": "Rite of ",
"malum.gui.rite.greater_infernal_rite": "Rite of ",
"malum.gui.rite.greater_sacred_rite": "Rite of Growth",
"malum.gui.rite.greater_wicked_rite": "Rite of Exorcism",
"malum.gui.rite.infernal_rite": "Rite of Haste",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "malum:block/ritual_plinth"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "malum:ritual_plinth"
}
],
"rolls": 1.0
}
],
"random_sequence": "malum:blocks/ritual_plinth"
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
"malum:ether_torch",
"malum:runewood_sign",
"malum:spirit_altar",
"malum:ritual_plinth",
"malum:runewood_planks_button",
"malum:cut_runewood_planks",
"malum:revealed_soulwood_log",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package com.sammy.malum.common.block.curiosities.ritual_plinth;

import com.sammy.malum.common.block.curiosities.spirit_altar.*;
import net.minecraft.core.*;
import net.minecraft.world.level.*;
import net.minecraft.world.level.block.entity.*;
import net.minecraft.world.level.block.state.*;
import net.minecraft.world.phys.shapes.*;
import net.minecraftforge.common.capabilities.*;
import net.minecraftforge.items.*;
import net.minecraftforge.items.wrapper.*;
import team.lodestar.lodestone.systems.block.*;

public class RitualPlinthBlock<T extends RitualPlinthBlockEntity> extends WaterLoggedEntityBlock<T> {
// public static final VoxelShape SHAPE = makeShape();
// public static final VoxelShape RENDER_SHAPE = makeRenderShape();

public RitualPlinthBlock(Properties properties) {
super(properties);
}

// @Override
// public VoxelShape getInteractionShape(BlockState p_60547_, BlockGetter p_60548_, BlockPos p_60549_) {
// return SHAPE;
// }
//
// @Override
// public VoxelShape getCollisionShape(BlockState p_60572_, BlockGetter p_60573_, BlockPos p_60574_, CollisionContext p_60575_) {
// return SHAPE;
// }
//
// @Override
// public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
// return RENDER_SHAPE;
// }

@Override
public int getAnalogOutputSignal(BlockState pState, Level pLevel, BlockPos pPos) {
BlockEntity be = pLevel.getBlockEntity(pPos);
if (be instanceof RitualPlinthBlockEntity altar) {
return ItemHandlerHelper.calcRedstoneFromInventory(altar.getCapability(ForgeCapabilities.ITEM_HANDLER).orElse(new EmptyHandler()));
}
return 0;
}

@Override
public boolean hasAnalogOutputSignal(BlockState pState) {
return true;
}

// public static VoxelShape makeShape() {
// VoxelShape shape = Shapes.empty();
// shape = Shapes.join(shape, Shapes.box(0.0625, 0, 0.0625, 0.9375, 0.25, 0.9375), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.1875, 0.25, 0.1875, 0.8125, 0.625, 0.8125), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0, 0.625, 0, 1, 1, 1), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0, 1, 0, 0.1875, 1.0625, 0.1875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0, 1, 0.8125, 0.1875, 1.0625, 1), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.8125, 1, 0, 1, 1.0625, 0.1875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.8125, 1, 0.8125, 1, 1.0625, 1), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.8125, 0, 0.3125, 1, 0.375, 0.6875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.3125, 0, 0, 0.6875, 0.375, 0.1875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.3125, 0, 0.8125, 0.6875, 0.375, 1), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0, 0, 0.3125, 0.1875, 0.375, 0.6875), BooleanOp.OR);
//
// return shape;
// }
//
// public static VoxelShape makeRenderShape() {
// VoxelShape shape = Shapes.empty();
// shape = Shapes.join(shape, Shapes.box(0.0625, 0, 0.0625, 0.9375, 0.25, 0.9375), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.1875, 0.25, 0.1875, 0.8125, 0.625, 0.8125), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0, 0.625, 0, 1, 1, 1), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(-0.125, 0.5625, -0.125, 0.1875, 1.0625, 0.1875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(-0.125, 0.5625, 0.8125, 0.1875, 1.0625, 1.125), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.8125, 0.5625, -0.125, 1.125, 1.0625, 0.1875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.8125, 0.5625, 0.8125, 1.125, 1.0625, 1.125), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.8125, 0, 0.3125, 1, 0.375, 0.6875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.3125, 0, 0, 0.6875, 0.375, 0.1875), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0.3125, 0, 0.8125, 0.6875, 0.375, 1), BooleanOp.OR);
// shape = Shapes.join(shape, Shapes.box(0, 0, 0.3125, 0.1875, 0.375, 0.6875), BooleanOp.OR);
//
// return shape;
// }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package com.sammy.malum.common.block.curiosities.ritual_plinth;

import com.sammy.malum.common.block.*;
import com.sammy.malum.common.block.curiosities.spirit_altar.*;
import com.sammy.malum.common.block.storage.*;
import com.sammy.malum.common.item.spirit.*;
import com.sammy.malum.common.recipe.*;
import com.sammy.malum.core.systems.recipe.*;
import com.sammy.malum.registry.common.*;
import com.sammy.malum.registry.common.block.*;
import com.sammy.malum.visual_effects.*;
import com.sammy.malum.visual_effects.networked.altar.*;
import com.sammy.malum.visual_effects.networked.data.*;
import net.minecraft.core.*;
import net.minecraft.nbt.*;
import net.minecraft.sounds.*;
import net.minecraft.util.*;
import net.minecraft.world.*;
import net.minecraft.world.entity.item.*;
import net.minecraft.world.entity.player.*;
import net.minecraft.world.item.*;
import net.minecraft.world.level.block.entity.*;
import net.minecraft.world.level.block.state.*;
import net.minecraft.world.phys.*;
import net.minecraftforge.common.capabilities.*;
import net.minecraftforge.common.util.*;
import net.minecraftforge.items.*;
import net.minecraftforge.items.wrapper.*;
import org.jetbrains.annotations.*;
import team.lodestar.lodestone.helpers.*;
import team.lodestar.lodestone.systems.blockentity.*;
import team.lodestar.lodestone.systems.easing.*;
import team.lodestar.lodestone.systems.recipe.*;

import javax.annotation.Nullable;
import javax.annotation.*;
import java.util.*;

public class RitualPlinthBlockEntity extends LodestoneBlockEntity {
public RitualPlinthBlockEntity(BlockEntityType<? extends RitualPlinthBlockEntity> type, BlockPos pos, BlockState state) {
super(type, pos, state);
}

public RitualPlinthBlockEntity(BlockPos pos, BlockState state) {
super(BlockEntityRegistry.RITUAL_PLINTH.get(), pos, state);
}

@Override
protected void saveAdditional(CompoundTag compound) {
}

@Override
public void load(CompoundTag compound) {
super.load(compound);
}

@Override
public void onBreak(@Nullable Player player) {
}

@Override
public InteractionResult onUse(Player player, InteractionHand hand) {
if (level.isClientSide) {
return InteractionResult.CONSUME;
}
return super.onUse(player, hand);
}

@Override
public void tick() {
super.tick();
}

// public Vec3 getItemPos() {
// final BlockPos blockPos = getBlockPos();
// final Vec3 offset = getCentralItemOffset();
// return new Vec3(blockPos.getX() + offset.x, blockPos.getY() + offset.y, blockPos.getZ() + offset.z);
// }
//
// public Vec3 getCentralItemOffset() {
// return ALTAR_ITEM_OFFSET;
// }
}
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ protected void registerStatesAndModels() {
BlockStateSmithTypes.CUSTOM_MODEL.act(data, MalumItemModelSmithTypes.GENERATED_OVERLAY_ITEM, this::simpleBlock, this::etherModel, IRIDESCENT_ETHER);

BlockStateSmithTypes.CUSTOM_MODEL.act(data, ItemModelSmithTypes.BLOCK_MODEL_ITEM, this::simpleBlock, this::predefinedModel,
SPIRIT_ALTAR, SPIRIT_JAR);
SPIRIT_ALTAR, SPIRIT_JAR, RITUAL_PLINTH);

BlockStateSmithTypes.CUSTOM_MODEL.act(data, ItemModelSmithTypes.BLOCK_MODEL_ITEM, this::horizontalBlock, this::predefinedModel,
WEAVERS_WORKBENCH);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.sammy.malum.*;
import com.sammy.malum.client.renderer.block.*;
import com.sammy.malum.common.block.curiosities.obelisk.*;
import com.sammy.malum.common.block.curiosities.ritual_plinth.*;
import com.sammy.malum.common.block.curiosities.spirit_altar.*;
import com.sammy.malum.common.block.curiosities.spirit_crucible.*;
import com.sammy.malum.common.block.curiosities.spirit_crucible.catalyzer.*;
Expand Down Expand Up @@ -33,6 +34,7 @@ public class BlockEntityRegistry {
public static final RegistryObject<BlockEntityType<VoidConduitBlockEntity>> VOID_CONDUIT = BLOCK_ENTITY_TYPES.register("void_conduit", () -> BlockEntityType.Builder.of(VoidConduitBlockEntity::new, BlockRegistry.VOID_CONDUIT.get()).build(null));
public static final RegistryObject<BlockEntityType<SpiritAltarBlockEntity>> SPIRIT_ALTAR = BLOCK_ENTITY_TYPES.register("spirit_altar", () -> BlockEntityType.Builder.of(SpiritAltarBlockEntity::new, BlockRegistry.SPIRIT_ALTAR.get()).build(null));
public static final RegistryObject<BlockEntityType<SpiritJarBlockEntity>> SPIRIT_JAR = BLOCK_ENTITY_TYPES.register("spirit_jar", () -> BlockEntityType.Builder.of(SpiritJarBlockEntity::new, BlockRegistry.SPIRIT_JAR.get()).build(null));
public static final RegistryObject<BlockEntityType<RitualPlinthBlockEntity>> RITUAL_PLINTH = BLOCK_ENTITY_TYPES.register("ritual_plinth", () -> BlockEntityType.Builder.of(RitualPlinthBlockEntity::new, BlockRegistry.RITUAL_PLINTH.get()).build(null));

public static final RegistryObject<BlockEntityType<WeaversWorkbenchBlockEntity>> WEAVERS_WORKBENCH = BLOCK_ENTITY_TYPES.register("weavers_workbench", () -> BlockEntityType.Builder.of(WeaversWorkbenchBlockEntity::new, BlockRegistry.WEAVERS_WORKBENCH.get()).build(null));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.sammy.malum.*;
import com.sammy.malum.common.block.blight.*;
import com.sammy.malum.common.block.curiosities.obelisk.*;
import com.sammy.malum.common.block.curiosities.ritual_plinth.*;
import com.sammy.malum.common.block.curiosities.spirit_altar.*;
import com.sammy.malum.common.block.curiosities.spirit_crucible.*;
import com.sammy.malum.common.block.curiosities.spirit_crucible.catalyzer.*;
Expand Down Expand Up @@ -53,6 +54,7 @@ public class BlockRegistry {
//region useful blocks
public static final RegistryObject<Block> SPIRIT_ALTAR = BLOCKS.register("spirit_altar", () -> new SpiritAltarBlock<>(MalumBlockProperties.RUNEWOOD().setCutoutRenderType().noOcclusion()).setBlockEntity(BlockEntityRegistry.SPIRIT_ALTAR));
public static final RegistryObject<Block> SPIRIT_JAR = BLOCKS.register("spirit_jar", () -> new SpiritJarBlock<>(MalumBlockProperties.SPIRIT_JAR().setCutoutRenderType().noOcclusion()).setBlockEntity(BlockEntityRegistry.SPIRIT_JAR));
public static final RegistryObject<Block> RITUAL_PLINTH = BLOCKS.register("ritual_plinth", () -> new RitualPlinthBlock<>(MalumBlockProperties.SOULWOOD().setCutoutRenderType().noOcclusion()).setBlockEntity(BlockEntityRegistry.RITUAL_PLINTH));

public static final RegistryObject<Block> WEAVERS_WORKBENCH = BLOCKS.register("weavers_workbench", () -> new WeaversWorkbenchBlock<>(MalumBlockProperties.RUNEWOOD().setCutoutRenderType().noOcclusion()).setBlockEntity(BlockEntityRegistry.WEAVERS_WORKBENCH));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,7 @@ public static <T extends Item> RegistryObject<T> register(String name, Item.Prop
public static final RegistryObject<Item> SPIRIT_CATALYZER = register("spirit_catalyzer", DEFAULT_PROPERTIES(), (p) -> new MultiBlockItem(BlockRegistry.SPIRIT_CATALYZER.get(), p, SpiritCatalyzerCoreBlockEntity.STRUCTURE));
public static final RegistryObject<Item> RUNEWOOD_TOTEM_BASE = register("runewood_totem_base", DEFAULT_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUNEWOOD_TOTEM_BASE.get(), p));
public static final RegistryObject<Item> SOULWOOD_TOTEM_BASE = register("soulwood_totem_base", DEFAULT_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_TOTEM_BASE.get(), p));
public static final RegistryObject<Item> RITUAL_PLINTH = register("ritual_plinth", DEFAULT_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RITUAL_PLINTH.get(), p));
//endregion

//region materials
Expand Down
Loading

0 comments on commit 7c1b9d0

Please sign in to comment.