Skip to content
Merged
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
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ curseforge_id=1380275
mod_id=anvilcraft_pigsplus
mod_name=AnvilCraft-PigsPlus
mod_license=LGPL-3.0 license
mod_version=0.1.5
mod_version=0.1.6
maven_group=dev.anvilcraft.pigsplus
mod_authors=TB_pig
mod_description=tools made by TB_pig
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"anvilcraft_pigsplus.configuration.section.anvilcraft_pigsplus.server.toml": "uoıʇɐɹnbıɟuoƆ ɹǝʌɹǝS snןdsbıԀ ʇɟɐɹɔןıʌuⱯ",
"anvilcraft_pigsplus.configuration.section.anvilcraft_pigsplus.server.toml.title": "uoıʇɐɹnbıɟuoƆ ɹǝʌɹǝS snןdsbıԀ ʇɟɐɹɔןıʌuⱯ",
"anvilcraft_pigsplus.configuration.title": "uoıʇɐɹnbıɟuoƆ snןdsbıԀ ʇɟɐɹɔןıʌuⱯ",
"block.anvilcraft_pigsplus.adjustable_power_converter": "ɹǝʇɹǝʌuoƆ ɹǝʍoԀ ǝןqɐʇsnظpⱯ",
"block.anvilcraft_pigsplus.auto_jewel_crafting_table": "ǝןqɐ⟘ buıʇɟɐɹƆ ןǝʍǝſ oʇnⱯ",
"block.anvilcraft_pigsplus.auto_royal_grindstone": "ǝuoʇspuıɹ⅁ ןɐʎoᴚ oʇnⱯ",
"block.anvilcraft_pigsplus.auto_royal_smithing_table": "ǝןqɐ⟘ buıɥʇıɯS ןɐʎoᴚ oʇnⱯ",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"anvilcraft_pigsplus.configuration.section.anvilcraft_pigsplus.server.toml": "Anvilcraft Pigsplus Server Configuration",
"anvilcraft_pigsplus.configuration.section.anvilcraft_pigsplus.server.toml.title": "Anvilcraft Pigsplus Server Configuration",
"anvilcraft_pigsplus.configuration.title": "Anvilcraft Pigsplus Configuration",
"block.anvilcraft_pigsplus.adjustable_power_converter": "Adjustable Power Converter",
"block.anvilcraft_pigsplus.auto_jewel_crafting_table": "Auto Jewel Crafting Table",
"block.anvilcraft_pigsplus.auto_royal_grindstone": "Auto Royal Grindstone",
"block.anvilcraft_pigsplus.auto_royal_smithing_table": "Auto Royal Smithing Table",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "anvilcraft_pigsplus:block/adjustable_power_converter"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft:super_heating/chaotic_raw_ore_and_earth_core_shard"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"anvilcraft:super_heating/chaotic_raw_ore_and_earth_core_shard"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"type": "anvilcraft:super_heating",
"ingredients": [
{
"count": 8,
"items": "anvilcraft_pigsplus:chaotic_raw_ore"
},
{
"items": "anvilcraft:earth_core_shard"
}
],
"results": [
{
"count": 4,
"id": "minecraft:copper_ingot"
},
{
"count": 4,
"id": "minecraft:gold_ingot"
},
{
"count": 4,
"id": "anvilcraft:zinc_ingot"
},
{
"count": 4,
"id": "anvilcraft:tin_ingot"
},
{
"count": 4,
"id": "anvilcraft:titanium_ingot"
},
{
"count": 4,
"id": "anvilcraft:tungsten_ingot"
},
{
"count": 4,
"id": "anvilcraft:lead_ingot"
},
{
"count": 4,
"id": "anvilcraft:silver_ingot"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_karakuri_component": {
"conditions": {
"items": [
{
"items": "anvilcraft_pigsplus:karakuri_component"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft_pigsplus:adjustable_power_converter"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_karakuri_component"
]
],
"rewards": {
"recipes": [
"anvilcraft_pigsplus:adjustable_power_converter"
]
}
}
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": "anvilcraft_pigsplus:adjustable_power_converter"
}
],
"rolls": 1.0
}
],
"random_sequence": "anvilcraft_pigsplus:blocks/adjustable_power_converter"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"A": {
"item": "minecraft:copper_ingot"
},
"B": {
"item": "anvilcraft:power_converter_big"
},
"C": {
"item": "anvilcraft_pigsplus:karakuri_component"
}
},
"pattern": [
"ABA",
"BCB",
"ABA"
],
"result": {
"count": 1,
"id": "anvilcraft_pigsplus:adjustable_power_converter"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"G": {
"item": "minecraft:glass"
},
"I": {
"item": "minecraft:iron_ingot"
},
"J": {
"item": "anvilcraft:jewelcrafting_table"
},
Expand All @@ -13,9 +19,9 @@
}
},
"pattern": [
" K ",
" J ",
" M "
"GKG",
"GJG",
"IMI"
],
"result": {
"count": 1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,25 @@
"category": "building",
"key": {
"G": {
"item": "anvilcraft:royal_grindstone"
"item": "minecraft:glass"
},
"I": {
"item": "minecraft:iron_ingot"
},
"K": {
"item": "anvilcraft_pigsplus:karakuri_component"
},
"M": {
"item": "anvilcraft:magnetoelectric_core"
},
"R": {
"item": "anvilcraft:royal_grindstone"
}
},
"pattern": [
" K ",
" G ",
" M "
"GKG",
"GRG",
"IMI"
],
"result": {
"count": 1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,26 @@
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"G": {
"item": "minecraft:glass"
},
"I": {
"item": "minecraft:iron_ingot"
},
"K": {
"item": "anvilcraft_pigsplus:karakuri_component"
},
"M": {
"item": "anvilcraft:magnetoelectric_core"
},
"S": {
"R": {
"item": "anvilcraft:royal_smithing_table"
}
},
"pattern": [
" K ",
" S ",
" M "
"GKG",
"GRG",
"IMI"
],
"result": {
"count": 1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"anvilcraft_pigsplus:auto_jewel_crafting_table",
"anvilcraft_pigsplus:auto_royal_smithing_table",
"anvilcraft_pigsplus:auto_royal_grindstone",
"anvilcraft_pigsplus:adjustable_power_converter",
"anvilcraft_pigsplus:chaotic_raw_ore_block",
"anvilcraft_pigsplus:deepslate_chaotic_ore",
"anvilcraft_pigsplus:enchanted_generator",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
package dev.anvilcraft.pigsplus.block;

import com.mojang.serialization.MapCodec;
import dev.anvilcraft.pigsplus.block.entity.AdjustablePowerConverterBlockEntity;
import dev.anvilcraft.pigsplus.init.AddonBlockEntities;
import dev.dubhe.anvilcraft.api.hammer.IHammerRemovable;
import dev.dubhe.anvilcraft.api.power.IPowerComponent;
import dev.dubhe.anvilcraft.block.better.BetterBaseEntityBlock;
import dev.dubhe.anvilcraft.init.ModMenuTypes;
import dev.dubhe.anvilcraft.network.SliderInitPacket;
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.BaseEntityBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.RenderShape;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.phys.BlockHitResult;
import net.neoforged.neoforge.network.PacketDistributor;
import org.jetbrains.annotations.Nullable;

public class AdjustablePowerConverterBlock extends BetterBaseEntityBlock implements IHammerRemovable {
public static final BooleanProperty POWERED = BlockStateProperties.POWERED;
public static final BooleanProperty OVERLOAD = IPowerComponent.OVERLOAD;

public AdjustablePowerConverterBlock(Properties properties) {
super(properties);
this.registerDefaultState(this.stateDefinition.any()
.setValue(POWERED, false)
.setValue(OVERLOAD, true));
}

@Override
protected MapCodec<? extends BaseEntityBlock> codec() {
return simpleCodec(AdjustablePowerConverterBlock::new);
}

@Override
@SuppressWarnings({"UnreachableCode"})
public InteractionResult use(
BlockState state,
Level level,
BlockPos pos,
Player player,
InteractionHand hand,
BlockHitResult hit
) {
if (level.isClientSide) {
return InteractionResult.SUCCESS;
}
if (level.getBlockEntity(pos) instanceof AdjustablePowerConverterBlockEntity entity
&& player instanceof ServerPlayer serverPlayer) {
ModMenuTypes.open(serverPlayer, entity, pos);
PacketDistributor.sendToPlayer(serverPlayer, new SliderInitPacket(entity.getPowerTarget()));
}
return InteractionResult.SUCCESS;
}
@Nullable
@Override
public <T extends BlockEntity> BlockEntityTicker<T> getTicker(Level level, BlockState state, BlockEntityType<T> type) {
if (level.isClientSide) {
return null;
}
return createTickerHelper(type, AddonBlockEntities.ADJUSTABLE_POWER_CONVERTER.get(),
(level1, blockPos, blockState, blockEntity) -> blockEntity.tick());
}

@Override
public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
return new AdjustablePowerConverterBlockEntity(AddonBlockEntities.ADJUSTABLE_POWER_CONVERTER.get(), pos, state);
}

@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(POWERED, OVERLOAD);
}

@Override
public RenderShape getRenderShape(BlockState state) {
return RenderShape.MODEL;
}
}
Loading