Skip to content

Commit

Permalink
增加特斯拉塔 #675
Browse files Browse the repository at this point in the history
  • Loading branch information
dmzz-yyhyy committed Nov 30, 2024
1 parent 5a5076d commit ef5b026
Show file tree
Hide file tree
Showing 34 changed files with 1,718 additions and 12 deletions.
12 changes: 12 additions & 0 deletions src/generated/resources/assets/anvilcraft/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@
"block.anvilcraft.stamping_platform": "ɯɹoɟʇɐןԀ buıdɯɐʇS",
"block.anvilcraft.supercritical_nesting_shulker_box": "xoᗺ ɹǝʞןnɥS buıʇsǝN ןɐɔıʇıɹɔɹǝdnS",
"block.anvilcraft.tempering_glass": "ssɐן⅁ buıɹǝdɯǝ⟘",
"block.anvilcraft.tesla_tower": "ɹǝʍo⟘ ɐןsǝ⟘",
"block.anvilcraft.thermoelectric_converter": "ɹǝʇɹǝʌuoƆ ɔıɹʇɔǝןǝoɯɹǝɥ⟘",
"block.anvilcraft.tin_block": "ʞɔoןᗺ uı⟘",
"block.anvilcraft.tin_pressure_plate": "ǝʇɐןԀ ǝɹnssǝɹԀ uı⟘",
Expand Down Expand Up @@ -442,7 +443,9 @@
"pack.anvilcraft.builtin_pack": "ʞɔɐԀǝɔɹnosǝᴚ uıʇןınᗺ ʇɟɐɹƆןıʌuⱯ",
"pack.anvilcraft.transparent_cauldron.description": "uoɹpןnɐƆ ʇuǝɹɐdsuɐɹ⟘",
"patchouli.anvilcraft.landing_text": "ʇɟɐɹƆןıʌuⱯ oʇ ǝɯoɔןǝM",
"screen.anvilcraft.active_silencer.search": "ɥɔɹɐǝs oʇ pɹoʍʎǝʞ ɹǝʇuǝ",
"screen.anvilcraft.active_silencer.title": "ɹǝɔuǝןıS ǝʌıʇɔⱯ",
"screen.anvilcraft.anvil_hammer.title": "ʞɔoןᗺ buıʎɟıpoW",
"screen.anvilcraft.button.direction": "%s :uoıʇɔǝɹıᗡ ʇndʇnO",
"screen.anvilcraft.button.direction.down": "uʍoᗡ",
"screen.anvilcraft.button.direction.east": "ʇsɐƎ",
Expand Down Expand Up @@ -474,6 +477,15 @@
"screen.anvilcraft.structure_tool.to_data_gen": "uǝ⅁ ɐʇɐᗡ o⟘",
"screen.anvilcraft.structure_tool.to_json": "NOSſ o⟘",
"screen.anvilcraft.structure_tool.to_kubejs": "Sſǝqnʞ o⟘",
"screen.anvilcraft.tesla_tower.filter.has_custom_name": "ɹǝʇןıℲ ʎʇıʇuƎ pǝɯɐN ɯoʇsnƆ",
"screen.anvilcraft.tesla_tower.filter.is_baby_friendly": "ɹǝʇןıℲ ʎʇıʇuƎ ʎןpuǝıɹℲ ʎqɐᗺ",
"screen.anvilcraft.tesla_tower.filter.is_entity_id": "ɹǝʇןıℲ ʎʇıʇuƎ",
"screen.anvilcraft.tesla_tower.filter.is_friendly": "ɹǝʇןıℲ ʎʇıʇuƎ ʎןpuǝıɹℲ",
"screen.anvilcraft.tesla_tower.filter.is_on_vehicle": "ɹǝʇןıℲ ǝןɔıɥǝΛ uO",
"screen.anvilcraft.tesla_tower.filter.is_pet": "ɹǝʇןıℲ ʇǝԀ",
"screen.anvilcraft.tesla_tower.filter.is_player": "ɹǝʇןıℲ ɹǝʎɐןԀ",
"screen.anvilcraft.tesla_tower.filter.is_player_id": "ɹǝʇןıℲ pI ɹǝʎɐןԀ",
"screen.anvilcraft.tesla_tower.filter.unknown": "ɹǝʇןıℲ uʍouʞu∩",
"text.autoconfig.anvilcraft.option.anvilEfficiency": "ʎɔuǝıɔıɟɟƎ ןıʌuⱯ",
"text.autoconfig.anvilcraft.option.anvilEfficiency.@Tooltip": "ǝɯıʇ ǝɯɐs ǝɥʇ ʇɐ ןıʌuɐ ǝɥʇ ʎq pǝssǝɔoɹd sɯǝʇı ɟo ɹǝqɯnu ɯnɯıxɐW",
"text.autoconfig.anvilcraft.option.batchCrafterCooldown": "uʍopןooƆ ɹǝʇɟɐɹƆ ɥɔʇɐᗺ",
Expand Down
12 changes: 12 additions & 0 deletions src/generated/resources/assets/anvilcraft/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@
"block.anvilcraft.stamping_platform": "Stamping Platform",
"block.anvilcraft.supercritical_nesting_shulker_box": "Supercritical Nesting Shulker Box",
"block.anvilcraft.tempering_glass": "Tempering Glass",
"block.anvilcraft.tesla_tower": "Tesla Tower",
"block.anvilcraft.thermoelectric_converter": "Thermoelectric Converter",
"block.anvilcraft.tin_block": "Tin Block",
"block.anvilcraft.tin_pressure_plate": "Tin Pressure Plate",
Expand Down Expand Up @@ -442,7 +443,9 @@
"pack.anvilcraft.builtin_pack": "AnvilCraft Builtin ResourcePack",
"pack.anvilcraft.transparent_cauldron.description": "Transparent Cauldron",
"patchouli.anvilcraft.landing_text": "Welcome to AnvilCraft",
"screen.anvilcraft.active_silencer.search": "enter keyword to search",
"screen.anvilcraft.active_silencer.title": "Active Silencer",
"screen.anvilcraft.anvil_hammer.title": "Modifying Block",
"screen.anvilcraft.button.direction": "Output Direction: %s",
"screen.anvilcraft.button.direction.down": "Down",
"screen.anvilcraft.button.direction.east": "East",
Expand Down Expand Up @@ -474,6 +477,15 @@
"screen.anvilcraft.structure_tool.to_data_gen": "To Data Gen",
"screen.anvilcraft.structure_tool.to_json": "To JSON",
"screen.anvilcraft.structure_tool.to_kubejs": "To KubeJS",
"screen.anvilcraft.tesla_tower.filter.has_custom_name": "Custom Named Entity Filter",
"screen.anvilcraft.tesla_tower.filter.is_baby_friendly": "Baby Friendly Entity Filter",
"screen.anvilcraft.tesla_tower.filter.is_entity_id": "Entity Filter",
"screen.anvilcraft.tesla_tower.filter.is_friendly": "Friendly Entity Filter",
"screen.anvilcraft.tesla_tower.filter.is_on_vehicle": "On Vehicle Filter",
"screen.anvilcraft.tesla_tower.filter.is_pet": "Pet Filter",
"screen.anvilcraft.tesla_tower.filter.is_player": "Player Filter",
"screen.anvilcraft.tesla_tower.filter.is_player_id": "Player Id Filter",
"screen.anvilcraft.tesla_tower.filter.unknown": "Unknown Filter",
"text.autoconfig.anvilcraft.option.anvilEfficiency": "Anvil Efficiency",
"text.autoconfig.anvilcraft.option.anvilEfficiency.@Tooltip": "Maximum number of items processed by the anvil at the same time",
"text.autoconfig.anvilcraft.option.batchCrafterCooldown": "Batch Crafter Cooldown",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "anvilcraft:block/tesla_tower_overall"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_circuit_board": {
"conditions": {
"items": [
{
"items": "anvilcraft:circuit_board"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft:tesla_tower"
},
"trigger": "minecraft:recipe_unlocked"
},
"has_topaz_block": {
"conditions": {
"items": [
{
"items": "anvilcraft:topaz_block"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_transmission_pole": {
"conditions": {
"items": [
{
"items": "anvilcraft:transmission_pole"
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"requirements": [
[
"has_the_recipe",
"has_circuit_board",
"has_transmission_pole",
"has_topaz_block"
]
],
"rewards": {
"recipes": [
"anvilcraft:tesla_tower"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"block": "anvilcraft:tesla_tower",
"condition": "minecraft:block_state_property",
"properties": {
"half": "bottom"
}
}
],
"name": "anvilcraft:tesla_tower"
}
],
"rolls": 1.0
}
],
"random_sequence": "anvilcraft:blocks/tesla_tower"
}
27 changes: 27 additions & 0 deletions src/generated/resources/data/anvilcraft/recipe/tesla_tower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"A": {
"item": "anvilcraft:royal_steel_ingot"
},
"B": {
"item": "anvilcraft:topaz_block"
},
"C": {
"item": "anvilcraft:transmission_pole"
},
"D": {
"item": "anvilcraft:circuit_board"
}
},
"pattern": [
"ABA",
"ACA",
"ADA"
],
"result": {
"count": 1,
"id": "anvilcraft:tesla_tower"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"anvilcraft:heater",
"anvilcraft:transmission_pole",
"anvilcraft:remote_transmission_pole",
"anvilcraft:tesla_tower",
"anvilcraft:induction_light",
"anvilcraft:charge_collector",
"anvilcraft:power_converter_small",
Expand Down
5 changes: 4 additions & 1 deletion src/main/java/dev/dubhe/anvilcraft/AnvilCraft.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package dev.dubhe.anvilcraft;

import dev.dubhe.anvilcraft.api.taslatower.TeslaFilter;
import dev.dubhe.anvilcraft.api.tooltip.ItemTooltipManager;
import dev.dubhe.anvilcraft.config.AnvilCraftConfig;
import dev.dubhe.anvilcraft.data.AnvilCraftDatagen;
import dev.dubhe.anvilcraft.init.ModBlockEntities;
import dev.dubhe.anvilcraft.init.ModBlocks;
import dev.dubhe.anvilcraft.init.ModCommands;
import dev.dubhe.anvilcraft.init.ModComponents;
import dev.dubhe.anvilcraft.init.ModDamageTypes;
import dev.dubhe.anvilcraft.init.ModDispenserBehavior;
import dev.dubhe.anvilcraft.init.ModEnchantmentEffectComponents;
import dev.dubhe.anvilcraft.init.ModEnchantmentEffects;
Expand Down Expand Up @@ -84,11 +84,14 @@ public AnvilCraft(IEventBus modEventBus, ModContainer container) {
ModLootContextParamSets.registerAll();
ModEnchantmentEffectComponents.register(modEventBus);
ModEnchantmentEffects.register(modEventBus);

TeslaFilter.init();
// datagen
AnvilCraftDatagen.init();

registerEvents(modEventBus);
logger.info("Ciallo~(∠・ω< )⌒★");
logger.info("let's 0721!");
}

private static void registerEvents(IEventBus eventBus) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package dev.dubhe.anvilcraft.api.taslatower;

import lombok.Getter;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.LivingEntity;

public class HasCustomNameFilter extends TeslaFilter{
@Getter
private final String id = "HasCustomNameFilter";

@Override
public boolean match(LivingEntity entity, String arg) { return entity.getCustomName() != null;}

@Override
public Component title() {
return Component.translatable("screen.anvilcraft.tesla_tower.filter.has_custom_name");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package dev.dubhe.anvilcraft.api.taslatower;

import lombok.Getter;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.animal.Animal;

public class IsBabyFriendlyFilter extends TeslaFilter{
@Getter
private final String id = "IsBabyFriendlyFilter";

@Override
public boolean match(LivingEntity entity, String arg) {
return entity.getType().getCategory().isFriendly() && entity instanceof Animal animal && animal.isBaby();
}

@Override
public Component title() {
return Component.translatable("screen.anvilcraft.tesla_tower.filter.is_baby_friendly");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package dev.dubhe.anvilcraft.api.taslatower;

import lombok.Getter;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.LivingEntity;

public class IsEntityIdFilter extends TeslaFilter{
@Getter
private final String id = "IsEntityIdFilter";

@Override
public boolean match(LivingEntity entity, String arg) { return entity.getType().getDescriptionId().equals(arg); }

@Override
public boolean needArg() { return true; }

@Override
public Component title() {
return Component.translatable("screen.anvilcraft.tesla_tower.filter.is_entity_id");
}

@Override
public String tooltip(String arg) {
return arg;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package dev.dubhe.anvilcraft.api.taslatower;

import lombok.Getter;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.LivingEntity;

public class IsFriendlyFilter extends TeslaFilter{
@Getter
private final String id = "IsFriendlyFilter";

@Override
public boolean match(LivingEntity entity, String arg) { return entity.getType().getCategory().isFriendly();}

@Override
public Component title() {
return Component.translatable("screen.anvilcraft.tesla_tower.filter.is_friendly");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package dev.dubhe.anvilcraft.api.taslatower;

import lombok.Getter;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.LivingEntity;

public class IsOnVehicleFilter extends TeslaFilter{
@Getter
private final String id = "IsOnVehicleFilter";

@Override
public boolean match(LivingEntity entity, String arg) { return entity.getVehicle() != null;}

@Override
public Component title() {
return Component.translatable("screen.anvilcraft.tesla_tower.filter.is_on_vehicle");
}
}
21 changes: 21 additions & 0 deletions src/main/java/dev/dubhe/anvilcraft/api/taslatower/IsPetFilter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package dev.dubhe.anvilcraft.api.taslatower;

import lombok.Getter;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.TamableAnimal;

public class IsPetFilter extends TeslaFilter{
@Getter
private final String id = "IsPetFilter";

@Override
public boolean match(LivingEntity entity, String arg) {
return entity instanceof TamableAnimal tamableAnimal && tamableAnimal.getOwner() != null;
}

@Override
public Component title() {
return Component.translatable("screen.anvilcraft.tesla_tower.filter.is_pet");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package dev.dubhe.anvilcraft.api.taslatower;

import lombok.Getter;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;

public class IsPlayerFilter extends TeslaFilter{
@Getter
private final String id = "IsPlayerFilter";

@Override
public boolean match(LivingEntity entity, String arg) {
return entity instanceof Player;
}

@Override
public Component title() {
return Component.translatable("screen.anvilcraft.tesla_tower.filter.is_player");
}
}
Loading

0 comments on commit ef5b026

Please sign in to comment.