Forge Modding Tutorial - Minecraft 1.20: Custom Blocks | #3

  Рет қаралды 40,113

Modding by Kaupenjoe

Modding by Kaupenjoe

11 ай бұрын

In this Minecraft Modding Tutorial for Forge, we are adding a Custom Block to Minecraft 1.20 :D
== MODDING COURSES ==
FORGE ▶️ url.kaupenjoe.net/CourseForge...
FABRIC ▶️ url.kaupenjoe.net/CourseFabri...
== COMPATIBILITY ==
▶️ Compatible with 1.20 & 1.20.1
== ASSETS & DOWNLOAD LINKS ==
GitHub Repo: github.com/Tutorials-By-Kaupe...
Assets Zipped: url.kaupenjoe.net/mbkj50/assets
== SUPPORT ME ON PATREON ==
▶️ / kaupenjoe
== 25% OFF FOR GAMING SERVERS ==
▶️ www.bisecthosting.com/Kaupenjoe
== TAKE A LOOK AT MY COURSES WITH COUPON CODES ==
▶️ NEW Forge Modding with Minecraft 1.20.X:
url.kaupenjoe.net/CourseForge...
▶️ NEW Fabric Modding with Minecraft 1.20.X:
url.kaupenjoe.net/CourseFabri...
▶️ Complete and Roblox Lua Game Development:
url.kaupenjoe.net/RobloxCoupon *
▶️ Learn Forge Modding with Minecraft 1.18:
url.kaupenjoe.net/CourseForge118 *
▶️ Learn Fabric Modding with Minecraft 1.18:
url.kaupenjoe.net/CourseFabri... *
== SUPPORT ME ON PATREON ==
▶️ / kaupenjoe
== SOCIALS ==
Discord: / discord
Personal Twitter: / kaupenjoe
Instagram: url.kaupenjoe.net/tutorials/i...
Facebook: url.kaupenjoe.net/tutorials/f...
Twitter: url.kaupenjoe.net/tutorials/t...
TikTok: url.kaupenjoe.net/tutorials/t...
Written Tutorials: url.kaupenjoe.net/tutorials/blog
== LICENSE ==
Source Code is distributed under the MIT License. Additional Licenses for other assets can be seen below or in the accompanying CREDITS.txt on download.
== AFFILIATE DISCLAIMER ==
* Some of the links and other products that appear in the video description are from companies which I will earn an affiliate commission or referral bonus from or are my own products. This means that if you click on one of the product links, I’ll receive a small commission or additional kickback without any additional cost for you. This helps support the channel and allows me to continue to make videos. Thank you for the support!
== HASHTAGS ==
#Minecraft #MinecraftModding #MinecraftTutorial #Kaupenjoe

