This commit is contained in:
Magistu
2022-11-17 00:46:50 +03:00
commit 1a4278539b
201 changed files with 14843 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
package magistu.siegemachines.block;
import magistu.siegemachines.SiegeMachines;
import magistu.siegemachines.item.ModItems;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import java.util.function.Supplier;
public class ModBlocks
{
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, SiegeMachines.ID);
public static final RegistryObject<SiegeWorkbench> SIEGE_WORKBENCH = registerBlock("siege_workbench", () -> new SiegeWorkbench(AbstractBlock.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
private static <T extends Block>RegistryObject<T> registerBlock(String name, Supplier<T> block)
{
RegistryObject<T> toReturn = BLOCKS.register(name, block);
registerBlockItem(name, toReturn);
return toReturn;
}
private static <T extends Block> void registerBlockItem(String name, RegistryObject<T> block)
{
ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties().tab(ModItems.GROUP_SM)));
}
public static void register(IEventBus eventBus)
{
BLOCKS.register(eventBus);
}
}

View File

@@ -0,0 +1,50 @@
package magistu.siegemachines.block;
import magistu.siegemachines.gui.SiegeWorkbenchContainer;
import net.minecraft.block.BlockState;
import net.minecraft.block.CraftingTableBlock;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.inventory.container.SimpleNamedContainerProvider;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Hand;
import net.minecraft.util.IWorldPosCallable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World;
import net.minecraftforge.fml.network.NetworkHooks;
import org.jetbrains.annotations.NotNull;
public class SiegeWorkbench extends CraftingTableBlock
{
private static final ITextComponent CONTAINER_TITLE = new TranslationTextComponent("container.crafting");
public SiegeWorkbench(Properties p_i48422_1_)
{
super(p_i48422_1_);
}
public @NotNull ActionResultType use(BlockState blockstate, World level, BlockPos blockpos, PlayerEntity player, Hand hand, BlockRayTraceResult result)
{
if (level.isClientSide)
{
return ActionResultType.SUCCESS;
}
else
{
NetworkHooks.openGui((ServerPlayerEntity) player, this.getMenuProvider(blockstate, level, blockpos));
return ActionResultType.CONSUME;
}
}
public INamedContainerProvider getMenuProvider(BlockState blockstate, World level, BlockPos blockpos)
{
return new SimpleNamedContainerProvider((p_220270_2_, p_220270_3_, p_220270_4_) ->
new SiegeWorkbenchContainer(p_220270_2_, p_220270_3_, IWorldPosCallable.create(level, blockpos)), CONTAINER_TITLE);
}
}

View File

@@ -0,0 +1,12 @@
package magistu.siegemachines.block;
import net.minecraft.inventory.CraftingInventory;
import net.minecraft.inventory.container.Container;
public class StacksCraftingInventory extends CraftingInventory
{
public StacksCraftingInventory(Container p_i1807_1_, int p_i1807_2_, int p_i1807_3_)
{
super(p_i1807_1_, p_i1807_2_, p_i1807_3_);
}
}