Jump to content

Rotate the block texture the way you placed it, storing in TE?


Vilsol

Recommended Posts

I am pretty new to the Forge API (As you might have noticed), but I have a problem that I need to solve, which is that I need to change the direction of the textures on the block, but I can't use the meta data because I am using it for other things.

 

I have already looked at vanilla pistons, pumpkins, furnaces but they are all using meta data values.

 

Thanks in advance!

 

I have also noticed a very weird thing, that for some reason my onBlockPlacedBy is never called (tested with system.out.println...), anyone has any idea why?

Link to comment
Share on other sites

I'm no pro, by far, but my suggestion would be to use the code of the aforementioned vanilla blocks, and then set a variable in the TE based on the metadata info.

 

I already said, that for unknown reason my onBlockPlacedBy doesn't work. This means I can't use what vanilla does.

Link to comment
Share on other sites

Your onBlockPlacedBy method is then wrong. It should get called.

Show some programming spirit and try to find your mistake.

 

I have quite a lot of spirit. I have messed with this problem for 3 days and this is like a call of help. I have been coding in general for about 6-7 years... so yeah.

 

Also, here is my method:

 

public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving livingentity, ItemStack stack){
	System.out.println(livingentity);
	rotation = MathHelper.floor_double((double)(livingentity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
}

Link to comment
Share on other sites

Sadly, the only onBlockPlacedBy method is

public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack) {}

So your method doesn't exist for Minecraft.

If you have been coding for years, you should be using @Override annotation.  ::)

 

Link to comment
Share on other sites

Sadly, the only onBlockPlacedBy method is

public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack) {}

So your method doesn't exist for Minecraft.

If you have been coding for years, you should be using @Override annotation.  ::)

 

That is why I said coding in general not exactly java... also, I have been coding bukkit plugins for a year and never had to override anything, As well as I have read where other people have used this and they have not overrided it. As well, I tried to override it but it told me there is nothing to be overriden, so yeah.

Link to comment
Share on other sites

which language (beside java) have you coded with?  if none of them were oop (object oriented programming) you might want just to do a quick overview of it to know wtf were doing with oop

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Link to comment
Share on other sites

which language (beside java) have you coded with?  if none of them were oop (object oriented programming) you might want just to do a quick overview of it to know wtf were doing with oop

 

You have to got to be kidding me? PHP, C++, Java (for a year), Python, Perl and some basic ones like Shell, Bacth etc.

Link to comment
Share on other sites

no srly i expected you to tell me like batch/bash/shell/html/php/perl etc like a lot of scripting language. sorry :/

 

im just surprise you have not heard/think about the @Override because it a similar concept exists in cpp too :/

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Link to comment
Share on other sites

you should override the onBlockPlacedBy method

in this method you can get the block ID and the metadata so it would look like this:

@Override
    public void onBlockPlacedBy(World world, int X, int Y, int Z, EntityLivingBase entityLivingBase, ItemStack itemStack)
    {
        int metadata = world.getBlockMetadata(X, Y, Z);
        int playerDirection = MathHelper.floor_double((double)((entityLivingBase.rotationYaw * 4F) / 360F) + 0.5D) & 3;
        if(metadata == 0)
        {
           switch(playerDirection)
           {
// then you put here what metadata will be placed based on where you're pointing at like this
case 0: metadata = 2; break;
            }
        }
        world.setBlock(X, Y, Z, blockID, metadata, 2);
    }

Link to comment
Share on other sites

you should override the onBlockPlacedBy method

in this method you can get the block ID and the metadata so it would look like this:

@Override
    public void onBlockPlacedBy(World world, int X, int Y, int Z, EntityLivingBase entityLivingBase, ItemStack itemStack)
    {
        int metadata = world.getBlockMetadata(X, Y, Z);
        int playerDirection = MathHelper.floor_double((double)((entityLivingBase.rotationYaw * 4F) / 360F) + 0.5D) & 3;
        if(metadata == 0)
        {
           switch(playerDirection)
           {
// then you put here what metadata will be placed based on where you're pointing at like this
case 0: metadata = 2; break;
            }
        }
        world.setBlock(X, Y, Z, blockID, metadata, 2);
    }

 

Seems like you havent read the post either. I  cant use the metadata, as well as I have already found out how to do it and why it doesnt work.

Link to comment
Share on other sites

That is why I said coding in general not exactly java... also, I have been coding bukkit plugins for a year and never had to override anything, As well as I have read where other people have used this and they have not overrided it. As well, I tried to override it but it told me there is nothing to be overriden, so yeah.

Man, when you subclass and rewrite a parent method, you are overriding it.

If bukkit doesn't allow this, then it is really crappy.

@Override is only a tool to keep in track with parent methods, telling you if code is correct.

So yeah, you should have come to this conclusion yourself if you knew Java (1 year ? sure...)

 

By the way, you can lock the thread yourself.

