Jump to content

Recommended Posts

Posted

Hello,

I would like to know how i could make a block suck all entities within a 5 block radius around it toward itself unless the entity is a custom entity.  i dont know where to even start making this so please help.

 

Thank you,

Drok

Posted

i want it to slowly move not instantly move to the block.  I would like it to be as if water was moving the entity but towards the block... if you need more info i may be able to supply a mod that does something like this.

Posted

Get the position of the block relative to the entity's position, multiply the resulting vector by some factor then move the entity with that vector. If you want it to act like gravity, have the factor be affected by the entity's distance to the block.

 

All simple vector math.

Posted

It's a very hard thing to do - in my mod I've got an item that when right-clicked sucks everything within 32 blocks towards it, here's the whole class incase it helps :)

 

[embed=425,349]

package com.toastrackengima.techcraft;

//Imports

import java.util.List;

 

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.entity.item.EntityItem;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import net.minecraft.world.World;

 

public class TechDiamondMag extends Item{

 

public static CreativeTabs tabTech; //Creative tab

 

public TechDiamondMag() {

setMaxStackSize(1); //Basic stuff, no stacking, textures, damage, etc

setUnlocalizedName("DiamondMag");

this.setCreativeTab(MainMod.tabTech);

this.setTextureName("techcraft:DiamondMagnet");

setMaxDamage(1028);

}

 

public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {

par3List.add("A golden magnet embued"); //Add some of the item lore

par3List.add("with the power of diamond");

par3List.add("Max pull distance: 32");

}

@Override

public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer ep)

    { //While the item is being right-clicked

double radius = 5;

        List<EntityItem> items = world.getEntitiesWithinAABB(EntityItem.class, ep.boundingBox.expand(32, 32, 32)); //The area to pull items from (change 32 to any number)

        for(EntityItem it : items){

            double distX = ep.posX - it.posX; //Move those items!

            double distZ = ep.posZ - it.posZ;

            double distY = it.posY+1.5D - ep.posY;

            double dir = Math.atan2(distZ, distX);

            double speed = 1F / it.getDistanceToEntity(ep) * 15; //Adjust the speed here (change 15)

 

            if (distY<0)

            {

                it.motionY += speed;

            }

 

            it.motionX = Math.cos(dir) * speed;

            it.motionZ = Math.sin(dir) * speed;

        }

 

    is.damageItem(1, ep); //Damage the item (those magnets don't last forever, you know)

    return is;

    }

 

}

[/embed]

You'd have to change some of that to make it into a block,  but that should give you a starting point :)

-Toastrackenigma

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Thanks, I've now installed a slightly newer version and the server is at least starting up now.
    • i have the same issue. Found 1 Create mod class dependency(ies) in createdeco-1.3.3-1.19.2.jar, which are missing from the current create-1.19.2-0.5.1.i.jar Found 11 Create mod class dependency(ies) in createaddition-fabric+1.19.2-20230723a.jar, which are missing from the current create-1.19.2-0.5.1.i.jar Detailed walkthrough of mods which rely on missing Create mod classes: Mod: createaddition-fabric+1.19.2-20230723a.jar Missing classes of create: com/simibubi/create/compat/jei/category/sequencedAssembly/JeiSequencedAssemblySubCategory com/simibubi/create/compat/recipeViewerCommon/SequencedAssemblySubCategoryType com/simibubi/create/compat/rei/CreateREI com/simibubi/create/compat/rei/EmptyBackground com/simibubi/create/compat/rei/ItemIcon com/simibubi/create/compat/rei/category/CreateRecipeCategory com/simibubi/create/compat/rei/category/WidgetUtil com/simibubi/create/compat/rei/category/animations/AnimatedBlazeBurner com/simibubi/create/compat/rei/category/animations/AnimatedKinetics com/simibubi/create/compat/rei/category/sequencedAssembly/ReiSequencedAssemblySubCategory com/simibubi/create/compat/rei/display/CreateDisplay Mod: createdeco-1.3.3-1.19.2.jar Missing classes of create: com/simibubi/create/content/kinetics/fan/SplashingRecipe
    • The crash points to moonlight lib - try other builds or make a test without this mod and the mods requiring it
    • Do you have shaders enabled? There is an issue with the mod simpleclouds - remove this mod or disable shaders, if enabled  
    • Maybe you need to create file in assets/<modid>/items/<itemname>.json with content like this:   { "model": { "type": "minecraft:model", "model": "modname:item/itemname" } }  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.