Compare commits
5 Commits
szar-26.4.
...
szar-26.4.
| Author | SHA1 | Date | |
|---|---|---|---|
| 73a172c9bd | |||
| 98f01f61c4 | |||
| bcc90e5593 | |||
| b476d156dc | |||
| 6b355a1f47 |
10
capes.json
@@ -2,23 +2,23 @@
|
|||||||
"capes": [
|
"capes": [
|
||||||
{
|
{
|
||||||
"id": "tg",
|
"id": "tg",
|
||||||
"texture": "https://raw.githubusercontent.com/tggamesyt/szar/main/src/main/resources/assets/szar/textures/etc/tg_cape.png"
|
"texture": "https://gitea.tggamesyt.dev/tggamesyt/szar/raw/main/src/main/resources/assets/szar/textures/etc/tg_cape.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gabri",
|
"id": "gabri",
|
||||||
"texture": "https://raw.githubusercontent.com/tggamesyt/szar/main/src/main/resources/assets/szar/textures/etc/gabri_cape.png"
|
"texture": "https://gitea.tggamesyt.dev/tggamesyt/szar/raw/main/src/main/resources/assets/szar/textures/etc/gabri_cape.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "tg1",
|
"id": "tg1",
|
||||||
"texture": "https://raw.githubusercontent.com/tggamesyt/szar/main/src/main/resources/assets/szar/textures/etc/tg_cape1.png"
|
"texture": "https://gitea.tggamesyt.dev/tggamesyt/szar/raw/main/src/main/resources/assets/szar/textures/etc/tg_cape1.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "test",
|
"id": "test",
|
||||||
"texture": "https://raw.githubusercontent.com/tggamesyt/szar/main/src/main/resources/assets/szar/textures/etc/testcape.png"
|
"texture": "https://gitea.tggamesyt.dev/tggamesyt/szar/raw/main/src/main/resources/assets/szar/textures/etc/testcape.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "ciber",
|
"id": "ciber",
|
||||||
"texture": "https://raw.githubusercontent.com/tggamesyt/szar/main/src/main/resources/assets/szar/textures/etc/ciber_cape.png"
|
"texture": "https://gitea.tggamesyt.dev/tggamesyt/szar/raw/main/src/main/resources/assets/szar/textures/etc/ciber_cape.png"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@ minecraft_version=1.20.1
|
|||||||
yarn_mappings=1.20.1+build.10
|
yarn_mappings=1.20.1+build.10
|
||||||
loader_version=0.18.3
|
loader_version=0.18.3
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=26.4.13
|
mod_version=26.4.14
|
||||||
maven_group=dev.tggamesyt
|
maven_group=dev.tggamesyt
|
||||||
archives_base_name=szar
|
archives_base_name=szar
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package dev.tggamesyt.szar.client;
|
||||||
|
|
||||||
|
import dev.tggamesyt.szar.MagyarEntity;
|
||||||
|
import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||||
|
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||||
|
import net.minecraft.client.render.entity.model.BipedEntityModel;
|
||||||
|
import net.minecraft.client.render.entity.model.EntityModelLayers;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
|
public class MagyarEntityRenderer
|
||||||
|
extends MobEntityRenderer<MagyarEntity, BipedEntityModel<MagyarEntity>> {
|
||||||
|
|
||||||
|
public MagyarEntityRenderer(EntityRendererFactory.Context context) {
|
||||||
|
super(
|
||||||
|
context,
|
||||||
|
new BipedEntityModel<>(context.getPart(EntityModelLayers.PLAYER)),
|
||||||
|
0.5F
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Identifier getTexture(MagyarEntity entity) {
|
||||||
|
return new Identifier("szar", "textures/entity/magyar.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package dev.tggamesyt.szar.client;
|
||||||
|
|
||||||
|
import dev.tggamesyt.szar.OrbanEntity;
|
||||||
|
import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||||
|
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||||
|
import net.minecraft.client.render.entity.model.BipedEntityModel;
|
||||||
|
import net.minecraft.client.render.entity.model.EntityModelLayers;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
|
public class OrbanEntityRenderer
|
||||||
|
extends MobEntityRenderer<OrbanEntity, BipedEntityModel<OrbanEntity>> {
|
||||||
|
|
||||||
|
public OrbanEntityRenderer(EntityRendererFactory.Context context) {
|
||||||
|
super(
|
||||||
|
context,
|
||||||
|
new BipedEntityModel<>(context.getPart(EntityModelLayers.PLAYER)),
|
||||||
|
0.5F
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Identifier getTexture(OrbanEntity entity) {
|
||||||
|
return new Identifier("szar", "textures/entity/orban.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -548,6 +548,14 @@ public class SzarClient implements ClientModInitializer {
|
|||||||
Szar.HitterEntityType,
|
Szar.HitterEntityType,
|
||||||
HitterEntityRenderer::new
|
HitterEntityRenderer::new
|
||||||
);
|
);
|
||||||
|
EntityRendererRegistry.register(
|
||||||
|
OrbanEntityType,
|
||||||
|
OrbanEntityRenderer::new
|
||||||
|
);
|
||||||
|
EntityRendererRegistry.register(
|
||||||
|
MagyarEntityType,
|
||||||
|
MagyarEntityRenderer::new
|
||||||
|
);
|
||||||
EntityRendererRegistry.register(
|
EntityRendererRegistry.register(
|
||||||
Szar.StalinEntityType,
|
Szar.StalinEntityType,
|
||||||
StalinEntityRenderer::new
|
StalinEntityRenderer::new
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
package dev.tggamesyt.szar.client;
|
package dev.tggamesyt.szar.client;
|
||||||
|
|
||||||
import dev.tggamesyt.szar.ModItemTagProvider;
|
import dev.tggamesyt.szar.*;
|
||||||
import dev.tggamesyt.szar.ModPoiTagProvider;
|
|
||||||
import dev.tggamesyt.szar.ModWorldGenerator;
|
|
||||||
import dev.tggamesyt.szar.Szar;
|
|
||||||
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
|
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
|
||||||
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.registry.RegistryBuilder;
|
import net.minecraft.registry.RegistryBuilder;
|
||||||
import net.minecraft.registry.RegistryKeys;
|
import net.minecraft.registry.RegistryKeys;
|
||||||
import net.minecraft.registry.RegistryWrapper;
|
|
||||||
|
|
||||||
public class SzarDataGenerator implements DataGeneratorEntrypoint {
|
public class SzarDataGenerator implements DataGeneratorEntrypoint {
|
||||||
|
|
||||||
@@ -16,12 +14,17 @@ public class SzarDataGenerator implements DataGeneratorEntrypoint {
|
|||||||
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
|
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
|
||||||
FabricDataGenerator.Pack pack = fabricDataGenerator.createPack();
|
FabricDataGenerator.Pack pack = fabricDataGenerator.createPack();
|
||||||
pack.addProvider(ModPoiTagProvider::new);
|
pack.addProvider(ModPoiTagProvider::new);
|
||||||
pack.addProvider(ModItemTagProvider::new);
|
|
||||||
pack.addProvider(ModWorldGenerator::new);
|
pack.addProvider(ModWorldGenerator::new);
|
||||||
|
FabricTagProvider<Block> blockTags =
|
||||||
|
pack.addProvider(ModBlockTagProvider::new);
|
||||||
|
pack.addProvider((output, registries) ->
|
||||||
|
new ModItemTagProvider(output, registries, blockTags));
|
||||||
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void buildRegistry(RegistryBuilder registryBuilder) {
|
public void buildRegistry(RegistryBuilder registryBuilder) {
|
||||||
registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, Szar.ModConfiguredFeatures::boostrap);
|
registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, Szar.ModConfiguredFeatures::boostrap);
|
||||||
registryBuilder.addRegistry(RegistryKeys.PLACED_FEATURE, Szar.ModPlacedFeatures::boostrap);
|
registryBuilder.addRegistry(RegistryKeys.PLACED_FEATURE, Szar.ModPlacedFeatures::boostrap);
|
||||||
|
registryBuilder.addRegistry(RegistryKeys.BIOME, ModBiomes::bootstrap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
// 1.20.1 2026-03-16T18:04:06.196888 szar/World Gen
|
// 1.20.1 2026-04-13T18:11:43.5891441 szar/World Gen
|
||||||
1d26b5da3b0a2ea6b23d456d1f0b82455a788ca1 data\szar\worldgen\configured_feature\uranium_ore.json
|
1d26b5da3b0a2ea6b23d456d1f0b82455a788ca1 data\szar\worldgen\configured_feature\uranium_ore.json
|
||||||
32864170bdb41310f9ee5d06f5720dfdb3badb6d data\szar\worldgen\placed_feature\uranium_ore_placed.json
|
32864170bdb41310f9ee5d06f5720dfdb3badb6d data\szar\worldgen\placed_feature\uranium_ore_placed.json
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
// 1.20.1 2026-04-13T18:11:43.5911498 szar/Tags for minecraft:block
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
// 1.20.1 2026-03-16T18:04:06.197868 szar/Tags for minecraft:point_of_interest_type
|
// 1.20.1 2026-04-13T18:11:43.5911498 szar/Tags for minecraft:point_of_interest_type
|
||||||
eba137b51c50a7143a3668876f41adaa1447b1d1 data\minecraft\tags\point_of_interest_type\acquirable_job_site.json
|
eba137b51c50a7143a3668876f41adaa1447b1d1 data\minecraft\tags\point_of_interest_type\acquirable_job_site.json
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
// 1.20.1 2026-03-16T18:04:06.196888 szar/Tags for minecraft:item
|
// 1.20.1 2026-04-13T18:11:43.5901497 szar/Tags for minecraft:item
|
||||||
8a0ecda725173a6312a3e5d3a4b621cdecac4eed data\minecraft\tags\items\music_discs.json
|
edfcd4a53e9627b3d636880f560f9adfa0dc0cdc data\minecraft\tags\items\music_discs.json
|
||||||
|
aa4e63a06745e574bbe80e94cc1b417460045562 data\minecraft\tags\items\beacon_base_blocks.json
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"minecraft:iron_block",
|
||||||
|
"minecraft:gold_block",
|
||||||
|
"minecraft:diamond_block",
|
||||||
|
"minecraft:emerald_block",
|
||||||
|
"minecraft:netherite_block",
|
||||||
|
"minecraft:lapis_block",
|
||||||
|
"szar:niggerite_block",
|
||||||
|
"szar:cigany"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
"szar:efn",
|
"szar:efn",
|
||||||
"szar:hello",
|
"szar:hello",
|
||||||
"szar:erika",
|
"szar:erika",
|
||||||
"szar:ussr"
|
"szar:ussr",
|
||||||
|
"szar:hun_disc"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -5,11 +5,11 @@ import net.minecraft.entity.LivingEntity;
|
|||||||
import net.minecraft.entity.ai.goal.ActiveTargetGoal;
|
import net.minecraft.entity.ai.goal.ActiveTargetGoal;
|
||||||
import net.minecraft.entity.mob.PathAwareEntity;
|
import net.minecraft.entity.mob.PathAwareEntity;
|
||||||
|
|
||||||
public class AttackEnemyTeamGoal extends ActiveTargetGoal<LivingEntity> {
|
public class AttackEnemyHunGoal extends ActiveTargetGoal<LivingEntity> {
|
||||||
|
|
||||||
public AttackEnemyTeamGoal(PathAwareEntity mob, String myTeam) {
|
public AttackEnemyHunGoal(PathAwareEntity mob, String myTeam) {
|
||||||
super(mob, LivingEntity.class, true, target -> {
|
super(mob, LivingEntity.class, true, target -> {
|
||||||
if (target instanceof TeamMember other) {
|
if (target instanceof HunPartie other) {
|
||||||
return !other.getTeam().equals(myTeam);
|
return !other.getTeam().equals(myTeam);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
18
src/main/java/dev/tggamesyt/szar/AttackEnemyWarGoal.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// AttackEnemyTeamGoal.java
|
||||||
|
package dev.tggamesyt.szar;
|
||||||
|
|
||||||
|
import net.minecraft.entity.LivingEntity;
|
||||||
|
import net.minecraft.entity.ai.goal.ActiveTargetGoal;
|
||||||
|
import net.minecraft.entity.mob.PathAwareEntity;
|
||||||
|
|
||||||
|
public class AttackEnemyWarGoal extends ActiveTargetGoal<LivingEntity> {
|
||||||
|
|
||||||
|
public AttackEnemyWarGoal(PathAwareEntity mob, String myTeam) {
|
||||||
|
super(mob, LivingEntity.class, true, target -> {
|
||||||
|
if (target instanceof WarParticipant other) {
|
||||||
|
return !other.getTeam().equals(myTeam);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,7 +21,7 @@ import net.minecraft.world.ServerWorldAccess;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class CommunistEntity extends PathAwareEntity implements Arrestable, TeamMember {
|
public class CommunistEntity extends PathAwareEntity implements Arrestable, WarParticipant {
|
||||||
|
|
||||||
public static boolean arrestable = false;
|
public static boolean arrestable = false;
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -38,7 +38,7 @@ public class CommunistEntity extends PathAwareEntity implements Arrestable, Team
|
|||||||
this.goalSelector.add(1, new AK47AttackGoal(this, 16.0F, 2));
|
this.goalSelector.add(1, new AK47AttackGoal(this, 16.0F, 2));
|
||||||
|
|
||||||
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
||||||
this.targetSelector.add(2, new AttackEnemyTeamGoal(this, "communist"));
|
this.targetSelector.add(2, new AttackEnemyWarGoal(this, "communist"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,12 +20,11 @@ import net.minecraft.world.ServerWorldAccess;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static dev.tggamesyt.szar.Szar.NaziEntityType;
|
import static dev.tggamesyt.szar.Szar.NaziEntityType;
|
||||||
|
|
||||||
public class HitterEntity extends PathAwareEntity implements Arrestable, TeamMember {
|
public class HitterEntity extends PathAwareEntity implements Arrestable, WarParticipant {
|
||||||
|
|
||||||
public static boolean arrestable = true;
|
public static boolean arrestable = true;
|
||||||
|
|
||||||
@@ -40,7 +39,7 @@ public class HitterEntity extends PathAwareEntity implements Arrestable, TeamMem
|
|||||||
this.goalSelector.add(3, new LookAroundGoal(this));
|
this.goalSelector.add(3, new LookAroundGoal(this));
|
||||||
|
|
||||||
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
||||||
this.targetSelector.add(2, new AttackEnemyTeamGoal(this, "nazi"));
|
this.targetSelector.add(2, new AttackEnemyWarGoal(this, "nazi"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
5
src/main/java/dev/tggamesyt/szar/HunPartie.java
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
package dev.tggamesyt.szar;
|
||||||
|
|
||||||
|
public interface HunPartie {
|
||||||
|
String getTeam();
|
||||||
|
}
|
||||||
56
src/main/java/dev/tggamesyt/szar/MagyarEntity.java
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
package dev.tggamesyt.szar;
|
||||||
|
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.entity.ai.goal.MeleeAttackGoal;
|
||||||
|
import net.minecraft.entity.ai.goal.WanderAroundFarGoal;
|
||||||
|
import net.minecraft.entity.attribute.DefaultAttributeContainer;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttributes;
|
||||||
|
import net.minecraft.entity.damage.DamageSource;
|
||||||
|
import net.minecraft.entity.mob.MobEntity;
|
||||||
|
import net.minecraft.entity.mob.PathAwareEntity;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class MagyarEntity extends PathAwareEntity implements Arrestable, HunPartie {
|
||||||
|
|
||||||
|
public static boolean arrestable = false;
|
||||||
|
|
||||||
|
public MagyarEntity(EntityType<? extends PathAwareEntity> type, World world) {
|
||||||
|
super(type, world);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initGoals() {
|
||||||
|
this.goalSelector.add(2, new FollowLeaderWanderGoal(this, 1.0D, 6.0F));
|
||||||
|
this.goalSelector.add(3, new WanderAroundFarGoal(this, 0.8D));
|
||||||
|
this.goalSelector.add(1, new MeleeAttackGoal(this, 1.0, true));
|
||||||
|
|
||||||
|
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
||||||
|
this.targetSelector.add(2, new AttackEnemyHunGoal(this, "tisza"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static DefaultAttributeContainer.Builder createAttributes() {
|
||||||
|
return MobEntity.createMobAttributes()
|
||||||
|
.add(EntityAttributes.GENERIC_MAX_HEALTH, 20.0)
|
||||||
|
.add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.25)
|
||||||
|
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void dropLoot(DamageSource source, boolean causedByPlayer) {
|
||||||
|
var rand = this.getRandom();
|
||||||
|
if (rand.nextFloat() < 0.01F) {
|
||||||
|
this.dropItem(Szar.HUN_DISC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isArrestable() {
|
||||||
|
return arrestable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTeam() {
|
||||||
|
return "tisza";
|
||||||
|
}
|
||||||
|
}
|
||||||
41
src/main/java/dev/tggamesyt/szar/ModBiomes.java
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package dev.tggamesyt.szar;
|
||||||
|
|
||||||
|
import net.minecraft.entity.SpawnGroup;
|
||||||
|
import net.minecraft.registry.Registerable;
|
||||||
|
import net.minecraft.sound.BiomeMoodSound;
|
||||||
|
import net.minecraft.world.biome.Biome;
|
||||||
|
import net.minecraft.world.biome.BiomeEffects;
|
||||||
|
import net.minecraft.world.biome.GenerationSettings;
|
||||||
|
import net.minecraft.world.biome.SpawnSettings;
|
||||||
|
|
||||||
|
public class ModBiomes {
|
||||||
|
|
||||||
|
public static void bootstrap(Registerable<Biome> context) {
|
||||||
|
context.register(Szar.CHORUS_FOREST, createChorusForest());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Biome createChorusForest() {
|
||||||
|
return new Biome.Builder()
|
||||||
|
.precipitation(false)
|
||||||
|
.temperature(0.5f)
|
||||||
|
.downfall(0.0f)
|
||||||
|
|
||||||
|
.effects(new BiomeEffects.Builder()
|
||||||
|
.skyColor(0)
|
||||||
|
.fogColor(10518688)
|
||||||
|
.waterColor(4159204)
|
||||||
|
.waterFogColor(329011)
|
||||||
|
.moodSound(BiomeMoodSound.CAVE)
|
||||||
|
.build())
|
||||||
|
|
||||||
|
.spawnSettings(new SpawnSettings.Builder()
|
||||||
|
.creatureSpawnProbability(0.1f)
|
||||||
|
.spawn(SpawnGroup.MONSTER,
|
||||||
|
new SpawnSettings.SpawnEntry(net.minecraft.entity.EntityType.ENDERMAN, 10, 1, 4))
|
||||||
|
.build())
|
||||||
|
|
||||||
|
.generationSettings(new GenerationSettings.Builder().build())
|
||||||
|
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
||||||
21
src/main/java/dev/tggamesyt/szar/ModBlockTagProvider.java
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
package dev.tggamesyt.szar;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||||
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
||||||
|
import net.minecraft.registry.RegistryKeys;import net.minecraft.registry.RegistryWrapper;
|
||||||
|
import net.minecraft.registry.tag.BlockTags;
|
||||||
|
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
|
||||||
|
|
||||||
|
public ModBlockTagProvider(FabricDataOutput output,
|
||||||
|
CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
|
||||||
|
super(output, registriesFuture);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void configure(RegistryWrapper.WrapperLookup lookup) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,24 +2,44 @@ package dev.tggamesyt.szar;
|
|||||||
|
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
import net.minecraft.registry.RegistryWrapper;
|
import net.minecraft.registry.RegistryWrapper;
|
||||||
|
import net.minecraft.registry.tag.BlockTags;
|
||||||
import net.minecraft.registry.tag.ItemTags;
|
import net.minecraft.registry.tag.ItemTags;
|
||||||
|
import net.minecraft.registry.tag.TagKey;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
|
public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
|
||||||
public ModItemTagProvider(FabricDataOutput output,
|
public ModItemTagProvider(FabricDataOutput output,
|
||||||
CompletableFuture<RegistryWrapper.WrapperLookup> completableFuture) {
|
CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture,
|
||||||
super(output, completableFuture);
|
FabricTagProvider<Block> blockTagProvider) {
|
||||||
|
super(output, registriesFuture, (BlockTagProvider) blockTagProvider);
|
||||||
}
|
}
|
||||||
|
public static final TagKey<Item> BEACON_BASE_BLOCKS =
|
||||||
|
TagKey.of(RegistryKeys.ITEM, new Identifier("minecraft", "beacon_base_blocks"));
|
||||||
@Override
|
@Override
|
||||||
protected void configure(RegistryWrapper.WrapperLookup lookup) {
|
protected void configure(RegistryWrapper.WrapperLookup lookup) {
|
||||||
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.POPTART);
|
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS)
|
||||||
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.BAITER_DISC);
|
.add(Szar.POPTART)
|
||||||
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.EFN_DISK);
|
.add(Szar.BAITER_DISC)
|
||||||
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.HELLO_DISC);
|
.add(Szar.EFN_DISK)
|
||||||
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.ERIKA_DISC);
|
.add(Szar.HELLO_DISC)
|
||||||
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.USSR_DISC);
|
.add(Szar.ERIKA_DISC)
|
||||||
|
.add(Szar.USSR_DISC)
|
||||||
|
.add(Szar.HUN_DISC);
|
||||||
|
getOrCreateTagBuilder(BEACON_BASE_BLOCKS)
|
||||||
|
.add(Items.IRON_BLOCK)
|
||||||
|
.add(Items.GOLD_BLOCK)
|
||||||
|
.add(Items.DIAMOND_BLOCK)
|
||||||
|
.add(Items.EMERALD_BLOCK)
|
||||||
|
.add(Items.NETHERITE_BLOCK)
|
||||||
|
.add(Items.LAPIS_BLOCK)
|
||||||
|
.add(Szar.NIGGERITE_BLOCK)
|
||||||
|
.add(Szar.CIGANYBLOCK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -21,7 +21,7 @@ import net.minecraft.world.ServerWorldAccess;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class NaziEntity extends PathAwareEntity implements Arrestable, TeamMember {
|
public class NaziEntity extends PathAwareEntity implements Arrestable, WarParticipant {
|
||||||
|
|
||||||
private boolean hithandPlaying = false;
|
private boolean hithandPlaying = false;
|
||||||
private int hithandTimer = 0; // ticks remaining
|
private int hithandTimer = 0; // ticks remaining
|
||||||
@@ -91,7 +91,7 @@ public class NaziEntity extends PathAwareEntity implements Arrestable, TeamMembe
|
|||||||
this.goalSelector.add(1, new AK47AttackGoal(this, 16.0F, 2));
|
this.goalSelector.add(1, new AK47AttackGoal(this, 16.0F, 2));
|
||||||
|
|
||||||
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
||||||
this.targetSelector.add(2, new AttackEnemyTeamGoal(this, "nazi"));
|
this.targetSelector.add(2, new AttackEnemyWarGoal(this, "nazi"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
67
src/main/java/dev/tggamesyt/szar/OrbanEntity.java
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
package dev.tggamesyt.szar;
|
||||||
|
|
||||||
|
import net.minecraft.entity.EntityData;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.entity.SpawnReason;
|
||||||
|
import net.minecraft.entity.ai.goal.MeleeAttackGoal;
|
||||||
|
import net.minecraft.entity.ai.goal.WanderAroundFarGoal;
|
||||||
|
import net.minecraft.entity.attribute.DefaultAttributeContainer;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttributes;
|
||||||
|
import net.minecraft.entity.damage.DamageSource;
|
||||||
|
import net.minecraft.entity.mob.MobEntity;
|
||||||
|
import net.minecraft.entity.mob.PathAwareEntity;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
|
import net.minecraft.nbt.NbtCompound;
|
||||||
|
import net.minecraft.nbt.NbtList;
|
||||||
|
import net.minecraft.nbt.NbtString;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.world.LocalDifficulty;
|
||||||
|
import net.minecraft.world.ServerWorldAccess;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
public class OrbanEntity extends PathAwareEntity implements Arrestable, HunPartie {
|
||||||
|
|
||||||
|
public static boolean arrestable = false;
|
||||||
|
|
||||||
|
public OrbanEntity(EntityType<? extends PathAwareEntity> type, World world) {
|
||||||
|
super(type, world);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initGoals() {
|
||||||
|
this.goalSelector.add(2, new FollowLeaderWanderGoal(this, 1.0D, 6.0F));
|
||||||
|
this.goalSelector.add(3, new WanderAroundFarGoal(this, 0.8D));
|
||||||
|
this.goalSelector.add(1, new MeleeAttackGoal(this, 1.0, true));
|
||||||
|
|
||||||
|
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
||||||
|
this.targetSelector.add(2, new AttackEnemyHunGoal(this, "fidesz"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static DefaultAttributeContainer.Builder createAttributes() {
|
||||||
|
return MobEntity.createMobAttributes()
|
||||||
|
.add(EntityAttributes.GENERIC_MAX_HEALTH, 20.0)
|
||||||
|
.add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.25)
|
||||||
|
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void dropLoot(DamageSource source, boolean causedByPlayer) {
|
||||||
|
var rand = this.getRandom();
|
||||||
|
if (rand.nextFloat() < 0.01F) {
|
||||||
|
this.dropItem(Szar.HUN_DISC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isArrestable() {
|
||||||
|
return arrestable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTeam() {
|
||||||
|
return "fidesz";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,7 +26,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import static dev.tggamesyt.szar.Szar.CommunistEntityType;
|
import static dev.tggamesyt.szar.Szar.CommunistEntityType;
|
||||||
|
|
||||||
public class StalinEntity extends PathAwareEntity implements Arrestable, TeamMember {
|
public class StalinEntity extends PathAwareEntity implements Arrestable, WarParticipant {
|
||||||
|
|
||||||
public static boolean arrestable = true;
|
public static boolean arrestable = true;
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ public class StalinEntity extends PathAwareEntity implements Arrestable, TeamMem
|
|||||||
this.goalSelector.add(3, new LookAroundGoal(this));
|
this.goalSelector.add(3, new LookAroundGoal(this));
|
||||||
|
|
||||||
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
this.targetSelector.add(1, new AggroOnHitRevengeGoal(this));
|
||||||
this.targetSelector.add(2, new AttackEnemyTeamGoal(this, "communist"));
|
this.targetSelector.add(2, new AttackEnemyWarGoal(this, "communist"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ import net.minecraft.entity.data.TrackedDataHandlerRegistry;
|
|||||||
import net.minecraft.entity.decoration.painting.PaintingVariant;
|
import net.minecraft.entity.decoration.painting.PaintingVariant;
|
||||||
import net.minecraft.entity.effect.StatusEffect;
|
import net.minecraft.entity.effect.StatusEffect;
|
||||||
import net.minecraft.entity.effect.StatusEffectInstance;
|
import net.minecraft.entity.effect.StatusEffectInstance;
|
||||||
|
import net.minecraft.entity.effect.StatusEffects;
|
||||||
import net.minecraft.entity.passive.VillagerEntity;
|
import net.minecraft.entity.passive.VillagerEntity;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.item.*;
|
import net.minecraft.item.*;
|
||||||
@@ -286,6 +287,24 @@ public class Szar implements ModInitializer {
|
|||||||
.dimensions(EntityDimensions.fixed(0.6F, 1.8F)) // player-sized
|
.dimensions(EntityDimensions.fixed(0.6F, 1.8F)) // player-sized
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
public static final EntityType<OrbanEntity> OrbanEntityType =
|
||||||
|
Registry.register(
|
||||||
|
Registries.ENTITY_TYPE,
|
||||||
|
new Identifier(MOD_ID, "orban"),
|
||||||
|
FabricEntityTypeBuilder
|
||||||
|
.create(SpawnGroup.CREATURE, OrbanEntity::new)
|
||||||
|
.dimensions(EntityDimensions.fixed(0.6F, 1.8F))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
public static final EntityType<MagyarEntity> MagyarEntityType =
|
||||||
|
Registry.register(
|
||||||
|
Registries.ENTITY_TYPE,
|
||||||
|
new Identifier(MOD_ID, "magyar"),
|
||||||
|
FabricEntityTypeBuilder
|
||||||
|
.create(SpawnGroup.CREATURE, MagyarEntity::new)
|
||||||
|
.dimensions(EntityDimensions.fixed(0.6F, 1.8F))
|
||||||
|
.build()
|
||||||
|
);
|
||||||
public static final EntityType<StalinEntity> StalinEntityType =
|
public static final EntityType<StalinEntity> StalinEntityType =
|
||||||
Registry.register(
|
Registry.register(
|
||||||
Registries.ENTITY_TYPE,
|
Registries.ENTITY_TYPE,
|
||||||
@@ -396,6 +415,8 @@ public class Szar implements ModInitializer {
|
|||||||
entries.add(Szar.ENDER_ORE_ITEM);
|
entries.add(Szar.ENDER_ORE_ITEM);
|
||||||
entries.add(Szar.RAW_ENDER);
|
entries.add(Szar.RAW_ENDER);
|
||||||
entries.add(Szar.ENDER_INGOT);
|
entries.add(Szar.ENDER_INGOT);
|
||||||
|
entries.add(Szar.SUPER_DIAMOND);
|
||||||
|
entries.add(Szar.SUPER_APPLE);
|
||||||
// blueprint stuff
|
// blueprint stuff
|
||||||
entries.add(BlueprintBlocks.BLUEPRINT);
|
entries.add(BlueprintBlocks.BLUEPRINT);
|
||||||
entries.add(BlueprintBlocks.BLUEPRINT_DOOR_ITEM);
|
entries.add(BlueprintBlocks.BLUEPRINT_DOOR_ITEM);
|
||||||
@@ -443,6 +464,10 @@ public class Szar implements ModInitializer {
|
|||||||
entries.add(Szar.COMMUNIST_SPAWNEGG);
|
entries.add(Szar.COMMUNIST_SPAWNEGG);
|
||||||
entries.add(Szar.ERIKA_DISC);
|
entries.add(Szar.ERIKA_DISC);
|
||||||
entries.add(Szar.USSR_DISC);
|
entries.add(Szar.USSR_DISC);
|
||||||
|
// politics
|
||||||
|
entries.add(Szar.ORBAN_SPAWNEGG);
|
||||||
|
entries.add(Szar.MAGYAR_SPAWNEGG);
|
||||||
|
entries.add(Szar.HUN_DISC);
|
||||||
// racism
|
// racism
|
||||||
if (showRacist) {
|
if (showRacist) {
|
||||||
entries.add(Szar.CIGANYBLOCK);
|
entries.add(Szar.CIGANYBLOCK);
|
||||||
@@ -837,6 +862,14 @@ public class Szar implements ModInitializer {
|
|||||||
HitterEntityType,
|
HitterEntityType,
|
||||||
HitterEntity.createAttributes()
|
HitterEntity.createAttributes()
|
||||||
);
|
);
|
||||||
|
FabricDefaultAttributeRegistry.register(
|
||||||
|
OrbanEntityType,
|
||||||
|
OrbanEntity.createAttributes()
|
||||||
|
);
|
||||||
|
FabricDefaultAttributeRegistry.register(
|
||||||
|
MagyarEntityType,
|
||||||
|
MagyarEntity.createAttributes()
|
||||||
|
);
|
||||||
FabricDefaultAttributeRegistry.register(
|
FabricDefaultAttributeRegistry.register(
|
||||||
CommunistEntityType,
|
CommunistEntityType,
|
||||||
CommunistEntity.createAttributes()
|
CommunistEntity.createAttributes()
|
||||||
@@ -905,7 +938,12 @@ public class Szar implements ModInitializer {
|
|||||||
1, // min group size
|
1, // min group size
|
||||||
2 // max group size
|
2 // max group size
|
||||||
);
|
);
|
||||||
|
BiomeModifications.addSpawn(
|
||||||
|
BiomeSelectors.includeByKey(BiomeKeys.PLAINS, BiomeKeys.FLOWER_FOREST, BiomeKeys.FOREST),
|
||||||
|
SpawnGroup.MONSTER,
|
||||||
|
OrbanEntityType,
|
||||||
|
1, 1, 1
|
||||||
|
);
|
||||||
BiomeModifications.addSpawn(
|
BiomeModifications.addSpawn(
|
||||||
BiomeSelectors.includeByKey(BiomeKeys.WINDSWEPT_HILLS, BiomeKeys.WINDSWEPT_GRAVELLY_HILLS, BiomeKeys.STONY_PEAKS),
|
BiomeSelectors.includeByKey(BiomeKeys.WINDSWEPT_HILLS, BiomeKeys.WINDSWEPT_GRAVELLY_HILLS, BiomeKeys.STONY_PEAKS),
|
||||||
SpawnGroup.MONSTER,
|
SpawnGroup.MONSTER,
|
||||||
@@ -1551,6 +1589,28 @@ public class Szar implements ModInitializer {
|
|||||||
new Identifier(MOD_ID, "ender_ingot"),
|
new Identifier(MOD_ID, "ender_ingot"),
|
||||||
new Item(new FabricItemSettings())
|
new Item(new FabricItemSettings())
|
||||||
);
|
);
|
||||||
|
public static final Item SUPER_DIAMOND = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(MOD_ID, "super_diamond"),
|
||||||
|
new Item(new FabricItemSettings())
|
||||||
|
);
|
||||||
|
public static final Item SUPER_APPLE = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(MOD_ID, "super_apple"),
|
||||||
|
new Item(new FabricItemSettings().food(
|
||||||
|
new FoodComponent.Builder()
|
||||||
|
.hunger(20)
|
||||||
|
.alwaysEdible()
|
||||||
|
.saturationModifier(20F)
|
||||||
|
.statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION,60*20, 255 ), 1F)
|
||||||
|
.statusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST,2*60*20, 4 ), 1F)
|
||||||
|
.statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE,5*60*20, 2), 1F)
|
||||||
|
.statusEffect(new StatusEffectInstance(StatusEffects.FIRE_RESISTANCE,5*60*20, 2), 1F)
|
||||||
|
.statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION,5*60*20, 4), 1F)
|
||||||
|
.statusEffect(new StatusEffectInstance(StatusEffects.STRENGTH,5*60*20, 2), 1F)
|
||||||
|
.build()
|
||||||
|
).rarity(Rarity.EPIC))
|
||||||
|
);
|
||||||
// Blocks
|
// Blocks
|
||||||
public static final TrackerBlock TRACKER_BLOCK = Registry.register(
|
public static final TrackerBlock TRACKER_BLOCK = Registry.register(
|
||||||
Registries.BLOCK, new Identifier(MOD_ID, "tracker"),
|
Registries.BLOCK, new Identifier(MOD_ID, "tracker"),
|
||||||
@@ -2261,6 +2321,13 @@ public class Szar implements ModInitializer {
|
|||||||
new Identifier(MOD_ID, "baiter"),
|
new Identifier(MOD_ID, "baiter"),
|
||||||
new MusicDiscItem(12, BAITER, new Item.Settings().maxCount(1).rarity(Rarity.RARE), 172)
|
new MusicDiscItem(12, BAITER, new Item.Settings().maxCount(1).rarity(Rarity.RARE), 172)
|
||||||
);
|
);
|
||||||
|
public static final SoundEvent HUN_ANTHEM =
|
||||||
|
SoundEvent.of(new Identifier(MOD_ID, "hun_anthem"));
|
||||||
|
public static final Item HUN_DISC = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(MOD_ID, "hun_disc"),
|
||||||
|
new MusicDiscItem(8, HUN_ANTHEM, new Item.Settings().maxCount(1).rarity(Rarity.RARE), 120)
|
||||||
|
);
|
||||||
public static final SoundEvent ERIKA =
|
public static final SoundEvent ERIKA =
|
||||||
SoundEvent.of(new Identifier(MOD_ID, "erika"));
|
SoundEvent.of(new Identifier(MOD_ID, "erika"));
|
||||||
public static final Item ERIKA_DISC = Registry.register(
|
public static final Item ERIKA_DISC = Registry.register(
|
||||||
@@ -2319,6 +2386,26 @@ public class Szar implements ModInitializer {
|
|||||||
new Item.Settings()
|
new Item.Settings()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
public static final Item ORBAN_SPAWNEGG = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(MOD_ID, "orban_spawn_egg"),
|
||||||
|
new SpawnEggItem(
|
||||||
|
OrbanEntityType,
|
||||||
|
0xFD8100,
|
||||||
|
0xFFFFFF,
|
||||||
|
new Item.Settings()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
public static final Item MAGYAR_SPAWNEGG = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(MOD_ID, "magyar_spawn_egg"),
|
||||||
|
new SpawnEggItem(
|
||||||
|
MagyarEntityType,
|
||||||
|
0x24B573,
|
||||||
|
0xED4551,
|
||||||
|
new Item.Settings()
|
||||||
|
)
|
||||||
|
);
|
||||||
public static final Item HITTER_SPAWNEGG = Registry.register(
|
public static final Item HITTER_SPAWNEGG = Registry.register(
|
||||||
Registries.ITEM,
|
Registries.ITEM,
|
||||||
new Identifier(MOD_ID, "hitler_spawn_egg"),
|
new Identifier(MOD_ID, "hitler_spawn_egg"),
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
package dev.tggamesyt.szar;
|
|
||||||
|
|
||||||
public interface TeamMember {
|
|
||||||
String getTeam(); // returns "communist" or "tsarist" (or whatever your 2nd team is)
|
|
||||||
}
|
|
||||||
5
src/main/java/dev/tggamesyt/szar/WarParticipant.java
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
package dev.tggamesyt.szar;
|
||||||
|
|
||||||
|
public interface WarParticipant {
|
||||||
|
String getTeam();
|
||||||
|
}
|
||||||
@@ -207,7 +207,16 @@
|
|||||||
"block.szar.ender_ore": "Ender Ore",
|
"block.szar.ender_ore": "Ender Ore",
|
||||||
"item.szar.raw_ender": "Raw Ender",
|
"item.szar.raw_ender": "Raw Ender",
|
||||||
"item.szar.ender_ingot": "Ender Ingot",
|
"item.szar.ender_ingot": "Ender Ingot",
|
||||||
|
"item.szar.super_diamond": "Super Diamond",
|
||||||
|
"item.szar.super_apple": "Super Apple",
|
||||||
|
|
||||||
"advancement.szar.april_game_beaten.title": "We are so back",
|
"advancement.szar.april_game_beaten.title": "We are so back",
|
||||||
"advancement.szar.april_game_beaten.description": "Beat the game on april 1st to flip the game back."
|
"advancement.szar.april_game_beaten.description": "Beat the game on april 1st to flip the game back.",
|
||||||
|
|
||||||
|
"entity.szar.orban": "Orbán Viktor",
|
||||||
|
"entity.szar.magyar": "Magyar Péter",
|
||||||
|
"item.szar.hun_disc": "Music Disc",
|
||||||
|
"item.szar.hun_disc.desc": "Kölcsey Ferenc - Hungarian Anthem",
|
||||||
|
"item.szar.orban_spawn_egg": "Orbán Spawn Egg",
|
||||||
|
"item.szar.magyar_spawn_egg": "Magyar Spawn Egg"
|
||||||
}
|
}
|
||||||
|
|||||||
6
src/main/resources/assets/szar/models/item/hun_disc.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "szar:item/hun_disc"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/template_spawn_egg"
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/template_spawn_egg"
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "szar:item/super_apple"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "szar:item/super_diamond"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -242,5 +242,13 @@
|
|||||||
"stream": true
|
"stream": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"hun_anthem": {
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "szar:hun_anthem",
|
||||||
|
"stream": true
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
src/main/resources/assets/szar/sounds/hun_anthem.ogg
Normal file
BIN
src/main/resources/assets/szar/textures/entity/magyar.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
src/main/resources/assets/szar/textures/entity/orban.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 319 B |
BIN
src/main/resources/assets/szar/textures/item/ender_diamond.png
Normal file
|
After Width: | Height: | Size: 848 B |
BIN
src/main/resources/assets/szar/textures/item/hun_disc.png
Normal file
|
After Width: | Height: | Size: 320 B |
|
After Width: | Height: | Size: 268 B |
BIN
src/main/resources/assets/szar/textures/item/smol_diamond.png
Normal file
|
After Width: | Height: | Size: 628 B |
BIN
src/main/resources/assets/szar/textures/item/super_apple.png
Normal file
|
After Width: | Height: | Size: 343 B |
BIN
src/main/resources/assets/szar/textures/item/super_diamond.png
Normal file
|
After Width: | Height: | Size: 970 B |
@@ -1,13 +1,5 @@
|
|||||||
{
|
{
|
||||||
"type": "minecraft:crafting_shaped",
|
"type": "minecraft:crafting_shaped",
|
||||||
"ingredients": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:gunpowder"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:iron_nugget"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
"pattern": [
|
||||||
"PPP",
|
"PPP",
|
||||||
"BBB",
|
"BBB",
|
||||||
|
|||||||
14
src/main/resources/data/szar/recipes/super_apple.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shapeless",
|
||||||
|
"ingredients": [
|
||||||
|
{
|
||||||
|
"item": "minecraft:apple"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "szar:super_diamond"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"item": "szar:super_apple"
|
||||||
|
}
|
||||||
|
}
|
||||||
26
src/main/resources/data/szar/recipes/super_beacon.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
" E ",
|
||||||
|
"DBD",
|
||||||
|
"MMM"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"E": {
|
||||||
|
"item": "minecraft:enchanting_table"
|
||||||
|
},
|
||||||
|
"D": {
|
||||||
|
"item": "szar:super_diamond"
|
||||||
|
},
|
||||||
|
"B": {
|
||||||
|
"item": "minecraft:beacon"
|
||||||
|
},
|
||||||
|
"M": {
|
||||||
|
"tag": "minecraft:beacon_base_blocks"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "minecraft:bedrock",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
23
src/main/resources/data/szar/recipes/super_diamond.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"NEN",
|
||||||
|
"EDE",
|
||||||
|
"NEN"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"N": {
|
||||||
|
"item": "minecraft:netherite_ingot"
|
||||||
|
},
|
||||||
|
"D": {
|
||||||
|
"item": "minecraft:diamond"
|
||||||
|
},
|
||||||
|
"E": {
|
||||||
|
"item": "szar:ender_ingot"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "szar:super_diamond",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
"placement": [
|
"placement": [
|
||||||
{ "type": "minecraft:count", "count": 5 },
|
{ "type": "minecraft:count", "count": 5 },
|
||||||
{ "type": "minecraft:in_square" },
|
{ "type": "minecraft:in_square" },
|
||||||
{ "type": "minecraft:heightmap", "heightmap": "WORLD_SURFACE_WG" },
|
{ "type": "minecraft:heightmap", "heightmap": "WORLD_SURFACE_WG" }
|
||||||
{ "type": "minecraft:biome" }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
],
|
],
|
||||||
"placement": {
|
"placement": {
|
||||||
"type": "minecraft:random_spread",
|
"type": "minecraft:random_spread",
|
||||||
"spacing": 20,
|
"spacing": 10,
|
||||||
"separation": 10,
|
"separation": 1,
|
||||||
"salt": 398826349
|
"salt": 398826349
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,4 +8,6 @@ accessible method net/minecraft/client/render/entity/LivingEntityRenderer addFea
|
|||||||
accessible field net/minecraft/client/render/entity/EntityRenderDispatcher renderers Ljava/util/Map;
|
accessible field net/minecraft/client/render/entity/EntityRenderDispatcher renderers Ljava/util/Map;
|
||||||
accessible method net/minecraft/world/GameRules$BooleanRule create (ZLjava/util/function/BiConsumer;)Lnet/minecraft/world/GameRules$Type;
|
accessible method net/minecraft/world/GameRules$BooleanRule create (ZLjava/util/function/BiConsumer;)Lnet/minecraft/world/GameRules$Type;
|
||||||
accessible method net/minecraft/client/render/block/BlockModelRenderer renderQuad (Lnet/minecraft/world/BlockRenderView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/client/render/VertexConsumer;Lnet/minecraft/client/util/math/MatrixStack$Entry;Lnet/minecraft/client/render/model/BakedQuad;FFFFIIIII)V
|
accessible method net/minecraft/client/render/block/BlockModelRenderer renderQuad (Lnet/minecraft/world/BlockRenderView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/client/render/VertexConsumer;Lnet/minecraft/client/util/math/MatrixStack$Entry;Lnet/minecraft/client/render/model/BakedQuad;FFFFIIIII)V
|
||||||
accessible field net/minecraft/client/particle/ParticleManager world Lnet/minecraft/client/world/ClientWorld;
|
accessible field net/minecraft/client/particle/ParticleManager world Lnet/minecraft/client/world/ClientWorld;
|
||||||
|
|
||||||
|
accessible method net/minecraft/registry/tag/ItemTags of (Ljava/lang/String;)Lnet/minecraft/registry/tag/TagKey;
|
||||||