Пікірлер: 117
@pelahnar4
@pelahnar4 7 ай бұрын
These videos are so great! I have so many questions about doing more complicated stuff, but looking through the playlist of videos already out, I expect most of them will be answered soon! Up until now, I'd been using MCreator to add modded blocks, which is super easy, but this is already more powerful - if only because of the ability to copy and modify the properties of any vanilla block (which is exactly what I want to do).
@isniphsi7843
@isniphsi7843 2 ай бұрын
for newer versions it is the method "ofFullCopy" no longer "copy" so the code for me is in version 1.20.4 Forge 49.0.43 ()-> new Block(BlockBehavior.Properties.ofFullCopy(Blocks.IRON_BLOCK).sound(SoundType.AMETHYST))
@jorisstudios6506
@jorisstudios6506 Ай бұрын
still gives error tho
@gideonfulton7167
@gideonfulton7167 Ай бұрын
thanks you! I was looking for this!
@fallen_stars6290
@fallen_stars6290 11 ай бұрын
Awesome tutorial! I cant wait to see the next part!
@drakhooficial
@drakhooficial 11 ай бұрын
Awesome tutorial!!! thanks!! cant wait for the being able to mine it!
@Ciaracade
@Ciaracade 11 ай бұрын
Following up with my mod as you post! Keep it up!
@kissgergo5202
@kissgergo5202 7 ай бұрын
Is there like a good documentation where we can check for example all the possible options for the "parent" value in the json files?
@jubite9565
@jubite9565 11 ай бұрын
awesome
@Bluesharky24
@Bluesharky24 24 күн бұрын
Kaupen, this is the best modding tutorial I've ever seen. Btw what keys do I need to press to access the iron block's code? Is it different for mac and microsoft?
@j2x3_
@j2x3_ 11 ай бұрын
Great tutorials! In another could you show how to make crafting recipes?
@ModdingByKaupenjoe
@ModdingByKaupenjoe 11 ай бұрын
That is the next video coming today 😎🙏🏻
@danilppzz
@danilppzz 11 ай бұрын
Can u make a video if it's np of 3d custom model block hitbox ty
@HelloThere_General_Kenobi
@HelloThere_General_Kenobi 14 күн бұрын
Hi, I've been attempting to get started with modding recently, and your videos have been really helpful with speeding up the journey. For some reason though, I can't find any of the classes in the base game inside my project. I saw another video by Whimzee(I coded a minecraft update in 7 days) where you showed them where to find all the classes such as "Magma block". It's supposed to be under "net" and then "minecraft" but I can't seem to find it. Any tips?
@luigiplayer1547
@luigiplayer1547 4 ай бұрын
hey man i have been trying to change the properties of default minecraft blocks but it as been a nightmare can you help?
@HolyCrapSpace
@HolyCrapSpace 7 ай бұрын
I seem to be struggling. I've rewatched the part of setting up blockstates, models and textures a few times now and I'm certain everything is correct, but when I place my block it's giving me the texture error. It has the texture in my inventory and in the custom tab, just nothing when I place it down
@HolyCrapSpace
@HolyCrapSpace 7 ай бұрын
Edit: I apparently wasn't watching close enough. I accidentally added an s to 'model' in the blockstates file
@dachidachi231
@dachidachi231 11 ай бұрын
hey kaupen will rideable entities come out in the courses if yes then when?
@ModdingByKaupenjoe
@ModdingByKaupenjoe 11 ай бұрын
yessir, new content for entities and more coming all towards the end of the month 🙏🏻lots more than just rideable entities though 👀 Gonna be really cool, I am telling you 😎
@uhhhzane9985
@uhhhzane9985 2 ай бұрын
Hi Kaupen, when loading the game I am getting the error "java.lang.ExceptionInInitializerError: null" Do you know how to fix this?
@antoinebrouillette5050
@antoinebrouillette5050 2 ай бұрын
How can placing one block can place 2 like a bed?
@saladhead2345
@saladhead2345 3 ай бұрын
Great videos! Just wondering if it's normal that I can't mine them properly?
@crumby46
@crumby46 2 ай бұрын
He mentioned that it would be in a future video. looks like it's episode 7.
@mariobroselli3642
@mariobroselli3642 2 ай бұрын
How do i use Racket lang in Minecraft? Thanks😮
@huglife626
@huglife626 7 ай бұрын
I'm adding a block that falls like sand, but I want it to glow when placed. Does anyone know how I can do that?
@harbinger9824
@harbinger9824 11 ай бұрын
Honestly I hope you will take a look at how to create some custom damage sources and damage types since 1.20.1 truly fried them
@treeseeker5884
@treeseeker5884 5 ай бұрын
so 1.20.1 is not the right version if Im looking for combat related stuff?? :/
@harbinger9824
@harbinger9824 5 ай бұрын
@@treeseeker5884 I was asking a different question but ok XD
@treeseeker5884
@treeseeker5884 5 ай бұрын
@@harbinger9824 pls explain, I just started modding the very first time and I Set everything up for 1.20.1 bc I have heard its currently the best Version for modding
@harbinger9824
@harbinger9824 5 ай бұрын
@@treeseeker5884I simply asked for a way to make custom damage types so I can use that to create custom death messages for funnies in my mod , there is no biggie
@FriskDreemurr66669
@FriskDreemurr66669 6 ай бұрын
help, textures arent working
@Hasse_Grillen
@Hasse_Grillen 3 ай бұрын
Probably a typo. I had the same issue because i spelled variants varients… so just check everything again and you probably find the mistake
@Kai_Hallow
@Kai_Hallow 8 ай бұрын
all of my blocks have the texture not found texture both in inventory and when placed, any idea why?
@ModdingByKaupenjoe
@ModdingByKaupenjoe 8 ай бұрын
That usually means there is something wrong with the block model json file. Be it typo, wrong folder etc 🤔
@IFreedom390
@IFreedom390 11 ай бұрын
Kaupenjoe! Thank you for an amazing Tutorial I was wondering will there be a version of this in the paid version where I can rotate the custom block freely based on my direction, like for example like how you place a furnace? Thank you in advance!
@ModdingByKaupenjoe
@ModdingByKaupenjoe 11 ай бұрын
Yes, so in the course there is a custom block model which is also a horizontal block, basically meaning it has a similar style rotation property to the furnace :)
@Solstici_
@Solstici_ 10 ай бұрын
you do that with the block model json file, and works the same way that resource pack custom models do actually. i recommend to get minecraft's assets and take a look at the block model files, specially orientable blocks like wood logs, furnfaces and so
@GoomyGaming67
@GoomyGaming67 Күн бұрын
ok if I was making a sand type called black sand it wouldn't be named after and Item How would I register that❔
@davidlarsson7950
@davidlarsson7950 4 ай бұрын
When using the copy of the iron block, does it not copy the strength of the block? Right now it takes a lot of time for the blocks to break. I understand that I can set it using the strength property, but seems a little weird that's all.
@MlorenDraymeer
@MlorenDraymeer 3 ай бұрын
This is covered in tutorial 5, the game hasn't been told that the correct tool for the block is the pick axe.
@astralii8887
@astralii8887 2 ай бұрын
Hello, Kaupen! These tutorials are amazing. Though, I am struggling with the error "java.lang.IllegalArgumentException: Cannot get property EnumProperty{name=axis, clazz=class net.minecraft.core.Direction$Axis, values=[x, y, z]} as it does not exist in Block{minecraft:air}" Do you happen to know how to fix it?
@ModdingByKaupenjoe
@ModdingByKaupenjoe 2 ай бұрын
This usually happens if you copy the properties of a block that has certain special properties. So what you likely did is, when registering the block you have () -> new Block(BlockBehaviour.Properites.copy(Blocks.OAK_LOG) or something similar. Try to use a different block to copy the properties from. Maybe planks, stone or something like that. See if that fixes the issue :)
@astralii8887
@astralii8887 2 ай бұрын
@@ModdingByKaupenjoe That's exactly what I did! Thank you a lot, now it's fixed!
@RonnieMcDee
@RonnieMcDee 3 ай бұрын
How are you zooming in in the IDE?
@untrouble8191
@untrouble8191 12 күн бұрын
ctrl + "+" or "-"
@tgnk615gaming
@tgnk615gaming 7 ай бұрын
How do you make a block with a different texture on each side, like a crafting table?
@lemelangedelevurefarinetea7323
@lemelangedelevurefarinetea7323 6 ай бұрын
you need to replace the "all" in the json with a line for up, one for down, one for east, one for north, one for south, one for west, and make all the textures for those sides different images
@Solstici_
@Solstici_ 10 ай бұрын
is it possible to modify existing blocks instead of adding new ones? most of each block's properties can be modified via resourcepacks but aspects like if the block is opaque, translucent or transparent can't. how would that be done?
@tobihudiat
@tobihudiat 8 ай бұрын
For this there are Datapacks and Resourcepacks as you already mentioned! To my knowledge you can change a Blocks property via making a Datapack.
@mikeonthebox
@mikeonthebox 6 ай бұрын
Is there a reason for storing the Blocks as RegistryObjects of type Block, instead of the Block themselves? What's the benefit of doing so over storing the Block so we save having to call .get() every time?
@ModdingByKaupenjoe
@ModdingByKaupenjoe 6 ай бұрын
It's basically a Forge thing. That's just how forge does it. One of the reasons is that the registry objects also act as suppliers which means before the get call, if the block isn't registered yet, it's not gonna throw an error. Now, that's a high level overview, but hopefully somewhat more understandable 🙏🏻
@mikeonthebox
@mikeonthebox 6 ай бұрын
@@ModdingByKaupenjoeOhh ok. Yes, I also notice that having them that way also allows us to access the getPath for example, used when doing DataGen and some other handy methods too.
@Andrewww...
@Andrewww... 7 ай бұрын
Am I supposed to reload all gradle projects each time I add something?
@lemelangedelevurefarinetea7323
@lemelangedelevurefarinetea7323 6 ай бұрын
nah
@Nahsh5ba
@Nahsh5ba 2 ай бұрын
That's insane. So much boilerplate code for such simple things. Just compare it to custom blocks in Minetest modding where you can add a new block in ONE line of lua code and that's it.
@x_Jamez_x
@x_Jamez_x 4 ай бұрын
this is an amazing tutorial but im having the issue of breaking the block of saphire with the same properties as an iron block is taking the same time to break as obsidian i can change it with .strength but that is very inconvenient to do with every block i make
@IlluminatiJoeCrusade
@IlluminatiJoeCrusade 3 ай бұрын
I have this same problem, have you been able to fix it?
@MlorenDraymeer
@MlorenDraymeer 3 ай бұрын
That's covered in tutorial #5, the block isn't set to have the pick axe as its tool (that doesnt come from copying the iron block) so the game is treating it as if you are punching the block even when using a pick axe.
@IlluminatiJoeCrusade
@IlluminatiJoeCrusade 3 ай бұрын
Thank you, I figured it out, I just needed to add a json file I saw in another tutorial that fixed it
@maxgagin6671
@maxgagin6671 9 күн бұрын
@@MlorenDraymeer Thank you very much!
@Maelanrah
@Maelanrah Ай бұрын
Hey! Great tutorial ! However, I have a pb with the "Properties.copy" method, to copy the properties from another block. If I try to type it it creates an error; I have "ofFullCopy" proposed instead. If someone knows how to fix it? :)
@lucasblue2996
@lucasblue2996 19 күн бұрын
Hey! Not sure if you've already figured it out, but "ofFullCopy" is the new "copy", so you can just use that.
@alexcevas2099
@alexcevas2099 2 ай бұрын
Hello, I'm working on my own mod following your tutorials. And I was wondering if there's any way to automate the creation of blocks? Because if I want to implement 15 new blocks, I have to add at least 3 new files and modify two to add them to the tabs for every block wich make like 45 new files. The problem with this is not only that it's very heavy but also that in most cases, I only have to change a name, making it very boring. That's why I have this question. By the way, LIKE!
@ModdingByKaupenjoe
@ModdingByKaupenjoe 2 ай бұрын
Take a look at part 12 "Data Generation". You can automate the JSON files, while for the rest you can "automate" things with some java method, I suggest doing the normal route. 15 Blocks are not that many 🙏🏻
@alexcevas2099
@alexcevas2099 2 ай бұрын
​@@ModdingByKaupenjoe Thank you so much.
@nynx8269
@nynx8269 Ай бұрын
The block appears in the creative tab with name and all but it has no texture, I've triple check for spelling errors but it is the default purple black texture.
@joaofelipebald9024
@joaofelipebald9024 15 күн бұрын
I know I'm late, but you have to download the texture in the description and paste in "textures\block"
@sanberdir
@sanberdir 11 ай бұрын
Where tutorial for biomes ver. 1.19?)
@Jan-gj8bm
@Jan-gj8bm 4 ай бұрын
at 4:45 the .copy() doesnt show up but of() does. Did my Parchment not work since there is another command called m_308003 that probably is the copy method.
@Clurnt
@Clurnt 3 ай бұрын
Hey I'm having this problem too, did you ever figure this out?
@MlorenDraymeer
@MlorenDraymeer 3 ай бұрын
Are you using Minecraft 1.20.4? In later versions they changed the name. Use ofFullCopy() instead of copy()
@lucasavet1555
@lucasavet1555 2 ай бұрын
@@MlorenDraymeeris that the exact same method ? thank you anyway
@amosbirb2616
@amosbirb2616 9 ай бұрын
I'm running into an issue where neither texture is displaying. the block properties and lang files are fine, but it won't show the texture even though I copied everything and ran through it with a fine tooth comb so to speak
@JellyBeans5001
@JellyBeans5001 5 ай бұрын
I'm having the same problem. Did you ever figure it out?
@BlainesterSIndustriesYT
@BlainesterSIndustriesYT 2 ай бұрын
the hardest part is making a good texture lol
@SATCOMGoose
@SATCOMGoose 5 ай бұрын
I keep getting a bad texture when placing my sapphire_block in the world. It's purple and black I verifed all the json files and can't figure out why the item shows the texture correctly in inventory but not on the actual block when placing it
@ModdingByKaupenjoe
@ModdingByKaupenjoe 5 ай бұрын
If it shows it correctly in the inventory, but not in the world, there is an issue with the blockstates json file. Verify that the folder structure is correct and double check all the spelling and naming of the blockstates json file!
@SATCOMGoose
@SATCOMGoose 5 ай бұрын
@@ModdingByKaupenjoe I was thinking the same because it shows correctly even if I throw the item from my inventory the only time it doesn't show textures is when placed in the world. I will double check the blockstates json file again but I looked over it and even compared it to the github repo and seems exactly the same.
@SATCOMGoose
@SATCOMGoose 5 ай бұрын
@@ModdingByKaupenjoe figured it out. It helps when the package is correctly structured. blockstates was under assets and not the tutorialmod directory
@aaeinstein200
@aaeinstein200 3 ай бұрын
@@SATCOMGoosethanks, I had the same problem
@scriptoblox
@scriptoblox 4 ай бұрын
for some reason in the modblocks it makes the .copy be red i have checked everything 3 times i have copyed over the code from the github and checked it again but it still doesnt work im wondering if it might be because im using 1.20.4 and that it then doesnt work
@ModdingByKaupenjoe
@ModdingByKaupenjoe 4 ай бұрын
Yep it's due to using 1.20.4. Sadly this entire series is not compatible with anything 1.20.2 and above. So I suggest using 1.20 or 1.20.1 🙏🏻🙏🏻
@scriptoblox
@scriptoblox 4 ай бұрын
@@ModdingByKaupenjoewow i didnt expect to get a answer this fast thanks for leting me know
@MlorenDraymeer
@MlorenDraymeer 3 ай бұрын
You can use ofFullCopy() instead of copy() in 1.20.4
@danver3197
@danver3197 11 ай бұрын
Hmm, something weird is going on, the block textures are not appearing. the inventory and the handheld items are fine, but when placing the block the texture is not shown. I'll rewatch and make sure my code is correct
@lukasamyn8405
@lukasamyn8405 11 ай бұрын
I have the exact same issue- I've done everything the exact same (checked like 4 times) but when I place the block in the world the textures aren't showing. But handheld and inventory it seems to be fine. Did you end up finding the issue?
@danver3197
@danver3197 11 ай бұрын
@@lukasamyn8405 I unfortunately did not solve the issue, I'm still trying out stuff to see if anything changes
@lukasamyn8405
@lukasamyn8405 11 ай бұрын
@@danver3197 for me it ended up being a typo. Forgot the s on varients lol. I event checked 4 times
@danver3197
@danver3197 11 ай бұрын
@@lukasamyn8405 I am extremely dumb. it took me this whole time to realize i didn't put the ":block/" part of the code at blockstates. God i should give up coding lmao
@lukasamyn8405
@lukasamyn8405 11 ай бұрын
@@danver3197 trust me. Most of my coding mistakes have been this type where it's typos or forgetting to add something like that lmao. Don't worry as long as you're having fun :)
@fast-toast
@fast-toast Ай бұрын
How would you code a block that turns to lava when broken without using a specific tool?
@TechnoHusky418
@TechnoHusky418 Ай бұрын
What kind of mod are you doing? It sounds interesting!
@fast-toast
@fast-toast Ай бұрын
@TechnoHusky418 don't want to leak to many details, but it's one that is based on an ARG of sorts.
@TheEditorofSpace
@TheEditorofSpace 3 ай бұрын
when I try to mine the block in survival it breaks and drops nothing. How do I fix this?
@ShxdowAski0m
@ShxdowAski0m 3 ай бұрын
Watcj tje 5th video, it shows you how to add Loot tables
@twentyone_cat
@twentyone_cat 5 ай бұрын
If I were to make a colored block like wool for example, does that mean I'll have to define every block separately, or is there some "correct" way to define them?
@ModdingByKaupenjoe
@ModdingByKaupenjoe 5 ай бұрын
Yes, in theory you'd have to define them each separately, because it might be the case that you'd wanna access the fields individually as well. If that's not really a concern of yours, you can always just make a helper method with a for loop that registers them. But usually I do advise against it 🤔 Later in the tutorials I introduce a way to automatically generate the json files, so that will fall away then. Only the registration of the blocks is needed then 🙏🏻
@twentyone_cat
@twentyone_cat 5 ай бұрын
@@ModdingByKaupenjoe I thought about making a loop for it, though if you advise against it I guess it's better to abstain from that. I mostly just wanted to check if I'm not accidentally engaging in some "bad coding practice" lol. I already got the datagens done so that's no concern.
@mindatapack
@mindatapack 3 ай бұрын
how do i add more then 1 tab
@cheezburgerz2
@cheezburgerz2 19 күн бұрын
just copy code of first
@BlainesterSIndustriesYT
@BlainesterSIndustriesYT 3 ай бұрын
when i put iron block it gets errors
@BlainesterSIndustriesYT
@BlainesterSIndustriesYT 3 ай бұрын
im getting this error Cannot resolve method 'registerBlockItem' in 'ModBlocks'
@taurtura7677
@taurtura7677 10 ай бұрын
For some reason, the item has a texture, but the block doesn’t.
@razlar2080
@razlar2080 10 ай бұрын
Did you fix this?
@taurtura7677
@taurtura7677 10 ай бұрын
​@@razlar2080i did not
@barsikriz3762
@barsikriz3762 10 ай бұрын
I had the same problem, i had typos in blockstates/sapphire_block
@SegoItChUA
@SegoItChUA 11 ай бұрын
Will you teach us fuctional modding ever? Not custom blocks/armors/items again
@ModdingByKaupenjoe
@ModdingByKaupenjoe 11 ай бұрын
I mean, it really depends on what you mean by "functional modding" 🤔
@SegoItChUA
@SegoItChUA 11 ай бұрын
@@ModdingByKaupenjoe new features that require coding
@ModdingByKaupenjoe
@ModdingByKaupenjoe 11 ай бұрын
Right but, we run into the issue again that what about 80% or 90% of people just want to add a few custom blocks, items, entities, machines. Basically expanding Minecraft's base game to a certain extend. Once you go into adding "new features" (so like making Minecraft into a different-ish game) you run into the issue that the landscape of possibilities is so vast, there's different things everyone would want, thus making the tutorials so specific it is only useful to very few people while being way harder to produce. In 1.19 I did a four-part series on a "thirst system" would something like this be what you're referring to?
@SegoItChUA
@SegoItChUA 11 ай бұрын
@@ModdingByKaupenjoe yep, that's what's interesting, I prefer programming way
@MichaelFrankNZ
@MichaelFrankNZ 6 ай бұрын
@4:40 As of 1.20.4 it appears that the "BlockBehaviour.Properties.copy()" is now "BlockBehaviour.Properties.ofFullyCopy()", is that correct or have I done something wrong?
@Crit3cals
@Crit3cals 6 ай бұрын
It should not be fullycopy
@MichaelFrankNZ
@MichaelFrankNZ 6 ай бұрын
@@Crit3cals I think it's just a 1.20.4 thing, I rolled back to 1.20.1 and it's good now. :)
@MlorenDraymeer
@MlorenDraymeer 3 ай бұрын
Yep this changed in later versions, it's now ofFullCopy()
Forge Modding Tutorial - Minecraft 1.20: Custom Recipes | #4
8:30
Modding by Kaupenjoe
Рет қаралды 28 М.
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 680 М.
He sees meat everywhere 😄🥩
00:11
AngLova
Рет қаралды 6 МЛН
How to ADD Custom Items to Minecraft in 1.19.3+ Datapack Tutorial
22:07
Forge Modding Tutorial - Minecraft 1.20: Custom Items & Creative Mode Tab | #2
17:50
I AM MAKING MY OWN MINECRAFT MOD!!! (And why you should too)
10:05
Coding A Minecraft Mod In 24 Hours
12:33
Jaiz
Рет қаралды 17 М.
What School Didn't Tell You About Mazes #SoMEpi
12:49
mattbatwings
Рет қаралды 70 М.
Minecraft's Most Important Mod Is In DANGER
8:12
Purplers
Рет қаралды 1,3 МЛН
Minecraft Block Wizard - How To Make A Block
6:29
Blockbench
Рет қаралды 69 М.
Teaching modding to Fundy
9:08
r4tmaid
Рет қаралды 717 М.
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 680 М.