Link to comment
Share on other sites

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

    • Slot deposit 3000 adalah situs slot deposit 3000 via dana yang super gacor dimana para pemain dijamin garansi wd hari ini juga hanya dengan modal receh berupa deposit sebesar 3000 baik via dana, ovo, gopay maupun linkaja untuk para pemain pengguna e-wallet di seluruh Indonesia.   DAFTAR & LOGIN AKUN PRO SLOT DEPOSIT 3000 ⭐⭐⭐ KLIK DISINI ⭐⭐⭐  
    • OLXTOTO: Menikmati Sensasi Bermain Togel dan Slot dengan Aman dan Mengasyikkan Dunia perjudian daring terus berkembang dengan cepat, dan salah satu situs yang telah menonjol dalam pasar adalah OLXTOTO. Sebagai platform resmi untuk permainan togel dan slot, OLXTOTO telah memenangkan kepercayaan banyak pemain dengan menyediakan pengalaman bermain yang aman, adil, dan mengasyikkan. DAFTAR OLXTOTO DISINI <a href="https://imgbb.com/"><img src="https://i.ibb.co/GnjSVpx/daftar1-480x480.webp" alt="daftar1-480x480" border="0" /></a> Keamanan Sebagai Prioritas Utama Salah satu aspek utama yang membuat OLXTOTO begitu menonjol adalah komitmennya terhadap keamanan pemain. Dengan menggunakan teknologi enkripsi terkini, situs ini memastikan bahwa semua informasi pribadi dan keuangan para pemain tetap aman dan terlindungi dari akses yang tidak sah. Beragam Permainan yang Menarik Di OLXTOTO, pemain dapat menemukan beragam permainan yang menarik untuk dinikmati. Mulai dari permainan klasik seperti togel hingga slot modern dengan fitur-fitur inovatif, ada sesuatu untuk setiap selera dan preferensi. Grafik yang memukau dan efek suara yang mengagumkan menambah keseruan setiap putaran. Peluang Menang yang Tinggi Salah satu hal yang paling menarik bagi para pemain adalah peluang menang yang tinggi yang ditawarkan oleh OLXTOTO. Dengan pembayaran yang adil dan peluang yang setara bagi semua pemain, setiap taruhan memberikan kesempatan nyata untuk memenangkan hadiah besar. Layanan Pelanggan yang Responsif Tim layanan pelanggan OLXTOTO siap membantu para pemain dengan setiap pertanyaan atau masalah yang mereka hadapi. Dengan layanan yang ramah dan responsif, pemain dapat yakin bahwa mereka akan mendapatkan bantuan yang mereka butuhkan dengan cepat dan efisien. Kesimpulan OLXTOTO telah membuktikan dirinya sebagai salah satu situs terbaik untuk penggemar togel dan slot online. Dengan fokus pada keamanan, beragam permainan yang menarik, peluang menang yang tinggi, dan layanan pelanggan yang luar biasa, tidak mengherankan bahwa situs ini telah menjadi pilihan utama bagi banyak pemain. Jadi, jika Anda mencari pengalaman bermain yang aman, adil, dan mengasyikkan, jangan ragu untuk bergabung dengan OLXTOTO hari ini dan rasakan sensasi kemenangan!
    • Slot deposit dana adalah situs slot deposit dana yang juga menerima dari e-wallet lain seperti deposit via dana, ovo, gopay & linkaja terlengkap saat ini, sehingga para pemain yang tidak memiliki rekening bank lokal bisa tetap bermain slot dan terbantu dengan adanya fitur tersebut.   DAFTAR & LOGIN AKUN PRO SLOT DEPOSIT DANA ⭐⭐⭐ KLIK DISINI ⭐⭐⭐  
    • Slot deposit dana adalah situs slot deposit dana minimal 5000 yang dijamin garansi super gacor dan gampang menang, dimana para pemain yang tidak memiliki rekening bank lokal tetap dalam bermain slot dengan melakukan deposit dana serta e-wallet lainnya seperti ovo, gopay maupun linkaja lengkap. Agar para pecinta slot di seluruh Indonesia tetap dapat menikmati permainan tanpa halangan apapun khususnya metode deposit, dimana ketersediaan cara deposit saat ini yang lebih beragam tentunya sangat membantu para pecinta slot.   DAFTAR & LOGIN AKUN PRO SLOT DEPOSIT DANA ⭐⭐⭐ KLIK DISINI ⭐⭐⭐  
    • Slot deposit pulsa adalah situs slot deposit pulsa tanpa potongan apapun yang dijamin garansi terpercaya, dimana kamu bisa bermain slot dengan melakukan deposit pulsa dan tanpa dikenakan potongan apapun sehingga dana yang masuk ke dalam akun akan 100% utuh. Proses penarikan dana juga dijamin gampang dan tidak sulit sehingga kamu tidak perlu khawatir akan kemenangan yang akan kamu peroleh dengan sangat mudah jika bermain disini.   DAFTAR & LOGIN AKUN PRO SLOT DEPOSIT PULSA TANPA POTONGAN ⭐⭐⭐ KLIK DISINI ⭐⭐⭐  
  • Topics

×
×
  • Create New...

Important Information

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